its switch from Osram with 4 Buttons
{
zigbeeModel: ['Switch 4x EU-LIGHTIFY'],
model: 'xxx',
vendor: 'OSRAM',
description: 'LIGHTIFY Switch 4x',
supports: [],
fromZigbee: [],
toZigbee: [],
},
do you need the corresponding database.db entry ??
Can you check if with the following devices.js you see any WARN: no converter available messages when pressing the buttons?
its very strange .. i can on/off all lamps with this switch without CC2531pairing..
it works buttons only on left side. i dont know why ... any idea ??
Probably this remote can also be paired directly to bulbs.
hmmm.. I do not think so.. i have here a gateway for this device..
Lets find that out later, but does it work with this devices.js: https://github.com/Koenkk/zigbee-shepherd-converters/blob/lightify_switch/devices.js ?
I'm waiting for new switch..
so.. here output after pressed a button
zigbee-shepherd Identified Device: { manufacturer: OSRAM, product: Switch 4x EU-LIGHTIFY } +9ms
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 2 +37ms
zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +16ms
zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 2 +2s
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +39ms
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 3 +9ms
zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +18ms
zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 3 +2s
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +39ms
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 4 +12ms
zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +20ms
zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 4 +3s
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +59ms
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 5 +8ms
zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +18ms
/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:33
throw new Error('Unrecognized command');
^
Error: Unrecognized command
at new FuncPayload (/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:33:15)
at /opt/zigbee2mqtt/node_modules/zcl-packet/lib/zcl.js:33:22
at Dissolve.<anonymous> (/opt/zigbee2mqtt/node_modules/zcl-packet/lib/zcl.js:121:9)
at Object.onceWrapper (events.js:315:30)
at emitOne (events.js:116:13)
at Dissolve.emit (events.js:211:7)
at Dissolve.<anonymous> (/opt/zigbee2mqtt/node_modules/dissolve-chunks/index.js:73:29)
at emitNone (events.js:106:13)
at Dissolve.emit (events.js:208:7)
at emitReadable_ (/opt/zigbee2mqtt/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:456:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
Can you put:
console.log(this.cluster, direction, cmd);
before https://github.com/Koenkk/zcl-packet/blob/master/lib/functional.js#L30
[zigbee-shepherd:request REQ --> ZDO:nodeDescReq +2ms
lightingColorCtrl 0 76
/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:35
throw new Error('Unrecognized command');
^
Can you add to https://github.com/Koenkk/zcl-id/blob/master/definitions/cluster_defs.json#L557 "lightifyTest": 76
nice this works.....
zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +22ms
zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 18 +58ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +71ms
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 19 +5ms
zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +22ms
zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 19 +42ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +63ms
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 20 +6ms
zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +20ms
zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 20 +66ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +3s
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +1s
zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 15 +788ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +108ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +9ms
Can you checkout the dev branch and add "lightifyTest": 76. Do any WARN: No converted available messages appear?
2018-7-10 20:11:53 INFO Starting zigbee2mqtt version 0.1.0 (commit #ae41b7b)
2018-7-10 20:11:53 INFO Starting zigbee-shepherd
2018-7-10 20:11:57 INFO zigbee-shepherd started
2018-7-10 20:11:57 INFO Currently 1 devices are joined:
2018-7-10 20:11:57 INFO unknown (0x000d6f000ec8fc3e): unkown - undefined unknown (EndDevice)
2018-7-10 20:11:57 WARN `permit_join` set to `true` in configuration.yaml.
2018-7-10 20:11:57 WARN Allowing new devices to join.
2018-7-10 20:11:57 WARN Set `permit_join` to `false` once you joined all devices.
2018-7-10 20:11:57 INFO Zigbee: allowing new devices to join.
2018-7-10 20:11:57 INFO Connecting to MQTT server at mqtt://192.168.1.184
2018-7-10 20:11:58 INFO zigbee-shepherd ready
2018-7-10 20:11:58 INFO Connected to MQTT server
2018-7-10 20:11:58 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/state', payload: 'online'
lightingColorCtrl 0 76
/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:42
throw new Error('Unrecognized direction');
^
Error: Unrecognized direction
at new FuncPayload (/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:42:15)
at /opt/zigbee2mqtt/node_modules/zcl-packet/lib/zcl.js:33:22
at Dissolve.<anonymous> (/opt/zigbee2mqtt/node_modules/zcl-packet/lib/zcl.js:121:9)
at Object.onceWrapper (events.js:315:30)
at emitOne (events.js:116:13)
at Dissolve.emit (events.js:211:7)
at Dissolve.<anonymous> (/opt/zigbee2mqtt/node_modules/dissolve-chunks/index.js:73:29)
at emitNone (events.js:106:13)
at Dissolve.emit (events.js:208:7)
at emitReadable_ (/opt/zigbee2mqtt/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:456:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
Can you add in: node_modules/zcl-packet/lib/defs/zcl_meta.json below line 1200:
"lightifyTest":{
"params":[
],
"dir":0},
2018-7-13 17:00:28 INFO Starting zigbee2mqtt version 0.1.0 (commit #ae41b7b)
2018-7-13 17:00:28 INFO Starting zigbee-shepherd
2018-7-13 17:00:32 INFO zigbee-shepherd started
2018-7-13 17:00:32 INFO Currently 1 devices are joined:
2018-7-13 17:00:32 INFO unknown (0x000d6f000ec8fc3e): unkown - undefined unknown (EndDevice)
2018-7-13 17:00:32 WARN `permit_join` set to `true` in configuration.yaml.
2018-7-13 17:00:32 WARN Allowing new devices to join.
2018-7-13 17:00:32 WARN Set `permit_join` to `false` once you joined all devices.
2018-7-13 17:00:32 INFO Zigbee: allowing new devices to join.
2018-7-13 17:00:32 INFO Connecting to MQTT server at mqtt://192.168.1.184
2018-7-13 17:00:33 INFO zigbee-shepherd ready
2018-7-13 17:00:33 INFO Connected to MQTT server
2018-7-13 17:00:33 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/state', payload: 'online'
lightingColorCtrl 0 76
lightingColorCtrl 0 76
lightingColorCtrl 0 76
lightingColorCtrl 0 76
lightingColorCtrl 0 76
genOnOff 0 0
genOnOff 0 1
2018-7-13 17:00:47 INFO New device with address 0x000d6f000ec8fc3e connected!
2018-7-13 17:00:48 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"device_connected","message":"0x000d6f000ec8fc3e"}'
2018-7-13 17:00:48 WARN Device with modelID 'Switch 4x EU-LIGHTIFY' is not supported.
2018-7-13 17:00:48 WARN Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices
genOnOff 0 1
2018-7-13 17:00:50 WARN Device with modelID 'Switch 4x EU-LIGHTIFY' is not supported.
2018-7-13 17:00:50 WARN Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices
here button right top -> lightingColorCtrl 0 76
here button right botom -> lightingColorCtrl 0 76
here button left top -> genOnOff 0 1 with the warning message
here button left botom -> genOnOff 0 0
Good! Can you:
and provide the logging?
little problem after press button top left
{ func: [Function: func], ieeeAddr: '0x0017880102ca68f3' } ]
genOnOff 0 1
/opt/zigbee2mqtt/lib/controller.js:286
`type '${message.type}' and message '${JSON.stringify(message)}'`
^
TypeError: Converting circular structure to JSON
at JSON.stringify (<anonymous>)
at Controller.handleZigbeeMessage (/opt/zigbee2mqtt/lib/controller.js:286:65)
at Zigbee.handleMessage (/opt/zigbee2mqtt/lib/zigbee.js:162:18)
at emitOne (events.js:116:13)
at ZShepherd.emit (events.js:211:7)
at ZShepherd.<anonymous> (/opt/zigbee2mqtt/node_modules/zigbee-shepherd/lib/shepherd.js:123:14)
at emitMany (events.js:147:13)
at ZShepherd.emit (events.js:224:7)
at dispatchIncomingMsg (/opt/zigbee2mqtt/node_modules/zigbee-shepherd/lib/components/af.js:673:45)
at Controller.zclIncomingMsgHandler (/opt/zigbee2mqtt/node_modules/zigbee-shepherd/lib/components/af.js:730:12)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `node index.js`
npm ERR! Exit status 1
@arteck issue has been fixed, can you update and try again?
genOnOff 0 0
genOnOff 0 0
genOnOff 0 1
2018-7-24 12:13:22 WARN No converter available for 'TODO' with cid 'genOnOff', type 'cmdOn' and data '{"cid":"genOnOff","data":{}}'
2018-7-24 12:13:22 WARN Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
lightingColorCtrl 0 76
lightingColorCtrl 0 76
@arteck nice, can you provide output for all buttons?
this is the output from all buttons pressed
as same here
here button right top -> lightingColorCtrl 0 76
here button right botom -> lightingColorCtrl 0 76
here button left top -> genOnOff 0 1 with the warning message
here button left botom -> genOnOff 0 0
I see, for those you don't get a No converter available?
@Koenkk Btw: Read this: https://community.smartthings.com/t/osram-lightify-4-button-switch-dth-binder-alpha/99877/56 ... it seems to be that there are two Versions of this Remote Control available!
“Switch 4x-LIGHTIFY”= US/Other
"Switch 4x EU-LIGHTIFY"= European variant
@arteck: Where did you buy your device?
Please also do some Test via
(Top and Buttom Button alone)
left pair short press
left pair long press
right pair short press
right pair long press
and provide detail Logfile for every Step as single one.
i have here "Switch 4x EU-LIGHTIFY"= European variant bought at amazon.de :-)
here button left top -> click -> genOnOff 0 1
press long genLevelCtrl 0 5
genLevelCtrl 0 3
2018-7-25 19:24:10 WARN No converter available for 'TODO' with cid 'genLevelCtrl', type 'cmdStop' and data '{"cid":"genLevelCtrl","data":{}}'
2018-7-25 19:24:10 WARN Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
here button left botom -> click -> genOnOff 0 0
press long genLevelCtrl 0 1
genLevelCtrl 0 3
2018-7-25 19:24:10 WARN No converter available for 'TODO' with cid 'genLevelCtrl', type 'cmdStop' and data '{"cid":"genLevelCtrl","data":{}}'
2018-7-25 19:24:10 WARN Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
here button right top -> click -> lightingColorCtrl 0 76
press long lightingColorCtrl 0 3
lightingColorCtrl 0 1
here button right botom -> click -> lightingColorCtrl 0 76
press long lightingColorCtrl 0 3
lightingColorCtrl 0 1
Nice so every third message is stopped from push or hold on ?
for genLevelCtrl we could adopt some stuff from https://github.com/Koenkk/zigbee2mqtt/issues/36
.. @Koenkk could help :)
Doesn´t you got some WARN Messages for the lightingColorCtrl ??
We need now for every button function the WARN Messages ..
For genOnOff we should cmdOn and cmdOffWithEffect ??
Edit:
Please add to devices.js after
(cb) => device.bind('genPowerCfg', coordinator, cb),
this
(cb) => device.report('genPowerCfg', 'batteryPercentageRemaining', 0, 1000, 0, cb),
So we should get this Battery Reporting too.
_Doesn´t you got some WARN Messages for the lightingColorCtrl ??_
no nothing
_We need now for every button function the WARN Messages ..
For genOnOff we should cmdOn and cmdOffWithEffect ??_
i have no more other messages
My Switch 4x EU-LIGHTIFY arrived today so i could help easier.
If i got some free time i will digging into it deeper to show what we need and will work with @Koenkk to finish the supporting =)
I´v join my Switch to check if functional.
This is my database.db entry
{"id":4,"type":"EndDevice","ieeeAddr":"0x000d6f000ec8fb45","nwkAddr":6183,"manufId":4364,"manufName":"OSRAM","powerSource":"Battery","modelId":"Switch 4x EU-LIGHTIFY","epList":[1,2,3,4,5,6],"status":"online","joinTime":1532806133,"endpoints":{"1":{"profId":260,"epId":1,"devId":2064,"inClusterList":[0,1,32,4096,64768],"outClusterList":[3,4,5,6,8,25,768,4096],"clusters":{"64768":{"dir":{"value":1},"attrs":{}},"genBasic":{"dir":{"value":1},"attrs":{"zclVersion":1,"appVersion":1,"stackVersion":0,"hwVersion":1,"manufacturerName":"OSRAM","modelId":"Switch 4x EU-LIGHTIFY","dateCode":"201707051445390","powerSource":3,"swBuildId":"e.1.0.0M"}},"genPowerCfg":{"dir":{"value":1},"attrs":{"batteryVoltage":31,"batteryVoltMinThres":24,"batteryVoltThres1":26,"batteryVoltThres2":27,"batteryVoltThres3":28,"batteryAlarmState":0}},"genIdentify":{"dir":{"value":2},"attrs":{}},"genGroups":{"dir":{"value":2},"attrs":{}},"genScenes":{"dir":{"value":2},"attrs":{}},"genOnOff":{"dir":{"value":2},"attrs":{}},"genLevelCtrl":{"dir":{"value":2},"attrs":{}},"genOta":{"dir":{"value":2},"attrs":{}},"genPollCtrl":{"dir":{"value":1},"attrs":{"checkinInterval":0,"longPollInterval":48000,"shortPollInterval":4,"fastPollTimeout":720}},"lightingColorCtrl":{"dir":{"value":2},"attrs":{}},"lightLink":{"dir":{"value":3},"attrs":{}}}},"2":{"profId":260,"epId":2,"devId":2064,"inClusterList":[0,4096,64768],"outClusterList":[3,4,5,6,8,768,4096],"clusters":{"64768":{"dir":{"value":1},"attrs":{}},"genBasic":{"dir":{"value":1},"attrs":{"zclVersion":1,"appVersion":1,"stackVersion":0,"hwVersion":1,"manufacturerName":"OSRAM","modelId":"Switch 4x EU-LIGHTIFY","dateCode":"201707051445390","powerSource":3,"swBuildId":"e.1.0.0M"}},"genIdentify":{"dir":{"value":2},"attrs":{}},"genGroups":{"dir":{"value":2},"attrs":{}},"genScenes":{"dir":{"value":2},"attrs":{}},"genOnOff":{"dir":{"value":2},"attrs":{}},"genLevelCtrl":{"dir":{"value":2},"attrs":{}},"lightingColorCtrl":{"dir":{"value":2},"attrs":{}},"lightLink":{"dir":{"value":3},"attrs":{}}}},"3":{"profId":260,"epId":3,"devId":2064,"inClusterList":[0,4096,64768],"outClusterList":[3,4,5,6,8,768,4096],"clusters":{"64768":{"dir":{"value":1},"attrs":{}},"genBasic":{"dir":{"value":1},"attrs":{"zclVersion":1,"appVersion":1,"stackVersion":0,"hwVersion":1,"manufacturerName":"OSRAM","modelId":"Switch 4x EU-LIGHTIFY","dateCode":"201707051445390","powerSource":3,"swBuildId":"e.1.0.0M"}},"genIdentify":{"dir":{"value":2},"attrs":{}},"genGroups":{"dir":{"value":2},"attrs":{}},"genScenes":{"dir":{"value":2},"attrs":{}},"genOnOff":{"dir":{"value":2},"attrs":{}},"genLevelCtrl":{"dir":{"value":2},"attrs":{}},"lightingColorCtrl":{"dir":{"value":2},"attrs":{}},"lightLink":{"dir":{"value":3},"attrs":{}}}},"4":{"profId":260,"epId":4,"devId":2064,"inClusterList":[0,4096,64768],"outClusterList":[3,4,5,6,8,768,4096],"clusters":{"64768":{"dir":{"value":1},"attrs":{}},"genBasic":{"dir":{"value":1},"attrs":{}},"genIdentify":{"dir":{"value":2},"attrs":{}},"genGroups":{"dir":{"value":2},"attrs":{}},"genScenes":{"dir":{"value":2},"attrs":{}},"genOnOff":{"dir":{"value":2},"attrs":{}},"genLevelCtrl":{"dir":{"value":2},"attrs":{}},"lightingColorCtrl":{"dir":{"value":2},"attrs":{}},"lightLink":{"dir":{"value":3},"attrs":{}}}},"5":{"profId":260,"epId":5,"devId":2064,"inClusterList":[0,4096,64768],"outClusterList":[3,4,5,6,8,768,4096],"clusters":{"64768":{"dir":{"value":1},"attrs":{}},"genBasic":{"dir":{"value":1},"attrs":{"zclVersion":1,"appVersion":1,"stackVersion":0,"hwVersion":1,"manufacturerName":"OSRAM","modelId":"Switch 4x EU-LIGHTIFY","dateCode":"201707051445390","powerSource":3,"swBuildId":"e.1.0.0M"}},"genIdentify":{"dir":{"value":2},"attrs":{}},"genGroups":{"dir":{"value":2},"attrs":{}},"genScenes":{"dir":{"value":2},"attrs":{}},"genOnOff":{"dir":{"value":2},"attrs":{}},"genLevelCtrl":{"dir":{"value":2},"attrs":{}},"lightingColorCtrl":{"dir":{"value":2},"attrs":{}},"lightLink":{"dir":{"value":3},"attrs":{}}}},"6":{"profId":260,"epId":6,"devId":2064,"inClusterList":[0,4096,64768],"outClusterList":[3,4,5,6,8,768,4096],"clusters":{"64768":{"dir":{"value":1},"attrs":{}},"genBasic":{"dir":{"value":1},"attrs":{"zclVersion":1,"appVersion":1,"stackVersion":0,"hwVersion":1,"manufacturerName":"OSRAM","modelId":"Switch 4x EU-LIGHTIFY","dateCode":"201707051445390","powerSource":3,"swBuildId":"e.1.0.0M"}},"genIdentify":{"dir":{"value":2},"attrs":{}},"genGroups":{"dir":{"value":2},"attrs":{}},"genScenes":{"dir":{"value":2},"attrs":{}},"genOnOff":{"dir":{"value":2},"attrs":{}},"genLevelCtrl":{"dir":{"value":2},"attrs":{}},"lightingColorCtrl":{"dir":{"value":2},"attrs":{}},"lightLink":{"dir":{"value":3},"attrs":{}}}}},"_id":"xwXAlch01d0vMEMF"}
something new ????
@tb-killa can I provide any help?
I´v doesn´t work on this in the last time.
Maybe we should first check the output again @arteck provide some sample.
If i got some freetime i could check again ...
I´v got a new message if device is paired and battery removed and reinsert:
zigbee2mqtt:debug 2018-8-30 22:33:40 Recieved zigbee message with data {"cid":"genPowerCfg","data":{"batteryAlarmState":0}}
zigbee2mqtt:warn 2018-8-30 22:33:40 No converter available for 'TODO' with cid 'genPowerCfg', type 'attReport' and data '{"cid":"genPowerCfg","data":{"batteryAlarmState":0}}'
zigbee2mqtt:warn 2018-8-30 22:33:40 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
Actually my devices.js entry look like this:
{
zigbeeModel: ['Switch 4x EU-LIGHTIFY'],
model: 'TODO',
vendor: 'OSRAM',
description: 'LIGHTIFY Switch 4x',
supports: 'TODO',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const actions = [
(cb) => device.bind('genOnOff', coordinator, cb),
(cb) => device.bind('lightingColorCtrl', coordinator, cb),
(cb) => device.bind('genLevelCtrl', coordinator, cb),
(cb) => device.bind('genPowerCfg', coordinator, cb),
(cb) => device.report('genPowerCfg', 'batteryVoltage', 300, 3600, 0, cb),
];
execute(device, actions, callback);
},
},
Get Battery Reporting too
zigbee2mqtt:debug 2018-8-30 22:38:39 Recieved zigbee message with data {"cid":"genPowerCfg","data":{"batteryVoltage":29}}
zigbee2mqtt:warn 2018-8-30 22:38:39 No converter available for 'TODO' with cid 'genPowerCfg', type 'attReport' and data '{"cid":"genPowerCfg","data":{"batteryVoltage":29}}'
@Koenkk
I´m actually working on this to maybe finishing:
First of all i search for zcl-id / zcl-packet definition - lightingColorCtrl to get them correct extended:
Cmd-API | CmdId | Direction | Arguments
moveColorTemp | 0x4b (75) | c2s | { ratex, ratey }
stepColorTemp | 0x4c (76) | c2s | { stepx, stepy, transtime }
for zcl_meta.json
"moveColorTemp":{
"params":[
{"ratex":"int16"},
{"ratey":"int16"}
],
"dir":0},
"stepColorTemp":{
"params":[
{"stepx":"int16"},
{"stepy":"int16"},
{"transtime":"uint16"}
],
"dir":0},
Will check what we now get on Informations back.
Hi @Koenkk
it seems to be that we got something not finish or broken.
One Sample:
from zcl-packet -> FuncPayload with debug message extended:
Debug for FuncPayload: genOnOff 0 1
and this is our converter message output:
zigbee2mqtt:warn 2018-9-30 14:41:15 No converter available for '4x EU-LIGHTIFY' with cid 'genOnOff', type 'cmdOn' and data '{"cid":"genOnOff","data":{}}'
as you could see .. it seems to use the right cid but data is empty!
now we got another button who is also binding to genOnOff default:
Debug for FuncPayload: genOnOff 0 0
but we doesnt see any converter messages .. so here it seems to be some broken structure.
the same for another functionality:
Debug for FuncPayload: genLevelCtrl 0 5
..
Debug for FuncPayload: genLevelCtrl 0 3
and this is our converter message:
zigbee2mqtt:warn 2018-9-30 14:45:07 No converter available for '4x EU-LIGHTIFY' with cid 'genLevelCtrl', type 'cmdStop' and data '{"cid":"genLevelCtrl","data":{}}'
we doesn´t see the data messages .. from debug on zcl-packet -> functionality.js we got them.
Do you know what happened in detail ??
Why do we need data? We can check the action based on the type, in the example below: cmdOn.
genOnOff 0 0 genOnOff 0 0 genOnOff 0 1 2018-7-24 12:13:22 WARN No converter available for 'TODO' with cid 'genOnOff', type 'cmdOn' and data '{"cid":"genOnOff","data":{}}' 2018-7-24 12:13:22 WARN Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices. lightingColorCtrl 0 76 lightingColorCtrl 0 76
As you could see at this example:
https://github.com/Koenkk/zigbee2mqtt/issues/159#issuecomment-407655117
we see the converter message only for the first button.
as the debug log shows you that pushing the second one we also get genOnOff but NO converter message.
That the same as i did post above.
As we doesn´t see on every button the right converter message i´m thinking about some missing data values .. but maybe I'm on a complete wrong track and you're showing me how it could work right?
Could you add to: https://github.com/Koenkk/zigbee-shepherd/blob/master/lib/components/af.js#L670
console.log(`-- ${msg.zclMsg}`)
Hi @Koenkk
because of your code and the return of -- [object Object]
i modify them to console.log(`-- ${JSON.stringify(msg.zclMsg)}`) and get this results:
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +7ms
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":63,"cmdId":"on","payload":{}}
zigbee2mqtt:debug 2018-10-2 17:06:05 Recieved zigbee message with data {"cid":"genOnOff","data":{}}
zigbee2mqtt:warn 2018-10-2 17:06:05 No converter available for '4x EU-LIGHTIFY' with cid 'genOnOff', type 'cmdOn' and data '{"cid":"genOnOff","data":{}}'
zigbee2mqtt:warn 2018-10-2 17:06:05 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
and second button:
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +23ms
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":65,"cmdId":"off","payload":{}}
without converter message....
but i see .. after i extend const cmdIDs with off
i got the message now:
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +2ms
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":73,"cmdId":"off","payload":{}}
zigbee2mqtt:debug 2018-10-2 17:09:33 Recieved zigbee message with data {"cid":"genOnOff","data":{}}
zigbee2mqtt:warn 2018-10-2 17:09:33 No converter available for '4x EU-LIGHTIFY' with cid 'genOnOff', type 'cmdOff' and data '{"cid":"genOnOff","data":{}}'
zigbee2mqtt:warn 2018-10-2 17:09:33 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
Okay i got them now:
const cmdIDs = [
'on', 'offWithEffect', 'step', 'stop', //Philips-RWL020-RWL021
'off', 'stepColorTemp', 'moveWithOnOff', 'move', 'moveHue', 'moveToSaturation' //OSRAM-Switch 4x EU-LIGHTIFY
];
Now we need to build all type of converter, hope you could help me @Koenkk ??
This is my converter.js part to get them all working:
{
zigbeeModel: ['Switch 4x EU-LIGHTIFY'],
model: '4x EU-LIGHTIFY',
vendor: 'OSRAM',
description: 'LIGHTIFY Switch 4x',
supports: 'on/off',
fromZigbee: [fz.ignore_power_change, fz.generic_power_battvolt],
toZigbee: [tz.factory_reset],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const ep1 = shepherd.find(ieeeAddr, 1);
const ep2 = shepherd.find(ieeeAddr, 2);
const ep3 = shepherd.find(ieeeAddr, 3);
const ep4 = shepherd.find(ieeeAddr, 4);
const actions = [
(cb) => ep1.bind('genOnOff', coordinator, cb),
(cb) => ep1.bind('lightingColorCtrl', coordinator, cb),
(cb) => ep1.bind('genLevelCtrl', coordinator, cb),
(cb) => ep1.bind('genPowerCfg', coordinator, cb),
(cb) => ep1.report('genPowerCfg', 'batteryVoltage', 300, 3600, 0, cb),
(cb) => ep2.bind('genOnOff', coordinator, cb),
(cb) => ep2.bind('lightingColorCtrl', coordinator, cb),
(cb) => ep2.bind('genLevelCtrl', coordinator, cb),
(cb) => ep3.bind('genOnOff', coordinator, cb),
(cb) => ep3.bind('lightingColorCtrl', coordinator, cb),
(cb) => ep3.bind('genLevelCtrl', coordinator, cb),
(cb) => ep4.bind('genOnOff', coordinator, cb),
(cb) => ep4.bind('lightingColorCtrl', coordinator, cb),
(cb) => ep4.bind('genLevelCtrl', coordinator, cb),
];
execute(ep1, actions, callback);
},
},
see also my modification here: https://github.com/Koenkk/zigbee2mqtt/issues/159?_pjax=%23js-repo-pjax-container#issuecomment-423765975
and here are the sample log for every button functionality like push, push and hold, release:
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +35s
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":41,"cmdId":"on","payload":{}}
zigbee2mqtt:debug 2018-10-2 17:28:21 Recieved zigbee message with data {"cid":"genOnOff","data":{}}
zigbee2mqtt:warn 2018-10-2 17:28:21 No converter available for '4x EU-LIGHTIFY' with cid 'genOnOff', type 'cmdOn' and data '{"cid":"genOnOff","data":{}}'
zigbee2mqtt:warn 2018-10-2 17:28:21 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +2s
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":43,"cmdId":"off","payload":{}}
zigbee2mqtt:debug 2018-10-2 17:28:23 Recieved zigbee message with data {"cid":"genOnOff","data":{}}
zigbee2mqtt:warn 2018-10-2 17:28:23 No converter available for '4x EU-LIGHTIFY' with cid 'genOnOff', type 'cmdOff' and data '{"cid":"genOnOff","data":{}}'
zigbee2mqtt:warn 2018-10-2 17:28:23 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +2s
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":45,"cmdId":"moveWithOnOff","payload":{"movemode":0,"rate":38}}
zigbee2mqtt:debug 2018-10-2 17:28:26 Recieved zigbee message with data {"cid":"genLevelCtrl","data":{"movemode":0,"rate":38}}
zigbee2mqtt:warn 2018-10-2 17:28:26 No converter available for '4x EU-LIGHTIFY' with cid 'genLevelCtrl', type 'cmdMoveWithOnOff' and data '{"cid":"genLevelCtrl","data":{"movemode":0,"rate":38}}'
zigbee2mqtt:warn 2018-10-2 17:28:26 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +420ms
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":47,"cmdId":"stop","payload":{}}
zigbee2mqtt:debug 2018-10-2 17:28:26 Recieved zigbee message with data {"cid":"genLevelCtrl","data":{}}
zigbee2mqtt:warn 2018-10-2 17:28:26 No converter available for '4x EU-LIGHTIFY' with cid 'genLevelCtrl', type 'cmdStop' and data '{"cid":"genLevelCtrl","data":{}}'
zigbee2mqtt:warn 2018-10-2 17:28:26 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +3s
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":49,"cmdId":"move","payload":{"movemode":1,"rate":38}}
zigbee2mqtt:debug 2018-10-2 17:28:29 Recieved zigbee message with data {"cid":"genLevelCtrl","data":{"movemode":1,"rate":38}}
zigbee2mqtt:warn 2018-10-2 17:28:29 No converter available for '4x EU-LIGHTIFY' with cid 'genLevelCtrl', type 'cmdMove' and data '{"cid":"genLevelCtrl","data":{"movemode":1,"rate":38}}'
zigbee2mqtt:warn 2018-10-2 17:28:29 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +328ms
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":51,"cmdId":"stop","payload":{}}
zigbee2mqtt:debug 2018-10-2 17:28:29 Recieved zigbee message with data {"cid":"genLevelCtrl","data":{}}
zigbee2mqtt:warn 2018-10-2 17:28:29 No converter available for '4x EU-LIGHTIFY' with cid 'genLevelCtrl', type 'cmdStop' and data '{"cid":"genLevelCtrl","data":{}}'
zigbee2mqtt:warn 2018-10-2 17:28:29 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +2s
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":53,"cmdId":"stepColorTemp","payload":{"stepx":6401,"stepy":2560,"transtime":0}}
zigbee2mqtt:debug 2018-10-2 17:28:31 Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"stepx":6401,"stepy":2560,"transtime":0}}
zigbee2mqtt:warn 2018-10-2 17:28:31 No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdStepColorTemp' and data '{"cid":"lightingColorCtrl","data":{"stepx":6401,"stepy":2560,"transtime":0}}'
zigbee2mqtt:warn 2018-10-2 17:28:31 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +2s
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":55,"cmdId":"stepColorTemp","payload":{"stepx":6403,"stepy":2560,"transtime":0}}
zigbee2mqtt:debug 2018-10-2 17:28:33 Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"stepx":6403,"stepy":2560,"transtime":0}}
zigbee2mqtt:warn 2018-10-2 17:28:33 No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdStepColorTemp' and data '{"cid":"lightingColorCtrl","data":{"stepx":6403,"stepy":2560,"transtime":0}}'
zigbee2mqtt:warn 2018-10-2 17:28:33 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +2s
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":57,"cmdId":"moveToSaturation","payload":{"saturation":254,"transtime":2}}
zigbee2mqtt:debug 2018-10-2 17:28:36 Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"saturation":254,"transtime":2}}
zigbee2mqtt:warn 2018-10-2 17:28:36 No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdMoveToSaturation' and data '{"cid":"lightingColorCtrl","data":{"saturation":254,"transtime":2}}'
zigbee2mqtt:warn 2018-10-2 17:28:36 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +949ms
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":59,"cmdId":"moveHue","payload":{"movemode":0,"rate":0}}
zigbee2mqtt:debug 2018-10-2 17:28:37 Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"movemode":0,"rate":0}}
zigbee2mqtt:warn 2018-10-2 17:28:37 No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdMoveHue' and data '{"cid":"lightingColorCtrl","data":{"movemode":0,"rate":0}}'
zigbee2mqtt:warn 2018-10-2 17:28:37 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +2s
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":61,"cmdId":"moveToSaturation","payload":{"saturation":254,"transtime":2}}
zigbee2mqtt:debug 2018-10-2 17:28:39 Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"saturation":254,"transtime":2}}
zigbee2mqtt:warn 2018-10-2 17:28:39 No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdMoveToSaturation' and data '{"cid":"lightingColorCtrl","data":{"saturation":254,"transtime":2}}'
zigbee2mqtt:warn 2018-10-2 17:28:39 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +757ms
-- {"frameCntl":{"frameType":1,"manufSpec":0,"direction":0,"disDefaultRsp":1},"manufCode":0,"seqNum":63,"cmdId":"moveHue","payload":{"movemode":0,"rate":0}}
zigbee2mqtt:debug 2018-10-2 17:28:39 Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"movemode":0,"rate":0}}
zigbee2mqtt:warn 2018-10-2 17:28:39 No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdMoveHue' and data '{"cid":"lightingColorCtrl","data":{"movemode":0,"rate":0}}'
zigbee2mqtt:warn 2018-10-2 17:28:39 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
genOnOff with cmdOn and cmdOff are easy, but the next two are tweaky, especially the lightingColorCtrl stuff.
actually i got the genOnOff and the genLevelCtrl converter part finished .. thanks to our Philips-Switch we got a solid template :)
debug: Recieved zigbee message with data {"cid":"genOnOff","data":{}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"action":"on"}'
debug: Recieved zigbee message with data {"cid":"genOnOff","data":{}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"action":"off"}'
debug: Recieved zigbee message with data {"cid":"genPowerCfg","data":{"batteryVoltage":29}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{}}
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{"movemode":0,"rate":38}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"action":"uphold","brightness":255}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{"movemode":1,"rate":38}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"action":"downhold","brightness":255}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"brightness":219.7,"action":"downholdrelease"}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{"movemode":1,"rate":38}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"action":"downhold","brightness":219.7}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"brightness":88.29999999999998,"action":"downholdrelease"}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{"movemode":1,"rate":38}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"action":"downhold","brightness":88.29999999999998}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"brightness":48.499999999999986,"action":"downholdrelease"}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{"movemode":1,"rate":38}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"action":"downhold","brightness":48.499999999999986}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"brightness":11.999999999999986,"action":"downholdrelease"}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{"movemode":1,"rate":38}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"action":"downhold","brightness":11.999999999999986}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"brightness":0,"action":"downholdrelease"}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{"movemode":1,"rate":38}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"action":"downhold","brightness":0}'
debug: Recieved zigbee message with data {"cid":"genLevelCtrl","data":{}}
info: MQTT publish, topic: 'zigbee2mqtt/Switch 4x EULIGHTIFY', payload: '{"voltage":2.9,"brightness":0,"action":"downholdrelease"}'
now i´m working on lightingColorCtrl converter part .. will report if i got something working.
nice
@Koenkk Question:
if i push the button single stepp for up or down i got this message:
warn: No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdStepColorTemp' and data '{"cid":"lightingColorCtrl","data":{"stepx":6401,"stepy":2560,"transtime":0}}'
and
warn: No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdStepColorTemp' and data '{"cid":"lightingColorCtrl","data":{"stepx":6403,"stepy":2560,"transtime":0}}'
The two values for stepx only changed between this two .. so no higher or lower value by pushing.
for the push and hold i got multiple type and cid messages ..
from the complexibility i think we should check what we exactly need.
if we would like to transport lightingColorCtrl i need the help from @Koenkk
so what should we official present ? the lightingColorCtrl themselve or maybe some sort of own button mapping like another on/off and brighter/lower function ??
The lightingColorCtrl command should send the x/y color to MQTT.
okay thanks.
as you could see by this logfile (hold and release up / hold and release down button), the single step push are the value from the above post so i doesn´t duplicate them here, i doesn´t got easy your x/y color values ..
Maybe you got an Idea so i could implement??
2018-10-03T12:56:30.392Z - debug: Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"saturation":254,"transtime":2}}
2018-10-03T12:56:30.395Z - warn: No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdMoveToSaturation' and data '{"cid":"lightingColorCtrl","data":{"saturation":254,"transtime":2}}'
2018-10-03T12:56:30.398Z - warn: Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
2018-10-03T12:56:31.340Z - debug: Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"movemode":1,"rate":25}}
2018-10-03T12:56:31.343Z - warn: No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdMoveHue' and data '{"cid":"lightingColorCtrl","data":{"movemode":1,"rate":25}}'
2018-10-03T12:56:31.345Z - warn: Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
2018-10-03T12:56:33.504Z - debug: Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"movemode":0,"rate":0}}
2018-10-03T12:56:33.507Z - warn: No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdMoveHue' and data '{"cid":"lightingColorCtrl","data":{"movemode":0,"rate":0}}'
2018-10-03T12:56:33.510Z - warn: Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
and
2018-10-03T12:57:42.249Z - debug: Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"saturation":254,"transtime":2}}
2018-10-03T12:57:42.253Z - warn: No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdMoveToSaturation' and data '{"cid":"lightingColorCtrl","data":{"saturation":254,"transtime":2}}'
2018-10-03T12:57:42.255Z - warn: Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
2018-10-03T12:57:43.207Z - debug: Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"movemode":3,"rate":25}}
2018-10-03T12:57:43.215Z - warn: No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdMoveHue' and data '{"cid":"lightingColorCtrl","data":{"movemode":3,"rate":25}}'
2018-10-03T12:57:43.219Z - warn: Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
2018-10-03T12:57:44.236Z - debug: Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"saturation":254,"transtime":2}}
2018-10-03T12:57:44.240Z - warn: No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdMoveToSaturation' and data '{"cid":"lightingColorCtrl","data":{"saturation":254,"transtime":2}}'
2018-10-03T12:57:44.243Z - warn: Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
2018-10-03T12:57:45.238Z - debug: Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"movemode":3,"rate":25}}
2018-10-03T12:57:45.242Z - warn: No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdMoveHue' and data '{"cid":"lightingColorCtrl","data":{"movemode":3,"rate":25}}'
2018-10-03T12:57:45.244Z - warn: Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
2018-10-03T12:57:47.053Z - debug: Recieved zigbee message with data {"cid":"lightingColorCtrl","data":{"movemode":0,"rate":0}}
2018-10-03T12:57:47.057Z - warn: No converter available for '4x EU-LIGHTIFY' with cid 'lightingColorCtrl', type 'cmdMoveHue' and data '{"cid":"lightingColorCtrl","data":{"movemode":0,"rate":0}}'
2018-10-03T12:57:47.061Z - warn: Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
Should we ignore this output and build our own logic like we do with genLevelCtrl ??
Maybe you could use the TRADFRI wireless dimmer implementation as a reference? https://github.com/Koenkk/zigbee-shepherd-converters/blob/master/converters/fromZigbee.js#L828
Okay thanks that could help :)
new version, new problem, after click any button
zigbee2mqtt:info 2018-11-15 20:57:16 zigbee-shepherd ready
zigbee2mqtt:info 2018-11-15 20:57:16 Connected to MQTT server
zigbee2mqtt:info 2018-11-15 20:57:16 MQTT publish, topic: 'zigbee2mqtt/bridge/state', payload: 'online'
/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:33
throw new Error('Unrecognized command');
^
Error: Unrecognized command
at new FuncPayload (/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:33:15)
at /opt/zigbee2mqtt/node_modules/zcl-packet/lib/zcl.js:33:22
at Dissolve.<anonymous> (/opt/zigbee2mqtt/node_modules/zcl-packet/lib/zcl.js:121:9)
at Object.onceWrapper (events.js:315:30)
at emitOne (events.js:116:13)
at Dissolve.emit (events.js:211:7)
at Dissolve.<anonymous> (/opt/zigbee2mqtt/node_modules/dissolve-chunks/index.js:73:29)
at emitNone (events.js:106:13)
at Dissolve.emit (events.js:208:7)
at emitReadable_ (/opt/zigbee2mqtt/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:456:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-11-15T19_58_15_578Z-debug.log
@arteck possibly because you reverted your manual changes in zigbee-shepherd?
no .. its new zigbee2mqtt installation...
AFAIK zcl-packet has not been changed in 0.2.0.
Can you add to: https://github.com/Koenkk/zcl-packet/blob/master/lib/functional.js#L20
console.log(clusterId, direction, cmd)
sry for close..
with new installation works.. but which dependency is it... my iobroker crashed after press a button..
For iobroker issues, please open one at the iobroker issue tracker.
I have the same switch so i followed the provided steps above.
I had a hard Time to change the lines in my hassio- docker, but i am Not able to get the Switch Running.
Is there a Chance to implement the changes into the edge Build?
Same thing here. Did not check here before buying and now tried to make my own new device support. Results:
/app/node_modules/zcl-packet/lib/functional.js:33
throw new Error('Unrecognized command');
^
Error: Unrecognized command
at new FuncPayload (/app/node_modules/zcl-packet/lib/functional.js:33:15)
at /app/node_modules/zcl-packet/lib/zcl.js:33:22
at Dissolve.<anonymous> (/app/node_modules/zcl-packet/lib/zcl.js:121:9)
at Object.onceWrapper (events.js:315:30)
at emitOne (events.js:116:13)
at Dissolve.emit (events.js:211:7)
at Dissolve.<anonymous> (/app/node_modules/dissolve-chunks/index.js:73:29)
at emitNone (events.js:106:13)
at Dissolve.emit (events.js:208:7)
at emitReadable_ (/app/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:456:10)
npm
ERR! code ELIFECYCLE
npm ERR! errno 1
npm
ERR! [email protected] start: `node index.js`
npm ERR!
Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
I managed to get the left up and down working and being recognized by stealing all stuff from "Lightify Switch Mini" though.
Current results:
{
zigbeeModel: ['Switch 4x EU-LIGHTIFY'],
model: 'AB371860155',
vendor: 'OSRAM',
description: 'LIGHTIFY Switch',
supports: 'on/off, brightness',
fromZigbee: [
fz.AC0251100NJ_on, fz.AC0251100NJ_off, fz.generic_batteryvoltage_3000_2500,
],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const actions = [
(cb) => device.bind('genOnOff', coordinator, cb),
(cb) => device.bind('lightingColorCtrl', coordinator, cb),
(cb) => device.bind('genLevelCtrl', coordinator, cb),
(cb) => device.bind('genPowerCfg', coordinator, cb),
(cb) => device.report('genPowerCfg', 'batteryVoltage', 900, 3600, 0, cb),
];
execute(device, actions, callback);
},
},
This makes it detect a switching on and off on the left side, but right side results in what I pasted above.
I am on 31.01.19's zigbee2mqtt edge on Hass.IO
And yes, I have no clue what makes it use the lamps it does, but the switch switches on/off my living room and changes the color of my led strips in my rack ^^
This switch send a broadcast request. Let's continue this discussion here: https://github.com/Koenkk/zigbee2mqtt/issues/962
The problem is that the switch does stuff to lights in the same network by default and that has to stop. If this is not possible, it's useless. Thus koenkk might need some Zigbee sniffs from a Switch and a official gateway and commands of what what button should do. I have all the stuff here, only the zigbee sniffer is a lil problem right now...
@Koenkk @dreimer1986
I think i got it:
Per default the Remote just broadcasts to the whole network, hence all lights react.
When a group binding is created the Remote will only use that group.
This is needing because the "Level Control cluster" isnt binded per default.
I´m working on a general implementation of this device how we have done things in the past (see complete issue topic).
For this i use the bind of all 4 Endpoints to the coordinator.
Yesterday they react fine and i´m working on the basic converter implementation.
Will provide more informations if we could do more tests.
After I did not hear much here recently I went down the rabbit hole and connected the switch to a original Osram Gateway. Its a funny lil device, that for sure. When you finally managed to get it connected, you have such a config screen: https://dammedia.osram.info/media/resource/hires/osram-dam-419280/lightify_anleitung_appguide.pdf (Check page 9)
The switch by default always has the config we know already until you reprogram the buttons via app. (The three pics at the end of the page show that reprogramming.)
Funfact, if you connect the switch to a Hue gateway, you cannot configure it anywhere or even see it anywhere in the app, but it does the same default all lights on/off etcetc happiness.
So if we really want to support that switch, we would have to reverse that reprogramming, right?
If that's the case, I really need to find a way to completely reset the switch (does not wanna connect anymore to official gateway right now) and sniff the sent data, but does this help? Is this somthing someone would like to implement at all?
Reset the switch with top left and bottom right push for 12 seconds. Why is it so difficult to configure the switch to, lets say, 4 independend switches? Is it more then sending a zigbee command to a cluster?
It seems the Lightify 4x Switch is still not supported, but the Lightify Switch with 3 buttons is.
The other switch sends broadcast requests as well, is the behaviour different to the 3 button switch or why is it not supported?
I followed the instructions on https://www.zigbee2mqtt.io/how_tos/how_to_support_new_devices.html and got it to work with home assistant. Can't tell if there are broadcast issues, as it is my only osram device in the network.
Pull Requests are
https://github.com/Koenkk/zigbee-herdsman-converters/pull/1112 and
https://github.com/Koenkk/zigbee2mqtt/pull/3242
Looking forward to see this committed. I can tell you then if it still thinks about controlling some lamps without asking then. If that's the case there should be a way to make it go silent according to official app... (At least you can select behavior in there incl. no device control)
I've been testing it for a week (manually merged the pull request), and there are no issues so far.
No broadcast issues with other osram devices, it is working just like the Osram 3 button switch.
Most helpful comment
@Koenkk @dreimer1986
I think i got it:
Per default the Remote just broadcasts to the whole network, hence all lights react.
When a group binding is created the Remote will only use that group.
This is needing because the "Level Control cluster" isnt binded per default.
I´m working on a general implementation of this device how we have done things in the past (see complete issue topic).
For this i use the bind of all 4 Endpoints to the coordinator.
Yesterday they react fine and i´m working on the basic converter implementation.
Will provide more informations if we could do more tests.