@JJF61 I have started a DDF for Standard + Production + HPHC, but you will need a recent deconz version (not published yet, will be the next one)
{
"schema": "devcap1.schema.json",
"manufacturername": "LiXee",
"modelid": "ZLinky_TIC",
"product": "ZLinky_TIC Standard mode with production",
"sleeper": false,
"status": "Gold",
"subdevices": [
{
"type": "$TYPE_POWER_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x0b04"
],
"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/on"
},
{
"name": "config/reachable"
},
{
"name": "state/current",
"refresh.interval": 300,
"read": {
"at": "0x0508",
"cl": "0x0b04",
"ep": 1,
"fn": "zcl"
},
"parse": {
"at": "0x0508",
"cl": "0x0b04",
"ep": 1,
"eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
}
},
{
"name": "state/lastupdated"
},
{
"name": "state/power",
"refresh.interval": 300,
"read": {
"at": "0x050f",
"cl": "0x0b04",
"ep": 1,
"fn": "zcl"
},
"parse": {
"at": "0x050f",
"cl": "0x0b04",
"ep": 1,
"eval": "if (Attr.val != -32768) { Item.val = Attr.val; }"
}
},
{
"name": "state/voltage",
"refresh.interval": 300
}
]
},
{
"type": "$TYPE_CONSUMPTION_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x0702"
],
"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/on"
},
{
"name": "config/reachable"
},
{
"name": "state/consumption",
"refresh.interval": 300,
"read": {
"at": "0x0100",
"cl": "0x0702",
"ep": 1,
"fn": "zcl"
},
"parse": {
"at": "0x0100",
"cl": "0x0702",
"ep": 1,
"eval": "Item.val = Attr.val"
}
},
{
"name": "state/consumption_2",
"refresh.interval": 300,
"read": {
"at": "0x0102",
"cl": "0x0702",
"ep": 1,
"fn": "zcl"
},
"parse": {
"at": "0x0100",
"cl": "0x0702",
"ep": 1,
"eval": "Item.val = Attr.val"
}
},
{
"name": "state/production",
"refresh.interval": 300,
"read": {
"at": "0x0001",
"cl": "0x0702",
"ep": 1,
"fn": "zcl"
},
"parse": {
"at": "0x0100",
"cl": "0x0702",
"ep": 1,
"eval": "Item.val = Attr.val"
}
},
{
"name": "state/lastupdated"
}
]
},
{
"type": "ZHAAlarm",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0xff66"
],
"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/on"
},
{
"name": "config/reachable"
},
{
"name": "state/alarm",
"refresh.interval": 30,
"read": {
"at": "0x0005",
"cl": "0xff66",
"ep": 1,
"fn": "zcl"
},
"parse": {
"at": "0x0005",
"cl": "0xff66",
"ep": 1,
"eval": "Item.val = Attr.val > 0 ? true : false",
"fn": "zcl"
},
"default": false
},
{
"name": "state/lastupdated"
}
]
}
],
"bindings": [
{
"bind": "unicast",
"src.ep": 1,
"cl": "0x0702",
"report": [
{
"at": "0x0000",
"dt": "0x23",
"min": 1,
"max": 300,
"change": "0x00000001"
}
]
},
{
"bind": "unicast",
"src.ep": 1,
"cl": "0x0B04",
"report": [
{
"at": "0x0505",
"dt": "0x21",
"min": 1,
"max": 300,
"change": "0x00000001"
},
{
"at": "0x0508",
"dt": "0x21",
"min": 1,
"max": 300,
"change": "0x00000001"
},
{
"at": "0x050F",
"dt": "0x21",
"min": 1,
"max": 300,
"change": "0x00000001"
}
]
},
{
"bind": "unicast",
"src.ep": 1,
"cl": "0xFF66",
"report": [
{
"at": "0x0005",
"dt": "0x21",
"min": 1,
"max": 300,
"change": "0x00000001"
}
]
}
]
}
I haven’t set the bind, because IDK wich one are usefull, it seem HP/HC work for @gd35 without bind, so …
In the json you will have 1 sensor for consumption and inside
state/consumption > cluster 0x0702, attribute 0x0100 HP
state/consumption_2 > cluster 0x0702, attribute 0x0102 HC
state/production > cluster 0x0702, attribute 0x0001 Production
But I m not sure for attributes.
@gd35 , no to send logs to a file, need to restart deconz. and yes if you have too much devices, logs are too much talkatives.
I will try this week end with a fake device and a fake entry to see if the api can handle big number.
Edit:
I can reproduce the “magic rounding”, just using DDF.