LiXee ZLinky_TIC DDF File

NP, I will add it to the lixee DDF as sample.
And for your issue, can be a configuration issue, there is so much binding to do for only one device (and more for thripahse). The device is active so it’s generaly not a problem, but can be the explanation.

Hello !

I was not able to find the information on the documentation or on the DDF cheat sheet on how to change a DDF for a device.

I have included my new Lixee (with deported antenna) and I can see the device in deonz but not Phoscon (as the name is 0x4FA8).

It means, if I’m correct, that the DDF is not correct on the device. On Deconz, if I click on “Edit DDF” button I can see that is it the “HP/HC” ddf that has been used, but I am using Base.

How to change the DDF ? If I click on “edit ddf” > “open”, and if I select the correct DDF (historique base) > hot reload : there is no changes and after a reboot of deconz service, the DDF is back to “HP/HC”

Thank you for your help !

EDIT : I have replaced the manufacturerName, vendor and modelId in the “HPHC” DDF, and automatically the correct DDF has been reloaded, that’s weird but it works !

Can use too a text editor.
If the name is still like 0xXXXX, DDF aren’t used, at start all DDF are “Draft” so deconz just chose one at random.
You need to select the good one and change that status to “Gold” , after that this DDF will be prioritary on others.

Are you sure for DDF status ? You haven’t 2 gold ?

I have double checked it and yes, there was only 1 DDF with Gold status (the one I wanted to used “histo base”).

That’s why I don’t understand why it was not taken automatically.

But after the (messy) workarround, it work. I guess that with the next deconz update, the manual updates I’ve made will be erased, but I don’t think it will automatically get back to the wrong DDF ?

I don’t see what happened but you can use the “user” folder. All changes in this one will be definitive (BTW lixee DDF was updated some week ago too, so better to use new one for this time)

It will depend of OS, but on classic one /home/<DECONZUSER>/.local/share/dresden-elektronik/deCONZ/devices you can ignore all official one, and put the one you need in this folder, it will be used even if deconz update the official one.

Ok, thanks for the info. And yes, I have updated deconz to the last version before trying to include the device.

I will copy the file to the user folder in order to keep it !

@jordanderoubaix someone else ahve confirmed your issue.
There is another bug in deconz, if you have many file with the same “modelid” + “manufacturename”, even if you change the status in of them, deconz can load another one.

So better to move the needed file in a “user” folder and change his satatus.

1 Like

Hello everybody,
Thanks for all job. I find ddf for mode historique, triphasé, hphc. But not for mode standard, triphasé, hphc ? How change this ddf for standard mode?
Thanks.
Samuel.

Hello there is 2 things possible

{
  "schema": "devcap1.schema.json",
  "manufacturername": "LiXee",
  "modelid": "ZLinky_TIC",
  "vendor": "LiXee",
  "product": "ZLinky_TIC standard+HPHC+triphase",
  "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; }"
          },
          "default": 0
        },
        {
          "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; }"
          },
          "default": 0
        },
        {
          "name": "state/voltage",
          "refresh.interval": 300,
          "read": {
            "at": "0x0505",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0505",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
          },
          "default": 0
        }
      ]
    },
    {
      "type": "$TYPE_POWER_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x02",
        "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": "0x0908",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0908",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
          },
          "default": 0
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/power",
          "refresh.interval": 300,
          "read": {
            "at": "0x090F",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x090F",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != -32768) { Item.val = Attr.val; }"
          },
          "default": 0
        },
        {
          "name": "state/voltage",
          "refresh.interval": 300,
          "read": {
            "at": "0x0905",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0905",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
          },
          "default": 0
        }
      ]
    },
    {
      "type": "$TYPE_POWER_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "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": "0x0a08",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0a08",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
          },
          "default": 0
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/power",
          "refresh.interval": 300,
          "read": {
            "at": "0x0A0F",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0A0F",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != -32768) { Item.val = Attr.val; }"
          },
          "default": 0
        },
        {
          "name": "state/voltage",
          "refresh.interval": 300,
          "read": {
            "at": "0x0a05",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0a05",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
          },
          "default": 0
        }
      ]
    },
    {
      "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"
          },
          "default": 0
        },
        {
          "name": "state/consumption_2",
          "refresh.interval": 300,
          "read": {
            "at": "0x0102",
            "cl": "0x0702",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0102",
            "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": 300,
          "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": "0x0100",
          "dt": "0x25",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0102",
          "dt": "0x25",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0B04",
      "report": [
        {
          "at": "0x0505",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0905",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0A05",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0508",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0908",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0A08",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x050F",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x090F",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0A0F",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x050B",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0xFF66",
      "report": [
        {
          "at": "0x0005",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        }
      ]
    }
  ]
}

This DDF (if it works) will create 3 ZHAPower sensors, one by phase with power+tension+current.
Heavy for the Zlinky, if you want I can make a DDF with only 1 sensors, but it will have only current (one by phase) as other are useless, you can guess all only with current.

I haven’t asked what is your OS ? To avoid issue it’s better to create a new DDF if your “user devices” folder.

Thanks for answer. I’m on Jeedom 4.3.17. and deconz beta 2.22.0 with conbee2 firmware 0x26780700.
I try ddf mode historique, triphasé, hphc. Input this file in .local/share/dresden-electronik/deconz/devices with gold statut.

With this ddf i have power, current, voltage for the 3 phase. HP and hc index. But total power, total current and total voltage not work. I have 4 zhapower, 1 zhaalarme and 1 zhaconsumption.

I try tout ddf After cooking.
Thanks.
Samuel.

Hello,
I try your ddf tonight. It’s work find. I have power, current, voltage for 3 phases, index hc hp. But total power not working, it’s Always 0w.
Best regard.
Samuel.

So you prefer having 3 sensors with more data ? So more stressing for the Zlinky ? Instead of the “light” version ?

But total power not working, it’s Always 0w.

Where are you seing the total power ? You normaly have only 1 power by phase, on the 3 ZHAPower sensors.

Hello,
Yes i prefer have 3 sensor. One by phase. You think 3 sensor stress zlinky module? The total power is cluster 0xb04 with attribut 0x0306. Could you add in ddf?
Thanks for all.
Samuel.

It’s not the sensor number but the data ^^, on the “1 sensor” mode you will have only 3 current, on the “3 sensors” you will have 3 current + 3 power + 3 tension. tension are always the same and just with current you can compute power. The device is not as powerfull than a powered plug.
You can too use the 3 actual power and add them ?

Else I can add it in the actual ZHAconsumption ? Or do you want a 4th ZHAPower just for this value ?

I prefer ddf with 3 sensors one by phase because the current value is not very precise in this module only in A not mA. And in my country the value voltage is not stable.
If you want you can delete current in all zhapower in 3 sensor. I calculate current with power and voltage.
And i calculate total power with power of the 3 sensor.
Thanks.
Samuel.

Ha yes, right, but it s the current for a Home, not a simple device, what can be the impact for you if your complete home consume 20A or 20.5A.
I m french too and voltage never move, if it move more than 10% you can call Enedis.

If you want you can delete current in all zhapower in 3 sensor. I calculate current with power and voltage

Good question, IDK if users prefer current or power ? I will make the PR with both for the moment.

And i calculate total power with power of the 3 sensor.

Ok, so no need new entry ?
Else you can add in the ZHAConsumption

        {
          "name": "state/power",
          "refresh.interval": 300,
          "read": {
            "at": "0x0306",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0306",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != -32768) { Item.val = Attr.val; }"
          },
          "default": 0
        },

And one more bind/report

        {
          "at": "0x0306",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },

If all is working, do you want to make a PR for it, or want I make it myself ?

The problem is that I am on tri. My phases are balanced so I can consume 230w per phase or 690w in total and still have a current of 0A per phase. hence the usefulness of calculating the current per phase precisely with the voltage and power per phase.

I sometimes have a voltage peak of 255V, I have already spoken to enedis about it, who only say that it comes from my neighbors who have a solar panel. So I monitor the voltage because my connected sockets go into protection at 250V.

will try to do the ddf with the total consumption. So far the ddf you made for me is working fine. No problem.

Small off-topic question, have you tried the LiXee zpluses? Maybe someone has already made a ddf?

Thanks.
Samuel.

Please translate your post to English only.

Sorry, i delete the french translate.

1 Like

I try this ddf. It’s work, i have total power in zhaconsumption. But now have also a new zhapower ff-0B04 curent, voltage and power with no value. ???

{
  "schema": "devcap1.schema.json",
  "manufacturername": "LiXee",
  "modelid": "ZLinky_TIC",
  "vendor": "LiXee",
  "product": "LiXee tic standard tri hphc zlinky",
  "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; }"
          },
          "default": 0
        },
        {
          "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; }"
          },
          "default": 0
        },
        {
          "name": "state/voltage",
          "refresh.interval": 300,
          "read": {
            "at": "0x0505",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0505",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
          },
          "default": 0
        }
      ]
    },
    {
      "type": "$TYPE_POWER_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x02",
        "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": "0x0908",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0908",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
          },
          "default": 0
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/power",
          "refresh.interval": 300,
          "read": {
            "at": "0x090F",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x090F",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != -32768) { Item.val = Attr.val; }"
          },
          "default": 0
        },
        {
          "name": "state/voltage",
          "refresh.interval": 300,
          "read": {
            "at": "0x0905",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0905",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
          },
          "default": 0
        }
      ]
    },
    {
      "type": "$TYPE_POWER_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "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": "0x0a08",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0a08",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
          },
          "default": 0
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/power",
          "refresh.interval": 300,
          "read": {
            "at": "0x0A0F",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0A0F",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != -32768) { Item.val = Attr.val; }"
          },
          "default": 0
        },
        {
          "name": "state/voltage",
          "refresh.interval": 300,
          "read": {
            "at": "0x0a05",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0a05",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
          },
          "default": 0
        }
      ]
    },
    {
      "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"
          },
          "default": 0
        },
        {
          "name": "state/consumption_2",
          "refresh.interval": 300,
          "read": {
            "at": "0x0102",
            "cl": "0x0702",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0102",
            "cl": "0x0702",
            "ep": 1,
            "eval": "Item.val = Attr.val"
          }
        },
        {
          "name": "state/power",
          "refresh.interval": 300,
          "read": {
            "at": "0x0306",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0306",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != -32768) { Item.val = Attr.val; }"
          },
          "default": 0
        },
        {
          "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": 300,
          "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": "0x0100",
          "dt": "0x25",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0102",
          "dt": "0x25",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0B04",
      "report": [
        {
          "at": "0x0505",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0905",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0A05",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0508",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0908",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0A08",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x050F",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x090F",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0A0F",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x050B",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        },
        {
          "at": "0x0306",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0xFF66",
      "report": [
        {
          "at": "0x0005",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000001"
        }
      ]
    }
  ]
}