Channels missing with Philips Dimmer Switch RWL022


I ran into an issue trying to utilize a philips “dimmer switch” remote in my setup. Im using openhab 3.2 along with zigbee binding and a dongle running EmberZNet v6.7.8. So far I was able to add a few light bulbs (ledvance) and a hue smart plug. Now when I scan for my hue remote, it is discovered and a thing is created, but it lokos like it is lacking channels.

It seems like the RWL022 is not discovered as the correct type of thing… in opposition to RWL021 of which I saw some screenshots on the forum.
Also I was expecting to receive some ChannelTriggeredEvent evets of button presses in my log, but I only see events of current dimm level when I change it. Pressing the scene change button (“hue” labeled button) doesn’t fire any event at all.

Is RWL022 not supported yet? Can I circumvent this somehow by manually defining the thing?
Any hints apreciated.


Is the RWL022 basically the same as the RWL021? If so, we can easily add support - if it’s different, then someone will need to work out what the changes need to be.

I think main differnce is button scheme:

Would be great if it gets implemented. It’s already hard to get a new RWL021. Is there anything I can do, any file I can start looking at to adapt?

So you think it’s just the physical device that looks different but the function is the same? If so it should be easy. Please can you post the XML for this device (it’s in the userdata\zigbee folder - it will have the name of the IEEE address.

I thought so, but it looks like the “hue” labeled button is to cycle scences. And the top button is for toggling “on/off”. On the old one top button was “on” bottom was “off”.

Anyway I checked for the xml, hope it’s the correct one:
0017880109AAC5EA.xml (44.8 KB)

Would be great if you implement it. I’m happy to support… as far as I’m able to.

I think in that case it would be advisable to get a debug log. Enable logging as described in the binding docs, then sequentially press each button with a 2 second wait between each one. Send me the log of this and hopefully it will tell me what the buttons are, and I should be able to quickly produce the required configuration.


changed logging levels as advised and took some logs.
openhab_rwl022.log (975.8 KB)
openhab_rwl022_button_presses.log (64.7 KB)
Unfortunately, pressing fourth button I didn’t see a reaction in log.

But over at zigpy project I found some related info, which indicates that there is no big difference after all, i.e. the “Hue” button behaves like “Off” on the older remotes:
Device Signature
Differences RWL021/RWL022

Thanks for looking into this


I’ve created a PR - it looks mostly the same as the RWL021 - the battery channels are on a different endpoint it seems, but most of the rest looks the same. As you say, the last button didn’t seem to generate a command, so that might require some change to get it working, but the other 3 looked the same as the RWL021.

Let’s see how it goes.

1 Like

Gave it a quick try, device is now identified correctly and I receive button events :slightly_smiling_face:

2022-04-20 23:54:45.823 [INFO ] [openhab.event.ChannelTriggeredEvent ] - zigbee:philips_rwl022:a857212ec2:0017880109aac5ea:buttonO triggered SHORT_PRESSED
2022-04-20 23:54:46.541 [INFO ] [openhab.event.ChannelTriggeredEvent ] - zigbee:philips_rwl022:a857212ec2:0017880109aac5ea:buttonI triggered SHORT_PRESSED
2022-04-20 23:54:47.016 [INFO ] [openhab.event.ChannelTriggeredEvent ] - zigbee:philips_rwl022:a857212ec2:0017880109aac5ea:dimUp triggered SHORT_PRESSED
2022-04-20 23:54:47.769 [INFO ] [openhab.event.ChannelTriggeredEvent ] - zigbee:philips_rwl022:a857212ec2:0017880109aac5ea:dimDown triggered SHORT_PRESSED

Top button fires ON / OFF alternatingly
Dim up fires dimUp
Dim down fires dimDown
Button “hue” is not deteced.

I’ll have a closer look on the weekend.
Thanks Chris!

Thanks for the quick feedback :+1:

I’m not sure why the bottom button doesn’t send anything (at least according to the log). It might be that it needs another bind command sent to the remote to receive different commands. If I find some time over the next few days I will take a look at the link you sent above as they might shed some more light on this. I did look at them earlier, but without delving deeper into the zigpy code it’s not immediately obvious what they do…