Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to add an 'undefined' device to device.js (Stelpro Orleans baseboard) #810

Closed
goldriver2 opened this issue Jan 5, 2019 · 38 comments
Closed

Comments

@goldriver2
Copy link

goldriver2 commented Jan 5, 2019

I have a problem while trying to add a Stelpro Orleans integrated zigbee thermostat, here is part of the log while pairing device:

_zigbee2mqtt:info 2019-1-5 16:01:20 Connecting with device...
zigbee2mqtt:info 2019-1-5 16:01:20 MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"connecting with device"}'
zigbee2mqtt:warn 2019-1-5 16:01:20 Message without device!
zigbee2mqtt:info 2019-1-5 16:01:21 Connecting with device...
zigbee2mqtt:info 2019-1-5 16:01:21 MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"connecting with device"}'
zigbee2mqtt:warn 2019-1-5 16:01:21 Message without device!
zigbee2mqtt:info 2019-1-5 16:01:23 Connecting with device...
zigbee2mqtt:info 2019-1-5 16:01:23 MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"connecting with device"}'
zigbee2mqtt:warn 2019-1-5 16:01:23 Message without device!
zigbee2mqtt:info 2019-1-5 16:01:26 Connecting with device...
zigbee2mqtt:info 2019-1-5 16:01:26 MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"connecting with device"}'
zigbee2mqtt:warn 2019-1-5 16:01:26 Message without device!
zigbee2mqtt:info 2019-1-5 16:01:28 Connecting with device...
zigbee2mqtt:info 2019-1-5 16:01:28 MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"connecting with device"}'
zigbee2mqtt:warn 2019-1-5 16:01:28 Message without device!
zigbee2mqtt:info 2019-1-5 16:01:28 Connecting with device...
zigbee2mqtt:info 2019-1-5 16:01:28 MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"connecting with device"}'
zigbee2mqtt:warn 2019-1-5 16:01:28 Message without device!
zigbee2mqtt:info 2019-1-5 16:01:28 Device incoming...
zigbee2mqtt:info 2019-1-5 16:01:28 MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"device incoming"}'
zigbee2mqtt:info 2019-1-5 16:01:28 New device with address 0xf8f005fffff89588 connected!
zigbee2mqtt:info 2019-1-5 16:01:28 MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"device_connected","message":"0xf8f005fffff89588"}'
zigbee2mqtt:warn 2019-1-5 16:01:28
zigbee2mqtt:warn 2019-1-5 16:01:28 Please see: https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html
zigbee2mqtt:warn 2019-1-5 16:01:28 Device with modelID 'undefined' is not supported.
zigbee2mqtt:warn 2019-1-5 16:01:28 Please see: https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html

Reading the how_to_support_new_devices.htm documents, it mentions that once the device is paired, if it is unsuported we should add the device in the device.js but since the modelID is 'undefined' how should I create it ?

looking in the database.db, I found somewhere that the modelId was STE218, I tried with this in the device.js and rebooted but when I change the temperature on the thermostat nothing isn catch by the zigbeetomqtt.

Any toughts ?

p.s. I saw in the database.db that there are few instances for the same device

database.docx

@khzd
Copy link

khzd commented Jan 6, 2019

Hi,
the pairing did not provide the modelId in the header but in the ep record!
just to start , i would suggest to add "modelId": "ST218", in the DB after "manufId": 4485,
after that restart zigbee2mqtt and will still see that ST218 is not supported
Now you can follow https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html

see #556 for more info

@goldriver2
Copy link
Author

goldriver2 commented Jan 6, 2019 via email

@khzd
Copy link

khzd commented Jan 8, 2019

hi
the last line is the more complete one.
I see another issue about Stelpro https://github.com/Koenkk/zigbee2mqtt/issues/497, please see the best modelId they put in place.

@goldriver2
Copy link
Author

goldriver2 commented Jan 8, 2019 via email

@khzd
Copy link

khzd commented Jan 9, 2019

hi
the last line in the DB is the more complete one, you may delete the first line about your device.

about 2 moedId, if you have only one, indeed you have only one record in the Db, so you may focus on only the las more complte line in the DB.
you have to add the modelId before manufacturerName, ie:
{"id":2,"type":"Router","ieeeAddr":"0xf8f005fffff89588","nwkAddr":54989,"modelId":"ST218", "manufId":4485,"manufName":"Stelpro\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","powerSource":"Mains (single phase)","epList":[25],"status":"online","joinTime":1546780137,"endpoints":{"25":{"profId":260,"epId":25,"devId":769,"inClusterList":[0,3,4,513,516],"outClusterList":[1026],"clusters":{"genBasic":{"dir":{"value":1},"attrs":{"zclVersion":1,"appVersion":104,"stackVersion":3,"hwVersion":1,"manufacturerName":"Stelpro\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","modelId":"ST218\u0000\u0000\u0000(\u0001](\u0001S\b\u0000\u0001X%\u0004\u0000��\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","dateCode":"20170126 00111\u0000","powerSource":1}},"genIdentify":{"dir":{"value":1},"attrs":{"identifyTime":170,"identifyCommissionState":0}},"genGroups":{"dir":{"value":1},"attrs":{"nameSupport":0}},"hvacThermostat":{"dir":{"value":1},"attrs":{"16385":-32768,"16412":4,"localTemp":2150,"outdoorTemp":-32768,"ocupancy":1,"absMinHeatSetpointLimit":500,"absMaxHeatSetpointLimit":3000,"absMinCoolSetpointLimit":700,"absMaxCoolSetpointLimit":4000,"pIHeatingDemand":0,"systemTypeConfig":0,"localTemperatureCalibration":0,"occupiedCoolingSetpoint":3500,"occupiedHeatingSetpoint":1900,"unoccupiedCoolingSetpoint":4000,"unoccupiedHeatingSetpoint":1700,"minHeatSetpointLimit":500,"maxHeatSetpointLimit":3000,"minCoolSetpointLimit":700,"maxCoolSetpointLimit":4000,"minSetpointDeadBand":25,"remoteSensing":2,"ctrlSeqeOfOper":2,"systemMode":4}},"hvacUserInterfaceCfg":{"dir":{"value":1},"attrs":{"tempDisplayMode":0,"keypadLockout":0,"programmingVisibility":0}},"msTemperatureMeasurement":{"dir":{"value":2},"attrs":{}}}}},"_id":"xsLNRH73hBUsQ2Zp"}

cheers

@goldriver2
Copy link
Author

Ok 2 thing:
1- I cleaned-up the database.db file and only kept the last line but when I stop/restart zigbee2mqtt lines are added everytime to the database.db file:

{"id":2,"type":"Router","ieeeAddr":"0xf8f005fffff89588","nwkAddr":13130,"modelId":"ST218","manufId":4485,"manufName":"Stelpro\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","powerSource":"Mains (single phase)","epList":[25],"status":"offline","joinTime":null,"endpoints":{"25":{"profId":260,"epId":25,"devId":769,"inClusterList":[0,3,4,513,516],"outClusterList":[1026],"clusters":{"genBasic":{"dir":{"value":1},"attrs":{"zclVersion":1,"appVersion":104,"stackVersion":3,"hwVersion":1,"manufacturerName":"Stelpro\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","modelId":"ST218\u0000\u0000\u0000(\u0001](\u0001S\b\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0001,c\u0001\u0001/\u0000\u0002\u0000","dateCode":"20170126 00111\u0000","powerSource":1}},"genIdentify":{"dir":{"value":1},"attrs":{"identifyTime":170,"identifyCommissionState":0}},"genGroups":{"dir":{"value":1},"attrs":{"nameSupport":0}},"hvacThermostat":{"dir":{"value":1},"attrs":{"16385":-32768,"16412":4,"localTemp":2200,"outdoorTemp":-32768,"ocupancy":1,"absMinHeatSetpointLimit":500,"absMaxHeatSetpointLimit":3000,"absMinCoolSetpointLimit":700,"absMaxCoolSetpointLimit":4000,"pIHeatingDemand":0,"systemTypeConfig":0,"localTemperatureCalibration":0,"occupiedCoolingSetpoint":3500,"occupiedHeatingSetpoint":2100,"unoccupiedCoolingSetpoint":4000,"unoccupiedHeatingSetpoint":1700,"minHeatSetpointLimit":500,"maxHeatSetpointLimit":3000,"minCoolSetpointLimit":700,"maxCoolSetpointLimit":4000,"minSetpointDeadBand":25,"remoteSensing":2,"ctrlSeqeOfOper":2,"systemMode":4}},"hvacUserInterfaceCfg":{"dir":{"value":1},"attrs":{"tempDisplayMode":0,"keypadLockout":0,"programmingVisibility":0}},"msTemperatureMeasurement":{"dir":{"value":2},"attrs":{}}}}},"_id":"eKZmHY3ScsLw7etu"}
{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b00193666f4","nwkAddr":0,"manufId":0,"epList":[1,2,3,4,5,6,11],"status":"online","joinTime":1547071899,"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[0,1281,3],"outClusterList":[1280,1282,3],"clusters":{"genBasic":{"dir":{"value":1},"acls":{"zclVersion":"R","hwVersion":"R","manufacturerName":"R","modelId":"R","dateCode":"R","powerSource":"R","locationDesc":"RW","physicalEnv":"RW","deviceEnabled":"RW"},"attrs":{"zclVersion":1,"hwVersion":1,"manufacturerName":"sivann inc.","modelId":"hiver0001","dateCode":"20170407","powerSource":1,"locationDesc":" ","physicalEnv":0,"deviceEnabled":1}},"ssIasAce":{"dir":{"value":1}},"ssIasZone":{"dir":{"value":2},"cmdRsps":{"enrollReq":{"exec":"exec"},"statusChangeNotification":{"exec":"exec"}}},"ssIasWd":{"dir":{"value":2}},"genIdentify":{"dir":{"value":3},"acls":{"identifyTime":"RW"},"attrs":{"identifyTime":0}}}}},"_id":"tfIJPNAJib3RT5Dd"}
{"$$indexCreated":{"fieldName":"id","unique":true,"sparse":false}}
{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b00193666f4","nwkAddr":0,"manufId":0,"epList":[1,2,3,4,5,6],"status":"online","joinTime":1547071959,"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}}},"_id":"tfIJPNAJib3RT5Dd"}
{"id":2,"type":"Router","ieeeAddr":"0xf8f005fffff89588","nwkAddr":13130,"modelId":"ST218","manufId":4485,"manufName":"Stelpro\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","powerSource":"Mains (single phase)","epList":[25],"status":"offline","joinTime":null,"endpoints":{"25":{"profId":260,"epId":25,"devId":769,"inClusterList":[0,3,4,513,516],"outClusterList":[1026],"clusters":{"genBasic":{"dir":{"value":1},"attrs":{"zclVersion":1,"appVersion":104,"stackVersion":3,"hwVersion":1,"manufacturerName":"Stelpro\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","modelId":"ST218\u0000\u0000\u0000(\u0001](\u0001S\b\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0001,c\u0001\u0001/\u0000\u0002\u0000","dateCode":"20170126 00111\u0000","powerSource":1}},"genIdentify":{"dir":{"value":1},"attrs":{"identifyTime":170,"identifyCommissionState":0}},"genGroups":{"dir":{"value":1},"attrs":{"nameSupport":0}},"hvacThermostat":{"dir":{"value":1},"attrs":{"16385":-32768,"16412":4,"localTemp":2200,"outdoorTemp":-32768,"ocupancy":1,"absMinHeatSetpointLimit":500,"absMaxHeatSetpointLimit":3000,"absMinCoolSetpointLimit":700,"absMaxCoolSetpointLimit":4000,"pIHeatingDemand":0,"systemTypeConfig":0,"localTemperatureCalibration":0,"occupiedCoolingSetpoint":3500,"occupiedHeatingSetpoint":2100,"unoccupiedCoolingSetpoint":4000,"unoccupiedHeatingSetpoint":1700,"minHeatSetpointLimit":500,"maxHeatSetpointLimit":3000,"minCoolSetpointLimit":700,"maxCoolSetpointLimit":4000,"minSetpointDeadBand":25,"remoteSensing":2,"ctrlSeqeOfOper":2,"systemMode":4}},"hvacUserInterfaceCfg":{"dir":{"value":1},"attrs":{"tempDisplayMode":0,"keypadLockout":0,"programmingVisibility":0}},"msTemperatureMeasurement":{"dir":{"value":2},"attrs":{}}}}},"_id":"eKZmHY3ScsLw7etu"}
{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b00193666f4","nwkAddr":0,"manufId":0,"epList":[1,2,3,4,5,6,11],"status":"online","joinTime":1547071959,"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[0,1281,3],"outClusterList":[1280,1282,3],"clusters":{"genBasic":{"dir":{"value":1},"acls":{"zclVersion":"R","hwVersion":"R","manufacturerName":"R","modelId":"R","dateCode":"R","powerSource":"R","locationDesc":"RW","physicalEnv":"RW","deviceEnabled":"RW"},"attrs":{"zclVersion":1,"hwVersion":1,"manufacturerName":"sivann inc.","modelId":"hiver0001","dateCode":"20170407","powerSource":1,"locationDesc":" ","physicalEnv":0,"deviceEnabled":1}},"ssIasAce":{"dir":{"value":1}},"ssIasZone":{"dir":{"value":2},"cmdRsps":{"enrollReq":{"exec":"exec"},"statusChangeNotification":{"exec":"exec"}}},"ssIasWd":{"dir":{"value":2}},"genIdentify":{"dir":{"value":3},"acls":{"identifyTime":"RW"},"attrs":{"identifyTime":0}}}}},"_id":"tfIJPNAJib3RT5Dd"}

2- Even if i changed the modelId and moved it in front of the manufacturername exactly as you showed in your response, when I play with the thermostat, there is still nothing hapening in the log

@henriz
Copy link

henriz commented Jan 12, 2019

See my answer to this issue:

#844

@goldriver2
Copy link
Author

I looked at the link you provided and implemented it BUT this does not give me more informations neither fix my issue. I already knew what my device ref was (0xf8f005fffff89588)

Looking at the line that was created in the database.db when pairing occured, I saw the following: "modelId":"ST218\u0000\u0000\u0000(\u0001](\u0001S\b\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0001,c\u0001\u0001/\u0000\u0002\u0000"

I tought that this whole line might be the modelId so I tried to enter this complete line of information in the device.js instead of just entering St218 but still no reaction in the log when I activate the thermostat temperature.

@henriz
Copy link

henriz commented Jan 12, 2019

Maybe you should look a bit better.

After adding your modelID ('ST218') you also have to remove all instances with your device address from database.db, configuration.yaml and state.json, and then repair.

As the device has now already been paired wrong, it's not re-pairing.

@goldriver2
Copy link
Author

Ok, I made sure the modelId was created correctly in the device.js with ST218, I stopped zigbee2mqtt, I remove ALL reference to the 0xf8f005fffff89588 device in the database.db and configuration.yaml (state.json was empty) and Restarted zigbee2mqtt, I repaired and still:

zigbee2mqtt:info 2019-1-12 07:45:40 MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"device_connected","message":"0xf8f005fffff89588"}'
zigbee2mqtt:warn 2019-1-12 07:45:40 Device with modelID 'undefined' is not supported.
zigbee2mqtt:warn 2019-1-12 07:45:40 device address '0xf8f005fffff89588'

here is my device.js setup:

{
zigbeeModel: ['ST218'],
model: 'ST218',
vendor: 'Stelpro',
description: 'Thermostat integre zigbee Stelpro ',
supports: 'temperature',
fromZigbee: [],
toZigbee: [],
},

@henriz
Copy link

henriz commented Jan 12, 2019

Then the modelid is not 'ST218'.

If this:
ST218\u0000\u0000\u0000(\u0001](\u0001S\b\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0001,c\u0001\u0001/\u0000\u0002\u000

is what you earlier found in the database.db file, then you have to enter that entire string as modelID.

Which is strange by the way, as \u0000 is equal to 'NULL', so it might be either that device reports a strange modelID, or zigbee2mqtt somehow extracts that modelID wrong.

Just copy whatever you are getting in your database.db as modelI, to the device.js model variable. In it's entirety.

@goldriver2
Copy link
Author

entered the complete ST218...

here is bthe rersults when I repair:

zigbee2mqtt:info 2019-1-12 08:21:09 MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"device_connected","message":"0xf8f005fffff89588"}'
zigbee2mqtt:warn 2019-1-12 08:21:09 Device with modelID 'undefined' is not supported.
zigbee2mqtt:warn 2019-1-12 08:21:09 device address '0xf8f005fffff89588'

@henriz
Copy link

henriz commented Jan 12, 2019

There's something going on with that device ID. I don't have the time right now, but some added logging on pairing would help to solve this. If the issue hasn't been solved by then, I'll look into it this evening. It's 14:34 over here now.

@goldriver2
Copy link
Author

goldriver2 commented Jan 12, 2019 via email

@henriz
Copy link

henriz commented Jan 12, 2019

To give you a pointer, those \u values stand for special characters. You have to find how to put those in a javascript string, and then put that in there.

(the double \ escapes the single )

@sehraf
Copy link

sehraf commented Jan 12, 2019

Based on #421 (comment) you can just write \u0000... (see https://github.com/Koenkk/zigbee-shepherd-converters/pull/89/files#diff-6c9a6acf22f90d1c6e524d9f3c5c1745R82 ). So simple copy and paste should have worked ...

@henriz
Copy link

henriz commented Jan 12, 2019

There's also a / in there. Maybe that should have been escaped?

A better way would be to have zigbee2mqtt remove all non-standard ascii chars from the deviceid.

@sehraf
Copy link

sehraf commented Jan 12, 2019

If the device id is just used for matching then this might be the easiest approach as long as there are no devices that differ only in weird uni-code characters. @Koenkk

@goldriver2
Copy link
Author

goldriver2 commented Jan 12, 2019

Ok first please bare with me as I am definitly not a programmer

While doing my test, everytime I erased any lines referencing to the device 0xf8f005fffff89588 in the database.db and in the configuration.yaml (there as never been any data in the state.json so no made were made to this file.

I also completely reset my Stelpro device to factory setting.

The first time I put my device in pairing mode, the zigbe2mqtt log never showed anything happening, I always need to stop zigbee on the Stelpro and then pair it again. Then only I can see the
zigbee2mqtt:info 2019-1-12 08:21:09 MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"device_connected","message":"0xf8f005fffff89588"}'
zigbee2mqtt:warn 2019-1-12 08:21:09 Device with modelID 'undefined' is not supported.
zigbee2mqtt:warn 2019-1-12 08:21:09 device address '0xf8f005fffff89588'

if i look at the database.db after this, there are 3 lines reffering to this device, the 2 first lines does not seem complete, only the third is complete.

Sometimes the modelId contains bizzare caracters: "modelId":"ST218\u0000\u0004\u0000��\u0001\u0015�\u0001\u0013\u000f\u0004\u0001\u0002R0n\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000

and sometimes not:
"modelId":"ST218\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0001,c\u0001\u0001/\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0001,c\u0001\u0001/"

@sehraf
Copy link

sehraf commented Jan 12, 2019

I have a bad feeling about this. Why is the model id changing? It looks like the device is actually reading random memory. If this is true then the model id will always be random to a certain extend.
Counting bytes: it always sends 31 bytes as a model id. Looks like someone used 32 byte to store the model id but only set the first 5 or 6 🤣 #highQualityProgramming

@henriz
Copy link

henriz commented Jan 12, 2019

However, if zigbee2mqtt would ditch al none 'a-z' and '0-9' chars, it would work.

@sehraf
Copy link

sehraf commented Jan 12, 2019

While there are many devices that look like "<modelId>\0<random>" (trailing \0 from C strings) there are some that seem to have a byte model id "\u0000\u0002\u0000\u0004\u0012".
The question is: Are these the real ids that don't change? In the worst case there was exactly one user who has seen this id one time, added it and it was working for him, while it won't work a second time for anybody else.

@goldriver2
Copy link
Author

I would like to be of any help, unfortunatly I have no knowledge of programming but I can understand that it can be a headeach to program something for an unstable modelId !

@henriz
Copy link

henriz commented Jan 12, 2019

Maybe another workaround could be devised. You can't develop against unstable or changing ID's. And if there are devices that have a byte model ID, ditching all non-ascii chars won't work without breaking other stuff.

But.. how about making it possible to add exception devices based on the device address. Like a 'custom.db', 'custon.json' or 'custom.yaml' in which an end user can add the network ID and the desired ModelID?

Added advantage could be people can add unknow devices more easily. For instance, an RGB bulb will most likely just use the same code as a generic RGB bulb. Instead of then adding these to a .js file, one coud add it to the above mentioned file with a modelID which is known.

@goldriver2
Copy link
Author

Just to confirm, I brought my RPI rigth nearby the Stelpro thermostat to make sure distance was not an issue and redid 5 pairing, here are the results:

"modelId":"ST218\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0001,c\u0001\u0001/\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0001,c\u0001\u0001/"

"modelId":"ST218\u0000\u0000\u0000(\u0001]
(\u0001S\b\u0000\u0001X%\u0004\u0000��\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"

"modelId":"ST218\u0000@\u0000�\u0000@\u0000��\u0000\u0000�\u0004\u0000��\u0001\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"

"modelId":"ST218\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0001\u0000\u0000\u0000\u0000\u0000\u0007\u0001,c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"

"modelId":"ST218\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0007\u0001,c\u0001\u0001/\u0000@\u0000�\u0000@\u0000"

@sehraf
Copy link

sehraf commented Jan 12, 2019

Thanks @goldriver2 for doing some testing. I think the easiest way is to cut any model id by the first null and add some byte model id workaround for the few devices that need it.
But lets first wait for @Koenkk 's opinion.

@Koenkk
Copy link
Owner

Koenkk commented Jan 13, 2019

I would propose the following:

  • First a search with the normal modal ID will be done (so e.g. ST218\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0007\u0001,c\u0001\u0001/\u0000@\u0000�\u0000@\u0000
  • If no device is found, search again while stripping everything after the first '\u'.

@sehraf
Copy link

sehraf commented Jan 13, 2019

👍
What will be the policy with (new) model ids containing \uXXXX?
Can ids like lumi.sensor_86sw1\u0000lube shortened to lumi.sensor_86sw1?

@Koenkk
Copy link
Owner

Koenkk commented Jan 13, 2019

Yes, but the above solution is backwards compatible so there is no need to.

Let's first check if it works, I posted some code here to test this: #833 (comment)

@henriz
Copy link

henriz commented Jan 13, 2019

How about the other way around. First search for the complete ID, and if that's not found, take the list of devices and see if the first part of the device string matches.

So, IE, if you have something like ST218\u0000... and so forth. You first use the current method, which won't find it. And then you turn it around an cydle the device array from devices.js and see if the model matches the first part of the searched string.

In devices you would then have the normal 'ST218' ID, so it will then look if the first 5 characters of the modelI it got, matches that.

@goldriver2
Copy link
Author

I will be more than happy to test the dev branch, one thing before I proceed, I have find out how to clone from dev branch but I have no idea if I have to do a "uninstall" before ugrading and how to do it ? npm uninstall ???

Koenkk added a commit to Koenkk/zigbee-herdsman-converters that referenced this issue Jan 14, 2019
@Koenkk
Copy link
Owner

Koenkk commented Jan 14, 2019

I've updated the dev branch to strip the null characters.

So ST218 can be used as the zigbeeModel now.

@goldriver2 after switching to the dev branch, do a rm -rf node_modules && npm install

@goldriver2
Copy link
Author

goldriver2 commented Jan 15, 2019

Ok lets recap,

I have installed the new zigbeetomqtt
- removed the /opt/zigbee2mqtt directory
- sudo git clone --branch dev https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
- reconfigured the device.js adding sthe stelpro:
// Stelpro model ST218
{
zigbeeModel: ['ST218'],
odel: 'ST218',
vendor: 'Stelpro',
description: 'Stelpro ST218',
supports: 'Thermostat temperature and outside temperature',
fromZigbee: [],
toZigbee: [],
},
- restarted zigbeetomqtt

-I paired the device, in the log files I still had "Unsuported device"

  • stopped zigbetomqtt

I then remembered that @Koenkk told me I had to edit the database.db to move the content of the "modelId" before the "manufName", once done, restarted the zigbetomqtt since the pairing message received from the device was not in the order expected.

Now I have
zigbee2mqtt:info 2019-1-15 05:49:37 0xf8f005fffff89588 (0xf8f005fffff89588): ST218 - Stelpro Stelpro ST218 (Router)

But when I change the temperature on the thermostat, nothing happens in the log

would I be right to think that the "temperature" change message from the thermostat also have the "modelId" not at the same place in the transmited zigbee message and the zigbe2mqtt does not show anything in the log because it does not recognise it ?

@khzd
Copy link

khzd commented Jan 15, 2019

Hi
Good progress for modelid challenge :)
Now you can focus on the second one :
fromZigbee: [],
toZigbee: [],

You have to fill the [] with the good proc. See thermostat implementations
Bon courage

@goldriver2
Copy link
Author

goldriver2 commented Feb 15, 2019

I am Back to where I left a few weeks ago for a knee surgery, please bare with me as am am still not a programmer or an IT guy

As mentionned before, I have been able to pair the Stelpro ST218 with the plugin, now, according to the GITHUB instrcution, I am trying to get some feed back from the thermostat by playing with the down and up button but unfortunatly nothing happens in the log.

looking again at the documentation, it is mentionned "in case your device is not reporting anything, it could be that this device requires additional configuration. " I have looked at the exemples the page links to but I seriously have NO CLUE of where to start and what I would need to add in a "configuiration" section.

I found this exemple for an eCozy thermostat but how the hell can I find all parameters for the specific STelpro ????

help please

would anything from this Stelpro Repo help ?
https://github.com/stelpro/Ki-ZigBee-Thermostat

// eCozy
{
zigbeeModel: ['Thermostat'],
model: '1TST-EU',
vendor: 'eCozy',
description: 'Smart heating thermostat',
supports: 'temperature, occupancy, un-/occupied heating, schedule',
fromZigbee: [
fz.ignore_basic_change, fz.generic_battery_voltage,
fz.thermostat_att_report, fz.thermostat_dev_change,
],
toZigbee: [
tz.factory_reset, tz.thermostat_local_temperature, tz.thermostat_local_temperature_calibration,
tz.thermostat_occupancy, tz.thermostat_occupied_heating_setpoint,
tz.thermostat_unoccupied_heating_setpoint, tz.thermostat_setpoint_raise_lower,
tz.thermostat_remote_sensing, tz.thermostat_control_sequence_of_operation, tz.thermostat_system_mode,
tz.thermostat_weekly_schedule, tz.thermostat_clear_weekly_schedule, tz.thermostat_weekly_schedule_rsp,
tz.thermostat_relay_status_log, tz.thermostat_relay_status_log_rsp,
],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 3);
const actions = [
// from https://github.com/ckpt-martin/Hubitat/blob/master/eCozy/eCozy-ZigBee-Thermostat-Driver.groovy
(cb) => device.bind('genBasic', coordinator, cb),
(cb) => device.bind('genPowerCfg', coordinator, cb),
(cb) => device.bind('genIdentify', coordinator, cb),
(cb) => device.bind('genTime', coordinator, cb),
(cb) => device.bind('genPollCtrl', coordinator, cb),
(cb) => device.bind('hvacThermostat', coordinator, cb),
(cb) => device.bind('hvacUserInterfaceCfg', coordinator, cb),
(cb) => device.report('hvacThermostat', 'localTemp', 5, 30, 0, cb),
];

        execute(device, actions, callback);
    },
},

@goldriver2
Copy link
Author

made some progress, I have been able to define a device.js file that now provides me at least the local temperature.

I am now stuck where if I change the temperature on the thermostat, nothing is returned to the zigbee2mqtt

{
zigbeeModel: ['ST218'],
model: 'ST218',
vendor: 'Stelpro',
description: 'Thermostat ',
supports: 'temperature and humidity',
fromZigbee: [
fz.ignore_basic_change, fz.generic_battery_voltage,
fz.thermostat_att_report, fz.thermostat_dev_change,
],
toZigbee: [
tz.factory_reset, tz.thermostat_local_temperature, tz.thermostat_local_temperature_calibration,
tz.thermostat_occupancy, tz.thermostat_occupied_heating_setpoint,
tz.thermostat_unoccupied_heating_setpoint, tz.thermostat_setpoint_raise_lower,
tz.thermostat_remote_sensing, tz.thermostat_control_sequence_of_operation, tz.thermostat_system_mode,
tz.thermostat_weekly_schedule, tz.thermostat_clear_weekly_schedule, tz.thermostat_weekly_schedule_rsp,
tz.thermostat_relay_status_log, tz.thermostat_relay_status_log_rsp,
],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 25);
const actions = [
(cb) => device.bind('genBasic', coordinator, cb),
(cb) => device.bind('genIdentify', coordinator, cb),
(cb) => device.bind('genGroups', coordinator, cb),
(cb) => device.bind('hvacThermostat', coordinator, cb),
(cb) => device.bind('hvacUserInterfaceCfg', coordinator, cb),
(cb) => device.bind('msTemperatureMeasurement', coordinator, cb),
(cb) => device.report('hvacThermostat', 'localTemp', 300, 3600, 0, cb),
];

        execute(device, actions, callback); 
     },

@goldriver2
Copy link
Author

Hi

I have no clue as to how to do a PR to add something to GITHUB but for anyone interested, here is the changes I added to my device.js to get it to work:

const devices = [
// Stelpro Orleans baseboard thermostat
{
zigbeeModel: ['ST218'],
model: 'ST218',
vendor: 'Stelpro',
description: 'Baseboard integrated zigbee Thermostat ',
supports: 'temperature ',
fromZigbee: [
fz.thermostat_att_report, fz.thermostat_dev_change,
],
toZigbee: [
tz.thermostat_local_temperature, tz.thermostat_occupied_heating_setpoint,
tz.thermostat_pi_heating_demand,
],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 25);
const actions = [
(cb) => device.bind('genBasic', coordinator, cb),
(cb) => device.bind('genIdentify', coordinator, cb),
(cb) => device.bind('genGroups', coordinator, cb),
(cb) => device.bind('hvacThermostat', coordinator, cb),
(cb) => device.bind('hvacUserInterfaceCfg', coordinator, cb),
(cb) => device.bind('msTemperatureMeasurement', coordinator, cb),
(cb) => device.report('hvacThermostat', 'localTemp', 300, 3600, 0, cb),
];
execute(device, actions, callback);
},
},

as for the tozigbee.js and fromzigbee.js, I used the already existing ones and everything seems to work

@goldriver2 goldriver2 changed the title How to add an 'undefined' device to device.js How to add an 'undefined' device to device.js (Stelpro Orleans baseboard) Feb 22, 2019
Koenkk pushed a commit to Koenkk/zigbee-herdsman-converters that referenced this issue Mar 17, 2019
* Support for LTW011 (#183)

* Update devices.js

Added support for LTW011

* Update devices.js

* Update devices.js

* Add support for Bitron Smart Plug with metering 16A (902010/25) (#181)

* Update devices.js

Add support for Bitron Smart Plug with metering 16A (902010/25)

* Update fromZigbee.js

Add converter bitron_power

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Support Home Assistant flashing light bulbs (#187)

* Support Home Assistant flashing light bulbs

Home Assistant sends the "flash" key in the Zigbee message to tell
lightbulbs to flash. The value sent from Home Assistant is the
number of seconds for the bulb to flash. 2 for "short" and 10 for
"long".

See #157

* Fix linting for hass lightbulb flashing

* More lint fixing for hass light flash

* Add support for round Hue Aurelle LTC016 (#186)

* Add support for round Hue Aurelle LTC016

* Update devices.js

* Update devices.js

* Hue motion sensor SML001 improved (#184)

* Fix occupancy implementation for Hue SML001

Old implementation fails if there is continous motion because timer
interupts.
Hue motion sensor sends both messages (occupancy true and false), so we
don't need the publish timer.

* Travis CI errors fixed

* More Travis fixes

* Hopefully the last indent fix...

* Reverted changes in bind

Its not needed anymore since not timeout used for sml001

* ignore_onoff_change for CC2530 router. Koenkk/Z-Stack-firmware#18

* Add support for Hue white ambiance Still LTC003 (#188)

* Add support for round Hue Aurelle LTC016

* Update devices.js

* Add support for Hue white ambiance Still LTC003

* Update devices.js

* Update devices.js

* 7.0.8

* Update devices.js

* 7.0.9

* Add support for Sengled E12-N14 (BR30) Light

* new devices (#174)

* HOMA2023

* FNB56-ZCW25FB1.9

* 'GL-C-007', 'GL-S-007Z'

* XY12S-15

* RB 178 T

* GL-D-003Z

* corr little bugs

* RB 178 T corr

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Requested PR for "Incorrect Battery Readings #568" (#191)

* Requested PR for "Incorrect Battery Readings #568" 

This is my "Second attempt" first try on Java Script Please have a look on the xiaomi_battery_3v block beginning in line 168 and the function toPercentageCR2032 beginning in line 43.
I'd love if this works. ;-)

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

changed "Percentage" to "percentage"

* Use Math.round instead of toFixed

* Occupancy pirOtoUdelay (#185)

* Fix occupancy implementation for Hue SML001

Old implementation fails if there is continous motion because timer
interupts.
Hue motion sensor sends both messages (occupancy true and false), so we
don't need the publish timer.

* occupancy_pirOToUDelay implemented (for hue motion sensor)

* Travis CI errors fixed

* More Travis fixes

* Hopefully the last indent fix...

* Indents fixed

* Reverted changes in bind

Its not needed anymore since not timeout used for sml001

* Renamed keys to occupancy_timeout

Lint fixes

* Lint fix

* default endpoint for sml001

* added support for IKEA SURTE light door 38x64 (#195)

* added support for IKEA SURTE light door 38x64

* removed example comments of ikea surte device

* Experimental ecozy support (WIP)  (#132)

* ecozy: Initial commit using foundation/write

* Combined get/setOccupiedHeatingSetpoint

* Fast forward to current master

* 
Removing store[deviceID]

* Remove store[deviceID]

* Added further converters for ecozy

* Fixing device configuration

* Fixing Bind/ Report

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Update devices.js

* Update toZigbee.js

* Update fromZigbee.js

* Add support for Hive HALIGHTDIMWWB22 (Bayonet mount) (#194)

* Add support for Hive HALIGHTDIMWWB22 (Bayonet mount)

* Update devices.js

* Support Samsung SmartSense Multi (#192)

* Support Samsung SmartSense Multi

Support the contact attribute of the slightly older Samsung SmartThings
range, "SmartSense Multi".

* Update devices.js

* Add GE 45856 light switch (#197)

* Add GE 45856 light switch

Only supports on/off - device also reports elecrical usage,
but not supported yet.

* Update devices.js

* FNB56-SKT1EHG1.2 (#198)

* GLEDOPTO GL-B-008Z

* HGZB-20-DE

https://www.amazon.de/Intelligente-Steckdose-kompatibel-SmartThings-Steuerung/dp/B07GYG5GRP

* Update devices.js

* Update devices.js

* Update devices.js

* Airam Led OP A60 ZB 9W/827 E27 improvement & Airam Remote information (#196)

* Airam Led OP A60 ZB 9W/827 E27 improvement & Airam Remote information

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Log configure error. #768

* 7.0.10

* Add Support for EcoSmart Bright White Bulbs (#200)

* Update devices.js

* Update devices.js

* update

* Bitron-Video Wall Thermostat (#199)

* added Bitron Wall Thermostat

* added Bitron fromZigbee convertes

bitron_battery (should be usefull for all bitron battery powered devices)
bitron_thermostat_att_report
bitron_thermostat_dev_change

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update fromZigbee.js

* Update toZigbee.js

i changed the calculation of the input values so that you can also set half degrees.

before: 
21.3 -> 21.0
21.4 -> 21.0
21.5 -> 22.0

now:
21.3 -> 21.5
21.4 -> 21.5
21.5 -> 21.5

* Update fromZigbee.js

* added temperature_display_mode + running_state

* Update devices.js

* Trailing spaces

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* FB56-ZCW11HG1.2 (#202)

* GLEDOPTO GL-B-008Z

* HGZB-20-DE

https://www.amazon.de/Intelligente-Steckdose-kompatibel-SmartThings-Steuerung/dp/B07GYG5GRP

* Update devices.js

* Update devices.js

* Update devices.js

* FB56-ZCW11HG1.2

https://uploads.tapatalk-cdn.com/20190106/dcf0f59343233342d004319d05c04bc0.jpg

* FB56-ZCW11HG1.2

* FB56-ZCW11HG1.2

i miss this device

* rebase

* Update devices.js

* Filter non-realistic WSDCGQ11LM and WSDCGQ01LM temperature reports. Koenkk/zigbee2mqtt#798

*  Filter non-realistic WSDCGQ11LM and WSDCGQ01LM humidity reports. Koenkk/zigbee2mqtt#798

* 7.0.11

* Support E1524. Koenkk/zigbee2mqtt#102

* 7.0.12

* Update devices.js to include Nue HGZB-01A (#203)

* Update device.js to include Nue HGZB-01A

Device is a mains inline zigbee light controller with brightness.
Amazon link:
https://www.amazon.com/gp/product/B07FBD96DG/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1

Added and tested device per: https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html

* remove extranious tab that fails check

* Fixed the rest of the tabs - still figuring this out... sorry.

* adding space back...

* Update devices.js

* Add RTCGQ11LM illuminance interval report. Koenkk/zigbee2mqtt#827

* 7.0.13

* Support TRADFRI wireless dimmer battery. Koenkk/zigbee2mqtt#792

* 7.0.14

* Add support for Gledopto Zigbee LED controller WW/CW Dimmer (GL-C-006) (#204)

* Support 100.424.11. Koenkk/zigbee2mqtt#803

* Add device support for iCasa Zigbee 3.0 Dimmer (#206)

* Add device support for iCasa Zigbee 3.0 Dimmer

* Update devices.js

* Refactors (#207)

* Add Iris 3326-L motion and temperature sensor

* Use scoped zcl-id

* Only package needed files

* refactor: Use a Map for findByZigbeeModel

* Add `extend` attribute

The attribute shallow-merges the model object,
with the explicitly defined properties taking precidence
Converted all uses of `generic` to `extend` format.

* Fix missing color temperature from #207

* Hue power-on behavior (#209)

* added Hue Power-on Converter

tested with GU10.
needs Firmware 1.46

hue_power_on_behavior
// default / enable / disable / configure hue_power_on_behavior, 
// default = 1
// on - lamps on after power loss with configured brightness, color temperature, color
// off - lamps off after power loss
// recover - lamps on after power loss with last state 

hue_power_on_brightness
// brightness when hue_power_on_behavior = on, same settings as brightness converter
// default = 255

hue_power_on_color_temperature
// color temperature when hue_power_on_behavior = on, same settings as colortemp converter
// default = 366

to-do:
hue_power_on_color (must be added by someone with appropriate bulb)

* Update toZigbee.js

* Hue specific settings

generic hue settings with power-on converter

* Update toZigbee.js

* fixed 'null' values

as discussed here: Koenkk/zigbee2mqtt#848

* Update fromZigbee.js

* Update fromZigbee.js

* Update toZigbee.js

* Update devices.js

* Update devices.js

* fixed 'null' values in thermostat converters. (#210)

* fixed 'null' values in thermostat converters.

as discussed here: Koenkk/zigbee2mqtt#848

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* 7.0.15

* Add devices.js to files.

* 7.0.16

* Trim null characters on spaces when searching for zigbee model. Koenkk/zigbee2mqtt#810

* 7.0.17

* Fix linting error.

* 7.0.18

* Update battery cfg for TRADFRI wireless dimmer. Koenkk/zigbee2mqtt#792

* 7.0.19

* Fix documentation for Xiaomi Wireless Wall Switch (#211)

* Fix documentation for Xiaomi Wireless Wall Switch

* Update devices.js

* TRADFRI Driver 10W (#214)

same device as TRADFRI transformer 10W but other name

* ToZigbee onoff; don’t crash on wrong value type. #212

* Fix tradfri wireless dimmer report interval. Koenkk/zigbee2mqtt#792

* 7.0.20

* Add support for Sengled model E1A-AC2 (#215)

* Add support for Sengled model E1A-AC2

Adding support for Sengled downlights (https://www.sengled.com.au/shop/element-downlight-single/)

* Update devices.js

* Trust Contact Sensor (CSW_ADUROLIGHT) invert logic (#221)

Fixed an issue where contact ON on the device resulted contact:false MQTT-payload and vice versa.

* Fix for: No converter available for 4713407 with cid genOnOff, type attReport and data {"cid":"genOnOff","data":{"onOff":0}} (#218)

* Add support for OSRAM/Lightify Switch Mini (#219)

* Added Support for OSRAM Smart Switch Mini AC0251100NJ

* Lightify Switch Mini Support

* CODE Tidy

* Fixed comma dangle

* Removed trailing space

* Update fromZigbee.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update devices.js

* 7.0.21

* Fix crash when model null. Koenkk/zigbee2mqtt#887

* 7.0.22

* Fix xiaomi lock (#223)

* feat(xiaomi_lock_report): recover reporting of error case 0x1107ffffffffffff

This error message is sent by the Xiaomi / Vima smart lock  when an
unknown object (e.g. a lock pick) is introduced into the cylinder.

* chore(xiaomi_lock_report): uniformize code comments

* Support for Sylvania 71831, Adjustable White A19 Bulb (#224)

* Support for RGB Mueller Licht: tint (#225)

* added tint from Mueller Licht

* Update devices.js

* Added Müller Licht white bulbs (#229)

* New devices: Heiman Water Sensor, Heiman Door Sensor

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* Improved support for HEIMAN devices

* Fixed ; and style

* Style fix

* Updates

* Fixed wrong bitshift

* Added Müller Licht white bulbs

* Added Müller Licht white bulbs

* Refactor transtime to readAfterWriteTime (#227)

* refactor transition times

* Increased thermostat_system_mode readAfterWriteTime

* Implemented thermostat enums (#226)

* Implemented thermostat enums

* Fixed linting issues

* Hopefully no more linting problems

* Fixed review comments

* Fixed more uppercase

* Update toZigbee.js

* 7.0.23

* Fix for systemMode runningState enum implementation. (#234)

* corrected runningStates

* added runningMode 

added runningMode 
edited runningState

* Update toZigbee.js

removed comments that are described at documentation

added runningMode (get)

* Update common.js

* Update fromZigbee.js

* Update common.js

* Update fromZigbee.js

* Switch zcl-id to tarball

* 7.0.24

* fixed var name. (#235)

* NodeJS 4.* compatibility fix (#236)

* Fix max interval (#237)

Changed the maximum interval time.

* Support HS1DS-E. Koenkk/zigbee2mqtt#911

* added Gledopto Smart RGBW GU10 (GL-S-003Z) (#240)

* Update devices.js

added Gledopto Smart RGBW GU10 (GL-S-003Z)

* Update devices.js

* Update devices.js

* Enum fixes (#241)

* Fixed reference to undefined enum objects.

* Fixed issue with setting system_mode to "off".
The key for "off" is 0 which would fool getKeyByValue into returning the
"off" string as fallback value.

* add hue/saturation support to light_color (#239)

* add hue/saturation support to light_color

* add hue/saturation support to light_color_colortemp

* fix hue/saturation support to light_color_colortemp

* Keep nodejs 4 support.

* 7.0.25

* FLS-CT (#243)

* ZBT-ExtendedColor

* FLS-CT

* Update devices.js

* Update devices.js

* added SLP2b Hive Active Plug (#245)

* added SLP2b

* tidy spacing

* Update devices.js

* Update devices.js

* HS1SA fixes (#247)

* Added fix for bad iasCieAddr registration

* Added battery measurement converter

* Added battery measurement registration

* Added support for Salus SP600 Smart Plug (#248)

* Add support for Hive HALIGHTDIMWWB22 (Bayonet mount)

* Update devices.js

* Added support for Salus SP600 Smart Plug

* Salus SP600: Fix indentation

* Rename EDP_power to generic_power

* Add support for Gledopto devices with multiple lights in one controller (#249)

* Add support for Gledopto devices with multiple lights in one controller

* Add support for Gledopto devices with multiple lights in one controller - fix eslint error

* 7.0.26

* Added support for Gledopto GL-B-007Z bulb (#251)

* Add support for AduroSmart ERIA White and Color bulbs. (#250)

* Add support for AduroSmart ERIA White and Color bulbs.

* Update devices.js

* 7.0.27

* Q-FLAG LED Panel, Smart-Home RGBW (#252)

https://www.paul-neuhaus.de/shop/de/led-panel-smart-home-alexa-tauglich-100-110-39.html

* Hs1 sa battery (#253)

* Fixed battery calculation. Zigbee standard states that 200 = 100%

* Added enrollment and ZoneID detection

* add report handling to generic light_onoff_brightness (#258)

* add report handling to generic light_onoff_brightness

* Update devices.js

* Update devices.js

* Update devices.js

* 7.0.28

* Simplify/cleanup some converters.

* Add color color_temp report converter.

* 7.0.29

* Fix typo

* 7.0.30

* Fix state get converter.

* 7.0.31

* Added handlers for Livolo (#256)

* Added handlers for Livolo

* Formatting corrections

* Update fromZigbee.js

* Update devices.js

* Updates handlers for Livolo

* Fixes

* Update devices.js

* Updates.

* 7.1.0

* Add combined toZigbee color and colortemp converter. (#260)

* Add support for AduroSmart ERIA White and Color bulbs.

* Update devices.js

* Add combined toZigbee color and colortemp convertor.

This convertor is a combination of light_color and light_colortemp and
can be used instead of the two individual convertors. When used to set,
it actually calls out to light_color or light_colortemp to get the
return value. When used to get, it gets both color and colorTemp in
one call.
The reason for the existence of this somewhat peculiar converter is
that some lights don't report their state when changed. To fix this,
we query the state after we set it. We want to query color and colorTemp
both when setting either, because both change when setting one. This
converter is used to do just that.

We're using this convertor by default now in
generic.light_onoff_brightness_colortemp_colorxy because it can't hurt.

* Typos.

* Added Eurotronic Spirit Zigbee thermostat (#254)

* Added Eurotronic Spirit Zigbee thermostat

* adjust Spirit Zigbee thermostat binding due to pr comments

* fix linter errors

* renamed specific attributes with eurotronic prefix, cleanup converters

* update model and description to match convention for documentation

* remove trailing space

* remove trailing space

* added postfix parameter to eurotronic converters

* 7.1.1

* Fix Xiaomi Gas sensor density json attr (#263)

* 7.1.2

* Introduce Ninja Smart plug to devices.js (#262)

* Update devices.js

* Intro-Ninja-Plug

Introduced device entry for Ninja Smart plug from Ninja Block inc, including power metering and on/off support

* Update devices.js

* Ignore genGroups devChange. Koenkk/zigbee2mqtt#764

* Add support for AduroSmart ERIA Smart Wireless Dimming Switch (#264)

* Add support for AduroSmart ERIA Smart Wireless Dimming Switch

Switch returns event on button release. Hold not supported.
Implemented as action sensor, returning actions on, off, up, down.

Proprietary cluster PRs in zcl-id and zcl-packet need to be merged
first.

URL: https://adurosmart.com/products/adurosmart-eria-smart-dimming-switch-hub-required
Image: https://static1.squarespace.com/static/5b73cad4aa49a1238f3c98ab/5b74eb9fb8a045d2f8b7d562/5b764e90562fa74310b76949/1534480018645/81825-Dimmng-switch-3.jpg?format=2500w

* Update devices.js

* HS3CG - Heiman gas sensor #257 (#265)

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* 7.1.3

* Update toZigbee.js (#266)

Bugfix: Eurotronic zigbee thermostat support: localTemperatureCalibration was not written correctly to the device.

* Immax LED E14/230V C35 5W TB 440LM ZIGBEE DIM (#268)

* Add support for BOSCH RADON TriTech ZB Motion Sensor Model RFDL-ZB-MS (#267)

* Update devices.js

Add support for BOSCH RADON TriTech ZB Motion Sensor Model RFDL-ZB-MS

* Update fromZigbee.js

Add support for BOSCH motion sensor RADON TriTech ZB
bit 0 is used to detect motion bit temper contact and bit 3 battery low

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update devices.js

* Add support for Hue white ambiance suspension Fair (#269)

* More custom attributes for Eurotronic SPZB0001 (#270)

* Added Eurotronic Spirit Zigbee thermostat

* adjust Spirit Zigbee thermostat binding due to pr comments

* fix linter errors

* renamed specific attributes with eurotronic prefix, cleanup converters

* update model and description to match convention for documentation

* remove trailing space

* remove trailing space

* added postfix parameter to eurotronic converters

* Eurotronic SPZB0001: more custom attribtes, listen to devChange instead of attReport, rename eurotronic_16386

* Update ikea tradfri remote setup link.

* Lock zcl-id.

* 7.1.4

* Multiple Gledopto transition by 3.3. Koenkk/zigbee2mqtt#1047

* 7.1.5

* LED1624G9 doesn't support color temperature. Koenkk/zigbee2mqtt#678

* Added support for Innr RS 225 bulb (#271)

* Add E1746. Koenkk/zigbee2mqtt#832

* 7.1.6

* Fix gledopto color and color_temp converter. Koenkk/zigbee2mqtt#1064 (comment)

* 7.1.7

* Add E1743 Koenkk/zigbee2mqtt#997 (#273)

* Experimental support E1743. Koenkk/zigbee2mqtt#997

* Add battery support and fix model. Koenkk/zigbee2mqtt#997

* Add missing battery converter. Koenkk/zigbee2mqtt#997

* Add ignore_power_change. Koenkk/zigbee2mqtt#997

* Increase WXKG01LM long click delay.

This makes detecting long clicks more reliable. Sometimes a `long` is detected when it's actually a `single`.

* Support YRD426NRSC. Koenkk/zigbee2mqtt#1032 (#274)

* Experimental support YRD426NRSC. Koenkk/zigbee2mqtt#1032

* Update fromZigbee.js

* 7.1.8

* Add Osram BR30 RGBW LED to HA

* Add support for TRADFRI bulb E27 WS opal 1000lm light LED1732G11 (#277)

* SmokeSensor-EM (#272)

* tint remote, 3 keys (#279)

* tint remote, 3 keys

activated On-Off and brightness up/down

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update links.

* 7.1.9

* Innr RB 265 E27 Bulb support (#280)

* Fixed HS1SA battery report (#282)

* 7.1.10

* Updated devices.js with support for ELKO Dimmer 316 GLED RF. (#283)

* Updated devices.js with support for ELKO Dimmer 316 GLED RF.

* Update devices.js

* Update devices.js

* Update devices.js

* Additional setup is not required anymore.

* Decoupled mode for Xiaomi wired wall switches (#287)

* Added LivingWise ZigBee Smart dimmer Switch. Model#: LVS-ZB500D (#288)

* Added LivingWise ZigBee Smart dimmer Switch. Model#: LVS-ZB500D

* Update devices.js

* Update devices.js

* Update fromZigbee.js

* added samsung smartthings plug (#286)

* added samsung smartthings plug

* Update fromZigbee.js

* Update devices.js

* Update toZigbee.js

* Update toZigbee.js

* didn't need custom toZigbee converter

* didn't need custom toZigbee converter

* tint remote (ZBT-Remote) Color keys (#284)

* tint remote, 3 keys

activated On-Off and brightness up/down

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* tint remote (ZBT-Remote) Color keys

Implementation of color wheel and color temp, brightness with stesize and transition-time

* syntax power-key

* Update fromZigbee.js

change on/off-button to action:'on' and 'off'

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* [Xiaomi wired switch] Parse operation mode response (#290)

* Add GL-FL-004TZ. #293

* Added support for new Philips Hue Outdoor Motion Sensor (#294)

* Update devices.js

Added support for the new Philips Hue Outdoor Motion Sensor

* Update devices.js

* Add ST218. #295

* Add  ' generic_state_multi_ep' to support Nue branded switches (#298)

* Update devices.js with support for Nue 'FB56+ZSW1HKJ1.7' (#297)

* Fix problem with FB56+ZSW05HG1.2' (HGZB-01A) handler (#299)

* Fix problem with FB56+ZSW05HG1.2' (HGZB-01A) handler


FB56+ZSW05HG1.2'  (HGZB-01A)


This device was already supported and works, however error message below. I've added "fz.ignore_onoff_change" to the device handler and this fixes the problem (if it is a problem?), but wanted to check with you @Koenkk that it's okay to ignore the 'genOnOff' message?

```zigbee2mqtt:debug 2/23/2019, 1:31:59 AM Received zigbee message of type 'devChange' with data '{"cid":"genOnOff","data":{"onOff":0}}' of device 'FB56+ZSW05HG1.2' (0x00124b000ae5fa3e)
  zigbee2mqtt:warn 2/23/2019, 1:31:59 AM No converter available for 'FB56+ZSW05HG1.2' with cid 'genOnOff', type 'devChange' and data '{"cid":"genOnOff","data":{"onOff":0}}'
  zigbee2mqtt:warn 2/23/2019, 1:31:59 AM Please see: https://www.zigbee2mqtt.io/how_tos/how_to_support_new_devices.html.
  zigbee2mqtt:debug 2/23/2019, 1:32:23 AM Received MQTT message on 'zigbee2mqtt/0x00124b000ae5fa3e/set' with data 'ON'
  zigbee2mqtt:info 2/23/2019, 1:32:23 AM Zigbee publish to device '0x00124b000ae5fa3e', genOnOff - on - {} - {"manufSpec":0,"disDefaultRsp":0} - null```

I also moved the "   // Smart Home Pty" devices below // Nue as I believe they are probably the same and before long you might get double ups.

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Add support for Keen Home smart vent (#276)

* - added support for Keen Home smart vent

* - added more from-zigbee handler for keen vent
- added more model# for keen vent

* Update devices.js

* - updated reporting interval and only handle attReport and ignore devChange on temperature and pressure

* - added cover_position handler

* - added cover_position to keen home toZigbee

* - added transtime to cover_position.set
- changed key to state for cover_position

* Update toZigbee.js

* Update devices.js

* - added cover_state and cover_position fromZigbee handler
- made changes to cover_open_close toZigbee handler so it'd work correctly

* - added devChange fromZigbee handler for keen home pressure, temperature and battery
- updated cover_position and cover_position_report fromZigbee handler to return both position and state (state is determined by position now)
- updated cover_open_close to only change currentLevel
- adjusted attReport interval for kee home vent

* - removed reporting config

* - fixed lint errors

* 7.1.11

* Add device to support Trust Remote control ZYCT-202 (#300)

* Add device to support Trust Remote control ZYCT-202

Koenkk/zigbee2mqtt#635

* Add the concerters for the Trust Remote control ZYCT-202

The groupid has been processed in the button press. So you have the action and the selector mode in 1 state value and can easily be used in a Home Assistant Automation state rule.

* Add the concerters for the Trust Remote control ZYCT-202

The groupid has been processed in the button press. So you have the action and the selector mode in 1 state value and can easily be used in a Home Assistant Automation state rule.

(Koenkk/zigbee2mqtt#635)

* Update devices.js

Fixed spaces line 1941

* Update devices.js

Fixed the maximum line length of 120  max-len

* Separated the action and groupid in the return rules

Have separated the action and groupid in the return rules...

* Update fromZigbee.js

* Support TRADFRI wirelessm motion sensor E1525. Koenkk/zigbee2mqtt#247

* 7.1.12

* Add support for AXIS Gear window shade motor (#301)

* - added support for AXIS Gear window shade motor

* - updated AXIS Gear model

* Update devices.js

* Support HGZB-42-UK. #278

* 7.1.13

* Change up and down in Ikea Outlet Switch (#302)

* TRADFRI dimmer change maximum response time. (#305)

* Update action color wheel structure.

* tint remote, 3 keys

activated On-Off and brightness up/down

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* tint remote (ZBT-Remote) Color keys

Implementation of color wheel and color temp, brightness with stesize and transition-time

* syntax power-key

* Update fromZigbee.js

change on/off-button to action:'on' and 'off'

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* tint remote, changed to standard return values, changed calculations of color to franctions.

* adopt to master

* adopt master changes

* Update fromZigbee.js

* Update fromZigbee.js

* fixed thermostat_setpoint_raise_lower (#308)

setpoint_raise_lower is client-to-server only. There is no need for a "get".

To get the setpoint use:
occupied_heating_setpoint
or 
unoccupied_heating_setpoint

* Added illuminance measurement for SML002 (#307)

* Added illuminance measurement 

Added illuminance measurement for Philips outdoor sensor SML002.

* Update devices.js

* new: Hue Flourish ceiling light (#309)

* new: Hue Flourish ceiling light

* Update devices.js

* Cosmetic updates.

* Separate moveToLevelWithOnOff and moveToLevel converters. Koenkk/zigbee2mqtt#176

* 7.2.0

* updated reporting confg for Keen Vent and AXIS Gear (#310)

* - updated reporting configuration for Keen Vent
- updated AXIS Gear to start report its position and battery level

* Update devices.js

* Update zcl-id.

* Add philips cluster for hue dimmer (#311)

* Add philips cluster for hue dimmer

* Modify philips hue dimmer

* Modify philips hue dimmer

* Modify philips hue dimmer

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* 7.2.1

* Check if message has onOff for state converters. Koenkk/zigbee2mqtt#1176

* 7.2.2

* Additional model name for Osram LIGHTIFY Flex RGBW (#314)

* Update devices.js (#315)

* Support ISW-ZPR1-WP13. Koenkk/zigbee2mqtt#768

* 7.2.3

* Also check for realistic values in WSDCGQ01LM_WSDCGQ11LM_interval. Koenkk/zigbee2mqtt#798

* 7.2.4

* Add support for Philips Hue Sana (#316)

Signed-off-by: markus1540 <markus1540@gmail.com>

* Update fromZigbee.js with ignore_light_brightness_change (#318)

Updated to support Nue Dimmer Switch (FB56+ZSC05HG1.0)

* Support HGZB-02A. Koenkk/zigbee2mqtt#1179

* Update devices.js with FB56+ZSC05HG1.0 (Nue Smart Dimmer Switch) (#317)

* Update devices.js with FB56+ZSC05HG1.0 (Nue Smart Dimmer Switch)

* Renamed FB56+ZSC05HG1.0 model ID to correct ID.

* Update devices.js

* Add action for ICTC-G-1. Koenkk/zigbee2mqtt#1191

* 7.2.5

* Clarify that the GE Link bulb could be BR30 or A19 (#320)

I noticed that my A19 GE Link bulbs are sharing the BR30 description.
From what I can tell, they both share same model number: Koenkk/zigbee2mqtt#1161

* Update devices.js for 'FB56+ZSW1HKJ1.7' with new button decriptions (top/bottom) (#321)

* Support for 'FB56+ZSW1IKJ1.7' 3-gang Nue Smart Switch (#319)

* Support for 'FB56+ZSW1IKJ1.7' 3-gang Nue Smart Switch

Confirmed working, but please check my parentheses etc @Koenkk .... I get double MQTT feedback.

It would also be great if you could support 'top' and 'bottom' in https://github.com/Koenkk/zigbee2mqtt/blob/master/lib/extension/devicePublish.js#L8 - is this a possibility? This would make more sense for countries like Australia where switches are mounted vertically, and give the option for the handler to match the local orientation of the device.

* Changed FB56+ZSW1IKJ1.7 to include new button descriptors (top/bottom)

* Fix missing converters for philips hue dimmer (#322)

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* re-pair fix and add multiple clicks for hue dimmer (#323)

* added multiple (single/double etc) click for hue dimmer

* fix re-pair issue for hue dimmer

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* Fix gledopto converter crash. Koenkk/zigbee2mqtt#1209

* 7.2.6

* Ignore basic dev change for all lights. Koenkk/zigbee2mqtt#1064

* Check if data has currentLevel attribute in brightness converters. Koenkk/zigbee2mqtt#1212

* Update devices.js for Nue HGZB-41 (#325)

The Nue 1 gang smart switch model 'HGZB-41' identifies as 'FNB56-ZSW01LX2.0', the same as previously listed 'HGZB-42-UK' 2 gang switch. Updated model / description to allow for both.

* add Nyce-3043 and additional Smartthings devices (#324)

* add Nyce-3043 and additional Smartthings devices

* Update devices.js

* Update fromZigbee.js

* 7.2.7

* Improve AC0251100NJ actions consistency

Improve AC0251100NJ actions consistency

* extend E1524 with genPowerCfg reporting (#326)

* extend E1524 with genPowerCfg reporting

* Add Whitespace to fix failured travis check

* Update devices.js

* Update devices.js

* Update README.md (#327)

Link to zigbee2mqtt.

* Bitron av2010/34  (#328)

* AV2010/34 devices.js Part

* add AV2010_34_click + generic ignore_power_report

* Update devices.js

* Add extra guard to xiaomi_contact_interval. Koenkk/zigbee2mqtt#1219

* Update dependencies.

* 7.2.8

* Update devices.js to support FNB56-ZSW03LX2.0 - Nue 3 gang smart switch v2.0 (#330)

* Update devices.js to support FNB56-ZSW03LX2.0 - Nue 3 gang smart switch v2.0

Endpoints changed between versions. Possibly using newer Zigbee protocol now also

* Update devices.js

* Add Securifi Peanut Smart Plug (#331)

* Add Securifi Peanut Smart Plug

Measurements not supported/tested as they require a firmware upgrade (?). Switch works though.

See Koenkk/zigbee2mqtt#809

* Update devices.js

* Update fromZigbee.js to support Nue Scene Switches (#332)

* Add 'FTB56+ZSN15HG1.0' & 'FB56+ZSN08KJ2.3' Nue Scene Switches (#333)

* Add 'FTB56+ZSN15HG1.0' & 'FB56+ZSN08KJ2.3' Nue Scene Switches

* Update devices.js

* Update devices.js to support FB56+ZSW1HKJ2.5 2 gang Nue smart switch (#334)

* Update devices.js to support FB56+ZSW1HKJ2.5 2 gang Nue smart switch

This has the same model number HGZB-042 as FB56+ZSW1HKJ1.7

* Update devices.js

* Add support for Visonic MCT-350 contact sensor. (#336)

* Add support for Visonic MCT-350 contact sensor.

* Update devices.js

* Update fromZigbee.js

* Add support for OJB-CR701-YZ Gas and CO sensor (#338)

* Add statuschange converter for OJB-CR701-YZ

* Add OJB-CR701-YZ to devices.js

* Fix eslint

* amend

* fix: Set proper vendor for OJB-CR701-YZ

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update fromZigbee.js

* Add more ignore converters.

* Changed to correct external model details (#335)

* Changed to correct external model details

* Fix model numbers

* Update devices.js

* Add support for Sengled E12-N14 (BR30) Light

* Add support for Sengled E12-N14 (BR30) Light

* Update devices.js

* Update devices.js

* Allow type to be an array.

* 8.0.0

* Don’t convert readRsp for ZNLDP12LM. Koenkk/zigbee2mqtt#1240

* 8.0.1

* Add alias for 4058075036185. Koenkk/zigbee2mqtt#1245

* Ignore false ZNCZ02LM and ZNLDP12LM messages.

* 8.0.2

* Add Support SwannOne Key Fob SWO-KEF1PA

* Modify payload to be more compatible with Home Assistant

* Sunricher (#340)

* Sunricher

* Update devices.js

* Update devices.js (#341)

* Adding `wireless mode` support for Xiaomi Switches QBKB11LM/QBKG12LM (#342)

* Update fromZigbee.js

rename methods for xiaomi aqara switch wireless mode

* Update devices.js

wireless mode for aqara wired switches

* Update devices.js

* Add 2 additional Nue models FB56+ZSW1GKJ2.5 & FTB56+ZSN16HG1.0 (#348)

Again .. another overlap of model but with different Zigbee ID. Entered differently per device.
Tidied up descriptions further.

* Added Smartthings devices (#344)

* add Nyce-3043 and additional Smartthings devices

* Update devices.js

* Update fromZigbee.js

* additional Smartthings devices

* added converters

* updated 3315-S

* added st_leak_change

* updated 3305-S, ignore change on genpower

* Update devices.js

* Update devices.js

* Update devices.js

* Update fromZigbee.js

*  Add Support SwannOne Key Fob SWO-KEF1PA (#346)

* Add support for Sengled E12-N14 (BR30) Light

* Add Osram BR30 RGBW LED to HA

* Update devices.js

* Add Support SwannOne Key Fob SWO-KEF1PA

* Modify payload to be more compatible with Home Assistant

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* 8.0.3

* Add converters for ignoring 'diagnostic' and 'genscenes' dev changes

* Implement no_occupancy_since for RTCGQ01LM and RTCGQ11LM. Koenkk/zigbee2mqtt#1195

* 8.0.4

* Add converters for ignoring 'diagnostic' and 'genscenes' dev changes (#350)

* Add support for Sengled E12-N14 (BR30) Light

* Add Osram BR30 RGBW LED to HA

* Update devices.js

* Add support for Sengled E12-N14 (BR30) Light

* Update devices.js

* Add Support SwannOne Key Fob SWO-KEF1PA

* Modify payload to be more compatible with Home Assistant

* Add support for Sengled E12-N14 (BR30) Light

* Update devices.js

* Add Support SwannOne Key Fob SWO-KEF1PA

* Modify payload to be more compatible with Home Assistant

* Add converters for ignoring 'diagnostic' and 'genscenes' dev changes

* Sengled: Add configure feature for reporting 'genOnOff' and 'genLevelCtrl'

Wireshark reported Sengled's own hub configured the bulbs for reporting
on/off states and brightness.

* Revert 'configure' options for reporting. Being worked on upstream

Koenkk/zigbee2mqtt#1064

* FIX: Remove duplicate keys that were already merged.
Koenkk pushed a commit to Koenkk/zigbee-herdsman-converters that referenced this issue Mar 18, 2019
* Hue motion sensor SML001 improved (#184)

* Fix occupancy implementation for Hue SML001

Old implementation fails if there is continous motion because timer
interupts.
Hue motion sensor sends both messages (occupancy true and false), so we
don't need the publish timer.

* Travis CI errors fixed

* More Travis fixes

* Hopefully the last indent fix...

* Reverted changes in bind

Its not needed anymore since not timeout used for sml001

* ignore_onoff_change for CC2530 router. Koenkk/Z-Stack-firmware#18

* Add support for Hue white ambiance Still LTC003 (#188)

* Add support for round Hue Aurelle LTC016

* Update devices.js

* Add support for Hue white ambiance Still LTC003

* Update devices.js

* Update devices.js

* 7.0.8

* Update devices.js

* 7.0.9

* Add support for Sengled E12-N14 (BR30) Light

* new devices (#174)

* HOMA2023

* FNB56-ZCW25FB1.9

* 'GL-C-007', 'GL-S-007Z'

* XY12S-15

* RB 178 T

* GL-D-003Z

* corr little bugs

* RB 178 T corr

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Requested PR for "Incorrect Battery Readings #568" (#191)

* Requested PR for "Incorrect Battery Readings #568" 

This is my "Second attempt" first try on Java Script Please have a look on the xiaomi_battery_3v block beginning in line 168 and the function toPercentageCR2032 beginning in line 43.
I'd love if this works. ;-)

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

changed "Percentage" to "percentage"

* Use Math.round instead of toFixed

* Occupancy pirOtoUdelay (#185)

* Fix occupancy implementation for Hue SML001

Old implementation fails if there is continous motion because timer
interupts.
Hue motion sensor sends both messages (occupancy true and false), so we
don't need the publish timer.

* occupancy_pirOToUDelay implemented (for hue motion sensor)

* Travis CI errors fixed

* More Travis fixes

* Hopefully the last indent fix...

* Indents fixed

* Reverted changes in bind

Its not needed anymore since not timeout used for sml001

* Renamed keys to occupancy_timeout

Lint fixes

* Lint fix

* default endpoint for sml001

* added support for IKEA SURTE light door 38x64 (#195)

* added support for IKEA SURTE light door 38x64

* removed example comments of ikea surte device

* Experimental ecozy support (WIP)  (#132)

* ecozy: Initial commit using foundation/write

* Combined get/setOccupiedHeatingSetpoint

* Fast forward to current master

* 
Removing store[deviceID]

* Remove store[deviceID]

* Added further converters for ecozy

* Fixing device configuration

* Fixing Bind/ Report

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Fixing ecozy

* Update devices.js

* Update toZigbee.js

* Update fromZigbee.js

* Add support for Hive HALIGHTDIMWWB22 (Bayonet mount) (#194)

* Add support for Hive HALIGHTDIMWWB22 (Bayonet mount)

* Update devices.js

* Support Samsung SmartSense Multi (#192)

* Support Samsung SmartSense Multi

Support the contact attribute of the slightly older Samsung SmartThings
range, "SmartSense Multi".

* Update devices.js

* Add GE 45856 light switch (#197)

* Add GE 45856 light switch

Only supports on/off - device also reports elecrical usage,
but not supported yet.

* Update devices.js

* FNB56-SKT1EHG1.2 (#198)

* GLEDOPTO GL-B-008Z

* HGZB-20-DE

https://www.amazon.de/Intelligente-Steckdose-kompatibel-SmartThings-Steuerung/dp/B07GYG5GRP

* Update devices.js

* Update devices.js

* Update devices.js

* Airam Led OP A60 ZB 9W/827 E27 improvement & Airam Remote information (#196)

* Airam Led OP A60 ZB 9W/827 E27 improvement & Airam Remote information

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Log configure error. #768

* 7.0.10

* Add Support for EcoSmart Bright White Bulbs (#200)

* Update devices.js

* Update devices.js

* update

* Bitron-Video Wall Thermostat (#199)

* added Bitron Wall Thermostat

* added Bitron fromZigbee convertes

bitron_battery (should be usefull for all bitron battery powered devices)
bitron_thermostat_att_report
bitron_thermostat_dev_change

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update fromZigbee.js

* Update toZigbee.js

i changed the calculation of the input values so that you can also set half degrees.

before: 
21.3 -> 21.0
21.4 -> 21.0
21.5 -> 22.0

now:
21.3 -> 21.5
21.4 -> 21.5
21.5 -> 21.5

* Update fromZigbee.js

* added temperature_display_mode + running_state

* Update devices.js

* Trailing spaces

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* FB56-ZCW11HG1.2 (#202)

* GLEDOPTO GL-B-008Z

* HGZB-20-DE

https://www.amazon.de/Intelligente-Steckdose-kompatibel-SmartThings-Steuerung/dp/B07GYG5GRP

* Update devices.js

* Update devices.js

* Update devices.js

* FB56-ZCW11HG1.2

https://uploads.tapatalk-cdn.com/20190106/dcf0f59343233342d004319d05c04bc0.jpg

* FB56-ZCW11HG1.2

* FB56-ZCW11HG1.2

i miss this device

* rebase

* Update devices.js

* Filter non-realistic WSDCGQ11LM and WSDCGQ01LM temperature reports. Koenkk/zigbee2mqtt#798

*  Filter non-realistic WSDCGQ11LM and WSDCGQ01LM humidity reports. Koenkk/zigbee2mqtt#798

* 7.0.11

* Support E1524. Koenkk/zigbee2mqtt#102

* 7.0.12

* Update devices.js to include Nue HGZB-01A (#203)

* Update device.js to include Nue HGZB-01A

Device is a mains inline zigbee light controller with brightness.
Amazon link:
https://www.amazon.com/gp/product/B07FBD96DG/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1

Added and tested device per: https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html

* remove extranious tab that fails check

* Fixed the rest of the tabs - still figuring this out... sorry.

* adding space back...

* Update devices.js

* Add RTCGQ11LM illuminance interval report. Koenkk/zigbee2mqtt#827

* 7.0.13

* Support TRADFRI wireless dimmer battery. Koenkk/zigbee2mqtt#792

* 7.0.14

* Add support for Gledopto Zigbee LED controller WW/CW Dimmer (GL-C-006) (#204)

* Support 100.424.11. Koenkk/zigbee2mqtt#803

* Add device support for iCasa Zigbee 3.0 Dimmer (#206)

* Add device support for iCasa Zigbee 3.0 Dimmer

* Update devices.js

* Refactors (#207)

* Add Iris 3326-L motion and temperature sensor

* Use scoped zcl-id

* Only package needed files

* refactor: Use a Map for findByZigbeeModel

* Add `extend` attribute

The attribute shallow-merges the model object,
with the explicitly defined properties taking precidence
Converted all uses of `generic` to `extend` format.

* Fix missing color temperature from #207

* Hue power-on behavior (#209)

* added Hue Power-on Converter

tested with GU10.
needs Firmware 1.46

hue_power_on_behavior
// default / enable / disable / configure hue_power_on_behavior, 
// default = 1
// on - lamps on after power loss with configured brightness, color temperature, color
// off - lamps off after power loss
// recover - lamps on after power loss with last state 

hue_power_on_brightness
// brightness when hue_power_on_behavior = on, same settings as brightness converter
// default = 255

hue_power_on_color_temperature
// color temperature when hue_power_on_behavior = on, same settings as colortemp converter
// default = 366

to-do:
hue_power_on_color (must be added by someone with appropriate bulb)

* Update toZigbee.js

* Hue specific settings

generic hue settings with power-on converter

* Update toZigbee.js

* fixed 'null' values

as discussed here: Koenkk/zigbee2mqtt#848

* Update fromZigbee.js

* Update fromZigbee.js

* Update toZigbee.js

* Update devices.js

* Update devices.js

* fixed 'null' values in thermostat converters. (#210)

* fixed 'null' values in thermostat converters.

as discussed here: Koenkk/zigbee2mqtt#848

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* 7.0.15

* Add devices.js to files.

* 7.0.16

* Trim null characters on spaces when searching for zigbee model. Koenkk/zigbee2mqtt#810

* 7.0.17

* Fix linting error.

* 7.0.18

* Update battery cfg for TRADFRI wireless dimmer. Koenkk/zigbee2mqtt#792

* 7.0.19

* Fix documentation for Xiaomi Wireless Wall Switch (#211)

* Fix documentation for Xiaomi Wireless Wall Switch

* Update devices.js

* TRADFRI Driver 10W (#214)

same device as TRADFRI transformer 10W but other name

* ToZigbee onoff; don’t crash on wrong value type. #212

* Fix tradfri wireless dimmer report interval. Koenkk/zigbee2mqtt#792

* 7.0.20

* Add support for Sengled model E1A-AC2 (#215)

* Add support for Sengled model E1A-AC2

Adding support for Sengled downlights (https://www.sengled.com.au/shop/element-downlight-single/)

* Update devices.js

* Trust Contact Sensor (CSW_ADUROLIGHT) invert logic (#221)

Fixed an issue where contact ON on the device resulted contact:false MQTT-payload and vice versa.

* Fix for: No converter available for 4713407 with cid genOnOff, type attReport and data {"cid":"genOnOff","data":{"onOff":0}} (#218)

* Add support for OSRAM/Lightify Switch Mini (#219)

* Added Support for OSRAM Smart Switch Mini AC0251100NJ

* Lightify Switch Mini Support

* CODE Tidy

* Fixed comma dangle

* Removed trailing space

* Update fromZigbee.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update devices.js

* 7.0.21

* Fix crash when model null. Koenkk/zigbee2mqtt#887

* 7.0.22

* Fix xiaomi lock (#223)

* feat(xiaomi_lock_report): recover reporting of error case 0x1107ffffffffffff

This error message is sent by the Xiaomi / Vima smart lock  when an
unknown object (e.g. a lock pick) is introduced into the cylinder.

* chore(xiaomi_lock_report): uniformize code comments

* Support for Sylvania 71831, Adjustable White A19 Bulb (#224)

* Support for RGB Mueller Licht: tint (#225)

* added tint from Mueller Licht

* Update devices.js

* Added Müller Licht white bulbs (#229)

* New devices: Heiman Water Sensor, Heiman Door Sensor

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* Improved support for HEIMAN devices

* Fixed ; and style

* Style fix

* Updates

* Fixed wrong bitshift

* Added Müller Licht white bulbs

* Added Müller Licht white bulbs

* Refactor transtime to readAfterWriteTime (#227)

* refactor transition times

* Increased thermostat_system_mode readAfterWriteTime

* Implemented thermostat enums (#226)

* Implemented thermostat enums

* Fixed linting issues

* Hopefully no more linting problems

* Fixed review comments

* Fixed more uppercase

* Update toZigbee.js

* 7.0.23

* Fix for systemMode runningState enum implementation. (#234)

* corrected runningStates

* added runningMode 

added runningMode 
edited runningState

* Update toZigbee.js

removed comments that are described at documentation

added runningMode (get)

* Update common.js

* Update fromZigbee.js

* Update common.js

* Update fromZigbee.js

* Switch zcl-id to tarball

* 7.0.24

* fixed var name. (#235)

* NodeJS 4.* compatibility fix (#236)

* Fix max interval (#237)

Changed the maximum interval time.

* Support HS1DS-E. Koenkk/zigbee2mqtt#911

* added Gledopto Smart RGBW GU10 (GL-S-003Z) (#240)

* Update devices.js

added Gledopto Smart RGBW GU10 (GL-S-003Z)

* Update devices.js

* Update devices.js

* Enum fixes (#241)

* Fixed reference to undefined enum objects.

* Fixed issue with setting system_mode to "off".
The key for "off" is 0 which would fool getKeyByValue into returning the
"off" string as fallback value.

* add hue/saturation support to light_color (#239)

* add hue/saturation support to light_color

* add hue/saturation support to light_color_colortemp

* fix hue/saturation support to light_color_colortemp

* Keep nodejs 4 support.

* 7.0.25

* FLS-CT (#243)

* ZBT-ExtendedColor

* FLS-CT

* Update devices.js

* Update devices.js

* added SLP2b Hive Active Plug (#245)

* added SLP2b

* tidy spacing

* Update devices.js

* Update devices.js

* HS1SA fixes (#247)

* Added fix for bad iasCieAddr registration

* Added battery measurement converter

* Added battery measurement registration

* Added support for Salus SP600 Smart Plug (#248)

* Add support for Hive HALIGHTDIMWWB22 (Bayonet mount)

* Update devices.js

* Added support for Salus SP600 Smart Plug

* Salus SP600: Fix indentation

* Rename EDP_power to generic_power

* Add support for Gledopto devices with multiple lights in one controller (#249)

* Add support for Gledopto devices with multiple lights in one controller

* Add support for Gledopto devices with multiple lights in one controller - fix eslint error

* 7.0.26

* Added support for Gledopto GL-B-007Z bulb (#251)

* Add support for AduroSmart ERIA White and Color bulbs. (#250)

* Add support for AduroSmart ERIA White and Color bulbs.

* Update devices.js

* 7.0.27

* Q-FLAG LED Panel, Smart-Home RGBW (#252)

https://www.paul-neuhaus.de/shop/de/led-panel-smart-home-alexa-tauglich-100-110-39.html

* Hs1 sa battery (#253)

* Fixed battery calculation. Zigbee standard states that 200 = 100%

* Added enrollment and ZoneID detection

* add report handling to generic light_onoff_brightness (#258)

* add report handling to generic light_onoff_brightness

* Update devices.js

* Update devices.js

* Update devices.js

* 7.0.28

* Simplify/cleanup some converters.

* Add color color_temp report converter.

* 7.0.29

* Fix typo

* 7.0.30

* Fix state get converter.

* 7.0.31

* Added handlers for Livolo (#256)

* Added handlers for Livolo

* Formatting corrections

* Update fromZigbee.js

* Update devices.js

* Updates handlers for Livolo

* Fixes

* Update devices.js

* Updates.

* 7.1.0

* Add combined toZigbee color and colortemp converter. (#260)

* Add support for AduroSmart ERIA White and Color bulbs.

* Update devices.js

* Add combined toZigbee color and colortemp convertor.

This convertor is a combination of light_color and light_colortemp and
can be used instead of the two individual convertors. When used to set,
it actually calls out to light_color or light_colortemp to get the
return value. When used to get, it gets both color and colorTemp in
one call.
The reason for the existence of this somewhat peculiar converter is
that some lights don't report their state when changed. To fix this,
we query the state after we set it. We want to query color and colorTemp
both when setting either, because both change when setting one. This
converter is used to do just that.

We're using this convertor by default now in
generic.light_onoff_brightness_colortemp_colorxy because it can't hurt.

* Typos.

* Added Eurotronic Spirit Zigbee thermostat (#254)

* Added Eurotronic Spirit Zigbee thermostat

* adjust Spirit Zigbee thermostat binding due to pr comments

* fix linter errors

* renamed specific attributes with eurotronic prefix, cleanup converters

* update model and description to match convention for documentation

* remove trailing space

* remove trailing space

* added postfix parameter to eurotronic converters

* 7.1.1

* Fix Xiaomi Gas sensor density json attr (#263)

* 7.1.2

* Introduce Ninja Smart plug to devices.js (#262)

* Update devices.js

* Intro-Ninja-Plug

Introduced device entry for Ninja Smart plug from Ninja Block inc, including power metering and on/off support

* Update devices.js

* Ignore genGroups devChange. Koenkk/zigbee2mqtt#764

* Add support for AduroSmart ERIA Smart Wireless Dimming Switch (#264)

* Add support for AduroSmart ERIA Smart Wireless Dimming Switch

Switch returns event on button release. Hold not supported.
Implemented as action sensor, returning actions on, off, up, down.

Proprietary cluster PRs in zcl-id and zcl-packet need to be merged
first.

URL: https://adurosmart.com/products/adurosmart-eria-smart-dimming-switch-hub-required
Image: https://static1.squarespace.com/static/5b73cad4aa49a1238f3c98ab/5b74eb9fb8a045d2f8b7d562/5b764e90562fa74310b76949/1534480018645/81825-Dimmng-switch-3.jpg?format=2500w

* Update devices.js

* HS3CG - Heiman gas sensor #257 (#265)

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* 7.1.3

* Update toZigbee.js (#266)

Bugfix: Eurotronic zigbee thermostat support: localTemperatureCalibration was not written correctly to the device.

* Immax LED E14/230V C35 5W TB 440LM ZIGBEE DIM (#268)

* Add support for BOSCH RADON TriTech ZB Motion Sensor Model RFDL-ZB-MS (#267)

* Update devices.js

Add support for BOSCH RADON TriTech ZB Motion Sensor Model RFDL-ZB-MS

* Update fromZigbee.js

Add support for BOSCH motion sensor RADON TriTech ZB
bit 0 is used to detect motion bit temper contact and bit 3 battery low

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update devices.js

* Add support for Hue white ambiance suspension Fair (#269)

* More custom attributes for Eurotronic SPZB0001 (#270)

* Added Eurotronic Spirit Zigbee thermostat

* adjust Spirit Zigbee thermostat binding due to pr comments

* fix linter errors

* renamed specific attributes with eurotronic prefix, cleanup converters

* update model and description to match convention for documentation

* remove trailing space

* remove trailing space

* added postfix parameter to eurotronic converters

* Eurotronic SPZB0001: more custom attribtes, listen to devChange instead of attReport, rename eurotronic_16386

* Update ikea tradfri remote setup link.

* Lock zcl-id.

* 7.1.4

* Multiple Gledopto transition by 3.3. Koenkk/zigbee2mqtt#1047

* 7.1.5

* LED1624G9 doesn't support color temperature. Koenkk/zigbee2mqtt#678

* Added support for Innr RS 225 bulb (#271)

* Add E1746. Koenkk/zigbee2mqtt#832

* 7.1.6

* Fix gledopto color and color_temp converter. Koenkk/zigbee2mqtt#1064 (comment)

* 7.1.7

* Add E1743 Koenkk/zigbee2mqtt#997 (#273)

* Experimental support E1743. Koenkk/zigbee2mqtt#997

* Add battery support and fix model. Koenkk/zigbee2mqtt#997

* Add missing battery converter. Koenkk/zigbee2mqtt#997

* Add ignore_power_change. Koenkk/zigbee2mqtt#997

* Increase WXKG01LM long click delay.

This makes detecting long clicks more reliable. Sometimes a `long` is detected when it's actually a `single`.

* Support YRD426NRSC. Koenkk/zigbee2mqtt#1032 (#274)

* Experimental support YRD426NRSC. Koenkk/zigbee2mqtt#1032

* Update fromZigbee.js

* 7.1.8

* Add Osram BR30 RGBW LED to HA

* Add support for TRADFRI bulb E27 WS opal 1000lm light LED1732G11 (#277)

* SmokeSensor-EM (#272)

* tint remote, 3 keys (#279)

* tint remote, 3 keys

activated On-Off and brightness up/down

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update links.

* 7.1.9

* Innr RB 265 E27 Bulb support (#280)

* Fixed HS1SA battery report (#282)

* 7.1.10

* Updated devices.js with support for ELKO Dimmer 316 GLED RF. (#283)

* Updated devices.js with support for ELKO Dimmer 316 GLED RF.

* Update devices.js

* Update devices.js

* Update devices.js

* Additional setup is not required anymore.

* Decoupled mode for Xiaomi wired wall switches (#287)

* Added LivingWise ZigBee Smart dimmer Switch. Model#: LVS-ZB500D (#288)

* Added LivingWise ZigBee Smart dimmer Switch. Model#: LVS-ZB500D

* Update devices.js

* Update devices.js

* Update fromZigbee.js

* added samsung smartthings plug (#286)

* added samsung smartthings plug

* Update fromZigbee.js

* Update devices.js

* Update toZigbee.js

* Update toZigbee.js

* didn't need custom toZigbee converter

* didn't need custom toZigbee converter

* tint remote (ZBT-Remote) Color keys (#284)

* tint remote, 3 keys

activated On-Off and brightness up/down

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* tint remote (ZBT-Remote) Color keys

Implementation of color wheel and color temp, brightness with stesize and transition-time

* syntax power-key

* Update fromZigbee.js

change on/off-button to action:'on' and 'off'

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* [Xiaomi wired switch] Parse operation mode response (#290)

* Add GL-FL-004TZ. #293

* Added support for new Philips Hue Outdoor Motion Sensor (#294)

* Update devices.js

Added support for the new Philips Hue Outdoor Motion Sensor

* Update devices.js

* Add ST218. #295

* Add  ' generic_state_multi_ep' to support Nue branded switches (#298)

* Update devices.js with support for Nue 'FB56+ZSW1HKJ1.7' (#297)

* Fix problem with FB56+ZSW05HG1.2' (HGZB-01A) handler (#299)

* Fix problem with FB56+ZSW05HG1.2' (HGZB-01A) handler


FB56+ZSW05HG1.2'  (HGZB-01A)


This device was already supported and works, however error message below. I've added "fz.ignore_onoff_change" to the device handler and this fixes the problem (if it is a problem?), but wanted to check with you @Koenkk that it's okay to ignore the 'genOnOff' message?

```zigbee2mqtt:debug 2/23/2019, 1:31:59 AM Received zigbee message of type 'devChange' with data '{"cid":"genOnOff","data":{"onOff":0}}' of device 'FB56+ZSW05HG1.2' (0x00124b000ae5fa3e)
  zigbee2mqtt:warn 2/23/2019, 1:31:59 AM No converter available for 'FB56+ZSW05HG1.2' with cid 'genOnOff', type 'devChange' and data '{"cid":"genOnOff","data":{"onOff":0}}'
  zigbee2mqtt:warn 2/23/2019, 1:31:59 AM Please see: https://www.zigbee2mqtt.io/how_tos/how_to_support_new_devices.html.
  zigbee2mqtt:debug 2/23/2019, 1:32:23 AM Received MQTT message on 'zigbee2mqtt/0x00124b000ae5fa3e/set' with data 'ON'
  zigbee2mqtt:info 2/23/2019, 1:32:23 AM Zigbee publish to device '0x00124b000ae5fa3e', genOnOff - on - {} - {"manufSpec":0,"disDefaultRsp":0} - null```

I also moved the "   // Smart Home Pty" devices below // Nue as I believe they are probably the same and before long you might get double ups.

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Add support for Keen Home smart vent (#276)

* - added support for Keen Home smart vent

* - added more from-zigbee handler for keen vent
- added more model# for keen vent

* Update devices.js

* - updated reporting interval and only handle attReport and ignore devChange on temperature and pressure

* - added cover_position handler

* - added cover_position to keen home toZigbee

* - added transtime to cover_position.set
- changed key to state for cover_position

* Update toZigbee.js

* Update devices.js

* - added cover_state and cover_position fromZigbee handler
- made changes to cover_open_close toZigbee handler so it'd work correctly

* - added devChange fromZigbee handler for keen home pressure, temperature and battery
- updated cover_position and cover_position_report fromZigbee handler to return both position and state (state is determined by position now)
- updated cover_open_close to only change currentLevel
- adjusted attReport interval for kee home vent

* - removed reporting config

* - fixed lint errors

* 7.1.11

* Add device to support Trust Remote control ZYCT-202 (#300)

* Add device to support Trust Remote control ZYCT-202

Koenkk/zigbee2mqtt#635

* Add the concerters for the Trust Remote control ZYCT-202

The groupid has been processed in the button press. So you have the action and the selector mode in 1 state value and can easily be used in a Home Assistant Automation state rule.

* Add the concerters for the Trust Remote control ZYCT-202

The groupid has been processed in the button press. So you have the action and the selector mode in 1 state value and can easily be used in a Home Assistant Automation state rule.

(Koenkk/zigbee2mqtt#635)

* Update devices.js

Fixed spaces line 1941

* Update devices.js

Fixed the maximum line length of 120  max-len

* Separated the action and groupid in the return rules

Have separated the action and groupid in the return rules...

* Update fromZigbee.js

* Support TRADFRI wirelessm motion sensor E1525. Koenkk/zigbee2mqtt#247

* 7.1.12

* Add support for AXIS Gear window shade motor (#301)

* - added support for AXIS Gear window shade motor

* - updated AXIS Gear model

* Update devices.js

* Support HGZB-42-UK. #278

* 7.1.13

* Change up and down in Ikea Outlet Switch (#302)

* TRADFRI dimmer change maximum response time. (#305)

* Update action color wheel structure.

* tint remote, 3 keys

activated On-Off and brightness up/down

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* tint remote (ZBT-Remote) Color keys

Implementation of color wheel and color temp, brightness with stesize and transition-time

* syntax power-key

* Update fromZigbee.js

change on/off-button to action:'on' and 'off'

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* tint remote, changed to standard return values, changed calculations of color to franctions.

* adopt to master

* adopt master changes

* Update fromZigbee.js

* Update fromZigbee.js

* fixed thermostat_setpoint_raise_lower (#308)

setpoint_raise_lower is client-to-server only. There is no need for a "get".

To get the setpoint use:
occupied_heating_setpoint
or 
unoccupied_heating_setpoint

* Added illuminance measurement for SML002 (#307)

* Added illuminance measurement 

Added illuminance measurement for Philips outdoor sensor SML002.

* Update devices.js

* new: Hue Flourish ceiling light (#309)

* new: Hue Flourish ceiling light

* Update devices.js

* Cosmetic updates.

* Separate moveToLevelWithOnOff and moveToLevel converters. Koenkk/zigbee2mqtt#176

* 7.2.0

* updated reporting confg for Keen Vent and AXIS Gear (#310)

* - updated reporting configuration for Keen Vent
- updated AXIS Gear to start report its position and battery level

* Update devices.js

* Update zcl-id.

* Add philips cluster for hue dimmer (#311)

* Add philips cluster for hue dimmer

* Modify philips hue dimmer

* Modify philips hue dimmer

* Modify philips hue dimmer

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* 7.2.1

* Check if message has onOff for state converters. Koenkk/zigbee2mqtt#1176

* 7.2.2

* Additional model name for Osram LIGHTIFY Flex RGBW (#314)

* Update devices.js (#315)

* Support ISW-ZPR1-WP13. Koenkk/zigbee2mqtt#768

* 7.2.3

* Also check for realistic values in WSDCGQ01LM_WSDCGQ11LM_interval. Koenkk/zigbee2mqtt#798

* 7.2.4

* Add support for Philips Hue Sana (#316)

Signed-off-by: markus1540 <markus1540@gmail.com>

* Update fromZigbee.js with ignore_light_brightness_change (#318)

Updated to support Nue Dimmer Switch (FB56+ZSC05HG1.0)

* Support HGZB-02A. Koenkk/zigbee2mqtt#1179

* Update devices.js with FB56+ZSC05HG1.0 (Nue Smart Dimmer Switch) (#317)

* Update devices.js with FB56+ZSC05HG1.0 (Nue Smart Dimmer Switch)

* Renamed FB56+ZSC05HG1.0 model ID to correct ID.

* Update devices.js

* Add action for ICTC-G-1. Koenkk/zigbee2mqtt#1191

* 7.2.5

* Clarify that the GE Link bulb could be BR30 or A19 (#320)

I noticed that my A19 GE Link bulbs are sharing the BR30 description.
From what I can tell, they both share same model number: Koenkk/zigbee2mqtt#1161

* Update devices.js for 'FB56+ZSW1HKJ1.7' with new button decriptions (top/bottom) (#321)

* Support for 'FB56+ZSW1IKJ1.7' 3-gang Nue Smart Switch (#319)

* Support for 'FB56+ZSW1IKJ1.7' 3-gang Nue Smart Switch

Confirmed working, but please check my parentheses etc @Koenkk .... I get double MQTT feedback.

It would also be great if you could support 'top' and 'bottom' in https://github.com/Koenkk/zigbee2mqtt/blob/master/lib/extension/devicePublish.js#L8 - is this a possibility? This would make more sense for countries like Australia where switches are mounted vertically, and give the option for the handler to match the local orientation of the device.

* Changed FB56+ZSW1IKJ1.7 to include new button descriptors (top/bottom)

* Fix missing converters for philips hue dimmer (#322)

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* re-pair fix and add multiple clicks for hue dimmer (#323)

* added multiple (single/double etc) click for hue dimmer

* fix re-pair issue for hue dimmer

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* Fix gledopto converter crash. Koenkk/zigbee2mqtt#1209

* 7.2.6

* Ignore basic dev change for all lights. Koenkk/zigbee2mqtt#1064

* Check if data has currentLevel attribute in brightness converters. Koenkk/zigbee2mqtt#1212

* Update devices.js for Nue HGZB-41 (#325)

The Nue 1 gang smart switch model 'HGZB-41' identifies as 'FNB56-ZSW01LX2.0', the same as previously listed 'HGZB-42-UK' 2 gang switch. Updated model / description to allow for both.

* add Nyce-3043 and additional Smartthings devices (#324)

* add Nyce-3043 and additional Smartthings devices

* Update devices.js

* Update fromZigbee.js

* 7.2.7

* Improve AC0251100NJ actions consistency

Improve AC0251100NJ actions consistency

* extend E1524 with genPowerCfg reporting (#326)

* extend E1524 with genPowerCfg reporting

* Add Whitespace to fix failured travis check

* Update devices.js

* Update devices.js

* Update README.md (#327)

Link to zigbee2mqtt.

* Bitron av2010/34  (#328)

* AV2010/34 devices.js Part

* add AV2010_34_click + generic ignore_power_report

* Update devices.js

* Add extra guard to xiaomi_contact_interval. Koenkk/zigbee2mqtt#1219

* Update dependencies.

* 7.2.8

* Update devices.js to support FNB56-ZSW03LX2.0 - Nue 3 gang smart switch v2.0 (#330)

* Update devices.js to support FNB56-ZSW03LX2.0 - Nue 3 gang smart switch v2.0

Endpoints changed between versions. Possibly using newer Zigbee protocol now also

* Update devices.js

* Add Securifi Peanut Smart Plug (#331)

* Add Securifi Peanut Smart Plug

Measurements not supported/tested as they require a firmware upgrade (?). Switch works though.

See Koenkk/zigbee2mqtt#809

* Update devices.js

* Update fromZigbee.js to support Nue Scene Switches (#332)

* Add 'FTB56+ZSN15HG1.0' & 'FB56+ZSN08KJ2.3' Nue Scene Switches (#333)

* Add 'FTB56+ZSN15HG1.0' & 'FB56+ZSN08KJ2.3' Nue Scene Switches

* Update devices.js

* Update devices.js to support FB56+ZSW1HKJ2.5 2 gang Nue smart switch (#334)

* Update devices.js to support FB56+ZSW1HKJ2.5 2 gang Nue smart switch

This has the same model number HGZB-042 as FB56+ZSW1HKJ1.7

* Update devices.js

* Add support for Visonic MCT-350 contact sensor. (#336)

* Add support for Visonic MCT-350 contact sensor.

* Update devices.js

* Update fromZigbee.js

* Add support for OJB-CR701-YZ Gas and CO sensor (#338)

* Add statuschange converter for OJB-CR701-YZ

* Add OJB-CR701-YZ to devices.js

* Fix eslint

* amend

* fix: Set proper vendor for OJB-CR701-YZ

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update fromZigbee.js

* Add more ignore converters.

* Changed to correct external model details (#335)

* Changed to correct external model details

* Fix model numbers

* Update devices.js

* Add support for Sengled E12-N14 (BR30) Light

* Add support for Sengled E12-N14 (BR30) Light

* Update devices.js

* Update devices.js

* Allow type to be an array.

* 8.0.0

* Don’t convert readRsp for ZNLDP12LM. Koenkk/zigbee2mqtt#1240

* 8.0.1

* Add alias for 4058075036185. Koenkk/zigbee2mqtt#1245

* Ignore false ZNCZ02LM and ZNLDP12LM messages.

* 8.0.2

* Add Support SwannOne Key Fob SWO-KEF1PA

* Modify payload to be more compatible with Home Assistant

* Sunricher (#340)

* Sunricher

* Update devices.js

* Update devices.js (#341)

* Adding `wireless mode` support for Xiaomi Switches QBKB11LM/QBKG12LM (#342)

* Update fromZigbee.js

rename methods for xiaomi aqara switch wireless mode

* Update devices.js

wireless mode for aqara wired switches

* Update devices.js

* Add 2 additional Nue models FB56+ZSW1GKJ2.5 & FTB56+ZSN16HG1.0 (#348)

Again .. another overlap of model but with different Zigbee ID. Entered differently per device.
Tidied up descriptions further.

* Added Smartthings devices (#344)

* add Nyce-3043 and additional Smartthings devices

* Update devices.js

* Update fromZigbee.js

* additional Smartthings devices

* added converters

* updated 3315-S

* added st_leak_change

* updated 3305-S, ignore change on genpower

* Update devices.js

* Update devices.js

* Update devices.js

* Update fromZigbee.js

*  Add Support SwannOne Key Fob SWO-KEF1PA (#346)

* Add support for Sengled E12-N14 (BR30) Light

* Add Osram BR30 RGBW LED to HA

* Update devices.js

* Add Support SwannOne Key Fob SWO-KEF1PA

* Modify payload to be more compatible with Home Assistant

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* 8.0.3

* Add converters for ignoring 'diagnostic' and 'genscenes' dev changes

* Implement no_occupancy_since for RTCGQ01LM and RTCGQ11LM. Koenkk/zigbee2mqtt#1195

* 8.0.4

* Add converters for ignoring 'diagnostic' and 'genscenes' dev changes (#350)

* Add support for Sengled E12-N14 (BR30) Light

* Add Osram BR30 RGBW LED to HA

* Update devices.js

* Add support for Sengled E12-N14 (BR30) Light

* Update devices.js

* Add Support SwannOne Key Fob SWO-KEF1PA

* Modify payload to be more compatible with Home Assistant

* Add support for Sengled E12-N14 (BR30) Light

* Update devices.js

* Add Support SwannOne Key Fob SWO-KEF1PA

* Modify payload to be more compatible with Home Assistant

* Add converters for ignoring 'diagnostic' and 'genscenes' dev changes

* Osram/Sylvania: Add vendor specific functions

NOTE: Will require updated zcl-id and zcl-packet defs:

qosmio/zcl-id@859d657

qosmio/zcl-packet@f74d92c

Two new functions:

* osram_set_transition: Allows setting a default transition time
whenever lights are turned back on manually.

* osram_remember_state: Allows the end device to remember its last
brightness/hue/color/etc state when light is turned on manually.
Currently it resets to default.

Also adding options to the ignore list.
  - fz.ignore_genIdentify_change
  - fz.ignore_diagnostic_change
  - fz.ignore_genscenes_change

* Fixing eslinting issues.

* Sylvania/Osram: Configure BR30, A19, A19 RGBW to report on/off

* FIX: Key was incorrectly defined as a list of options.

* Revert 'configure' options for reporting. Being worked on upstream

See: Koenkk/zigbee2mqtt#1064

* FIX: duplicate keys that were already merged.

* Sylvania/Osram: Consolidate Osram commands into single method.

* FIX: Linting
Koenkk added a commit to Koenkk/zigbee-herdsman-converters that referenced this issue Dec 23, 2019
…BT-A19-CCT-Bulb (#826)

* 7.0.10

* Add Support for EcoSmart Bright White Bulbs (#200)

* Update devices.js

* Update devices.js

* update

* Bitron-Video Wall Thermostat (#199)

* added Bitron Wall Thermostat

* added Bitron fromZigbee convertes

bitron_battery (should be usefull for all bitron battery powered devices)
bitron_thermostat_att_report
bitron_thermostat_dev_change

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update fromZigbee.js

* Update toZigbee.js

i changed the calculation of the input values so that you can also set half degrees.

before: 
21.3 -> 21.0
21.4 -> 21.0
21.5 -> 22.0

now:
21.3 -> 21.5
21.4 -> 21.5
21.5 -> 21.5

* Update fromZigbee.js

* added temperature_display_mode + running_state

* Update devices.js

* Trailing spaces

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* FB56-ZCW11HG1.2 (#202)

* GLEDOPTO GL-B-008Z

* HGZB-20-DE

https://www.amazon.de/Intelligente-Steckdose-kompatibel-SmartThings-Steuerung/dp/B07GYG5GRP

* Update devices.js

* Update devices.js

* Update devices.js

* FB56-ZCW11HG1.2

https://uploads.tapatalk-cdn.com/20190106/dcf0f59343233342d004319d05c04bc0.jpg

* FB56-ZCW11HG1.2

* FB56-ZCW11HG1.2

i miss this device

* rebase

* Update devices.js

* Filter non-realistic WSDCGQ11LM and WSDCGQ01LM temperature reports. Koenkk/zigbee2mqtt#798

*  Filter non-realistic WSDCGQ11LM and WSDCGQ01LM humidity reports. Koenkk/zigbee2mqtt#798

* 7.0.11

* Support E1524. Koenkk/zigbee2mqtt#102

* 7.0.12

* Update devices.js to include Nue HGZB-01A (#203)

* Update device.js to include Nue HGZB-01A

Device is a mains inline zigbee light controller with brightness.
Amazon link:
https://www.amazon.com/gp/product/B07FBD96DG/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1

Added and tested device per: https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html

* remove extranious tab that fails check

* Fixed the rest of the tabs - still figuring this out... sorry.

* adding space back...

* Update devices.js

* Add RTCGQ11LM illuminance interval report. Koenkk/zigbee2mqtt#827

* 7.0.13

* Support TRADFRI wireless dimmer battery. Koenkk/zigbee2mqtt#792

* 7.0.14

* Add support for Gledopto Zigbee LED controller WW/CW Dimmer (GL-C-006) (#204)

* Support 100.424.11. Koenkk/zigbee2mqtt#803

* Add device support for iCasa Zigbee 3.0 Dimmer (#206)

* Add device support for iCasa Zigbee 3.0 Dimmer

* Update devices.js

* Refactors (#207)

* Add Iris 3326-L motion and temperature sensor

* Use scoped zcl-id

* Only package needed files

* refactor: Use a Map for findByZigbeeModel

* Add `extend` attribute

The attribute shallow-merges the model object,
with the explicitly defined properties taking precidence
Converted all uses of `generic` to `extend` format.

* Fix missing color temperature from #207

* Hue power-on behavior (#209)

* added Hue Power-on Converter

tested with GU10.
needs Firmware 1.46

hue_power_on_behavior
// default / enable / disable / configure hue_power_on_behavior, 
// default = 1
// on - lamps on after power loss with configured brightness, color temperature, color
// off - lamps off after power loss
// recover - lamps on after power loss with last state 

hue_power_on_brightness
// brightness when hue_power_on_behavior = on, same settings as brightness converter
// default = 255

hue_power_on_color_temperature
// color temperature when hue_power_on_behavior = on, same settings as colortemp converter
// default = 366

to-do:
hue_power_on_color (must be added by someone with appropriate bulb)

* Update toZigbee.js

* Hue specific settings

generic hue settings with power-on converter

* Update toZigbee.js

* fixed 'null' values

as discussed here: Koenkk/zigbee2mqtt#848

* Update fromZigbee.js

* Update fromZigbee.js

* Update toZigbee.js

* Update devices.js

* Update devices.js

* fixed 'null' values in thermostat converters. (#210)

* fixed 'null' values in thermostat converters.

as discussed here: Koenkk/zigbee2mqtt#848

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update fromZigbee.js

* 7.0.15

* Add devices.js to files.

* 7.0.16

* Trim null characters on spaces when searching for zigbee model. Koenkk/zigbee2mqtt#810

* 7.0.17

* Fix linting error.

* 7.0.18

* Update battery cfg for TRADFRI wireless dimmer. Koenkk/zigbee2mqtt#792

* 7.0.19

* Fix documentation for Xiaomi Wireless Wall Switch (#211)

* Fix documentation for Xiaomi Wireless Wall Switch

* Update devices.js

* TRADFRI Driver 10W (#214)

same device as TRADFRI transformer 10W but other name

* ToZigbee onoff; don’t crash on wrong value type. #212

* Fix tradfri wireless dimmer report interval. Koenkk/zigbee2mqtt#792

* 7.0.20

* Add support for Sengled model E1A-AC2 (#215)

* Add support for Sengled model E1A-AC2

Adding support for Sengled downlights (https://www.sengled.com.au/shop/element-downlight-single/)

* Update devices.js

* Trust Contact Sensor (CSW_ADUROLIGHT) invert logic (#221)

Fixed an issue where contact ON on the device resulted contact:false MQTT-payload and vice versa.

* Fix for: No converter available for 4713407 with cid genOnOff, type attReport and data {"cid":"genOnOff","data":{"onOff":0}} (#218)

* Add support for OSRAM/Lightify Switch Mini (#219)

* Added Support for OSRAM Smart Switch Mini AC0251100NJ

* Lightify Switch Mini Support

* CODE Tidy

* Fixed comma dangle

* Removed trailing space

* Update fromZigbee.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update devices.js

* 7.0.21

* Fix crash when model null. Koenkk/zigbee2mqtt#887

* 7.0.22

* Fix xiaomi lock (#223)

* feat(xiaomi_lock_report): recover reporting of error case 0x1107ffffffffffff

This error message is sent by the Xiaomi / Vima smart lock  when an
unknown object (e.g. a lock pick) is introduced into the cylinder.

* chore(xiaomi_lock_report): uniformize code comments

* Support for Sylvania 71831, Adjustable White A19 Bulb (#224)

* Support for RGB Mueller Licht: tint (#225)

* added tint from Mueller Licht

* Update devices.js

* Added Müller Licht white bulbs (#229)

* New devices: Heiman Water Sensor, Heiman Door Sensor

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* Improved support for HEIMAN devices

* Fixed ; and style

* Style fix

* Updates

* Fixed wrong bitshift

* Added Müller Licht white bulbs

* Added Müller Licht white bulbs

* Refactor transtime to readAfterWriteTime (#227)

* refactor transition times

* Increased thermostat_system_mode readAfterWriteTime

* Implemented thermostat enums (#226)

* Implemented thermostat enums

* Fixed linting issues

* Hopefully no more linting problems

* Fixed review comments

* Fixed more uppercase

* Update toZigbee.js

* 7.0.23

* Fix for systemMode runningState enum implementation. (#234)

* corrected runningStates

* added runningMode 

added runningMode 
edited runningState

* Update toZigbee.js

removed comments that are described at documentation

added runningMode (get)

* Update common.js

* Update fromZigbee.js

* Update common.js

* Update fromZigbee.js

* Switch zcl-id to tarball

* 7.0.24

* fixed var name. (#235)

* NodeJS 4.* compatibility fix (#236)

* Fix max interval (#237)

Changed the maximum interval time.

* Support HS1DS-E. Koenkk/zigbee2mqtt#911

* added Gledopto Smart RGBW GU10 (GL-S-003Z) (#240)

* Update devices.js

added Gledopto Smart RGBW GU10 (GL-S-003Z)

* Update devices.js

* Update devices.js

* Enum fixes (#241)

* Fixed reference to undefined enum objects.

* Fixed issue with setting system_mode to "off".
The key for "off" is 0 which would fool getKeyByValue into returning the
"off" string as fallback value.

* add hue/saturation support to light_color (#239)

* add hue/saturation support to light_color

* add hue/saturation support to light_color_colortemp

* fix hue/saturation support to light_color_colortemp

* Keep nodejs 4 support.

* 7.0.25

* FLS-CT (#243)

* ZBT-ExtendedColor

* FLS-CT

* Update devices.js

* Update devices.js

* added SLP2b Hive Active Plug (#245)

* added SLP2b

* tidy spacing

* Update devices.js

* Update devices.js

* HS1SA fixes (#247)

* Added fix for bad iasCieAddr registration

* Added battery measurement converter

* Added battery measurement registration

* Added support for Salus SP600 Smart Plug (#248)

* Add support for Hive HALIGHTDIMWWB22 (Bayonet mount)

* Update devices.js

* Added support for Salus SP600 Smart Plug

* Salus SP600: Fix indentation

* Rename EDP_power to generic_power

* Add support for Gledopto devices with multiple lights in one controller (#249)

* Add support for Gledopto devices with multiple lights in one controller

* Add support for Gledopto devices with multiple lights in one controller - fix eslint error

* 7.0.26

* Added support for Gledopto GL-B-007Z bulb (#251)

* Add support for AduroSmart ERIA White and Color bulbs. (#250)

* Add support for AduroSmart ERIA White and Color bulbs.

* Update devices.js

* 7.0.27

* Q-FLAG LED Panel, Smart-Home RGBW (#252)

https://www.paul-neuhaus.de/shop/de/led-panel-smart-home-alexa-tauglich-100-110-39.html

* Hs1 sa battery (#253)

* Fixed battery calculation. Zigbee standard states that 200 = 100%

* Added enrollment and ZoneID detection

* add report handling to generic light_onoff_brightness (#258)

* add report handling to generic light_onoff_brightness

* Update devices.js

* Update devices.js

* Update devices.js

* 7.0.28

* Simplify/cleanup some converters.

* Add color color_temp report converter.

* 7.0.29

* Fix typo

* 7.0.30

* Fix state get converter.

* 7.0.31

* Added handlers for Livolo (#256)

* Added handlers for Livolo

* Formatting corrections

* Update fromZigbee.js

* Update devices.js

* Updates handlers for Livolo

* Fixes

* Update devices.js

* Updates.

* 7.1.0

* Add combined toZigbee color and colortemp converter. (#260)

* Add support for AduroSmart ERIA White and Color bulbs.

* Update devices.js

* Add combined toZigbee color and colortemp convertor.

This convertor is a combination of light_color and light_colortemp and
can be used instead of the two individual convertors. When used to set,
it actually calls out to light_color or light_colortemp to get the
return value. When used to get, it gets both color and colorTemp in
one call.
The reason for the existence of this somewhat peculiar converter is
that some lights don't report their state when changed. To fix this,
we query the state after we set it. We want to query color and colorTemp
both when setting either, because both change when setting one. This
converter is used to do just that.

We're using this convertor by default now in
generic.light_onoff_brightness_colortemp_colorxy because it can't hurt.

* Typos.

* Added Eurotronic Spirit Zigbee thermostat (#254)

* Added Eurotronic Spirit Zigbee thermostat

* adjust Spirit Zigbee thermostat binding due to pr comments

* fix linter errors

* renamed specific attributes with eurotronic prefix, cleanup converters

* update model and description to match convention for documentation

* remove trailing space

* remove trailing space

* added postfix parameter to eurotronic converters

* 7.1.1

* Fix Xiaomi Gas sensor density json attr (#263)

* 7.1.2

* Introduce Ninja Smart plug to devices.js (#262)

* Update devices.js

* Intro-Ninja-Plug

Introduced device entry for Ninja Smart plug from Ninja Block inc, including power metering and on/off support

* Update devices.js

* Ignore genGroups devChange. Koenkk/zigbee2mqtt#764

* Add support for AduroSmart ERIA Smart Wireless Dimming Switch (#264)

* Add support for AduroSmart ERIA Smart Wireless Dimming Switch

Switch returns event on button release. Hold not supported.
Implemented as action sensor, returning actions on, off, up, down.

Proprietary cluster PRs in zcl-id and zcl-packet need to be merged
first.

URL: https://adurosmart.com/products/adurosmart-eria-smart-dimming-switch-hub-required
Image: https://static1.squarespace.com/static/5b73cad4aa49a1238f3c98ab/5b74eb9fb8a045d2f8b7d562/5b764e90562fa74310b76949/1534480018645/81825-Dimmng-switch-3.jpg?format=2500w

* Update devices.js

* HS3CG - Heiman gas sensor #257 (#265)

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* 7.1.3

* Update toZigbee.js (#266)

Bugfix: Eurotronic zigbee thermostat support: localTemperatureCalibration was not written correctly to the device.

* Immax LED E14/230V C35 5W TB 440LM ZIGBEE DIM (#268)

* Add support for BOSCH RADON TriTech ZB Motion Sensor Model RFDL-ZB-MS (#267)

* Update devices.js

Add support for BOSCH RADON TriTech ZB Motion Sensor Model RFDL-ZB-MS

* Update fromZigbee.js

Add support for BOSCH motion sensor RADON TriTech ZB
bit 0 is used to detect motion bit temper contact and bit 3 battery low

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update devices.js

* Add support for Hue white ambiance suspension Fair (#269)

* More custom attributes for Eurotronic SPZB0001 (#270)

* Added Eurotronic Spirit Zigbee thermostat

* adjust Spirit Zigbee thermostat binding due to pr comments

* fix linter errors

* renamed specific attributes with eurotronic prefix, cleanup converters

* update model and description to match convention for documentation

* remove trailing space

* remove trailing space

* added postfix parameter to eurotronic converters

* Eurotronic SPZB0001: more custom attribtes, listen to devChange instead of attReport, rename eurotronic_16386

* Update ikea tradfri remote setup link.

* Lock zcl-id.

* 7.1.4

* Multiple Gledopto transition by 3.3. Koenkk/zigbee2mqtt#1047

* 7.1.5

* LED1624G9 doesn't support color temperature. Koenkk/zigbee2mqtt#678

* Added support for Innr RS 225 bulb (#271)

* Add E1746. Koenkk/zigbee2mqtt#832

* 7.1.6

* Fix gledopto color and color_temp converter. Koenkk/zigbee2mqtt#1064 (comment)

* 7.1.7

* Add E1743 Koenkk/zigbee2mqtt#997 (#273)

* Experimental support E1743. Koenkk/zigbee2mqtt#997

* Add battery support and fix model. Koenkk/zigbee2mqtt#997

* Add missing battery converter. Koenkk/zigbee2mqtt#997

* Add ignore_power_change. Koenkk/zigbee2mqtt#997

* Increase WXKG01LM long click delay.

This makes detecting long clicks more reliable. Sometimes a `long` is detected when it's actually a `single`.

* Support YRD426NRSC. Koenkk/zigbee2mqtt#1032 (#274)

* Experimental support YRD426NRSC. Koenkk/zigbee2mqtt#1032

* Update fromZigbee.js

* 7.1.8

* Add Osram BR30 RGBW LED to HA

* Add support for TRADFRI bulb E27 WS opal 1000lm light LED1732G11 (#277)

* SmokeSensor-EM (#272)

* tint remote, 3 keys (#279)

* tint remote, 3 keys

activated On-Off and brightness up/down

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update links.

* 7.1.9

* Innr RB 265 E27 Bulb support (#280)

* Fixed HS1SA battery report (#282)

* 7.1.10

* Updated devices.js with support for ELKO Dimmer 316 GLED RF. (#283)

* Updated devices.js with support for ELKO Dimmer 316 GLED RF.

* Update devices.js

* Update devices.js

* Update devices.js

* Additional setup is not required anymore.

* Decoupled mode for Xiaomi wired wall switches (#287)

* Added LivingWise ZigBee Smart dimmer Switch. Model#: LVS-ZB500D (#288)

* Added LivingWise ZigBee Smart dimmer Switch. Model#: LVS-ZB500D

* Update devices.js

* Update devices.js

* Update fromZigbee.js

* added samsung smartthings plug (#286)

* added samsung smartthings plug

* Update fromZigbee.js

* Update devices.js

* Update toZigbee.js

* Update toZigbee.js

* didn't need custom toZigbee converter

* didn't need custom toZigbee converter

* tint remote (ZBT-Remote) Color keys (#284)

* tint remote, 3 keys

activated On-Off and brightness up/down

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* tint remote (ZBT-Remote) Color keys

Implementation of color wheel and color temp, brightness with stesize and transition-time

* syntax power-key

* Update fromZigbee.js

change on/off-button to action:'on' and 'off'

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* [Xiaomi wired switch] Parse operation mode response (#290)

* Add GL-FL-004TZ. #293

* Added support for new Philips Hue Outdoor Motion Sensor (#294)

* Update devices.js

Added support for the new Philips Hue Outdoor Motion Sensor

* Update devices.js

* Add ST218. #295

* Add  ' generic_state_multi_ep' to support Nue branded switches (#298)

* Update devices.js with support for Nue 'FB56+ZSW1HKJ1.7' (#297)

* Fix problem with FB56+ZSW05HG1.2' (HGZB-01A) handler (#299)

* Fix problem with FB56+ZSW05HG1.2' (HGZB-01A) handler


FB56+ZSW05HG1.2'  (HGZB-01A)


This device was already supported and works, however error message below. I've added "fz.ignore_onoff_change" to the device handler and this fixes the problem (if it is a problem?), but wanted to check with you @Koenkk that it's okay to ignore the 'genOnOff' message?

```zigbee2mqtt:debug 2/23/2019, 1:31:59 AM Received zigbee message of type 'devChange' with data '{"cid":"genOnOff","data":{"onOff":0}}' of device 'FB56+ZSW05HG1.2' (0x00124b000ae5fa3e)
  zigbee2mqtt:warn 2/23/2019, 1:31:59 AM No converter available for 'FB56+ZSW05HG1.2' with cid 'genOnOff', type 'devChange' and data '{"cid":"genOnOff","data":{"onOff":0}}'
  zigbee2mqtt:warn 2/23/2019, 1:31:59 AM Please see: https://www.zigbee2mqtt.io/how_tos/how_to_support_new_devices.html.
  zigbee2mqtt:debug 2/23/2019, 1:32:23 AM Received MQTT message on 'zigbee2mqtt/0x00124b000ae5fa3e/set' with data 'ON'
  zigbee2mqtt:info 2/23/2019, 1:32:23 AM Zigbee publish to device '0x00124b000ae5fa3e', genOnOff - on - {} - {"manufSpec":0,"disDefaultRsp":0} - null```

I also moved the "   // Smart Home Pty" devices below // Nue as I believe they are probably the same and before long you might get double ups.

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Update devices.js

* Add support for Keen Home smart vent (#276)

* - added support for Keen Home smart vent

* - added more from-zigbee handler for keen vent
- added more model# for keen vent

* Update devices.js

* - updated reporting interval and only handle attReport and ignore devChange on temperature and pressure

* - added cover_position handler

* - added cover_position to keen home toZigbee

* - added transtime to cover_position.set
- changed key to state for cover_position

* Update toZigbee.js

* Update devices.js

* - added cover_state and cover_position fromZigbee handler
- made changes to cover_open_close toZigbee handler so it'd work correctly

* - added devChange fromZigbee handler for keen home pressure, temperature and battery
- updated cover_position and cover_position_report fromZigbee handler to return both position and state (state is determined by position now)
- updated cover_open_close to only change currentLevel
- adjusted attReport interval for kee home vent

* - removed reporting config

* - fixed lint errors

* 7.1.11

* Add device to support Trust Remote control ZYCT-202 (#300)

* Add device to support Trust Remote control ZYCT-202

Koenkk/zigbee2mqtt#635

* Add the concerters for the Trust Remote control ZYCT-202

The groupid has been processed in the button press. So you have the action and the selector mode in 1 state value and can easily be used in a Home Assistant Automation state rule.

* Add the concerters for the Trust Remote control ZYCT-202

The groupid has been processed in the button press. So you have the action and the selector mode in 1 state value and can easily be used in a Home Assistant Automation state rule.

(Koenkk/zigbee2mqtt#635)

* Update devices.js

Fixed spaces line 1941

* Update devices.js

Fixed the maximum line length of 120  max-len

* Separated the action and groupid in the return rules

Have separated the action and groupid in the return rules...

* Update fromZigbee.js

* Support TRADFRI wirelessm motion sensor E1525. Koenkk/zigbee2mqtt#247

* 7.1.12

* Add support for AXIS Gear window shade motor (#301)

* - added support for AXIS Gear window shade motor

* - updated AXIS Gear model

* Update devices.js

* Support HGZB-42-UK. #278

* 7.1.13

* Change up and down in Ikea Outlet Switch (#302)

* TRADFRI dimmer change maximum response time. (#305)

* Update action color wheel structure.

* tint remote, 3 keys

activated On-Off and brightness up/down

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* tint remote (ZBT-Remote) Color keys

Implementation of color wheel and color temp, brightness with stesize and transition-time

* syntax power-key

* Update fromZigbee.js

change on/off-button to action:'on' and 'off'

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* tint remote, changed to standard return values, changed calculations of color to franctions.

* adopt to master

* adopt master changes

* Update fromZigbee.js

* Update fromZigbee.js

* fixed thermostat_setpoint_raise_lower (#308)

setpoint_raise_lower is client-to-server only. There is no need for a "get".

To get the setpoint use:
occupied_heating_setpoint
or 
unoccupied_heating_setpoint

* Added illuminance measurement for SML002 (#307)

* Added illuminance measurement 

Added illuminance measurement for Philips outdoor sensor SML002.

* Update devices.js

* new: Hue Flourish ceiling light (#309)

* new: Hue Flourish ceiling light

* Update devices.js

* Cosmetic updates.

* Separate moveToLevelWithOnOff and moveToLevel converters. Koenkk/zigbee2mqtt#176

* 7.2.0

* updated reporting confg for Keen Vent and AXIS Gear (#310)

* - updated reporting configuration for Keen Vent
- updated AXIS Gear to start report its position and battery level

* Update devices.js

* Update zcl-id.

* Add philips cluster for hue dimmer (#311)

* Add philips cluster for hue dimmer

* Modify philips hue dimmer

* Modify philips hue dimmer

* Modify philips hue dimmer

* Update fromZigbee.js

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* 7.2.1

* Check if message has onOff for state converters. Koenkk/zigbee2mqtt#1176

* 7.2.2

* Additional model name for Osram LIGHTIFY Flex RGBW (#314)

* Update devices.js (#315)

* Support ISW-ZPR1-WP13. Koenkk/zigbee2mqtt#768

* 7.2.3

* Also check for realistic values in WSDCGQ01LM_WSDCGQ11LM_interval. Koenkk/zigbee2mqtt#798

* 7.2.4

* Add support for Philips Hue Sana (#316)

Signed-off-by: markus1540 <markus1540@gmail.com>

* Update fromZigbee.js with ignore_light_brightness_change (#318)

Updated to support Nue Dimmer Switch (FB56+ZSC05HG1.0)

* Support HGZB-02A. Koenkk/zigbee2mqtt#1179

* Update devices.js with FB56+ZSC05HG1.0 (Nue Smart Dimmer Switch) (#317)

* Update devices.js with FB56+ZSC05HG1.0 (Nue Smart Dimmer Switch)

* Renamed FB56+ZSC05HG1.0 model ID to correct ID.

* Update devices.js

* Add action for ICTC-G-1. Koenkk/zigbee2mqtt#1191

* 7.2.5

* Clarify that the GE Link bulb could be BR30 or A19 (#320)

I noticed that my A19 GE Link bulbs are sharing the BR30 description.
From what I can tell, they both share same model number: Koenkk/zigbee2mqtt#1161

* Update devices.js for 'FB56+ZSW1HKJ1.7' with new button decriptions (top/bottom) (#321)

* Support for 'FB56+ZSW1IKJ1.7' 3-gang Nue Smart Switch (#319)

* Support for 'FB56+ZSW1IKJ1.7' 3-gang Nue Smart Switch

Confirmed working, but please check my parentheses etc @Koenkk .... I get double MQTT feedback.

It would also be great if you could support 'top' and 'bottom' in https://github.com/Koenkk/zigbee2mqtt/blob/master/lib/extension/devicePublish.js#L8 - is this a possibility? This would make more sense for countries like Australia where switches are mounted vertically, and give the option for the handler to match the local orientation of the device.

* Changed FB56+ZSW1IKJ1.7 to include new button descriptors (top/bottom)

* Fix missing converters for philips hue dimmer (#322)

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* re-pair fix and add multiple clicks for hue dimmer (#323)

* added multiple (single/double etc) click for hue dimmer

* fix re-pair issue for hue dimmer

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* Fix gledopto converter crash. Koenkk/zigbee2mqtt#1209

* 7.2.6

* Ignore basic dev change for all lights. Koenkk/zigbee2mqtt#1064

* Check if data has currentLevel attribute in brightness converters. Koenkk/zigbee2mqtt#1212

* Update devices.js for Nue HGZB-41 (#325)

The Nue 1 gang smart switch model 'HGZB-41' identifies as 'FNB56-ZSW01LX2.0', the same as previously listed 'HGZB-42-UK' 2 gang switch. Updated model / description to allow for both.

* add Nyce-3043 and additional Smartthings devices (#324)

* add Nyce-3043 and additional Smartthings devices

* Update devices.js

* Update fromZigbee.js

* 7.2.7

* Improve AC0251100NJ actions consistency

Improve AC0251100NJ actions consistency

* extend E1524 with genPowerCfg reporting (#326)

* extend E1524 with genPowerCfg reporting

* Add Whitespace to fix failured travis check

* Update devices.js

* Update devices.js

* Update README.md (#327)

Link to zigbee2mqtt.

* Bitron av2010/34  (#328)

* AV2010/34 devices.js Part

* add AV2010_34_click + generic ignore_power_report

* Update devices.js

* Add extra guard to xiaomi_contact_interval. Koenkk/zigbee2mqtt#1219

* Update dependencies.

* 7.2.8

* Update devices.js to support FNB56-ZSW03LX2.0 - Nue 3 gang smart switch v2.0 (#330)

* Update devices.js to support FNB56-ZSW03LX2.0 - Nue 3 gang smart switch v2.0

Endpoints changed between versions. Possibly using newer Zigbee protocol now also

* Update devices.js

* Add Securifi Peanut Smart Plug (#331)

* Add Securifi Peanut Smart Plug

Measurements not supported/tested as they require a firmware upgrade (?). Switch works though.

See Koenkk/zigbee2mqtt#809

* Update devices.js

* Update fromZigbee.js to support Nue Scene Switches (#332)

* Add 'FTB56+ZSN15HG1.0' & 'FB56+ZSN08KJ2.3' Nue Scene Switches (#333)

* Add 'FTB56+ZSN15HG1.0' & 'FB56+ZSN08KJ2.3' Nue Scene Switches

* Update devices.js

* Update devices.js to support FB56+ZSW1HKJ2.5 2 gang Nue smart switch (#334)

* Update devices.js to support FB56+ZSW1HKJ2.5 2 gang Nue smart switch

This has the same model number HGZB-042 as FB56+ZSW1HKJ1.7

* Update devices.js

* Add support for Visonic MCT-350 contact sensor. (#336)

* Add support for Visonic MCT-350 contact sensor.

* Update devices.js

* Update fromZigbee.js

* Add support for OJB-CR701-YZ Gas and CO sensor (#338)

* Add statuschange converter for OJB-CR701-YZ

* Add OJB-CR701-YZ to devices.js

* Fix eslint

* amend

* fix: Set proper vendor for OJB-CR701-YZ

* Update devices.js

* Update fromZigbee.js

* Update devices.js

* Update devices.js

* Update fromZigbee.js

* Add more ignore converters.

* Changed to correct external model details (#335)

* Changed to correct external model details

* Fix model numbers

* Update devices.js

* Add support for Sengled E12-N14 (BR30) Light

* Add support for Sengled E12-N14 (BR30) Light

* Update devices.js

* Update devices.js

* Allow type to be an array.

* 8.0.0

* Don’t convert readRsp for ZNLDP12LM. Koenkk/zigbee2mqtt#1240

* 8.0.1

* Add alias for 4058075036185. Koenkk/zigbee2mqtt#1245

* Ignore false ZNCZ02LM and ZNLDP12LM messages.

* 8.0.2

* Add Support SwannOne Key Fob SWO-KEF1PA

* Modify payload to be more compatible with Home Assistant

* Sunricher (#340)

* Sunricher

* Update devices.js

* Update devices.js (#341)

* Adding `wireless mode` support for Xiaomi Switches QBKB11LM/QBKG12LM (#342)

* Update fromZigbee.js

rename methods for xiaomi aqara switch wireless mode

* Update devices.js

wireless mode for aqara wired switches

* Update devices.js

* Add 2 additional Nue models FB56+ZSW1GKJ2.5 & FTB56+ZSN16HG1.0 (#348)

Again .. another overlap of model but with different Zigbee ID. Entered differently per device.
Tidied up descriptions further.

* Added Smartthings devices (#344)

* add Nyce-3043 and additional Smartthings devices

* Update devices.js

* Update fromZigbee.js

* additional Smartthings devices

* added converters

* updated 3315-S

* added st_leak_change

* updated 3305-S, ignore change on genpower

* Update devices.js

* Update devices.js

* Update devices.js

* Update fromZigbee.js

*  Add Support SwannOne Key Fob SWO-KEF1PA (#346)

* Add support for Sengled E12-N14 (BR30) Light

* Add Osram BR30 RGBW LED to HA

* Update devices.js

* Add Support SwannOne Key Fob SWO-KEF1PA

* Modify payload to be more compatible with Home Assistant

* Update devices.js

* Update fromZigbee.js

* Update fromZigbee.js

* 8.0.3

* Add converters for ignoring 'diagnostic' and 'genscenes' dev changes

* Implement no_occupancy_since for RTCGQ01LM and RTCGQ11LM. Koenkk/zigbee2mqtt#1195

* 8.0.4

* Add converters for ignoring 'diagnostic' and 'genscenes' dev changes (#350)

* Add support for Sengled E12-N14 (BR30) Light

* Add Osram BR30 RGBW LED to HA

* Update devices.js

* Add support for Sengled E12-N14 (BR30) Light

* Update devices.js

* Add Support SwannOne Key Fob SWO-KEF1PA

* Modify payload to be more compatible with Home Assistant

* Add support for Sengled E12-N14 (BR30) Light

* Update devices.js

* Add Support SwannOne Key Fob SWO-KEF1PA

* Modify payload to be more compatible with Home Assistant

* Add converters for ignoring 'diagnostic' and 'genscenes' dev changes

* Sengled: Add configure feature for reporting 'genOnOff' and 'genLevelCtrl'

Wireshark reported Sengled's own hub configured the bulbs for reporting
on/off states and brightness.

* Osram/Sylvania: Add vendor specific functions

NOTE: Will require updated zcl-id and zcl-packet defs:

qosmio/zcl-id@859d657

qosmio/zcl-packet@f74d92c

Two new functions:

* osram_set_transition: Allows setting a default transition time
whenever lights are turned back on manually.

* osram_remember_state: Allows the end device to remember its last
brightness/hue/color/etc state when light is turned on manually.
Currently it resets to default.

Also adding options to the ignore list.
  - fz.ignore_genIdentify_change
  - fz.ignore_diagnostic_change
  - fz.ignore_genscenes_change

* Fixing eslinting issues.

* Sylvania/Osram: Configure BR30, A19, A19 RGBW to report on/off

* Revert 'configure' options for reporting. Being worked on upstream

Koenkk/zigbee2mqtt#1064

* FIX: Key was incorrectly defined as a list of options.

* Revert 'configure' options for reporting. Being worked on upstream

See: Koenkk/zigbee2mqtt#1064

* FIX: duplicate keys that were already merged.

* FIX: Remove duplicate keys that were already merged.

* eslinting fixes

* Enhancements to ZBT-CCTSwitch-D0001 + add new device Ecosmart-ZBT-A19-CCT-Bulb

* eslint fixes

* Add color_temp hold/release ZBT-CCTSwitch-D0001

Also updates the brightness hold/release logic.

* FIX devices.js

Fixes the following error
FAIL  test/index.test.js
  index.js
    ✓ Find device by model ID (6ms)
    ✓ Find device by model ID with strange characters 1 (1ms)
    ✓ Find device by model ID with strange characters 2
    ✓ Find device by model ID with strange characters 3 (1ms)
    ✓ Find device by model ID without strange characters (1ms)
    ✓ Find device by model ID null (1ms)
    ✕ Verify devices.js definitions (132ms)

  ● index.js › Verify devices.js definitions

    TypeError: Cannot convert undefined or null to object
        at Function.keys (<anonymous>)

      63 |                 const converter = device.fromZigbee[converterKey];
      64 |
    > 65 |                 const keys = Object.keys(converter);
         |                                     ^
      66 |                 verifyKeys(['cluster', 'type', 'convert'], keys, converterKey);
      67 |
      68 |                 if (4 != converter.convert.length) {

      at keys (test/index.test.js:65:37)
          at Array.forEach (<anonymous>)
      at forEach (test/index.test.js:62:44)
          at Array.forEach (<anonymous>)
      at Object.forEach (test/index.test.js:47:17)

* Rename 'color_temp' to 'colortemp' for consistency

Many automations in HA are set up to split '_' based
on `attribute`, `direction`, `action`. Trying to keep
the splits consistent.

* Tidy up code and logic for CCTSwitch

* FIX: Change 'button' to 'click' for HA compatibility

* Update devices.js

* Update devices.js

Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
Co-authored-by: boojew <boojew@gmail.com>
Co-authored-by: Chrischi- <Chrischi-@users.noreply.github.com>
Co-authored-by: arteck <6681528+arteck@users.noreply.github.com>
Co-authored-by: mkventure <42322917+mkventure@users.noreply.github.com>
Co-authored-by: netztrip <dave-pbqr@netztrip.de>
Co-authored-by: Sander <3908728+sheyden@users.noreply.github.com>
Co-authored-by: Mihail Malo <qm3ster@gmail.com>
Co-authored-by: Paul Tiedtke <PaulTiedtke@web.de>
Co-authored-by: pnewnam <register.pn@gmail.com>
Co-authored-by: Kryzek <dr.drake@gmail.com>
Co-authored-by: James Tutton <github@comexe.co.uk>
Co-authored-by: Adán SDPC <adan@stampery.com>
Co-authored-by: Daniel Lashua <daniel@inklog.net>
Co-authored-by: Niklas <Gurkengewuerz@users.noreply.github.com>
Co-authored-by: Merlin Schumacher <merlin.schumacher@gmail.com>
Co-authored-by: Simon Rasmussen <zetlon@gmail.com>
Co-authored-by: Ilya Kirov <kirovilya@gmail.com>
Co-authored-by: Andrey <pck.forex@gmail.com>
Co-authored-by: KernSani <oli.merten@gmail.com>
Co-authored-by: Sebastian Raff <hobbyquaker@gmail.com>
Co-authored-by: simonses1 <45721550+simonses1@users.noreply.github.com>
Co-authored-by: Gustav Johansson <gustav@neer.se>
Co-authored-by: MarkAdamson <markadamson83@gmail.com>
Co-authored-by: zipbee <46903217+zipbee@users.noreply.github.com>
Co-authored-by: Maxim Milakov <maxim.milakov@gmail.com>
Co-authored-by: Giel de Nijs <gi-el@users.noreply.github.com>
Co-authored-by: jbmbn <47156243+jbmbn@users.noreply.github.com>
Co-authored-by: ptvo <33662022+ptvoinfo@users.noreply.github.com>
Co-authored-by: Martin Helff <martin@helff.net>
Co-authored-by: Roman Zhukov <bag4spam@gmail.com>
Co-authored-by: asgothian <45667167+asgothian@users.noreply.github.com>
Co-authored-by: Mad-Andy <47221633+Mad-Andy@users.noreply.github.com>
Co-authored-by: pfischbach <3976786+pfischbach@users.noreply.github.com>
Co-authored-by: way2many <40859898+way2many@users.noreply.github.com>
Co-authored-by: Russell Joyce <russell@russellj.co.uk>
Co-authored-by: Daniël Kluivingh <dkluivingh@gmail.com>
Co-authored-by: MoskitoHorst <horst.wessel@moskito-gis.de>
Co-authored-by: Srdan Suka <srdan.suka@gmail.com>
Co-authored-by: fredrikgk <46903952+fredrikgk@users.noreply.github.com>
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
Co-authored-by: Aleksey <26031505+dev-abo@users.noreply.github.com>
Co-authored-by: Marc <marc-gist@users.noreply.github.com>
Co-authored-by: jonnycastaway <jonny.castaway@gmx.net>
Co-authored-by: highground88 <emaillj@hotmail.com>
Co-authored-by: Joe Lu <snjoetw@gmail.com>
Co-authored-by: hwijers <45356188+hwijers@users.noreply.github.com>
Co-authored-by: papanirual <46861405+papanirual@users.noreply.github.com>
Co-authored-by: Torsten <github@kryger.de>
Co-authored-by: Gergely Markics <5822419+ugrug@users.noreply.github.com>
Co-authored-by: Cameron Bulock <cameron@bulock.com>
Co-authored-by: Andreas Seiderer <22220407+andreas-seiderer@users.noreply.github.com>
Co-authored-by: Markus Goy <markus1540@users.noreply.github.com>
Co-authored-by: Marc Seeger <mail@marc-seeger.de>
Co-authored-by: Rene <renehonig@gmail.com>
Co-authored-by: Oliver <932481+tb-killa@users.noreply.github.com>
Co-authored-by: pixel::doc <pixeldoc2000@users.noreply.github.com>
Co-authored-by: Roger D <roger-@users.noreply.github.com>
Co-authored-by: jace <jace.wiseman@gmail.com>
Co-authored-by: Frank Wammes <FrankZZ@users.noreply.github.com>
Co-authored-by: Eduardo <eduardo@edubox.org>
Co-authored-by: Hai Phan <pataha@users.noreply.github.com>
qosmio pushed a commit to qosmio/zigbee-herdsman-converters that referenced this issue Dec 25, 2019
@BuhtigithuB
Copy link

Nice job!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants