Hi there,
I have manually added an Aqara Smoke alarm to deCONZ using a custom DDF. It is displaying as a mains powered device and not a battery powered device. How do I update this? I’m worried about the battery draining quickly due to increased activity.
Here is the DDF and a screenshot of the node descriptor. I appreciate any help, thank you!
{
"schema": "devcap1.schema.json",
"manufacturername": "$MF_LUMI",
"modelid": "lumi.sensor_smoke.acn03",
"vendor": "Xiaomi",
"product": "lumi.sensor_smoke.acn03",
"sleeper": true,
"status": "Gold",
"subdevices": [
{
"type": "$TYPE_FIRE_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x0500"
],
"fingerprint": {
"profile": "0x0104",
"device": "0x0402",
"endpoint": "0x01",
"in": [
"0x0000",
"0x0001",
"0x0500",
"0xfcc0"
]
},
"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,
"parse": {
"at": "0x0020",
"cl": "0x0001",
"ep": 1,
"eval": "const vmin = 25; const vmax = 30; let bat = Attr.val; if (bat > vmax) { bat = vmax; } else if (bat < vmin) { bat = vmin; } bat = ((bat - vmin) / (vmax - vmin)) * 100; if (bat > 100) { bat = 100; } else if (bat <= 0) { bat = 1; } Item.val = bat;",
"fn": "zcl"
},
"refresh.interval": 86400,
"read": {
"at": "0x0020",
"cl": "0x0001",
"ep": 1,
"fn": "zcl"
}
},
{
"name": "config/enrolled",
"public": false
},
{
"name": "config/ledindication",
"refresh.interval": 86400,
"read": {
"at": "0x013c",
"cl": "0xfcc0",
"ep": 1,
"fn": "zcl"
},
"write": {
"at": "0x013c",
"cl": "0xfcc0",
"dt": "0x20",
"ep": 1,
"eval": "Item.val ? false : true",
"fn": "zcl",
"mf": "0x115f"
},
"parse": {
"at": "0x013c",
"cl": "0xfcc0",
"ep": 1,
"eval": "Item.val = Attr.val == 1 ? true : false",
"fn": "zcl"
},
"default": true
},
{
"name": "config/on"
},
{
"name": "config/pending"
},
{
"name": "config/reachable"
},
{
"name": "state/fire",
"refresh.interval": 86400,
"read": {
"at": "0x013a",
"cl": "0xfcc0",
"ep": 1,
"mf": "0x115f",
"fn": "zcl"
},
"parse": {
"at": "0x013a",
"cl": "0xfcc0",
"ep": 1,
"eval": "Item.val = Attr.val != 0x0A ? true : false",
"fn": "zcl"
},
"default": false
},
{
"name": "state/lastupdated"
},
{
"name": "state/lowbattery"
}
]
}
],
"bindings": [
{
"bind": "unicast",
"src.ep": 1,
"cl": "0x0001",
"report": [
{
"at": "0x0020",
"dt": "0x20",
"min": 300,
"max": 43200,
"change": "0x00000001"
}
]
}
]
}