I bought one of those devices and managed to pair it, but there is no DDF so I created a draft one which seems to work but it would be good if an expert like @Smanar could have a look 
First the steps for pairing:
- Install the install code via the deconz REST API. I use Postman for this but there are many options for API tools.
- In Phoscon, scan for a new sensor and put the battery in/remove the protective lid.
- In the Deconz GUI, a new node appears but it is not recognized by Phoscon due to lack of a suitable DDF.
With the below DDF, it is recognized with the following properties, which seem to look quite OK on a first glance, although the device appears in Phoscon as CO sensor (?):
{
"config": {
"battery": 100,
"on": true,
"reachable": true
},
"etag": "551c2814fd8728494c09e60943eb4e77",
"lastannounced": null,
"lastseen": "2023-11-02T14:04Z",
"manufacturername": "Bosch",
"modelid": "RBSH-SD-ZB-EU",
"name": "RBSH-SD-ZB-EU",
"state": {
"fire": false,
"lastupdated": "2023-11-02T14:05:22.195",
"lowbattery": false,
"tampered": false,
"test": false
},
"swversion": "1.10",
"type": "ZHAFire",
"uniqueid": "70:ac:08:ff:fe:64:e7:07-01-0500"
}
And here is the DDF, any help and review is welcome. One thing I noticed is that the IAS zone state is reported as “not enrolled”, but I don’t know whether it has an impact or not.

{
"schema": "devcap1.schema.json",
"manufacturername": "$MF_BOSCH",
"modelid": "RBSH-SD-ZB-EU",
"vendor": "Bosch",
"product": "RBSH-SD-ZB-EU",
"sleeper": true,
"status": "Gold",
"path": "/devices/rbsh-sd-zb-eu.json",
"subdevices": [
{
"type": "$TYPE_FIRE_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x0500"
],
"items": [
{
"name": "attr/id"
},
{
"name": "attr/lastannounced"
},
{
"name": "attr/lastseen"
},
{
"name": "attr/manufacturername"
},
{
"name": "attr/modelid"
},
{
"name": "attr/name"
},
{
"name": "attr/swversion"
},
{
"name": "attr/type"
},
{
"name": "attr/uniqueid"
},
{
"name": "config/battery",
"refresh.interval": 84000,
"read": {
"at": "0x0021",
"cl": "0x0001",
"ep": 1,
"fn": "zcl"
},
"parse": {
"at": "0x0021",
"cl": "0x0001",
"ep": 1,
"eval": "Item.val = Attr.val / 2",
"fn": "zcl"
},
"default": 0
},
{
"name": "config/on"
},
{
"name": "config/reachable"
},
{
"name": "state/fire"
},
{
"name": "state/lastupdated"
},
{
"name": "state/lowbattery",
"description": "True when the device battery runs low."
},
{
"name": "state/tampered",
"parse": {
"fn": "ias:zonestatus",
"mask": "tamper"
}
},
{
"name": "state/test",
"parse": {
"fn": "ias:zonestatus",
"mask": "test"
},
"default": false
}
]
}
],
"bindings": [
{
"bind": "unicast",
"src.ep": 1,
"cl": "0x0001",
"report": [
{
"at": "0x0021",
"dt": "0x20",
"min": 0,
"max": 8400
}
]
}
]
}