Zigbee Binding - Support New Aqara Opple Switches

Tags: #<Tag:0x00007f616fe30828> #<Tag:0x00007f616fe306e8> #<Tag:0x00007f616fe305d0>

Hi @all!

I bought some of the new Aqara Opple switches. This here: https://www.youtube.com/watch?v=L62IO4sPQV8

Is there any chance to get this type of switches running with the Zigbee Binding?

At the moment I use a TI CC2531. I think the first problem is the Zigbee Version and the available Firmware which works with the binding.

If I use a Firmware with Zigbee 1.2 there are very limiting functions.
Pairing of the 4 button version is possible. But there are only 2 Channels.
1: Battery Voltage
2: Switch
On the top left button I can switch off an on the top right button I can Switch on the Switch-Item.

If I flash a Firmware with Zigbee-Version 3 on the CC2531, the Stick doesn’t work with the binding.

It would be very nice to have all functions of the Switch available in openhab.
Click, double click and long press with all 2,4 oder 6 Buttons.

What do you mean exactly? The firmware in the coordinator does not do any of the application functionality. The CC2531 may have problems with some ZB3.0 devices potentially, but the Ember dongle is recommended (the CC2531 firmware is not supported by TI any more).

If the device joins the network with the firmware that works with the binding, then ZB3.0 is not required.

It’s really hard to comment much on this as I don’t know the device and don’t have any clue about what features it is supporting.


Thanks for your fast response!

So, you would recommend to use an other dongle?

I read that the Switches are Zigbee 3.0 devices. For example here: https://homekitnews.com/2019/10/23/aqara-and-opple-release-new-smart-switches/

What information would you like to have? Logfiles?

My recommended dongle is one of the Ember types.

However as I said I’m not sure it will make any difference. If the device is joining the network, then chances are that changing to a different dongle won’t make a lot of difference.

That may help - it really depends on what they are supporting. The other option is if a few people either want to donate a few £$€ then I can buy one for testing.

Note that my focus on the binding is for ZigBee compliant devices - assuming this device conforms to the standard ZigBee functions, and doesn’t use anything manufacturer specific then it should be ok to get it working, but if it’s using non-standard functions then it may be more difficult.


I’m also willing to donate a few $€. May be there also a few other users interested in these Switches. I’m almost certain…

But let’s try with some logfiles first. Which files are you interested in?

maybe also

after I configure the log to debugging-level:

log:set debug org.openhab.binding.zigbee
log:set debug com.zsmartsystems.zigbee
log:set info com.zsmartsystems.zigbee.dongle.ember.internal.ash

What shall I do with the switches to generate relevant logentries?
Pushing the buttons?

The main thing I’d need to see, at least initially, is the pairing - so I can see what services it is supporting.

et voila…
here is the output of openhab.log while pairing process

This requires support for server side on the colour and level control. This can be done with some time, but it’s not something that I can easily do from logs so I will get one of these devices to support testing.

if you provide an address I will donate some € and hopefully some other users, too.

Any movement here yet? Have you been able to get the switches yet? Is there anything I can do to help?

With zigbee2mqtt the switches are working fine. So, I think that is now my solution.

Sorry - I did not receive notifications for these messages as it’s not tagged for ZigBee and there was no reply to my messages. I’ve just received the devices from China a week back, but I guess it’s too late…

Hi Chris,

no Problem! At the moment my solution is zigbee2mqtt.
But I think it is a good idea to support these devices in the binding. Also for other users and maybe for me later?

I’am thinking about ordering an opple switch.
Is it supported in the latest zigbee binding?


Probably not at the moment. I purchased one for testing (as above) but since the original need disappeared I’ve not spent the time to look at it since.

I got a 6 button version. I will try if it maybe already works. But want to change from xbee stick to another one first.

i will look at releasing a new XBee driver as there have been some fixes in the past couple of weeks that should improve things considerably.

thanks @chris

without knowing too much about zigbee I reflashed the Xbee stick now to an AT firmware instead of API (that was on there before) and also set in the XCTU software the Baud Rate to 115200

now the stick won’t initialize and shows: (just in case this is interesting)

16:46:22.049 [WARN ] [ommon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at org.openhab.binding.zigbee.handler.ZigBeeCoordinatorHandler.initialiseZigBee(ZigBeeCoordinatorHandler.java:425) ~[?:?]
	at org.openhab.binding.zigbee.handler.ZigBeeCoordinatorHandler.lambda$2(ZigBeeCoordinatorHandler.java:543) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_191]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_191]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_191]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_191]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]

You need to use the API firmware. If you try and use other firmware, then it won’t work - as you’ve found out.

So I now added it to the network and in general it does join.
Seems not fully working though.

It is disocvered with 5buttons instead of 6 and also the powersource in the properties reads “Mains”.
Just to share this. I will see what works in more detail and update here.