Only the Multisensor have a DDF, so ATM you can only play with this one
"manufacturername": ["eWeLink","SONOFF"],
"modelid": ["TH01","SNZB-02D"],
It’s the one I have (and no issue on my side, it use this DDF deconz-rest-plugin/devices/sonoff/snzb-02-multisensor.json at master · dresden-elektronik/deconz-rest-plugin · GitHub
The dev that have made tries have used values from Z2M (long story but without special setting this devices don’t stay in network).
So he have made this DDF for the device
"manufacturername": "eWeLink",
"modelid": "TH01",
{
"schema": "devcap1.schema.json",
"manufacturername": "eWeLink",
"modelid": "TH01",
"vendor": "SONOFF",
"product": "SNZB-02",
"sleeper": true,
"status": "Gold",
"subdevices": [
{
"type": "$TYPE_TEMPERATURE_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x0402"
],
"fingerprint": {
"profile": "0x0104",
"device": "0x0302",
"endpoint": "0x01",
"in": [
"0x0000",
"0x0001",
"0x0402"
]
},
"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",
"awake": true,
"refresh.interval": 9000,
"read": {
"at": "0x0021",
"cl": "0x0001",
"ep": 1,
"fn": "zcl"
},
"parse": {
"at": "0x0021",
"cl": "0x0001",
"ep": 1,
"eval": "Item.val = Attr.val / 2"
},
"default": 0
},
{
"name": "config/offset",
"default": 0
},
{
"name": "config/on"
},
{
"name": "config/reachable"
},
{
"name": "state/lastupdated"
},
{
"name": "state/temperature",
"awake": true,
"parse": {
"at": "0x0000",
"cl": "0x0402",
"ep": 1,
"eval": "Item.val = Attr.val + R.item('config/offset').val",
"fn": "zcl"
},
"default": 0
}
]
},
{
"type": "$TYPE_HUMIDITY_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x0405"
],
"fingerprint": {
"profile": "0x0104",
"device": "0x0302",
"endpoint": "0x01",
"in": [
"0x0000",
"0x0001",
"0x0405"
]
},
"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",
"awake": true,
"refresh.interval": 9000,
"read": {
"at": "0x0021",
"cl": "0x0001",
"ep": 1,
"fn": "zcl"
},
"parse": {
"at": "0x0021",
"cl": "0x0001",
"ep": 1,
"eval": "Item.val = Attr.val / 2"
},
"default": 0
},
{
"name": "config/offset",
"default": 0
},
{
"name": "config/on"
},
{
"name": "config/reachable"
},
{
"name": "state/humidity",
"awake": true,
"parse": {
"at": "0x0000",
"cl": "0x0405",
"ep": 1,
"eval": "Item.val = Attr.val + R.item('config/offset').val",
"fn": "zcl"
},
"default": 0
},
{
"name": "state/lastupdated"
}
]
}
],
"bindings": [
{
"bind": "unicast",
"src.ep": 1,
"dst.ep": 1,
"cl": "0x0001",
"report": [
{
"at": "0x0021",
"dt": "0x20",
"min": 3600,
"max": 7200
}
]
},
{
"bind": "unicast",
"src.ep": 1,
"cl": "0x0405",
"report": [
{
"at": "0x0000",
"dt": "0x21",
"min": 10,
"max": 3600,
"change": "0x00000064"
}
]
},
{
"bind": "unicast",
"src.ep": 1,
"cl": "0x0402",
"report": [
{
"at": "0x0000",
"dt": "0x29",
"min": 5,
"max": 1800,
"change": "0x00000014"
}
]
}
]
}
For information with this DDF was better for him, but haven’t worked, perhaps something bad with refresh.interval