Koenkk / zigbee2mqtt

Zigbee 🐝 to MQTT bridge 🌉, get rid of your proprietary Zigbee bridges 🔨
https://www.zigbee2mqtt.io
GNU General Public License v3.0
11.89k stars 1.66k forks source link

[New device support]: EcoDim Eco-Dim.10 #11339

Closed lvanjaarsveld closed 2 years ago

lvanjaarsveld commented 2 years ago

Link

https://www.ecodim.nl/eco-dim10-zigbee.html

Database entry

{"id":2,"type":"Router","ieeeAddr":"0x0c4314fffe237f1b","nwkAddr":12910,"manufId":4714,"manufName":"EcoDim BV","powerSource":"Mains (single phase)","modelId":"EcoDim-Zigbee 3.0","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":257,"inClusterList":[0,3,4,5,6,8,2821,4096],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"EcoDim-Zigbee 3.0","manufacturerName":"EcoDim BV","powerSource":1,"zclVersion":3,"appVersion":3,"stackVersion":6,"hwVersion":1,"dateCode":"20210228","swBuildId":"3.09"}}},"binds":[{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x00124b00237b9d68","endpointID":242},{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x00124b00237b9d68","endpointID":242}],"configuredReportings":[{"cluster":6,"attrId":0,"minRepIntval":0,"maxRepIntval":3600,"repChange":0},{"cluster":8,"attrId":0,"minRepIntval":0,"maxRepIntval":3600,"repChange":1}],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":3,"stackVersion":6,"hwVersion":1,"dateCode":"20210228","swBuildId":"3.09","zclVersion":3,"interviewCompleted":true,"meta":{"configured":-526939472},"lastSeen":1644489583411,"defaultSendRequestWhen":"immediate"}

Comments

The device itself is actually discovered and recognized as ECO-DIM.07 which is not correct, it's a ECO-DIM.10. In my Zigbee network, I'm using 9 ECO-DIM.07 modules flawlessly. Based on their performance and bad experience with iCasa modules I decided to buy and add support for the ECO-DIM.10 module. Sadly I got stuck very quickly due to the fact the device is not detected as an unsupported device.

I setup a isolated zigbee network running from my laptop on the zigbee2mqtt-dev branch for debugging purposes. Any suggestions to try are welcome. Edit > Forgot to mention even it's interviewed as ECO-DIM.10 the device is not working, its similar in function (on/off, brightness) but all commands timeout.

External converter

Non jet.

Supported color modes

No response

Color temperature range

No response

lvanjaarsveld commented 2 years ago

Here is the log of the interview and after that I tried interacting with the device.

debug 2022-02-10 11:38:48: Can't load state from file C:\zigbee2mqtt-dev\data\state.json (doesn't exist) info 2022-02-10 11:38:48: Logging to console and directory: 'C:\zigbee2mqtt-dev\data\log\2022-02-10.11-38-46' filename: log.txt info 2022-02-10 11:38:48: Starting Zigbee2MQTT version 1.23.0-dev (commit #unknown) info 2022-02-10 11:38:48: Starting zigbee-herdsman (0.14.13) debug 2022-02-10 11:38:48: Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null,"disableLED":false},"backupPath":"C:\\zigbee2mqtt-dev\\data\\coordinator_backup.json","databaseBackupPath":"C:\\zigbee2mqtt-dev\\data\\database.db.backup","databasePath":"C:\\zigbee2mqtt-dev\\data\\database.db","network":{"channelList":[11],"extendedPanID":[221,221,221,221,221,221,221,221],"networkKey":"HIDDEN","panID":6754},"serialPort":{"path":"\\\\.\\COM3"}}' info 2022-02-10 11:39:16: zigbee-herdsman started (reset) info 2022-02-10 11:39:16: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20211217,"transportrev":2},"type":"zStack3x0"}' debug 2022-02-10 11:39:16: Zigbee network parameters: {"channel":11,"extendedPanID":"0x00124b00237b9d68","panID":6754} info 2022-02-10 11:39:16: Currently 0 devices are joined: info 2022-02-10 11:39:16: Zigbee: disabling joining new devices. info 2022-02-10 11:39:16: Connecting to MQTT server at mqtt://localhost debug 2022-02-10 11:39:16: Using MQTT anonymous login info 2022-02-10 11:39:16: Connected to MQTT server info 2022-02-10 11:39:16: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"online"}' info 2022-02-10 11:39:16: Started frontend on port 0.0.0.0:8080 debug 2022-02-10 11:39:30: Received MQTT message on 'zigbee2mqtt/bridge/request/permit_join' with data '{"device":null,"time":254,"transaction":"rrid4-1","value":true}' info 2022-02-10 11:39:30: Zigbee: allowing new devices to join. info 2022-02-10 11:39:30: MQTT publish: topic 'zigbee2mqtt/bridge/response/permit_join', payload '{"data":{"time":254,"value":true},"status":"ok","transaction":"rrid4-1"}' info 2022-02-10 11:39:40: Device '0x0c4314fffe237f1b' joined info 2022-02-10 11:39:41: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x0c4314fffe237f1b","ieee_address":"0x0c4314fffe237f1b"},"type":"device_joined"}' info 2022-02-10 11:39:41: Starting interview of '0x0c4314fffe237f1b' info 2022-02-10 11:39:41: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x0c4314fffe237f1b","ieee_address":"0x0c4314fffe237f1b","status":"started"},"type":"device_interview"}' debug 2022-02-10 11:39:41: Received Zigbee message from '0x0c4314fffe237f1b', type 'readResponse', cluster 'genBasic', data '{"modelId":"EcoDim-Zigbee 3.0"}' from endpoint 1 with groupID 0 debug 2022-02-10 11:39:41: Skipping message, definition is undefined and still interviewing debug 2022-02-10 11:39:41: Received Zigbee message from '0x0c4314fffe237f1b', type 'readResponse', cluster 'genBasic', data '{"manufacturerName":"EcoDim BV"}' from endpoint 1 with groupID 0 debug 2022-02-10 11:39:41: Skipping message, definition is undefined and still interviewing debug 2022-02-10 11:39:41: Received Zigbee message from '0x0c4314fffe237f1b', type 'readResponse', cluster 'genBasic', data '{"powerSource":1}' from endpoint 1 with groupID 0 debug 2022-02-10 11:39:41: Skipping message, definition is undefined and still interviewing debug 2022-02-10 11:39:41: Device '0x0c4314fffe237f1b' announced itself info 2022-02-10 11:39:41: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x0c4314fffe237f1b","ieee_address":"0x0c4314fffe237f1b"},"type":"device_announce"}' debug 2022-02-10 11:39:41: Received Zigbee message from '0x0c4314fffe237f1b', type 'readResponse', cluster 'genBasic', data '{"zclVersion":3}' from endpoint 1 with groupID 0 debug 2022-02-10 11:39:42: Skipping message, definition is undefined and still interviewing debug 2022-02-10 11:39:42: Received Zigbee message from '0x0c4314fffe237f1b', type 'readResponse', cluster 'genBasic', data '{"appVersion":3}' from endpoint 1 with groupID 0 debug 2022-02-10 11:39:42: Skipping message, definition is undefined and still interviewing debug 2022-02-10 11:39:42: Received Zigbee message from '0x0c4314fffe237f1b', type 'readResponse', cluster 'genBasic', data '{"stackVersion":6}' from endpoint 1 with groupID 0 debug 2022-02-10 11:39:42: Skipping message, definition is undefined and still interviewing debug 2022-02-10 11:39:42: Received Zigbee message from '0x0c4314fffe237f1b', type 'readResponse', cluster 'genBasic', data '{"hwVersion":1}' from endpoint 1 with groupID 0 debug 2022-02-10 11:39:42: Skipping message, definition is undefined and still interviewing debug 2022-02-10 11:39:42: Received Zigbee message from '0x0c4314fffe237f1b', type 'readResponse', cluster 'genBasic', data '{"dateCode":"20210228"}' from endpoint 1 with groupID 0 debug 2022-02-10 11:39:42: Skipping message, definition is undefined and still interviewing debug 2022-02-10 11:39:42: Received Zigbee message from '0x0c4314fffe237f1b', type 'readResponse', cluster 'genBasic', data '{"swBuildId":"3.09"}' from endpoint 1 with groupID 0 debug 2022-02-10 11:39:42: Skipping message, definition is undefined and still interviewing info 2022-02-10 11:39:42: Successfully interviewed '0x0c4314fffe237f1b', device has successfully been paired info 2022-02-10 11:39:42: Device '0x0c4314fffe237f1b' is supported, identified as: EcoDim Zigbee & Z-wave dimmer (Eco-Dim.07) info 2022-02-10 11:39:42: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"definition":{"description":"Zigbee & Z-wave dimmer","exposes":[{"features":[{"access":7,"description":"On/off state of this light","name":"state","property":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"},{"access":7,"description":"Brightness of this light","name":"brightness","property":"brightness","type":"numeric","value_max":254,"value_min":0}],"type":"light"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"Eco-Dim.07","options":[{"access":2,"description":"Controls the transition time (in seconds) of on/off, brightness, color temperature (if applicable) and color (if applicable) changes. Defaults to0(no transition).","name":"transition","property":"transition","type":"numeric","value_min":0}],"supports_ota":false,"vendor":"EcoDim"},"friendly_name":"0x0c4314fffe237f1b","ieee_address":"0x0c4314fffe237f1b","status":"successful","supported":true},"type":"device_interview"}' info 2022-02-10 11:39:42: Configuring '0x0c4314fffe237f1b' info 2022-02-10 11:39:43: Successfully configured '0x0c4314fffe237f1b' debug 2022-02-10 11:40:09: Received Zigbee message from '0x0c4314fffe237f1b', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":50947376,"imageType":44,"manufacturerCode":4714}' from endpoint 1 with groupID 0 debug 2022-02-10 11:40:09: Device '0x0c4314fffe237f1b' requested OTA debug 2022-02-10 11:43:22: Received MQTT message on 'zigbee2mqtt/0x0c4314fffe237f1b/get' with data '{"state":""}' debug 2022-02-10 11:43:22: Publishing get 'get' 'state' to '0x0c4314fffe237f1b' error 2022-02-10 11:43:39: Publish 'get' 'state' to '0x0c4314fffe237f1b' failed: 'Error: Read 0x0c4314fffe237f1b/1 genOnOff(["onOff"], {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'MAC no ack' (233))' debug 2022-02-10 11:43:39: Error: Read 0x0c4314fffe237f1b/1 genOnOff(["onOff"], {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'MAC no ack' (233)) at ZStackAdapter.sendZclFrameToEndpointInternal (C:\zigbee2mqtt-dev\node_modules\zigbee-herdsman\src\adapter\z-stack\adapter\zStackAdapter.ts:414:23) at Queue.executeNext (C:\zigbee2mqtt-dev\node_modules\zigbee-herdsman\src\utils\queue.ts:32:32) debug 2022-02-10 11:43:48: Saving state to file C:\zigbee2mqtt-dev\data\state.json debug 2022-02-10 11:44:01: Received MQTT message on 'zigbee2mqtt/0x0c4314fffe237f1b/set' with data '{"state":"OFF"}' debug 2022-02-10 11:44:01: Publishing 'set' 'state' to '0x0c4314fffe237f1b' error 2022-02-10 11:44:18: Publish 'set' 'state' to '0x0c4314fffe237f1b' failed: 'Error: Command 0x0c4314fffe237f1b/1 genOnOff.off({}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'MAC no ack' (233))' debug 2022-02-10 11:44:18: Error: Command 0x0c4314fffe237f1b/1 genOnOff.off({}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'MAC no ack' (233)) at ZStackAdapter.sendZclFrameToEndpointInternal (C:\zigbee2mqtt-dev\node_modules\zigbee-herdsman\src\adapter\z-stack\adapter\zStackAdapter.ts:414:23) at Queue.executeNext (C:\zigbee2mqtt-dev\node_modules\zigbee-herdsman\src\utils\queue.ts:32:32) debug 2022-02-10 11:48:48: Saving state to file C:\zigbee2mqtt-dev\data\state.json debug 2022-02-10 11:53:48: Saving state to file C:\zigbee2mqtt-dev\data\state.json

lvanjaarsveld commented 2 years ago

Ok, strange update. Was trying to utilize the dev console, initially failing quite a few commands. Then I was suddenly able to read onoff and levelcontrol. From that point I was also able to fully control the device trough the exposed commands, on/off, brightness.

So in this state the device ECO-DIM.10 is fully functional, just wrongly reported as ECO-DIM.07.

lvanjaarsveld commented 2 years ago

Ok, support looks solid beyond wrong identification. There is a required step to properly add the ecodim.10. I moved the initial device successfully to my main network and after that successful added 3 more devices.

First the eco-dim.10 needs a reset after power up, hold the reset button for 5-6 seconds. Indication light goes red and turns of when finished. Behavior is identical to eco-dim.07. Second, press reset two times shortly. The indicator led wil blink blue. Again similar behavior as evo-dim.07. the device wil now join your network.

Koenkk commented 2 years ago

Device uses the same zigbee model so we cannot distinguish them, changed the model to Eco-Dim.07/Eco-Dim.10.

Changes will be available in the dev branch in a few hours from now. (https://www.zigbee2mqtt.io/advanced/more/switch-to-dev-branch.html)