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

Device support: 'Nue' / '3A Smarthome' smart switch range #176

Closed
highground88 opened this issue Jul 3, 2018 · 189 comments
Closed

Device support: 'Nue' / '3A Smarthome' smart switch range #176

highground88 opened this issue Jul 3, 2018 · 189 comments
Labels
new device support New device support request stale Stale issues

Comments

@highground88
Copy link

highground88 commented Jul 3, 2018

Hi all,

I think I've hit a snag and would appreciate some tips if someone could? It's been quite a mission just to get this far, I'm not very experienced in linux and even getting a machine up and running wasn't much fun.

I've taken two " 'Nue' 2 gang smart switches " off the supplied 'Nue' hub, and believe I have updated the 'devices.js' appropriately as they are being detected (copy of terminal below). Here's the model info lines from both entries in the 'devices' file:

zigbeeModel: ['FB56+ZSW1HKJ2.5']
and
zigbeeModel: ['FB56+ZSW1HKJ1.7']

Funnily enough I think these are the same model 2 switch devices.. Perhaps one is a later revision? Regardless, this is the two switch model. I am yet to test on the 1 switch, 3 switch, dimmer and also the 1 and four button 'scene' switches I have just installed. PRODUCT LINK

Once the 'devices.js' file is updated, and zigbee2mqtt is restarted, I'm struggling to see any immediate messages when the switches are turned on and off - there doesn't seem to be anything coming through, and no sort of pattern reflecting how I've switched them on/off.

Where should I go next?

I don't know if this is helpful or not, but others seem to have been attaching these switches to the SmartThigns hub, via a similar detection method which is supplied by the distributor - would this be useful? LINK TO PDF

Thanks!

PASTEBIN DUMP

@ciotlosm ciotlosm added the new device support New device support request label Jul 3, 2018
@Koenkk
Copy link
Owner

Koenkk commented Jul 4, 2018

Can you:

  • Provide the entry of this device from data/database.db (there are probably multiple)
  • Put the following in your devices.js and check if you see any No converter available messages when pressing one of the buttons on the switch:
    // Nue
    {
        zigbeeModel: ['FB56+ZSW1HKJ2.5', 'FB56+ZSW1HKJ1.7'],
        model: 'TODO',
        vendor: 'Nue',
        description: 'Smart light switch - 2 gang',
        supports: 'TODO',
        fromZigbee: [],
        toZigbee: [],
        configure: (ieeeAddr, shepherd, coordinator, callback) => {
            const device = shepherd.find(ieeeAddr, 1);
            execute(device, [(cb) => device.bind('genOnOff', coordinator, cb)], callback);
        },
    },

@highground88
Copy link
Author

Thanks @Koenkk

I will try this tonight and let you know how I get on, and will gather all the other model details I can for the other devices

@highground88
Copy link
Author

highground88 commented Jul 5, 2018

@Koenkk ,

This is the database.db contents. Below I will post the shepherd results, but there were not any "no converter available" messages. I hope this helps and appreciate your time.

{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b0014bdea20","nwkAddr":0,"manufId":0,"epList":[1,2,3,4,5,6],"status":"online","joinTime":1530775671,"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":"Iir7FWKHwlHAGayt"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":1772,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"online","joinTime":1530775707,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1287651328,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"QvXnFnosVrO4lSis"}
{"$$indexCreated":{"fieldName":"id","unique":true,"sparse":false}}
{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b0014bdea20","nwkAddr":0,"manufId":0,"epList":[1,2,3,4,5,6],"status":"online","joinTime":1530777270,"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":"Iir7FWKHwlHAGayt"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":1772,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"offline","joinTime":null,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1287651328,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"QvXnFnosVrO4lSis"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":1772,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"online","joinTime":1530777271,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1287651328,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"QvXnFnosVrO4lSis"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":1772,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"online","joinTime":1530777271,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScene{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b0014bdea20","nwkAddr":0,"manufId":0,"epList":[1,2,3,4,5,6],"status":"online","joinTime":1530775671,"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":"Iir7FWKHwlHAGayt"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":1772,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"online","joinTime":1530775707,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1287651328,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"QvXnFnosVrO4lSis"}
{"$$indexCreated":{"fieldName":"id","unique":true,"sparse":false}}
{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b0014bdea20","nwkAddr":0,"manufId":0,"epList":[1,2,3,4,5,6],"status":"online","joinTime":1530777270,"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":"Iir7FWKHwlHAGayt"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":1772,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"offline","joinTime":null,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1287651328,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"QvXnFnosVrO4lSis"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":1772,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"online","joinTime":1530777271,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1287651328,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"QvXnFnosVrO4lSis"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":1772,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"online","joinTime":1530777271,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1371668480,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"QvXnFnosVrO4lSis"}
s":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1371668480,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"QvXnFnosVrO4lSis"}

SHEPHERD DUMP:

(I have tried pairing, keeping pairing alive, and also switch presses during this dump but no response was noted to switches again)

PASTEBIN

@Koenkk
Copy link
Owner

Koenkk commented Jul 5, 2018

Thanks, can you check with this code:

    // Nue
    {
        zigbeeModel: ['FB56+ZSW1HKJ2.5', 'FB56+ZSW1HKJ1.7'],
        model: 'TODO',
        vendor: 'Nue',
        description: 'Smart light switch - 2 gang',
        supports: 'TODO',
        fromZigbee: [],
        toZigbee: [],
        configure: (ieeeAddr, shepherd, coordinator, callback) => {
            const ep16 = shepherd.find(ieeeAddr, 16);
            execute(ep16, [(cb) => ep16.bind('genOnOff', coordinator, cb)], () => {
                const ep17 = shepherd.find(ieeeAddr, 17);
                execute(ep17, [(cb) => ep17.bind('genOnOff', coordinator, cb)], callback);
            });
        },
    },

@highground88
Copy link
Author

highground88 commented Jul 6, 2018

Thanks @Koenkk again for your help.

I've tried the new code, debug below. I still cannot detect any messages coming through with state changes from the switch. Is there something else I should be doing?

For info, I am running the dongle on a laptop with Debian, which is connecting back to the Hass.io MQTT server on my Pi okay.

Here's the latest log:

PASTEBIN

DATABASE.db

{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b0014bdea20","nwkAddr":0,"manufId":0,"epList":[1,2,3,4,5,6],"status":"online","joinTime":1530839641,"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":"Ga9UJCSjxYwJ7w4y"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":41819,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"online","joinTime":1530839681,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":1}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1220411392,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"oefxCQ8kiRfFmtbx"}
{"$$indexCreated":{"fieldName":"id","unique":true,"sparse":false}}
{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b0014bdea20","nwkAddr":0,"manufId":0,"epList":[1,2,3,4,5,6],"status":"online","joinTime":1530840127,"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":"Ga9UJCSjxYwJ7w4y"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":41819,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"offline","joinTime":null,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":1}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1220411392,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"oefxCQ8kiRfFmtbx"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":41819,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"online","joinTime":1530840127,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":1}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1220411392,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"oefxCQ8kiRfFmtbx"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":41819,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"online","joinTime":1530840127,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1455685632,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":1}}}}},"_id":"oefxCQ8kiRfFmtbx"}

@Koenkk
Copy link
Owner

Koenkk commented Jul 6, 2018

Can you try with this code:

    // Nue
    {
        zigbeeModel: ['FB56+ZSW1HKJ2.5', 'FB56+ZSW1HKJ1.7'],
        model: 'TODO',
        vendor: 'Nue',
        description: 'Smart light switch - 2 gang',
        supports: 'TODO',
        fromZigbee: [],
        toZigbee: [],
        configure: (ieeeAddr, shepherd, coordinator, callback) => {
            const ep16 = shepherd.find(ieeeAddr, 16);
            const ep17 = shepherd.find(ieeeAddr, 17);

            const actions = [
                (cb) => ep16.bind('genOnOff', coordinator, cb),
                (cb) => ep17.bind('genOnOff', coordinator, cb),
                (cb) => ep16.report('genOnOff', 'onOff', 0, 1000, 0, cb),
                (cb) => ep17.report('genOnOff', 'onOff', 0, 1000, 0, cb),
            ];

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

@highground88
Copy link
Author

highground88 commented Jul 6, 2018

Dump below (just Shepherd in debug, let me know if you need all debugged). Still no movement when switches triggered, though the board itself looks like it is probably universal between 1, 2 and 3 gang models, this one is just missing the resistors and switches in the other position (e.g. this 2 gang has positions 1 and 3 populated). Thanks @Koenkk

PASTEBIN

@Koenkk
Copy link
Owner

Koenkk commented Jul 7, 2018

Can you try with:

    // Nue
    {
        zigbeeModel: ['FB56+ZSW1HKJ2.5', 'FB56+ZSW1HKJ1.7'],
        model: 'TODO',
        vendor: 'Nue',
        description: 'Smart light switch - 2 gang',
        supports: 'TODO',
        fromZigbee: [],
        toZigbee: [],
        configure: (ieeeAddr, shepherd, coordinator, callback) => {
            const ep16 = shepherd.find(ieeeAddr, 16);
            const ep17 = shepherd.find(ieeeAddr, 17);
            const cfg = {direction: 0, attrId: 0, dataType: 16, minRepIntval: 0, maxRepIntval: 10, repChange: 0};

            const actions = [
                (cb) => ep16.bind('genOnOff', coordinator, cb),
                (cb) => ep16.foundation('genOnOff', 'configReport', [cfg], foundationCfg, cb),
                (cb) => ep17.bind('genOnOff', coordinator, cb),
                (cb) => ep17.foundation('genOnOff', 'configReport', [cfg], foundationCfg, cb),
            ];

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

@highground88
Copy link
Author

highground88 commented Jul 8, 2018

Hi @Koenkk , I have tried the new code, below is a debug log. Again I did not see any new messages when cycling the switches, and I also have a MQTT sniffer subscribed to the topic in case something was missed, but no luck. Could it be something I'm doing wrong? Thanks for you continuing efforts in helping! Much appreciated.

PASTEBIN

@Koenkk
Copy link
Owner

Koenkk commented Jul 10, 2018

Strange that still nothing is reported.

In the meantime somebody got a different Nue model working: Koenkk/zigbee-herdsman-converters#29 (comment)

@highground88
Copy link
Author

Hi @Koenkk ,

I haven't given up... yet! But I'm getting close I'm afraid, as this is all a bit beyond my skill level getting this far. I would really like this to work however as a lot of my plans for the smart side of our renovation rely on this, and I mistakenly thought this would be easy (hah!). I figured that if Alexa can do it then I could too!

I'm wondering though if this will be of benefit:

https://community.smartthings.com/t/help-with-new-dh-for-aust-3-gang-light-switch-catchall-included/101434/86?

The SmartThings guys seem to have most of this figured out for HomeAssistant/MQTT and utilising the Smart Things hub - I'm just hoping that the device handlers for that hub may in fact be ported over to Zigbee2MQTT easily in this case?

As always, your help and great interface is very much appreciated!

@Koenkk
Copy link
Owner

Koenkk commented Aug 13, 2018

Could you try the following code? According to the smartthings docs these are the commands that are executed in the configure method:

    // Nue
    {
        zigbeeModel: ['FB56+ZSW1HKJ2.5', 'FB56+ZSW1HKJ1.7'],
        model: 'TODO',
        vendor: 'Nue',
        description: 'Smart light switch - 2 gang',
        supports: 'TODO',
        fromZigbee: [],
        toZigbee: [],
        configure: (ieeeAddr, shepherd, coordinator, callback) => {
            const ep16 = shepherd.find(ieeeAddr, 16);
            const cfg = {direction: 0, attrId: 0, dataType: 16, minRepIntval: 0, maxRepIntval: 10, repChange: 0};

            const actions = [
                (cb) => ep16.read('genOnOff', 'onOff', cb),
                (cb) => ep16.foundation('genOnOff', 'configReport', [cfg], foundationCfg, cb),
            ];

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

@highground88
Copy link
Author

Hi @Koenkk , sorry for the delay in trying this, and thanks again for continuing to help. I decided to try reflashing the firmware on the CC2531 first to see if that made a difference (I'm currently using your latest with the large buffer - let me know if that's a bad idea!)

I have used the above code you provided for the devices.js file.

The good news is that I've noticed some new lines in the log - but at this time cycling the switches does not result in immediate messages, however I have seen them appear once seemingly out of the blue:

Log.txt file:

2018-08-16T11:47:31.668Z - debug: Using zigbee-shepherd with settings: '{"net":{"panId":6754,"channelList":[11]},"dbPath":"/opt/zigbee2mqtt/data/database.db","sp":{"baudrate":115200,"rtscts":true}}'
2018-08-16T11:47:31.690Z - info: Starting zigbee2mqtt version 0.1.2 (commit #7dd1c75)
2018-08-16T11:47:31.690Z - info: Starting zigbee-shepherd
2018-08-16T11:47:32.079Z - info: zigbee-shepherd started
2018-08-16T11:47:32.080Z - debug: zigbee-shepherd info: {"enabled":true,"net":{"state":"Coordinator","channel":11,"panId":"0x1a62","extPanId":"0xdddddddddddddddd","ieeeAddr":"0x00124b0014bdea20","nwkAddr":0},"firmware":{"transportrev":2,"product":0,"version":"2.6.3","revision":20180815},"startTime":1534420052,"joinTimeLeft":0}
2018-08-16T11:47:32.082Z - info: Currently 1 devices are joined:
2018-08-16T11:47:32.082Z - info: 0x00124b0014afe1fb (0x00124b0014afe1fb): TODO - Nue Smart light switch - 2 gang (Router)
2018-08-16T11:47:32.084Z - warn: `permit_join` set to  `true` in configuration.yaml.
2018-08-16T11:47:32.084Z - warn: Allowing new devices to join.
2018-08-16T11:47:32.085Z - warn: Set `permit_join` to `false` once you joined all devices.
2018-08-16T11:47:32.085Z - info: Zigbee: allowing new devices to join.
2018-08-16T11:47:32.086Z - info: Connecting to MQTT server at mqtt://192.168.0.101
2018-08-16T11:47:32.144Z - info: zigbee-shepherd ready
2018-08-16T11:47:32.151Z - info: Connected to MQTT server
2018-08-16T11:47:32.151Z - info: MQTT publish, topic: 'zigbee2mqtt/bridge/state', payload: 'online'
**2018-08-16T11:47:32.447Z - debug: Recieved zigbee message with data {"cid":"genOnOff","data":{"onOff":1}}
2018-08-16T11:47:32.447Z - warn: No converter available for 'TODO' with cid 'genOnOff', type 'devChange' and data '{"cid":"genOnOff","data":{"onOff":1}}'**
2018-08-16T11:47:32.447Z - warn: Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
2018-08-16T11:47:32.810Z - info: Succesfully configured 0x00124b0014afe1fb
2018-08-16T11:48:02.426Z - debug: Recieved zigbee message with data "0x00124b0014afe1fb"
2018-08-16T11:48:02.483Z - debug: Recieved zigbee message with data "0x00124b0014afe1fb"
2018-08-16T11:48:02.538Z - debug: Recieved zigbee message with data "0x00124b0014afe1fb"
2018-08-16T11:48:02.654Z - debug: Recieved zigbee message with data "0x00124b0014afe1fb"
2018-08-16T11:48:02.867Z - debug: Recieved zigbee message with data "0x00124b0014afe1fb"
2018-08-16T11:48:02.922Z - debug: Recieved zigbee message with data "0x00124b0014afe1fb"
2018-08-16T11:48:02.980Z - debug: Recieved zigbee message with data "0x00124b0014afe1fb"
2018-08-16T11:48:03.096Z - debug: Recieved zigbee message with data "0x00124b0014afe1fb"
2018-08-16T11:48:03.102Z - debug: Recieved zigbee message with data "0x00124b0014afe1fb"
2018-08-16T11:48:03.103Z - info: Device incoming...
2018-08-16T11:48:03.104Z - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"device incoming"}'
2018-08-16T11:48:03.106Z - debug: Recieved zigbee message with data "online"
2018-08-16T11:48:32.098Z - debug: Check online 0x00124b0014afe1fb
2018-08-16T11:49:32.113Z - debug: Check online 0x00124b0014afe1fb
2018-08-16T11:50:32.127Z - debug: Check online 0x00124b0014afe1fb
2018-08-16T11:51:32.141Z - debug: Check online 0x00124b0014afe1fb
2018-08-16T11:52:32.154Z - debug: Check online 0x00124b0014afe1fb
2018-08-16T11:53:32.169Z - debug: Check online 0x00124b0014afe1fb
2018-08-16T11:54:32.181Z - debug: Check online 0x00124b0014afe1fb
2018-08-16T11:55:32.194Z - debug: Check online 0x00124b0014afe1fb

This is a segment from the debug terminal:

2018-8-16 11:47:32 INFO zigbee-shepherd started
2018-8-16 11:47:32 DEBUG zigbee-shepherd info: {"enabled":true,"net":{"state":"Coordinator","channel":11,"panId":"0x1a62","extPanId":"0xdddddddddddddddd","ieeeAddr":"0x00124b0014bdea20","nwkAddr":0},"firmware":{"transportrev":2,"product":0,"version":"2.6.3","revision":20180815},"startTime":1534420052,"joinTimeLeft":0}
2018-8-16 11:47:32 INFO Currently 1 devices are joined:
2018-8-16 11:47:32 INFO 0x00124b0014afe1fb (0x00124b0014afe1fb): TODO - Nue Smart light switch - 2 gang (Router)
2018-8-16 11:47:32 WARN `permit_join` set to  `true` in configuration.yaml.
2018-8-16 11:47:32 WARN Allowing new devices to join.
2018-8-16 11:47:32 WARN Set `permit_join` to `false` once you joined all devices.
2018-8-16 11:47:32 INFO Zigbee: allowing new devices to join.
2018-8-16 11:47:32 INFO Connecting to MQTT server at mqtt://192.168.0.101
  zigbee-shepherd:request REQ --> ZDO:mgmtPermitJoinReq +53ms
2018-8-16 11:47:32 INFO zigbee-shepherd ready
  zigbee-shepherd:msgHdlr IND <-- ZDO:nodeDescRsp +14ms
spinlock: false []
  zigbee-shepherd:request REQ --> ZDO:nodeDescReq +2ms
2018-8-16 11:47:32 INFO Connected to MQTT server
2018-8-16 11:47:32 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/state', payload: 'online'
  zigbee-shepherd:msgHdlr IND <-- ZDO:permitJoinInd +17ms
  zigbee-shepherd:msgHdlr IND <-- ZDO:mgmtPermitJoinRsp +18ms
  zigbee-shepherd:msgHdlr IND <-- ZDO:nodeDescRsp +17ms
  zigbee-shepherd:request REQ --> ZDO:activeEpReq +0ms
  zigbee-shepherd:msgHdlr IND <-- ZDO:activeEpRsp +38ms
  zigbee-shepherd:request REQ --> ZDO:simpleDescReq +1ms
  zigbee-shepherd:msgHdlr IND <-- ZDO:simpleDescRsp +43ms
  zigbee-shepherd:request REQ --> ZDO:simpleDescReq +0ms
  zigbee-shepherd:msgHdlr IND <-- ZDO:simpleDescRsp +42ms
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 1 +13ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +13ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +27ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 1 +1ms
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 2 +11ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +5ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +17ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
  zigbee-shepherd Identified Device: { manufacturer: Feibit Inc co.  , product: FB56+ZSW1HKJ1.7 } +2ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +3ms
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 3 +6ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +2ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 2 +0ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +10ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +9ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +1ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
2018-8-16 11:47:32 DEBUG Recieved zigbee message with data {"cid":"genOnOff","data":{"onOff":1}}
2018-8-16 11:47:32 WARN No converter available for 'TODO' with cid 'genOnOff', type 'devChange' and data '{"cid":"genOnOff","data":{"onOff":1}}'
2018-8-16 11:47:32 WARN Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
  zigbee-shepherd-converters:devices Configured '(cb) => ep16.read('genOnOff', 'onOff', cb)' with result 'OK' +0ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +13ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 3 +0ms
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 4 +293ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +9ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +30ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 4 +0ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +15ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +3ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
  zigbee-shepherd-converters:devices Configured '(cb) => ep16.foundation('genOnOff', 'configReport', [cfg], foundationCfg, cb)' with result 'OK' +361ms
2018-8-16 11:47:32 INFO Succesfully configured 0x00124b0014afe1fb
2018-8-16 11:48:02 DEBUG Recieved zigbee message with data "0x00124b0014afe1fb"
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 5 +30s
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +11ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +24ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 5 +1ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +14ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +3ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +0ms
2018-8-16 11:48:02 DEBUG Recieved zigbee message with data "0x00124b0014afe1fb"
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 6 +5ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +11ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +22ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 6 +0ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +19ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +1ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +0ms
2018-8-16 11:48:02 DEBUG Recieved zigbee message with data "0x00124b0014afe1fb"
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 7 +1ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +14ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +23ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 7 +0ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +12ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +6ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +0ms
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 8 +3ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +13ms

This is now populated into the database.db:

{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b0014bdea20","nwkAddr":0,"manufId":0,"epList":[1,2,3,4,5,6],"status":"online","joinTime":1534420052,"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":"gQuNFAzty9asR4kN"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":19235,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"offline","joinTime":null,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1657339904,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"JqvG0hCarzOZ6oZP"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":19235,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"online","joinTime":1534420052,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1657339904,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"JqvG0hCarzOZ6oZP"}
{"id":2,"type":"Router","ieeeAddr":"0x00124b0014afe1fb","nwkAddr":19235,"manufId":0,"manufName":"Feibit Inc co.  ","powerSource":"Mains (single phase)","modelId":"FB56+ZSW1HKJ1.7","epList":[16,17],"status":"online","joinTime":1534420052,"endpoints":{"16":{"profId":260,"epId":16,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":1}}}},"17":{"profId":260,"epId":17,"devId":2,"inClusterList":[0,4,5,6],"outClusterList":[0],"clusters":{"genBasic":{"dir":{"value":3},"attrs":{"16393":1085997056,"hwVersion":0,"manufacturerName":"Feibit Inc co.  ","modelId":"FB56+ZSW1HKJ1.7","dateCode":"20161030        ","powerSource":1,"locationDesc":"                ","physicalEnv":0,"deviceEnabled":1}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0}}}}},"_id":"JqvG0hCarzOZ6oZP"}

I feel like I'm getting close!!! Does this look like it's going in the right direction now?
I'm just still using the one device (for reference the 2 gang switch model number is "HGZB-042") and I'm leaving the manufacturers hub switched off, and re-pairing the switch on each reboot.

Once I get one working, I'll be happy to find and properly format the settings data for the 5 or so related devices I have and create a PR, so hopefully this will help others also.

Any further steps forward would be great!! Thank you again.

@Koenkk
Copy link
Owner

Koenkk commented Aug 16, 2018

After 2018-08-16T11:47:32.810Z - info: Succesfully configured 0x00124b0014afe1fb. Do you still see any No converter available messages when toggling the switch?

@highground88
Copy link
Author

highground88 commented Aug 16, 2018

No, that was the first time I've ever seen the "no converter available" message appear, and the associated payloads, eg.:

2018-8-16 11:47:32 DEBUG Recieved zigbee message with data {"cid":"genOnOff","data":{"onOff":1}}
2018-8-16 11:47:32 WARN No converter available for 'TODO' with cid 'genOnOff', type 'devChange' and data '{"cid":"genOnOff","data":{"onOff":1}}'

Toggling the switch does not produce any messages that I can see on the debug output or the log. Is this due to needing to further setup

(Sorry closed issue by accident on my phone)

@Koenkk
Copy link
Owner

Koenkk commented Aug 17, 2018

The one report is because of the read in the configure method. Somehow, the device just refuses to report it's state change :(.

Could you try pairing your FB56+ZSW1HKJ2.5 ?

@highground88
Copy link
Author

highground88 commented Aug 18, 2018

@Koenkk sure thing. I just need to find which switch it is in the house!

For the time being, I also added a Nue "FB56-ZSW05HG1.2" in-line switch whilst debugging, before I forever sealed it in plasterboard tomorrow.

This device is that referred to in Nue in wall switch #29

Log below - I'll try some other model switches now. Thanks again.

PASTEBIN LOG

@highground88
Copy link
Author

highground88 commented Aug 18, 2018

I believe this is the same FB56+ZSW1HKJ2.5,

Debug output:

  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +25ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 22 +0ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +20ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +7ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
  zigbee-shepherd Identified Device: { manufacturer: Feibit Inc co.  , product: FB56+ZSW1HKJ2.5 } +0ms
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 23 +5ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +14ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +23ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 23 +0ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +12ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +2ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
2018-8-18 12:30:05 DEBUG Recieved zigbee message with data "0x00124b0019e14fa6"
2018-8-18 12:30:05 INFO Connecting with device...
2018-8-18 12:30:05 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 24 +7ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +12ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +26ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 24 +0ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +12ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +3ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +0ms
2018-8-18 12:30:05 DEBUG Recieved zigbee message with data "0x00124b0019e14fa6"
2018-8-18 12:30:05 INFO Connecting with device...
2018-8-18 12:30:05 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 25 +7ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +13ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +24ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 25 +1ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +10ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +4ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
2018-8-18 12:30:05 DEBUG Recieved zigbee message with data "0x00124b0019e14fa6"
2018-8-18 12:30:05 INFO Connecting with device...
2018-8-18 12:30:05 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 26 +9ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +17ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +336ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 26 +1ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +11ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +3ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +0ms
2018-8-18 12:30:06 DEBUG Recieved zigbee message with data "0x00124b0019e14fa6"
2018-8-18 12:30:06 INFO Connecting with device...
2018-8-18 12:30:06 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 27 +14ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +15ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +348ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 27 +0ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +12ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +1ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +0ms
2018-8-18 12:30:06 DEBUG Recieved zigbee message with data "0x00124b0019e14fa6"
2018-8-18 12:30:06 INFO Connecting with device...
2018-8-18 12:30:06 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 28 +2ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +13ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +171ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 28 +0ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +13ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +3ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
2018-8-18 12:30:06 DEBUG Recieved zigbee message with data "0x00124b0019e14fa6"
2018-8-18 12:30:06 INFO Connecting with device...
2018-8-18 12:30:06 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 29 +4ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +16ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +300ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 29 +0ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +6ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +1ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +0ms
2018-8-18 12:30:07 DEBUG Recieved zigbee message with data "0x00124b0019e14fa6"
2018-8-18 12:30:07 INFO Connecting with device...
2018-8-18 12:30:07 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 30 +1ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +13ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +588ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 30 +1ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +10ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +1ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +0ms
2018-8-18 12:30:07 DEBUG Recieved zigbee message with data "0x00124b0019e14fa6"
2018-8-18 12:30:07 INFO Connecting with device...
2018-8-18 12:30:07 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
  zigbee-shepherd Device: 0x00124b0019e14fa6 join the network. +1ms
2018-8-18 12:30:07 DEBUG Recieved zigbee message with data "0x00124b0019e14fa6"
2018-8-18 12:30:07 INFO Device incoming...
2018-8-18 12:30:07 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"device incoming"}'
2018-8-18 12:30:07 INFO New device with address 0x00124b0019e14fa6 connected!
2018-8-18 12:30:07 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"device_connected","message":"0x00124b0019e14fa6"}'
2018-8-18 12:30:07 DEBUG Recieved zigbee message with data "online"
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 31 +305ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +14ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +34ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 31 +0ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +13ms
  zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +1ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +0ms
2018-8-18 12:30:08 DEBUG Recieved zigbee message with data {"cid":"genOnOff","data":{"onOff":0}}
2018-8-18 12:30:08 WARN No converter available for 'TODO' with cid 'genOnOff', type 'devChange' and data '{"cid":"genOnOff","data":{"onOff":0}}'
2018-8-18 12:30:08 WARN Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
  zigbee-shepherd-converters:devices Configured '(cb) => ep16.read('genOnOff', 'onOff', cb)' with result 'OK' +20m
  zigbee-shepherd:request REQ --> AF:dataRequest, transId: 32 +304ms
  zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +15ms
  zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +23ms
  zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 32 +0ms
2018-8-18 12:30:14 DEBUG Check online 0x00124b0014afe1fb
  zigbee-shepherd:request REQ --> ZDO:nodeDescReq +6s
2018-8-18 12:30:14 DEBUG Check online 0x00124b000bd6d293
  zigbee-shepherd:request REQ --> ZDO:nodeDescReq +2ms
2018-8-18 12:30:14 DEBUG Check online 0x00124b0019e14fa6
  zigbee-shepherd:request REQ --> ZDO:nodeDescReq +0ms
  zigbee-shepherd:msgHdlr IND <-- ZDO:nodeDescRsp +65ms
  zigbee-shepherd:msgHdlr IND <-- ZDO:nodeDescRsp +2ms
  zigbee-shepherd:msgHdlr IND <-- ZDO:nodeDescRsp +403ms
  zigbee-shepherd-converters:devices Configured '(cb) => ep16.foundation('genOnOff', 'configReport', [cfg], foundationCfg, cb)' with result 'Error: Timed out after 30000 ms' +30s
2018-8-18 12:30:38 ERROR Failed to configure 0x00124b0019e14fa6
2018-8-18 12:31:14 DEBUG Check online 0x00124b0014afe1fb
  zigbee-shepherd:request REQ --> ZDO:nodeDescReq +60s
2018-8-18 12:31:14 DEBUG Check online 0x00124b000bd6d293
  zigbee-shepherd:request REQ --> ZDO:nodeDescReq +1ms
2018-8-18 12:31:14 DEBUG Check online 0x00124b0019e14fa6
  zigbee-shepherd:request REQ --> ZDO:nodeDescReq +0ms
  zigbee-shepherd:msgHdlr IND <-- ZDO:nodeDescRsp +57ms
  zigbee-shepherd:msgHdlr IND <-- ZDO:nodeDescRsp +3ms
  zigbee-shepherd:msgHdlr IND <-- ZDO:nodeDescRsp +268ms

Log.txt:

2018-08-18T12:30:05.634Z - debug: Recieved zigbee message with data "0x00124b0019e14fa6"
2018-08-18T12:30:05.635Z - info: Connecting with device...
2018-08-18T12:30:05.636Z - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
2018-08-18T12:30:05.696Z - debug: Recieved zigbee message with data "0x00124b0019e14fa6"
2018-08-18T12:30:05.697Z - info: Connecting with device...
2018-08-18T12:30:05.698Z - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
2018-08-18T12:30:05.758Z - debug: Recieved zigbee message with data "0x00124b0019e14fa6"
2018-08-18T12:30:05.759Z - info: Connecting with device...
2018-08-18T12:30:05.761Z - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
2018-08-18T12:30:06.138Z - debug: Recieved zigbee message with data "0x00124b0019e14fa6"
2018-08-18T12:30:06.139Z - info: Connecting with device...
2018-08-18T12:30:06.141Z - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
2018-08-18T12:30:06.521Z - debug: Recieved zigbee message with data "0x00124b0019e14fa6"
2018-08-18T12:30:06.522Z - info: Connecting with device...
2018-08-18T12:30:06.522Z - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
2018-08-18T12:30:06.724Z - debug: Recieved zigbee message with data "0x00124b0019e14fa6"
2018-08-18T12:30:06.726Z - info: Connecting with device...
2018-08-18T12:30:06.726Z - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
2018-08-18T12:30:07.051Z - debug: Recieved zigbee message with data "0x00124b0019e14fa6"
2018-08-18T12:30:07.051Z - info: Connecting with device...
2018-08-18T12:30:07.052Z - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
2018-08-18T12:30:07.665Z - debug: Recieved zigbee message with data "0x00124b0019e14fa6"
2018-08-18T12:30:07.665Z - info: Connecting with device...
2018-08-18T12:30:07.665Z - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
2018-08-18T12:30:07.666Z - debug: Recieved zigbee message with data "0x00124b0019e14fa6"
2018-08-18T12:30:07.667Z - info: Device incoming...
2018-08-18T12:30:07.667Z - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"device incoming"}'
2018-08-18T12:30:07.667Z - info: New device with address 0x00124b0019e14fa6 connected!
2018-08-18T12:30:07.668Z - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"device_connected","message":"0x00124b0019e14fa6"}'
2018-08-18T12:30:07.669Z - debug: Recieved zigbee message with data "online"
2018-08-18T12:30:08.034Z - debug: Recieved zigbee message with data {"cid":"genOnOff","data":{"onOff":0}}
2018-08-18T12:30:08.035Z - warn: No converter available for 'TODO' with cid 'genOnOff', type 'devChange' and data '{"cid":"genOnOff","data":{"onOff":0}}'
2018-08-18T12:30:08.035Z - warn: Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
2018-08-18T12:30:14.641Z - debug: Check online 0x00124b0014afe1fb
2018-08-18T12:30:14.644Z - debug: Check online 0x00124b000bd6d293
2018-08-18T12:30:14.644Z - debug: Check online 0x00124b0019e14fa6
2018-08-18T12:30:38.341Z - error: Failed to configure 0x00124b0019e14fa6
2018-08-18T12:31:14.655Z - debug: Check online 0x00124b0014afe1fb
2018-08-18T12:31:14.657Z - debug: Check online 0x00124b000bd6d293
2018-08-18T12:31:14.657Z - debug: Check online 0x00124b0019e14fa6

This is my devices.js entry:

// Nue
{
    zigbeeModel: ['FB56+ZSW1HKJ2.5', 'FB56+ZSW1HKJ1.7'],
    model: 'TODO',
    vendor: 'Nue',
    description: 'Smart light switch - 2 gang',
    supports: 'TODO',
    fromZigbee: [],
    toZigbee: [],
    configure: (ieeeAddr, shepherd, coordinator, callback) => {
        const ep16 = shepherd.find(ieeeAddr, 16);
        const cfg = {direction: 0, attrId: 0, dataType: 16, minRepIntval: 0, maxRepIntval: 10, repChange: 0};

        const actions = [
            (cb) => ep16.read('genOnOff', 'onOff', cb),
            (cb) => ep16.foundation('genOnOff', 'configReport', [cfg], foundationCfg, cb),
        ];

        execute(ep16, actions, callback);
    },
},
{
    zigbeeModel: ['FB56+ZSW05HG1.2'],
    model: 'Nue Smart Inline Switch',
    vendor: 'Nue',
    descritpion: 'Smart inline switch',
    supports: 'TODO',
    fromZigbee: [],
    toZigbee: [],
},

@Koenkk
Copy link
Owner

Koenkk commented Aug 20, 2018

The configure failed:

  zigbee-shepherd-converters:devices Configured '(cb) => ep16.foundation('genOnOff', 'configReport', [cfg], foundationCfg, cb)' with result 'Error: Timed out after 30000 ms' +30s
2018-8-18 12:30:38 ERROR Failed to configure 0x00124b0019e14fa6

Can you try repairing?

@highground88
Copy link
Author

Sorry I'm currently away with work - the device might be difficult to get to now but I can try.

Is there any chance this is related to the sniffer, and/or firmware? I'm holding out for some changes to Zigbee2MQTT that allow modification of the .js files, as this will make the process much easier to debug.

Something else (a little off topic) that I've been wondering about for a while now is if/when I get this up and running, is how to continue to utilise Alexa integration.

The supplied usb hub I assume will become redundant, but therefore so will the links to the hub via the app, which is the Alexa link. Is it possible to utilise the CC2531 as a repeater, rather than a coordinator, but still to pass/receive messages to HASS.io?

@Koenkk
Copy link
Owner

Koenkk commented Aug 28, 2018

You could try updating to: https://github.com/Koenkk/Z-Stack-firmware/tree/increased_buffer/coordinator/CC2531/bin

No this is not possible, as zigbee2mqtt has to be the coordinator. (and you cannot have more than one coordinator in a zigbee network).

@stale
Copy link

stale bot commented Oct 27, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale Stale issues label Oct 27, 2018
@ryanbeaton
Copy link

@highground88 how did you go in the end. As, seemingly, the only AU approved switches there should be interest.

@stale stale bot removed the stale Stale issues label Oct 27, 2018
@highground88
Copy link
Author

highground88 commented Mar 30, 2019

No problem, thanks for fixing it - any ideas on how to fix the 2 way feedback?
(I've tried the 'report' feature but don't see any difference in the Z2M logs)

@highground88
Copy link
Author

Also, using the latest dev build (30/3/19), I'm experiencing more binding issues.

I can bind the '4scene' to the '2gang' switches, but not the other way around (irrespective of using friendly names etc).

If I do bind the '4scene' to the '2gang' , the source switch actuates as expected, but no Z2M message is produced whenever a bound source key is pressed. Pressing the target key does initiate a message. These 'click' buttons produce messages okay before they're bound, and when 'un-binded'. operate again as expected.

Happy to move this into another issue/binding issue if you'd prefer? Cheers

@Koenkk
Copy link
Owner

Koenkk commented Mar 30, 2019

To start with, we first make sure that this mapping is OK: return {'top_left': 1, 'top_right': 2, 'bottom_left': 3, 'bottom_right': 4};

Do the correct switches turn on off when sending to zigbee2mqtt/4scene/top_left/set with payload ON (also try for the other 3 eps, e.g. top_left -> top_right).

@highground88
Copy link
Author

highground88 commented Mar 31, 2019

You might be on to something... thank you for your daily message :-)

I have noticed that all switches are always set ON. The 'click' message when physically pressing the button shows this, e.g.

  zigbee2mqtt:debug 3/31/2019, 10:58:43 AM Received zigbee message of type 'cmdRecall' with data '{"cid":"genScenes","data":{"groupid":61680,"sceneid":3}}' of device 'FB56+ZSN08KJ2.3' (0x00124b00180ff516) of endpoint 3
  zigbee2mqtt:info 3/31/2019, 10:58:43 AM MQTT publish: topic 'zigbee2mqtt/4scene', payload '{"state_left":"ON","state_top_right":"ON","state_bottom_right":"ON","linkquality":102,"state":"OFF","state_top_left":"ON","click":3}'

Each botton (top-left etc) sends its own 'click' endpoint as intended, however the entire message before this does not change independant on whether switches are on or off, it always shows ON for each switch state.

This switch only momentarily lights up for about 1 sec when pressed, therefore isn't 'ON' constantly I imagine (however outside Z2M on its own network & hub, the light stays active if the paired device remains on).

zigbee2mqtt/4scene/top_left/set ON result

The message above results in the following MQTT message:
{"state_left":"ON","state_top_right":"ON","state_bottom_right":"ON","linkquality":86,"state":"OFF","state_top_left":"ON"}

It seems as though there might be a problem with the handler?


EDIT: I'm now using the below handler which I pasted together from other devices... not sure if correct, but the switches now light up and remain lit. Switch 4 isn't on there yet...

    {
        zigbeeModel: ['FB56+ZSN08KJ2.3'],
        model: 'HGZB-045',
        vendor: 'Nue / 3A',
        description: 'Smart 4 key scene wall switch',
        supports: 'on/off, click',
        toZigbee: [tz.on_off],
        fromZigbee: [fz.nue_click, fz.ignore_power_report, fz.ignore_power_change],
        ep: (device) => {
            return {'top_left': 1, 'top_right': 2, 'bottom_left': 3, 'bottom_right': 4};
        },
        configure: (ieeeAddr, shepherd, coordinator, callback) => {
            const ep1 = shepherd.find(ieeeAddr, 1);
            execute(ep1, [(cb) => ep1.bind('genOnOff', coordinator, cb)], () => {
                const ep2 = shepherd.find(ieeeAddr, 2);
                execute(ep2, [(cb) => ep2.bind('genOnOff', coordinator, cb)], () => {
                    const ep3 = shepherd.find(ieeeAddr, 3);
                    execute(ep3, [(cb) => ep3.bind('genOnOff', coordinator, cb)], callback);
                });
            });
        },
    },

This results in:

  zigbee2mqtt:debug 3/31/2019, 11:16:17 AM Received zigbee message of type 'cmdOn' with data '{"cid":"genOnOff","data":{}}' of device 'FB56+ZSN08KJ2.3' (0x00124b00180ff516) of endpoint 3
  zigbee2mqtt:warn 3/31/2019, 11:16:17 AM No converter available for 'HGZB-045' with cid 'genOnOff', type 'cmdOn' and data '{"cid":"genOnOff","data":{}}'

I then added: fz.genOnOff_cmdOn, fz.genOnOff_cmdOff to 'fromZigbee' which made the no converter message go away, but has messed up the endpoint message. All switches still report as ON as below in the MQTT message.

zigbee2mqtt:info 3/31/2019, 11:26:50 AM MQTT publish: topic 'zigbee2mqtt/4scene', payload '{"state_left":"ON","state_top_right":"ON","state_bottom_right":"ON","linkquality":84,"state":"OFF","state_top_left":"ON","click":"off"}' <---- The 'click' message now cycles on or off instead of the endpoint #'s after my last amateur edit.....

I might leave it to an expert to advise what I need to do and what I've done wrong perhaps :-)

@Koenkk
Copy link
Owner

Koenkk commented Apr 2, 2019

Can you use the following 2 fromZigbee converters:

HGZB_045_cmdOn: {
        cid: 'genOnOff',
        type: 'cmdOn',
        convert: (model, msg, publish, options) => {
            const ep = msg.endpoints[0];
            const button = getKey(model.ep(ep.device), ep.epId);
            const payload = {};
            payload[`state_${button}`] = 'ON';
            return payload
        },
    },
HGZB_045_cmdOff: {
        cid: 'genOnOff',
        type: 'cmdOff',
        convert: (model, msg, publish, options) => {
            const ep = msg.endpoints[0];
            const button = getKey(model.ep(ep.device), ep.epId);
            const payload = {};
            payload[`state_${button}`] = 'OFF';
            return payload
        },
    },

@highground88
Copy link
Author

highground88 commented Apr 3, 2019

Utilising this handler:

    {
        zigbeeModel: ['FB56+ZSN08KJ2.3'],
        model: 'HGZB-045',
        vendor: 'Nue / 3A',
        description: 'Smart 4 key scene wall switch',
        supports: 'on/off, click',
        toZigbee: [tz.on_off],
        fromZigbee: [fz.nue_click, fz.ignore_power_report, fz.ignore_power_change],
        ep: (device) => {
            return {'top_left': 1, 'top_right': 2, 'bottom_left': 3, 'bottom_right': 4};
        },
    },

on a fresh install with the FromZigbee changes made, I am getting this response from zigbee2mqtt/4scene/top_left/set ON :

{"state_left":"ON","state_top_right":"ON","state_bottom_right":"ON","linkquality":97,"state_top_left":"ON","click":4}

"state_left" should probably be "state_bottom_left" perhaps?

I am also not getting any changes to the states of any switches; all remain ON. Only the 'click' value changes dependant on switch, otherwise these are the same messages.

FULL LOG / SWITCHING / MQTT PAYLOAD

@Koenkk
Copy link
Owner

Koenkk commented Apr 4, 2019

These values are probably cached, please remove data/state.json and try again. Note that you should also add the 2 converters from #176 (comment)

@highground88
Copy link
Author

Sorry was away for work again. Thanks for the reply, here is where I am at:

  • state.json removed (was indeed causing part of the issue)
  • fromZigbee changes made (were made previously, results above are with the converters active).

Using this handler still: #176 (comment)

Sending: zigbee2mqtt/4scene/top_left/set ON
Results: zigbee2mqtt/4scene {"linkquality":105,"state_top_left":"ON"}
The 4gang switch does not stay on or activate at all.

Pressing this top_left switch results:
Message: zigbee2mqtt/4scene {"linkquality":99,"state_top_left":"ON","click":1}
Pressing the button again shows the same message, no change to state.

The log shows:
zigbee2mqtt:debug 4/10/2019, 6:42:40 AM Received zigbee message of type 'cmdRecall' with data '{"cid":"genScenes","data":{"groupid":61680,"sceneid":1}}' of device 'FB56+ZSN08KJ2.3' (0x00124b00180ff516) of endpoint 1

Can you confirm the device handler I'm using is currently accurate?

Thank you!!

@Koenkk
Copy link
Owner

Koenkk commented Apr 11, 2019

I expect that this device is stateless, I just provides one message if the one of the button is pressed. If my reasoning is correct, the converter should be changed to produce {"click": "state_top_left"}

@highground88
Copy link
Author

Thanks Koen. It might well be. On its standard hub I've done some testing using a binded pair of devices to try to determine the natural behaviour (below).

It would be great to be able to utilise the state light as I was hoping to setup a 4 gang scene switch next to the bed and have a 'night time' alarm button which would show the state of the HA alarm dependant on switch LED colour for the wife. This would therefore be outside of the switches ecosystem.

(all off state)
Press SCENE = SWITCH ON, SWITCH LED RED, SCENE LED RED
(all remain on state)
Press SWITCH = SWITCH OFF, SWITCH LED BLUE, SCENE LED RED (still remains 'on')

(all off state)
Press SWITCH = SWITCH ON, SWITCH LED RED, SCENE LED BLUE ('off' state)
then
Press SCENE = SCENE LED BLUE (remains same), SWITCH OFF
Press SCENE again = SWITCH ON, SWITCH LED RED, SCENE LED RED

If this is the case as you expected and no state is forwarded,, is there a need to add the fz.genOnOff_cmdOn, fz.genOnOff_cmdOff to 'fromZigbee' ? (e.g. as per [comment #176] )(#176 (comment))

I'm still not sure how best to format the converter I'm sorry to produce {"click": "state_top_left"}. Everything I tried just seemed to break it.

Much appreciation as always for your help.

@Koenkk
Copy link
Owner

Koenkk commented Apr 13, 2019

Can you try these handlers:

HGZB_045_cmdOn: {
        cid: 'genOnOff',
        type: 'cmdOn',
        convert: (model, msg, publish, options) => {
            const ep = msg.endpoints[0];
            const button = getKey(model.ep(ep.device), ep.epId);
            return {click: `${button}_on`};
        },
    },
HGZB_045_cmdOff: {
        cid: 'genOnOff',
        type: 'cmdOff',
        convert: (model, msg, publish, options) => {
            const ep = msg.endpoints[0];
            const button = getKey(model.ep(ep.device), ep.epId);
            return {click: `${button}_off`};
        },
    },

@highground88
Copy link
Author

highground88 commented May 11, 2019

Hi @Koenkk , still not having much luck with this device unfortunately...

I'm using this device config (is this still correct?):

    {
        zigbeeModel: ['FB56+ZSN08KJ2.3'],
        model: 'HGZB-045',
        vendor: 'Nue / 3A',
        description: 'Smart 4 key scene wall switch',
        supports: 'on/off, click',
        toZigbee: [tz.on_off],
        fromZigbee: [fz.nue_click, fz.ignore_power_report, fz.ignore_power_change],
        ep: (device) => {
            return {'top_left': 1, 'top_right': 2, 'bottom_left': 3, 'bottom_right': 4};
        },
    },

... with the handlers you last posted above, on a fresh build. I have MQTT connection, but am not receiving MQTT messages, and appear to be getting these errors :

 cc-znp Error: Unrecognized command
  cc-znp     at new ZpiObject (/opt/zigbee2mqtt/node_modules/cc-znp/lib/zpiObject.js:33:15)
  cc-znp     at CcZnp._parseMtIncomingData (/opt/zigbee2mqtt/node_modules/cc-znp/lib/ccznp.js:331:18)
  cc-znp     at Unpi.parseMtIncomingData (/opt/zigbee2mqtt/node_modules/cc-znp/lib/ccznp.js:91:18)
  cc-znp     at Unpi.emit (events.js:189:13)
  cc-znp     at Dissolve.<anonymous> (/opt/zigbee2mqtt/node_modules/cc-znp/node_modules/unpi/index.js:107:14)
  cc-znp     at Dissolve.emit (events.js:189:13)
  cc-znp     at Dissolve.<anonymous> (/opt/zigbee2mqtt/node_modules/cc-znp/node_modules/dissolve-chunks/index.js:73:29)
  cc-znp     at Dissolve.emit (events.js:189:13)
  cc-znp     at emitReadable_ (/opt/zigbee2mqtt/node_modules/cc-znp/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:456:10)
  cc-znp     at emitReadable (/opt/zigbee2mqtt/node_modules/cc-znp/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:450:7) +6ms

This is current verion info: {"version":"1.3.1","commit":"39d6a8e","coordinator_firmware":20190315,"log_level":"debug","permit_join":true}
Thanks for any help you might be able to give me again.

@Koenkk
Copy link
Owner

Koenkk commented May 13, 2019

Can you provide the complete debug log?

@highground88
Copy link
Author

DEBUG LOG -- Error at bottom highlighted.

Thanks Koen. I have a fresh 1.4.0 dev version now, and I changed over to my second CC2531, and are receiving MQTT messages again (e.g.
zigbee2mqtt/0x00124b00180ff516 {"linkquality":52,"click":2} ).

This error though seems to still appear on it's own eventually without any button presses. I'm not sure of the nature or effect it has.

@highground88 highground88 changed the title Device support: 'Nue' / '3A Smarthome' (Feibit) smart switch range Device support: 'Nue' / '3A Smarthome' smart switch range May 19, 2019
@Koenkk
Copy link
Owner

Koenkk commented May 19, 2019

@highground88 can you add to https://github.com/Koenkk/cc-znp/blob/master/lib/zpiObject.js#L19

console.log(subsys, cmd, args)

@highground88
Copy link
Author

highground88 commented May 27, 2019

@Koenkk , thanks for your help. I've made the changes to the zipObject.js file - I imagine the above line is just for logging? In any case, the error isn't returning - I dont think anything else has change and can't reproduce this again... sorry if that's unhelpful.

As I'm only getting to spend a little bit of time on this project now compared to previously, I'm probably not understanding where I am up to with regard to finishing off the scene switch support (finally).

I still want to support the state change via led on the scene switches - this appears possible as per my experiences in comments above - but I don't have the knowledge to understand what parts of the device config I changed which make this work, and which parts break the 'click' and state changes on MQTT.

  1. With the current settings, binding from scene->switch works. The source scene switch stays illuminated correctly whilst the target switch remains on, but this breaks when the target is turned off directly, causing the source scene switch to remain in an 'on' state. So the target seems to not update the source.

  2. Trying to directly switch a scene switch via mqtt message rather than a target results in feedback showing this is occurring (eg. zigbee2mqtt/0x00124b00180ff516/bottom_right/set ON = {"linkquality":52,"state_top_left":"ON","state_top_right":"ON","state_bottom_right":"ON"}). However no LED change occurs, and as there's no relay on these, it's not really useful in any way.

Based on my tests and trials above - is there anything you can suggest I try?

Thanks mate - I know you have a lot of other people asking for help and other projects going on.

@Koenkk
Copy link
Owner

Koenkk commented May 28, 2019

  1. Can you try to also bind the switch -> scene (assuming you have now done scene -> switch)?

@highground88
Copy link
Author

highground88 commented May 29, 2019

@Koenkk

Once both target (switch) and source (scene switch) are bound in both directions, I do not get MQTT messages or Z2M logs when the source is switched - however, if switched seperately, or if I press any of the unbound scene switches, MQTT messages and logs are produced.

Further, I still have the same issue - state is only one direction (bound in both directions). Switching the target switch to off leaves the source in the on state - though there is Z2M activity when the target is switched, unlike in reverse.

If the source/scene switch is showing on, and I send "zigbee2mqtt/0x00124b00180ff516/top_left, payload OFF" directly, there is no change and this does not show in the Z2M log, though does go to MQTT (with no response to the message).

Let me know if this doesn't make sense or further tests you need me to do. Could the device config below be the issue?:

    {
        zigbeeModel: ['FB56+ZSN08KJ2.3'],
        model: 'HGZB-045',
        vendor: 'Nue / 3A',
        description: 'Smart 4 key scene wall switch',
        supports: 'on/off, click',
        toZigbee: [tz.on_off],
        fromZigbee: [fz.nue_click, fz.ignore_power_report, fz.ignore_power_change],
        ep: (device) => {
            return {'top_left': 1, 'top_right': 2, 'bottom_left': 3, 'bottom_right': 4};
        },
    },

@Koenkk
Copy link
Owner

Koenkk commented May 29, 2019

The device config looks good, I'm wondering if the scene LED can be turned off remotely at all.

@stale
Copy link

stale bot commented Jul 28, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale Stale issues label Jul 28, 2019
@stale stale bot closed this as completed Aug 4, 2019
wilmardo pushed a commit to wilmardo/zigbee2mqtt that referenced this issue Sep 26, 2019
wilmardo pushed a commit to wilmardo/zigbee2mqtt that referenced this issue Sep 26, 2019
wilmardo pushed a commit to wilmardo/zigbee2mqtt that referenced this issue Sep 26, 2019
wilmardo pushed a commit to wilmardo/zigbee2mqtt that referenced this issue Sep 26, 2019
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
@shsurury
Copy link

Hi,

I would like some help with some of my Feibit Zigbee switches. I have setup Home Assistant 0.117.6 on Raspberry Pi 4b 4gb and have installed zigbee2mqtt 1.16.1 and mosqito broker 5.1. I am using Phoscon Raspbee II as my zigbee receiver with the latest firmware 26660700. I have got the following Feibit devices and they all install correctly but the device is not refreshing the state automatically. i,e if I physically switch on the switch the state in zigbee2mwtt and HA will still show as off.
FB56+ZSC05HG1.0 - Dimmer Switch
FB56+ZSW1GKJ2.5 - 1 Gang Switch
FB56+ZSW1HKJ2.5 - 2 Gang Switch
FB56+ZSW1IKJ2.5 - 3 Gang Switch
FB56-ZCW11HG1.2 - Downlight
FB56-ZCW08KU1.1 - Bulb
FB56-ZCW11HG1.2 - Bulb

can someone please help me to get this working properly. I have aslo got some 3A Neu dswitched and they seem to work properly. Also the dimmer switch above will crash when trying to change the brightness.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new device support New device support request stale Stale issues
Projects
None yet
Development

No branches or pull requests

7 participants