deconz-rest-plugin: Philips hue dimmer RWL021 does not work after v2.05.87 and above

Describe the bug

I upgraded from marthoc/deconz:armhf-2.05.84 to marthoc/deconz:armhf-2.07.01 and my Philips hue dimmer stopped working with the error message: “No button handler for: RWL021 endpoint: 0x02 cluster: 0xFC00 command: 0x00 payload[0]: 001”. Downgrading to marthoc/deconz:armhf-2.05.84 resolves the issue.

  • Update: Here we figured out that the message “No button …” is a expected message and the issue is deconz not sending web socket events any more
  • Update: I checked the different releases to identify the first broken version:
    • Latest edge: marthoc/deconz:armhf-2.09.00 (broken)
    • marthoc/deconz:armhf-2.06.00 (broken)
    • marthoc/deconz:armhf-2.05.87 (broken)
    • marthoc/deconz:armhf-2.05.86 (works)
    • marthoc/deconz:armhf-2.05.85 (works)
    • Current in use: marthoc/deconz:armhf-2.05.84 (works)
    • So the bug fix release marthoc/deconz:armhf-2.05.87 seems to be the culprit

Steps to reproduce the behavior

  1. Working setup with tag marthoc/deconz:armhf-2.05.84
  2. Replace image with tag marthoc/deconz:armhf-2.07.01 (latest available stable)
  3. Click on dimmer to switch on the light (worked on 2.05.84)

Expected behavior

  • Deconz sends a web socket event for the button press
  • The light bulb turns on

Screenshots

Environment

  • Host system: Raspberrypi 4, 4GB
  • Running method: Marthoc Docker container marthoc/deconz:armhf-2.07.01 (latest stable)
  • Firmware version: 26660700
  • deCONZ version: 2.07.01 / 12/8/2020
  • Device: ConBee II
  • Do you use an USB extension cable: yes
  • Is there any other USB or serial devices connected to the host system? No
  • Home-Assistant Docker version: homeassistant/raspberrypi4-homeassistant:2021.1.0 (Deconz integration)

deCONZ Logs

Let me know if you need more of the logs as DEBUG level 2 logs a lot. The snippet below should contain two button presses.

deconz    | 12:36:36:283 Force binding of attribute reporting for sensor switch_living_room
deconz    | 12:36:36:283 [INFO] - No button handler for: RWL021 endpoint: 0x02 cluster: 0xFC00 command: 0x00 payload[0]: 004
deconz    | 12:36:36:284 discard sensor state push for 2: state/buttonevent (already pushed)
deconz    | 12:36:36:285 discard sensor state push for 2: state/eventduration (already pushed)
deconz    | 12:36:36:286 discard sensor state push for 2: state/lastupdated (already pushed)
deconz    | 12:36:36:825 poll node 00:17:88:01:03:54:85:0d-0b
deconz    | 12:36:36:825 Poll light node ceiling_living_room
deconz    | 12:36:36:878 read attributes of 0x001788010354850D cluster: 0x0006: [ 12:36:36:878 0x0000 12:36:36:878 ]
deconz    | 12:36:36:878 add task 278 type 19 to 0x001788010354850D cluster 0x0006 req.id 4
deconz    | 12:36:36:878 Poll APS request 4 to 0x001788010354850D cluster: 0x0006
deconz    | 12:36:36:901 Poll APS confirm 4 status: 0x00
deconz    | 12:36:36:901 Erase task req-id: 4, type: 19 zcl seqno: 127 send time 0, profileId: 0x0104, clusterId: 0x0006
deconz    | 12:36:36:927 Node data 0x001788010354850d profileId: 0x0104, clusterId: 0x0006
deconz    | 12:36:36:927 0x001788010354850D: update ZCL value 0x0B/0x0006/0x0000 after 0 s
deconz    | 12:36:36:927 enqueue event event/checkgroupanyon for /groups/65520
deconz    | 12:36:36:983 enqueue event config/localtime for /config/
deconz    | 12:36:37:079 enqueue event state/buttonevent for /sensors/2
deconz    | 12:36:37:079 enqueue event state/eventduration for /sensors/2
deconz    | 12:36:37:079 enqueue event state/lastupdated for /sensors/2
deconz    | 12:36:37:079 Force binding of attribute reporting for sensor switch_living_room
deconz    | 12:36:37:079 [INFO] - No button handler for: RWL021 endpoint: 0x02 cluster: 0xFC00 command: 0x00 payload[0]: 004
deconz    | 12:36:37:080 discard sensor state push for 2: state/buttonevent (already pushed)
deconz    | 12:36:37:081 discard sensor state push for 2: state/eventduration (already pushed)
deconz    | 12:36:37:082 discard sensor state push for 2: state/lastupdated (already pushed)
deconz    | 12:36:37:200 enqueue event state/buttonevent for /sensors/2
deconz    | 12:36:37:200 enqueue event state/eventduration for /sensors/2
deconz    | 12:36:37:200 enqueue event state/lastupdated for /sensors/2
deconz    | 12:36:37:200 Force binding of attribute reporting for sensor switch_living_room
deconz    | 12:36:37:200 [INFO] - No button handler for: RWL021 endpoint: 0x02 cluster: 0xFC00 command: 0x00 payload[0]: 004
deconz    | 12:36:37:201 discard sensor state push for 2: state/buttonevent (already pushed)
deconz    | 12:36:37:202 discard sensor state push for 2: state/eventduration (already pushed)
deconz    | 12:36:37:203 discard sensor state push for 2: state/lastupdated (already pushed)
deconz    | 12:36:37:909 poll node 00:17:88:01:02:7a:71:a0-0b
deconz    | 12:36:37:909 Poll light node floor_3_living_room
deconz    | 12:36:37:962 read attributes of 0x00178801027A71A0 cluster: 0x0006: [ 12:36:37:962 0x0000 12:36:37:962 ]
deconz    | 12:36:37:962 add task 283 type 19 to 0x00178801027A71A0 cluster 0x0006 req.id 14
deconz    | 12:36:37:962 Poll APS request 14 to 0x00178801027A71A0 cluster: 0x0006
deconz    | 12:36:37:983 enqueue event config/localtime for /config/
deconz    | 12:36:37:983 Wait 4s till query finished
deconz    | 12:36:38:006 Poll APS confirm 14 status: 0x00
deconz    | 12:36:38:006 Erase task req-id: 14, type: 19 zcl seqno: 128 send time 0, profileId: 0x0104, clusterId: 0x0006
deconz    | 12:36:38:027 Node data 0x00178801027a71a0 profileId: 0x0104, clusterId: 0x0006
deconz    | 12:36:38:028 0x00178801027A71A0: update ZCL value 0x0B/0x0006/0x0000 after 0 s
deconz    | 12:36:38:028 enqueue event event/checkgroupanyon for /groups/65520
deconz    | 12:36:38:197 read attributes of 0x00178801027A71A0 cluster: 0x0008: [ 12:36:38:198 0x0000 12:36:38:198 ]
deconz    | 12:36:38:198 add task 285 type 19 to 0x00178801027A71A0 cluster 0x0008 req.id 19
deconz    | 12:36:38:198 Poll APS request 19 to 0x00178801027A71A0 cluster: 0x0008
deconz    | 12:36:38:302 Poll APS confirm 19 status: 0x00
deconz    | 12:36:38:302 Erase task req-id: 19, type: 19 zcl seqno: 129 send time 0, profileId: 0x0104, clusterId: 0x0008
deconz    | 12:36:38:304 read attributes of 0x00178801027A71A0 cluster: 0x0300: [ 12:36:38:304 0x0001 12:36:38:304 0x0003 12:36:38:304 0x0004 12:36:38:304 0x0007 12:36:38:304 0x0008 12:36:38:304 0x4000 12:36:38:304 0x4001 12:36:38:304 0x4002 12:36:38:304 ]
deconz    | 12:36:38:304 add task 287 type 19 to 0x00178801027A71A0 cluster 0x0300 req.id 21
deconz    | 12:36:38:304 Poll APS request 21 to 0x00178801027A71A0 cluster: 0x0300
deconz    | 12:36:38:324 Node data 0x00178801027a71a0 profileId: 0x0104, clusterId: 0x0008
deconz    | 12:36:38:324 0x00178801027A71A0: update ZCL value 0x0B/0x0008/0x0000 after 0 s
deconz    | 12:36:38:410 Poll APS confirm 21 status: 0x00
deconz    | 12:36:38:410 Erase task req-id: 21, type: 19 zcl seqno: 130 send time 0, profileId: 0x0104, clusterId: 0x0300
deconz    | 12:36:38:444 Node data 0x00178801027a71a0 profileId: 0x0104, clusterId: 0x0300

In contrast this is how it looks like when it is working in image: marthoc/deconz:armhf-2.05.84 (Update: the log below was using DEBUG_INFO=1, for DEBUG_INFO=2 including the web socket events see this comment)

deconz    | 12:14:38:959 [INFO] - No button map for: RWL021 endpoint: 0x02 cluster: 0xFC00 command: 0x00 payload[0]: 001
deconz    | 12:14:38:984 delay sending request 20 dt 1 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0008 onAir: 1
deconz    | 12:14:38:984 delay sending request 21 dt 1 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0300 onAir: 1
deconz    | 12:14:39:010        0x0017880103548895 force poll (2)
deconz    | 12:14:39:055 [INFO] - No button map for: RWL021 endpoint: 0x02 cluster: 0xFC00 command: 0x00 payload[0]: 001
deconz    | 12:14:39:084 delay sending request 21 dt 0 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0300 onAir: 1
deconz    | 12:14:39:184 delay sending request 21 dt 0 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0300 onAir: 1
deconz    | 12:14:39:284 delay sending request 21 dt 0 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0300 onAir: 1
deconz    | 12:14:39:384 delay sending request 21 dt 0 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0300 onAir: 1
deconz    | 12:14:39:484 delay sending request 21 dt 0 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0300 onAir: 1
deconz    | 12:14:39:584 delay sending request 21 dt 0 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0300 onAir: 1
deconz    | 12:14:39:604 delay sending request 21 dt 0 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0300 onAir: 1
deconz    | 12:14:39:684 delay sending request 21 dt 0 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0300 onAir: 1
deconz    | 12:14:39:784 delay sending request 21 dt 0 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0300 onAir: 1
deconz    | 12:14:39:884 delay sending request 21 dt 0 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0300 onAir: 1
deconz    | 12:14:39:984 delay sending request 21 dt 1 ms to 0x0017880103548895, ep: 0x0B cluster: 0x0300 onAir: 1
deconz    | 12:14:40:027        0x0017880103548895 force poll (2)
deconz    | 12:14:40:060        0x0017880103548895 force poll (2)

Additional context

version: "2"
services:
  deconz:
    image: marthoc/deconz:armhf-2.07.01
    #image: marthoc/deconz:armhf-2.05.84
    container_name: deconz
    restart: unless-stopped
    ports:
      - 8085:8080
      - 4043:445
    volumes:
      - /opt/deconz/config:/root/.local/share/dresden-elektronik/deCONZ
      - /etc/localtime:/etc/localtime:ro
    devices:
      - /dev/ttyACM0
    environment:
      - DECONZ_WEB_PORT=8080
      - DECONZ_WS_PORT=445
      - DECONZ_DEVICE=/dev/ttyACM0
      - DEBUG_INFO=2
      - DEBUG_APS=0
      - DEBUG_ZCL=0
      - DEBUG_ZDP=0
      - DEBUG_OTAU=0

Update: The home assistant automation for the RWL021 acts on the deconz events it receives. I think we can rule out the home assistant part here, because according to the logs the web socket events are not being send by deconz.

- alias: 'Dimmer - Turn on Living Room light when 1 click'
  trigger:
    platform: event
    event_type: deconz_event
    event_data:
      id: switch_living_room
      event: 1002
  action:

About this issue

  • Original URL
  • State: open
  • Created 3 years ago
  • Comments: 18 (2 by maintainers)

Most upvoted comments

Hi there.

Thank you for filing this issue. Unfortunately, we cannot help you, as you haven’t sticked to the provided template and/or have not provided all information requested. Consequently, this issue has been closed.
We’re more than happy to help out where we can once you raise a new issue containing all requested information in the requested format.

In this regard, please take note that:
- read the template thoroughly
- all given header lines (starting with ###) must not be deleted
- everything enclosed by <!-- --> is intended to give you guidance and should be replaced by your input specific to the issue
- Listings regarding your environment must be filled out completely where applicable (bug reports and user questions).
- Not following the template or providing insufficient information can still implicate manual closure.

So please, first help us a bit to help you!