Koenkk / zigbee2mqtt-user-extensions

This repository contains external extensions to be used with Zigbee2MQTT
MIT License
12 stars 7 forks source link

MiBoxer FUT089Z Controls Exposer stopped working after updating zigbee2mqtt version to 1.35.0 commit: 3d8f0fc #7

Open khaidakin opened 10 months ago

khaidakin commented 10 months ago

Please correct the extension code for MiBoxer FUT089Z due to changes in zigbee2mqtt version 1.35.0

ozzy071988 commented 10 months ago

here too. A few days ago it stopped working and the following information appears in the logs:

debug 2024-01-05 13:24:59Received Zigbee message from 'MiBoxer', type 'commandOn', cluster 'genOnOff', data '{}' from endpoint 1 with groupID 101 debug 2024-01-05 13:24:59No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'commandOn' and data '{}' debug 2024-01-05 13:25:00Received Zigbee message from 'MiBoxer', type 'commandOff', cluster 'genOnOff', data '{}' from endpoint 1 with groupID 101 debug 2024-01-05 13:25:00No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'commandOff' and data '{}' debug 2024-01-05 13:25:21Received Zigbee message from 'MiBoxer', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":157,"transtime":0}' from endpoint 1 with groupID 101 debug 2024-01-05 13:25:21No converter available for 'FUT089Z' with cluster 'genLevelCtrl' and type 'commandMoveToLevel' and data '{"level":157,"transtime":0}' debug 2024-01-05 13:25:30Received Zigbee message from 'MiBoxer', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":157,"transtime":0}' from endpoint 1 with groupID 101 debug 2024-01-05 13:25:30No converter available for 'FUT089Z' with cluster 'genLevelCtrl' and type 'commandMoveToLevel' and data '{"level":157,"transtime":0}'

Koenkk commented 10 months ago

Could you check if the action are exposed with the following external converter:

Koenkk commented 10 months ago

@khaidakin could you also provide the debug log when the extension crashes z2m?

See this on how to enable debug logging.

ozzy071988 commented 10 months ago

Could you check if the action are exposed with the following external converter:

* save this as file next to `configuration.yaml` as `ext_converter.js`

* add it to `configuration.yaml`:
external_converters:
  - ext_converter.js
* start z2m, check if actions are now published.

Nothing...

debug 2024-01-05 14:03:09Received Zigbee message from 'MiBoxer', type 'commandOn', cluster 'genOnOff', data '{}' from endpoint 1 with groupID 101 debug 2024-01-05 14:03:09No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'commandOn' and data '{}' debug 2024-01-05 14:03:12Received Zigbee message from 'MiBoxer', type 'commandOff', cluster 'genOnOff', data '{}' from endpoint 1 with groupID 101 debug 2024-01-05 14:03:12No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'commandOff' and data '{}' debug 2024-01-05 14:03:14Received Zigbee message from 'MiBoxer', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":86,"transtime":0}' from endpoint 1 with groupID 101 debug 2024-01-05 14:03:14No converter available for 'FUT089Z' with cluster 'genLevelCtrl' and type 'commandMoveToLevel' and data '{"level":86,"transtime":0}' debug 2024-01-05 14:03:14Received Zigbee message from 'MiBoxer', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":147,"transtime":0}' from endpoint 1 with groupID 101 debug 2024-01-05 14:03:14No converter available for 'FUT089Z' with cluster 'genLevelCtrl' and type 'commandMoveToLevel' and data '{"level":147,"transtime":0}' debug 2024-01-05 14:03:14Received Zigbee message from 'MiBoxer', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":147,"transtime":0}' from endpoint 1 with groupID 101 debug 2024-01-05 14:03:14No converter available for 'FUT089Z' with cluster 'genLevelCtrl' and type 'commandMoveToLevel' and data '{"level":147,"transtime":0}' debug 2024-01-05 14:03:15Received Zigbee message from 'MiBoxer', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":147,"transtime":0}' from endpoint 1 with groupID 101 debug 2024-01-05 14:03:15No converter available for 'FUT089Z' with cluster 'genLevelCtrl' and type 'commandMoveToLevel' and data '{"level":147,"transtime":0}'

Mqtt publish only debug info

{ "level": "debug", "message": "No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'commandOn' and data '{}'" }

ozzy071988 commented 10 months ago

i paste wrong code. Custom converter works but only brightness. Color temp no.

khaidakin commented 10 months ago
  • save this as file next to configuration.yaml as ext_converter.js
  • add it to configuration.yaml:
external_converters:
  - ext_converter.js
  • start z2m, check if actions are now published.

I did as you wrote and got an error: Zigbee2MQTT:error 2024-01-05 16:03:14: Failed to load external converter file 'controls-exposer.js' (Cannot read properties of undefined (reading 'push'))

Before this, the controls-exposer.js file was located in a separate extension folder, and judging by the fact that there were no errors when starting zigbee2mqtt as now, this was ignored.

khaidakin commented 10 months ago

I have no errors with the old file location in the extension folder, and there is also no response when pressing buttons on the MiBoxer FUT089Z. There is no reaction at all

khaidakin commented 10 months ago

In the zigbee2mqtt web interface this extension is visible and editable, therefore zigbee2mqtt has access to this

ozzy071988 commented 10 months ago

In the zigbee2mqtt web interface this extension is visible and editable, therefore zigbee2mqtt has access to this

This is not a extension. this is custom converter.

You need to save this code in "config/zigbee2mqtt/" like here https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html

khaidakin commented 10 months ago

In the zigbee2mqtt web interface this extension is visible and editable, therefore zigbee2mqtt has access to this

This is not a extension. this is custom converter.

You need to save this code in "config/zigbee2mqtt/" like here https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html

Are we talking about the same thing?

ozzy071988 commented 10 months ago

In the zigbee2mqtt web interface this extension is visible and editable, therefore zigbee2mqtt has access to this

This is not a extension. this is custom converter. You need to save this code in "config/zigbee2mqtt/" like here https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html

Are we talking about the same thing?

Where u paste the code?

khaidakin commented 10 months ago

Please pay attention to which issue you are currently writing in. I opened it on the topic extension which I downloaded from this link https://github.com/Koenkk/zigbee2mqtt-user-extensions/tree/main/unstable/miboxer-fut089z and it worked fine before updating the version zigbee2mqtt

khaidakin commented 10 months ago

I looked through the logs again and still found this error: Zigbee2MQTT:info 2024-01-05 18:12:53: MQTT publish: topic 'zigbee2mqtt/0x0c4314fffe84eaa4', payload '{"brightness":254,"color_temp":352,"last_seen":"2024-01-05T18:12:53+02:00","linkquality":42,"state":"OFF"}' [User Extension - miboxer-fut089z/controls-exposer] ERROR: TypeError: Cannot destructure property 'vendor' of 'data.device._definition' as it is undefined.

ozzy071988 commented 10 months ago

I understand perfectly what and where I write. I have a similar problem. The author sent another solution and asked if it works.

khaidakin commented 10 months ago

Thank you. The converter for MiBoxer works.

ozzy071988 commented 10 months ago

Is possibility to make rest events? temperature, color wheel and dblclick?

khaidakin commented 10 months ago

Is possibility to make rest events? temperature, color wheel and dblclick?

No

ozzy071988 commented 10 months ago

Is possibility to make rest events? temperature, color wheel and dblclick?

No

@khaidakin this is question for @Koenkk

Koenkk commented 10 months ago

@ozzy071988 can you provide the debug log when triggering the missing actions?

ozzy071988 commented 10 months ago

@ozzy071988 can you provide the debug log when triggering the missing actions?

DBLClick -

debug 2024-01-06 17:49:18Received Zigbee message from 'MiBoxer', type 'raw', cluster 'genOnOff', data '{"data":[1,109,253,101,0,1],"type":"Buffer"}' from endpoint 1 with groupID null debug 2024-01-06 17:49:18No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'raw' and data '{"data":[1,109,253,101,0,1],"type":"Buffer"}' debug 2024-01-06 17:49:19Received Zigbee message from 'MiBoxer', type 'raw', cluster 'genOnOff', data '{"data":[1,109,253,101,0,1],"type":"Buffer"}' from endpoint 1 with groupID null debug 2024-01-06 17:49:19No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'raw' and data '{"data":[1,109,253,101,0,1],"type":"Buffer"}' debug 2024-01-06 17:49:20Received Zigbee message from 'MiBoxer', type 'raw', cluster 'genOnOff', data '{"data":[1,109,253,101,0,1],"type":"Buffer"}' from endpoint 1 with groupID null debug 2024-01-06 17:49:20No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'raw' and data '{"data":[1,109,253,101,0,1],"type":"Buffer"}' debug 2024-01-06 17:49:20Received Zigbee message from 'MiBoxer', type 'raw', cluster 'genOnOff', data '{"data":[1,109,253,101,0,1],"type":"Buffer"}' from endpoint 1 with groupID null debug 2024-01-06 17:49:20No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'raw' and data '{"data":[1,109,253,101,0,1],"type":"Buffer"}' debug 2024-01-06 17:49:21Received Zigbee message from 'MiBoxer', type 'raw', cluster 'genOnOff', data '{"data":[1,109,253,101,0,1],"type":"Buffer"}' from endpoint 1 with groupID null debug 2024-01-06 17:49:21No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'raw' and data '{"data":[1,109,253,101,0,1],"type":"Buffer"}'

Color temp -

debug 2024-01-06 17:50:03Received Zigbee message from 'MiBoxer', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":226,"transtime":0}' from endpoint 1 with groupID 101 info 2024-01-06 17:50:03MQTT publish: topic 'zigbee2mqtt/MiBoxer', payload '{"action":"brightness_move_to_level","action_group":101,"action_level":226,"action_transition_time":0,"battery":95,"linkquality":255,"voltage":2900}' info 2024-01-06 17:50:03MQTT publish: topic 'zigbee2mqtt/MiBoxer', payload '{"action":"","battery":95,"linkquality":255,"voltage":2900}' info 2024-01-06 17:50:03MQTT publish: topic 'zigbee2mqtt/MiBoxer/action', payload 'brightness_move_to_level'

color whell - debug 2024-01-06 17:50:45Received Zigbee message from 'MiBoxer', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":226,"transtime":0}' from endpoint 1 with groupID 101 info 2024-01-06 17:50:45MQTT publish: topic 'zigbee2mqtt/MiBoxer', payload '{"action":"brightness_move_to_level","action_group":101,"action_level":226,"action_transition_time":0,"battery":95,"linkquality":255,"voltage":2900}' info 2024-01-06 17:50:45MQTT publish: topic 'zigbee2mqtt/MiBoxer', payload '{"action":"","battery":95,"linkquality":255,"voltage":2900}' info 2024-01-06 17:50:45MQTT publish: topic 'zigbee2mqtt/MiBoxer/action', payload 'brightness_move_to_level'

Koenkk commented 10 months ago

I've added all the actions now, supported in the dev branch

ozzy071988 commented 10 months ago

I've added all the actions now, supported in the dev branch

zb2mqtt edge - without custom converters and with/without custom converter:

DoubleClick

debug 2024-01-07 20:18:45Received Zigbee message from 'MiBoxer', type 'commandOn', cluster 'genOnOff', data '{}' from endpoint 1 with groupID 101 debug 2024-01-07 20:18:45No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'commandOn' and data '{}' debug 2024-01-07 20:19:02Received Zigbee message from 'MiBoxer', type 'raw', cluster 'genOnOff', data '{"data":[1,40,253,101,0,1],"type":"Buffer"}' from endpoint 1 with groupID null debug 2024-01-07 20:19:02No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'raw' and data '{"data":[1,40,253,101,0,1],"type":"Buffer"}' debug 2024-01-07 20:19:03Received Zigbee message from 'MiBoxer', type 'raw', cluster 'genOnOff', data '{"data":[1,40,253,101,0,1],"type":"Buffer"}' from endpoint 1 with groupID null debug 2024-01-07 20:19:03No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'raw' and data '{"data":[1,40,253,101,0,1],"type":"Buffer"}' debug 2024-01-07 20:19:04Received Zigbee message from 'MiBoxer', type 'raw', cluster 'genOnOff', data '{"data":[1,40,253,101,0,1],"type":"Buffer"}' from endpoint 1 with groupID null debug 2024-01-07 20:19:04No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'raw' and data '{"data":[1,40,253,101,0,1],"type":"Buffer"}' debug 2024-01-07 20:19:05Received Zigbee message from 'MiBoxer', type 'raw', cluster 'genOnOff', data '{"data":[1,40,253,101,0,1],"type":"Buffer"}' from endpoint 1 with groupID null debug 2024-01-07 20:19:05No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'raw' and data '{"data":[1,40,253,101,0,1],"type":"Buffer"}' debug 2024-01-07 20:19:05Received Zigbee message from 'MiBoxer', type 'raw', cluster 'genOnOff', data '{"data":[1,40,253,101,0,1],"type":"Buffer"}' from endpoint 1 with groupID null debug 2024-01-07 20:19:05No converter available for 'FUT089Z' with cluster 'genOnOff' and type 'raw' and data '{"data":[1,40,253,101,0,1],"type":"Buffer"}'

Light level debug 2024-01-07 20:19:37Received Zigbee message from 'MiBoxer', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":2,"transtime":0}' from endpoint 1 with groupID 101 debug 2024-01-07 20:19:37No converter available for 'FUT089Z' with cluster 'genLevelCtrl' and type 'commandMoveToLevel' and data '{"level":2,"transtime":0}'

Temperature debug 2024-01-07 20:20:03Received Zigbee message from 'MiBoxer', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":2,"transtime":0}' from endpoint 1 with groupID 101 debug 2024-01-07 20:20:03No converter available for 'FUT089Z' with cluster 'genLevelCtrl' and type 'commandMoveToLevel' and data '{"level":2,"transtime":0}'

Wheel debug 2024-01-07 20:20:25Received Zigbee message from 'MiBoxer', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":2,"transtime":0}' from endpoint 1 with groupID 101 debug 2024-01-07 20:20:25No converter available for 'FUT089Z' with cluster 'genLevelCtrl' and type 'commandMoveToLevel' and data '{"level":2,"transtime":0}'

Koenkk commented 10 months ago

It should work in 1.35.1 (without ext converter)

ozzy071988 commented 10 months ago

It should work in 1.35.1 (without ext converter)

Ok, it works when i reinstall addon. is possible to make lightTemp colorwhell and double click?

TheRelativ commented 10 months ago

It should work in 1.35.1 (without ext converter)

confirm for single click, thanks for repair

Koenkk commented 10 months ago

@ozzy071988 wheel should be send, with 1.35.1 you should not get any No converter available for messages in the log anymore when triggering all the actions.

ozzy071988 commented 10 months ago

OK nice. I will be waiting impatiently :)

Edit:

i have installed 1.35.1 and MQTT exposes payload with topic "brightness_move_to_level" to color whell, color temp, and brightness.

Double click not working.

Color whell payload object topic: "zigbee2mqtt/MiBoxer" payload: object action: "brightness_move_to_level" action_group: 106 action_level: 254 action_transition_time: 0 battery: 95 linkquality: 255 voltage: 2900 qos: 0 retain: false _msgid: "1a15a306dacfea5e"

Color temperature payload

object topic: "zigbee2mqtt/MiBoxer" payload: object action: "brightness_move_to_level" action_group: 106 action_level: 45 action_transition_time: 0 battery: 95 linkquality: 255 voltage: 2900 qos: 0 retain: false _msgid: "ba5f1829ec09f4a4"

muekoeff commented 9 months ago

Cannot destructure property 'vendor' of 'data.device._definition' as it is undefined.

This problem still occures in 1.35.3. I could workaround this be replacing every instance of _definition with definition.

Andy-Hennah commented 6 months ago

I'm using version 1.37.0 Firstly I miss-read documentation and used the user extension here - https://github.com/Koenkk/zigbee2mqtt-user-extensions/blob/main/unstable/miboxer-fut089z/controls-exposer.js I can confirm that this extension still logs "Cannot destructure property 'vendor' of 'data.device._definition' as it is undefined" but I changed the extension code locally to data.device.definition and it works.

However, the colour wheel does not seem to be working (with or without the user extension).
I'm seeing action as "action": "brightness_move_to_level" - but I'd expect to see a different action here with some data to describe the new colour values. I also see action brightness_move_to_level when I click the "R", "G" or "B" buttons on the remote.

Am I missing something? Any help gladly received :-)

Andy-Hennah commented 6 months ago

Following up on this. here are some debug log samples : Colour Wheel Sample 1 [2024-05-17 08:00:33] debug: zh:zstack:unpi:parser: <-- [254,27,68,129,108,0,0,3,240,203,1,1,0,163,0,209,44,151,0,0,7,1,90,6,32,254,0,0,240,203,11,247] [2024-05-17 08:00:33] debug: zh:zstack:unpi:parser: --- parseNext [254,27,68,129,108,0,0,3,240,203,1,1,0,163,0,209,44,151,0,0,7,1,90,6,32,254,0,0,240,203,11,247] [2024-05-17 08:00:33] debug: zh:zstack:unpi:parser: --> parsed 27 - 2 - 4 - 129 - [108,0,0,3,240,203,1,1,0,163,0,209,44,151,0,0,7,1,90,6,32,254,0,0,240,203,11] - 247 [2024-05-17 08:00:33] debug: zh:zstack:znp: AREQ: <-- AF - incomingMsg - {"groupid":108,"clusterid":768,"srcaddr":52208,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":163,"securityuse":0,"timestamp":9907409,"transseqnumber":0,"len":7,"data":{"type":"Buffer","data":[1,90,6,32,254,0,0]}} [2024-05-17 08:00:33] debug: zh:controller: Received payload: clusterID=768, address=52208, groupID=108, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=163, frame={"header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0},"manufacturerCode":null,"transactionSequenceNumber":90,"commandIdentifier":6},"payload":{"hue":32,"saturation":254,"transtime":0},"command":{"ID":6,"parameters":[{"name":"hue","type":32},{"name":"saturation","type":32},{"name":"transtime","type":33}],"name":"moveToHueAndSaturation"}} [2024-05-17 08:00:33] debug: zh:controller: Skipping command 'moveToHueAndSaturation' because it is missing from the lookup [2024-05-17 08:00:33] debug: zh:controller:endpoint: ZCL command 0xf082c0fffeb3cc70/1 lightingColorCtrl.defaultRsp({"cmdId":6,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":90,"writeUndiv":false}) [2024-05-17 08:00:33] debug: zh:zstack:unpi:parser: --- parseNext [] [2024-05-17 08:00:33] debug: zh:zstack:unpi:parser: <-- [254,26,68,129,108,0,8,0,240,203,1,1,0,160,0,2,46,151,0,0,6,1,91,0,205,0,0,240,203,11,58] [2024-05-17 08:00:33] debug: zh:zstack:unpi:parser: --- parseNext [254,26,68,129,108,0,8,0,240,203,1,1,0,160,0,2,46,151,0,0,6,1,91,0,205,0,0,240,203,11,58] [2024-05-17 08:00:33] debug: zh:zstack:unpi:parser: --> parsed 26 - 2 - 4 - 129 - [108,0,8,0,240,203,1,1,0,160,0,2,46,151,0,0,6,1,91,0,205,0,0,240,203,11] - 58 [2024-05-17 08:00:33] debug: zh:zstack:znp: AREQ: <-- AF - incomingMsg - {"groupid":108,"clusterid":8,"srcaddr":52208,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":160,"securityuse":0,"timestamp":9907714,"transseqnumber":0,"len":6,"data":{"type":"Buffer","data":[1,91,0,205,0,0]}} [2024-05-17 08:00:33] debug: zh:controller: Received payload: clusterID=8, address=52208, groupID=108, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=160, frame={"header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0},"manufacturerCode":null,"transactionSequenceNumber":91,"commandIdentifier":0},"payload":{"level":205,"transtime":0},"command":{"ID":0,"parameters":[{"name":"level","type":32},{"name":"transtime","type":33}],"name":"moveToLevel"}} [2024-05-17 08:00:33] debug: zh:controller:endpoint: ZCL command 0xf082c0fffeb3cc70/1 genLevelCtrl.defaultRsp({"cmdId":0,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":91,"writeUndiv":false}) [2024-05-17 08:00:33] debug: zh:zstack:unpi:parser: --- parseNext [] [2024-05-17 08:00:33] debug: z2m: Received Zigbee message from '0xf082c0fffeb3cc70', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":205,"transtime":0}' from endpoint 1 with groupID 108 [2024-05-17 08:00:33] debug: z2m: MQTT publish: topic 'zigbee2mqtt/0xf082c0fffeb3cc70', payload '{"action":"brightness_move_to_level","action_group":108,"action_level":205,"action_transition_time":0,"battery":91,"linkquality":160,"voltage":2900}'

Colour Wheel Sample 2 [2024-05-17 08:03:47] debug: zh:zstack:unpi:parser: <-- [254,27,68,129,108,0,0,3,240,203,1,1,0,149,0,248,119,96,0,0,7,1,94,6,164,254,0,0,240,203,11,196] [2024-05-17 08:03:47] debug: zh:zstack:unpi:parser: --- parseNext [254,27,68,129,108,0,0,3,240,203,1,1,0,149,0,248,119,96,0,0,7,1,94,6,164,254,0,0,240,203,11,196] [2024-05-17 08:03:47] debug: zh:zstack:unpi:parser: --> parsed 27 - 2 - 4 - 129 - [108,0,0,3,240,203,1,1,0,149,0,248,119,96,0,0,7,1,94,6,164,254,0,0,240,203,11] - 196 [2024-05-17 08:03:47] debug: zh:zstack:znp: AREQ: <-- AF - incomingMsg - {"groupid":108,"clusterid":768,"srcaddr":52208,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":149,"securityuse":0,"timestamp":6322168,"transseqnumber":0,"len":7,"data":{"type":"Buffer","data":[1,94,6,164,254,0,0]}} [2024-05-17 08:03:47] debug: zh:controller: Received payload: clusterID=768, address=52208, groupID=108, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=149, frame={"header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0},"manufacturerCode":null,"transactionSequenceNumber":94,"commandIdentifier":6},"payload":{"hue":164,"saturation":254,"transtime":0},"command":{"ID":6,"parameters":[{"name":"hue","type":32},{"name":"saturation","type":32},{"name":"transtime","type":33}],"name":"moveToHueAndSaturation"}} [2024-05-17 08:03:47] debug: zh:controller: Skipping command 'moveToHueAndSaturation' because it is missing from the lookup [2024-05-17 08:03:47] debug: zh:controller:endpoint: ZCL command 0xf082c0fffeb3cc70/1 lightingColorCtrl.defaultRsp({"cmdId":6,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":94,"writeUndiv":false}) [2024-05-17 08:03:47] debug: zh:zstack:unpi:parser: --- parseNext [] [2024-05-17 08:03:47] debug: zh:zstack:unpi:parser: <-- [254,26,68,129,108,0,8,0,240,203,1,1,0,149,0,82,121,96,0,0,6,1,95,0,205,0,0,240,203,11,251] [2024-05-17 08:03:47] debug: zh:zstack:unpi:parser: --- parseNext [254,26,68,129,108,0,8,0,240,203,1,1,0,149,0,82,121,96,0,0,6,1,95,0,205,0,0,240,203,11,251] [2024-05-17 08:03:47] debug: zh:zstack:unpi:parser: --> parsed 26 - 2 - 4 - 129 - [108,0,8,0,240,203,1,1,0,149,0,82,121,96,0,0,6,1,95,0,205,0,0,240,203,11] - 251 [2024-05-17 08:03:47] debug: zh:zstack:znp: AREQ: <-- AF - incomingMsg - {"groupid":108,"clusterid":8,"srcaddr":52208,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":149,"securityuse":0,"timestamp":6322514,"transseqnumber":0,"len":6,"data":{"type":"Buffer","data":[1,95,0,205,0,0]}} [2024-05-17 08:03:47] debug: zh:controller: Received payload: clusterID=8, address=52208, groupID=108, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=149, frame={"header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0},"manufacturerCode":null,"transactionSequenceNumber":95,"commandIdentifier":0},"payload":{"level":205,"transtime":0},"command":{"ID":0,"parameters":[{"name":"level","type":32},{"name":"transtime","type":33}],"name":"moveToLevel"}} [2024-05-17 08:03:47] debug: zh:controller:endpoint: ZCL command 0xf082c0fffeb3cc70/1 genLevelCtrl.defaultRsp({"cmdId":0,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":95,"writeUndiv":false}) [2024-05-17 08:03:47] debug: zh:zstack:unpi:parser: --- parseNext [] [2024-05-17 08:03:47] debug: z2m: Received Zigbee message from '0xf082c0fffeb3cc70', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":205,"transtime":0}' from endpoint 1 with groupID 108 [2024-05-17 08:03:47] debug: z2m: MQTT publish: topic 'zigbee2mqtt/0xf082c0fffeb3cc70', payload '{"action":"brightness_move_to_level","action_group":108,"action_level":205,"action_transition_time":0,"battery":91,"linkquality":149,"voltage":2900}'

Pressing the "R" button : [2024-05-17 08:08:36] debug: zh:zstack:unpi:parser: <-- [254,27,68,129,108,0,0,3,240,203,1,1,0,160,0,241,185,131,0,0,7,1,96,6,0,254,0,0,240,203,11,79] [2024-05-17 08:08:36] debug: zh:zstack:unpi:parser: --- parseNext [254,27,68,129,108,0,0,3,240,203,1,1,0,160,0,241,185,131,0,0,7,1,96,6,0,254,0,0,240,203,11,79] [2024-05-17 08:08:36] debug: zh:zstack:unpi:parser: --> parsed 27 - 2 - 4 - 129 - [108,0,0,3,240,203,1,1,0,160,0,241,185,131,0,0,7,1,96,6,0,254,0,0,240,203,11] - 79 [2024-05-17 08:08:36] debug: zh:zstack:znp: AREQ: <-- AF - incomingMsg - {"groupid":108,"clusterid":768,"srcaddr":52208,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":160,"securityuse":0,"timestamp":8632817,"transseqnumber":0,"len":7,"data":{"type":"Buffer","data":[1,96,6,0,254,0,0]}} [2024-05-17 08:08:36] debug: zh:controller: Received payload: clusterID=768, address=52208, groupID=108, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=160, frame={"header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0},"manufacturerCode":null,"transactionSequenceNumber":96,"commandIdentifier":6},"payload":{"hue":0,"saturation":254,"transtime":0},"command":{"ID":6,"parameters":[{"name":"hue","type":32},{"name":"saturation","type":32},{"name":"transtime","type":33}],"name":"moveToHueAndSaturation"}} [2024-05-17 08:08:36] debug: zh:controller: Skipping command 'moveToHueAndSaturation' because it is missing from the lookup [2024-05-17 08:08:36] debug: zh:controller:endpoint: ZCL command 0xf082c0fffeb3cc70/1 lightingColorCtrl.defaultRsp({"cmdId":6,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":96,"writeUndiv":false}) [2024-05-17 08:08:36] debug: zh:zstack:unpi:parser: --- parseNext [] [2024-05-17 08:08:36] debug: zh:zstack:unpi:parser: <-- [254,26,68,129,108,0,8,0,240,203,1,1,0,160,0,228,186,131,0,0,6,1,97,0,205,0,0,240,203,11,102] [2024-05-17 08:08:36] debug: zh:zstack:unpi:parser: --- parseNext [254,26,68,129,108,0,8,0,240,203,1,1,0,160,0,228,186,131,0,0,6,1,97,0,205,0,0,240,203,11,102] [2024-05-17 08:08:36] debug: zh:zstack:unpi:parser: --> parsed 26 - 2 - 4 - 129 - [108,0,8,0,240,203,1,1,0,160,0,228,186,131,0,0,6,1,97,0,205,0,0,240,203,11] - 102 [2024-05-17 08:08:36] debug: zh:zstack:znp: AREQ: <-- AF - incomingMsg - {"groupid":108,"clusterid":8,"srcaddr":52208,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":160,"securityuse":0,"timestamp":8633060,"transseqnumber":0,"len":6,"data":{"type":"Buffer","data":[1,97,0,205,0,0]}} [2024-05-17 08:08:36] debug: zh:controller: Received payload: clusterID=8, address=52208, groupID=108, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=160, frame={"header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0},"manufacturerCode":null,"transactionSequenceNumber":97,"commandIdentifier":0},"payload":{"level":205,"transtime":0},"command":{"ID":0,"parameters":[{"name":"level","type":32},{"name":"transtime","type":33}],"name":"moveToLevel"}} [2024-05-17 08:08:36] debug: zh:controller:endpoint: ZCL command 0xf082c0fffeb3cc70/1 genLevelCtrl.defaultRsp({"cmdId":0,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":97,"writeUndiv":false}) [2024-05-17 08:08:36] debug: zh:zstack:unpi:parser: --- parseNext [] [2024-05-17 08:08:36] debug: z2m: Received Zigbee message from '0xf082c0fffeb3cc70', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":205,"transtime":0}' from endpoint 1 with groupID 108 [2024-05-17 08:08:36] debug: z2m: MQTT publish: topic 'zigbee2mqtt/0xf082c0fffeb3cc70', payload '{"action":"brightness_move_to_level","action_group":108,"action_level":205,"action_transition_time":0,"battery":91,"linkquality":160,"voltage":2900}'

Pressing the "G" button : [2024-05-17 08:11:00] debug: zh:zstack:unpi:parser: <-- [254,27,68,129,108,0,0,3,240,203,1,1,0,160,0,16,90,29,0,0,7,1,98,6,85,254,0,0,240,203,11,132] [2024-05-17 08:11:00] debug: zh:zstack:unpi:parser: --- parseNext [254,27,68,129,108,0,0,3,240,203,1,1,0,160,0,16,90,29,0,0,7,1,98,6,85,254,0,0,240,203,11,132] [2024-05-17 08:11:00] debug: zh:zstack:unpi:parser: --> parsed 27 - 2 - 4 - 129 - [108,0,0,3,240,203,1,1,0,160,0,16,90,29,0,0,7,1,98,6,85,254,0,0,240,203,11] - 132 [2024-05-17 08:11:00] debug: zh:zstack:znp: AREQ: <-- AF - incomingMsg - {"groupid":108,"clusterid":768,"srcaddr":52208,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":160,"securityuse":0,"timestamp":1923600,"transseqnumber":0,"len":7,"data":{"type":"Buffer","data":[1,98,6,85,254,0,0]}} [2024-05-17 08:11:00] debug: zh:controller: Received payload: clusterID=768, address=52208, groupID=108, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=160, frame={"header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0},"manufacturerCode":null,"transactionSequenceNumber":98,"commandIdentifier":6},"payload":{"hue":85,"saturation":254,"transtime":0},"command":{"ID":6,"parameters":[{"name":"hue","type":32},{"name":"saturation","type":32},{"name":"transtime","type":33}],"name":"moveToHueAndSaturation"}} [2024-05-17 08:11:00] debug: zh:controller: Skipping command 'moveToHueAndSaturation' because it is missing from the lookup [2024-05-17 08:11:00] debug: zh:controller:endpoint: ZCL command 0xf082c0fffeb3cc70/1 lightingColorCtrl.defaultRsp({"cmdId":6,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":98,"writeUndiv":false}) [2024-05-17 08:11:00] debug: zh:zstack:unpi:parser: --- parseNext [] [2024-05-17 08:11:00] debug: zh:zstack:unpi:parser: <-- [254,26,68,129,108,0,8,0,240,203,1,1,0,160,0,65,91,29,0,0,6,1,99,0,205,0,0,240,203,11,190] [2024-05-17 08:11:00] debug: zh:zstack:unpi:parser: --- parseNext [254,26,68,129,108,0,8,0,240,203,1,1,0,160,0,65,91,29,0,0,6,1,99,0,205,0,0,240,203,11,190] [2024-05-17 08:11:00] debug: zh:zstack:unpi:parser: --> parsed 26 - 2 - 4 - 129 - [108,0,8,0,240,203,1,1,0,160,0,65,91,29,0,0,6,1,99,0,205,0,0,240,203,11] - 190 [2024-05-17 08:11:00] debug: zh:zstack:znp: AREQ: <-- AF - incomingMsg - {"groupid":108,"clusterid":8,"srcaddr":52208,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":160,"securityuse":0,"timestamp":1923905,"transseqnumber":0,"len":6,"data":{"type":"Buffer","data":[1,99,0,205,0,0]}} [2024-05-17 08:11:00] debug: zh:controller: Received payload: clusterID=8, address=52208, groupID=108, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=160, frame={"header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0},"manufacturerCode":null,"transactionSequenceNumber":99,"commandIdentifier":0},"payload":{"level":205,"transtime":0},"command":{"ID":0,"parameters":[{"name":"level","type":32},{"name":"transtime","type":33}],"name":"moveToLevel"}} [2024-05-17 08:11:00] debug: zh:controller:endpoint: ZCL command 0xf082c0fffeb3cc70/1 genLevelCtrl.defaultRsp({"cmdId":0,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":99,"writeUndiv":false}) [2024-05-17 08:11:00] debug: zh:zstack:unpi:parser: --- parseNext [] [2024-05-17 08:11:00] debug: z2m: Received Zigbee message from '0xf082c0fffeb3cc70', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":205,"transtime":0}' from endpoint 1 with groupID 108 [2024-05-17 08:11:00] debug: z2m: MQTT publish: topic 'zigbee2mqtt/0xf082c0fffeb3cc70', payload '{"action":"brightness_move_to_level","action_group":108,"action_level":205,"action_transition_time":0,"battery":91,"linkquality":160,"voltage":2900}'

And the "B" button : [2024-05-17 08:12:59] debug: zh:zstack:unpi:parser: <-- [254,27,68,129,108,0,0,3,240,203,1,1,0,145,0,142,212,142,0,0,7,1,100,6,170,254,0,0,240,203,11,207] [2024-05-17 08:12:59] debug: zh:zstack:unpi:parser: --- parseNext [254,27,68,129,108,0,0,3,240,203,1,1,0,145,0,142,212,142,0,0,7,1,100,6,170,254,0,0,240,203,11,207] [2024-05-17 08:12:59] debug: zh:zstack:unpi:parser: --> parsed 27 - 2 - 4 - 129 - [108,0,0,3,240,203,1,1,0,145,0,142,212,142,0,0,7,1,100,6,170,254,0,0,240,203,11] - 207 [2024-05-17 08:12:59] debug: zh:zstack:znp: AREQ: <-- AF - incomingMsg - {"groupid":108,"clusterid":768,"srcaddr":52208,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":145,"securityuse":0,"timestamp":9360526,"transseqnumber":0,"len":7,"data":{"type":"Buffer","data":[1,100,6,170,254,0,0]}} [2024-05-17 08:12:59] debug: zh:controller: Received payload: clusterID=768, address=52208, groupID=108, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=145, frame={"header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0},"manufacturerCode":null,"transactionSequenceNumber":100,"commandIdentifier":6},"payload":{"hue":170,"saturation":254,"transtime":0},"command":{"ID":6,"parameters":[{"name":"hue","type":32},{"name":"saturation","type":32},{"name":"transtime","type":33}],"name":"moveToHueAndSaturation"}} [2024-05-17 08:12:59] debug: zh:controller: Skipping command 'moveToHueAndSaturation' because it is missing from the lookup [2024-05-17 08:12:59] debug: zh:controller:endpoint: ZCL command 0xf082c0fffeb3cc70/1 lightingColorCtrl.defaultRsp({"cmdId":6,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":100,"writeUndiv":false}) [2024-05-17 08:12:59] debug: zh:zstack:unpi:parser: --- parseNext [] [2024-05-17 08:12:59] debug: zh:zstack:unpi:parser: <-- [254,26,68,129,108,0,8,0,240,203,1,1,0,145,0,172,213,142,0,0,6,1,101,0,205,0,0,240,203,11,121] [2024-05-17 08:12:59] debug: zh:zstack:unpi:parser: --- parseNext [254,26,68,129,108,0,8,0,240,203,1,1,0,145,0,172,213,142,0,0,6,1,101,0,205,0,0,240,203,11,121] [2024-05-17 08:12:59] debug: zh:zstack:unpi:parser: --> parsed 26 - 2 - 4 - 129 - [108,0,8,0,240,203,1,1,0,145,0,172,213,142,0,0,6,1,101,0,205,0,0,240,203,11] - 121 [2024-05-17 08:12:59] debug: zh:zstack:znp: AREQ: <-- AF - incomingMsg - {"groupid":108,"clusterid":8,"srcaddr":52208,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":145,"securityuse":0,"timestamp":9360812,"transseqnumber":0,"len":6,"data":{"type":"Buffer","data":[1,101,0,205,0,0]}} [2024-05-17 08:12:59] debug: zh:controller: Received payload: clusterID=8, address=52208, groupID=108, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=145, frame={"header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0},"manufacturerCode":null,"transactionSequenceNumber":101,"commandIdentifier":0},"payload":{"level":205,"transtime":0},"command":{"ID":0,"parameters":[{"name":"level","type":32},{"name":"transtime","type":33}],"name":"moveToLevel"}} [2024-05-17 08:12:59] debug: zh:controller:endpoint: ZCL command 0xf082c0fffeb3cc70/1 genLevelCtrl.defaultRsp({"cmdId":0,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":101,"writeUndiv":false}) [2024-05-17 08:12:59] debug: zh:zstack:unpi:parser: --- parseNext [] [2024-05-17 08:12:59] debug: z2m: Received Zigbee message from '0xf082c0fffeb3cc70', type 'commandMoveToLevel', cluster 'genLevelCtrl', data '{"level":205,"transtime":0}' from endpoint 1 with groupID 108 [2024-05-17 08:12:59] debug: z2m: MQTT publish: topic 'zigbee2mqtt/0xf082c0fffeb3cc70', payload '{"action":"brightness_move_to_level","action_group":108,"action_level":205,"action_transition_time":0,"battery":91,"linkquality":145,"voltage":2900}'

Andy-Hennah commented 6 months ago

This looks like the culprit : Skipping command 'moveToHueAndSaturation' because it is missing from the lookup

ozzy071988 commented 6 months ago

Ohhh... it would be wonderful if the remote control had full functionality. I'm looking forward :)

Switch123456789 commented 6 months ago

Hey, I am trying to setup this remote and I am fairly new to z2m. I was reading this Thread and some others about making this remote work but I just don't get it. What exactly is the state of this extension? Is it at least partially working? If so, what do I need to do to make it work?

I tried a lot, including following the "official guide", installing z2m dev-branch and much more but no matter what I try, if I press buttons one the remote, action remains null or N/A.

Thanks in advance

EDIT: Does anybody know why it says this remote is compatible on the z2m-website while it is not working at all for so long now? Kinda wasted my money on that remote because I trusted that site.

Luk164 commented 4 months ago

Cannot destructure property 'vendor' of 'data.device._definition' as it is undefined.

This problem still occures in 1.35.3. I could workaround this be replacing every instance of _definition with definition.

This worked for me for a while but a recent update broke it again. Did anyone get it working again?

lexeyt commented 4 months ago

I also could not configure the buttons, in the extension code I displayed the contents of the object data to understand what the problem might be, but suddenly the remote control worked with the original source code of the extension, only _definition needs to be replaced with definition.

Luk164 commented 4 months ago

I found a workaround. Seems that after a restart, I need to open and save the extension again before it gets applied