Xiaomi Opple 6 button remote

I agree that it must be by design to stop compatibility with other devices.
For reference here is what the logs record for each single press for 1 to 6 top to bottom.

I still haven't been able to get the held and double tap to work for 1 &2 but if it was possbile to stop broadcasting to every device it wouldn't be too hard to create a driver.

@SmartHomePrimer does the held and double tap work on the Aqara Gateway?

Yes it does, as that’s part of HomeKit and when paired with the Aqara HomeKit Gateway, this becomes HomeKit compatible.

There’s no toggle in HomeKit, but I solved that with a virtual switch that toggles off after 500ms for each device need that on and a simple RM rule.

Has anyone been able to figure this out as I’ve jumped the gun and got one of each for around the house a 2 , 4 and a 6 button before looking to see if this would work
If I can assist in any way let me know

Don’t think you’re going to be able to do anything directly with HE. If you purchased that many, then the only way today you’ll be able to use them with HE is via the Aqara hub and a sync back to HE via Homebridge/HomeKit.

You might be able to use them with the Mijia hub and this method, but not certain about that one as that’s a very specific hub needed.

1 Like

I tried it with the Mija hub and the buttons are not compatible.

1 Like

Unfortunately there are two other threads referring to the Aqara-Opple button "switches", so it's hard to know where to post my findings on whether they can be used with the Hubitat Hub, but since this this thread refers to them by name, I'm going to post here:

I have gleaned the best information on how the Aqara-Opple button "switches" work from a technical standpoint from this DeCONZ Rest Plugin comment thread on GitHub:

Here are some choice quotes from that thread to explain how they work, and the potential issues as a result:

Technically, no, the switch does not communicate with the gateway; it sends broadcast (groupcast) messages, which are also picked up by the gateway. The gateway eavesdrops on the messages from the switch to the group.

Note that these OPPLE switches work very differently from the other Xiaomi switches, which indeed send reports straight to the coordinator, and cannot control lights directly.

I concur it controls all the lights: 2 top buttons are on and off, the middle buttons are dim up or down and the 2 lower buttons are more yellow or less yellow color.

It would seem the Opple is a hybrid, just like the Hue dimmer switch: it sends both commands to control the lights directly as well as reports to inform the coordinator.

is there a way to make it control only specific lights?

Normally, I’d suggest to create a group, add a light to it and bind the switch’s client clusters to that group. Not sure if that’ll work for Xiaomi, though. Might be enough to bind only one cluster, but could also you need to bind all three ( On/Off , Level Control , and Color Control ).

well - its kinda working now, with lots of limitations. you can use it to control on/off, dimming and color as long as your lamps are also controlled by conbee - you can create a group of lamps in phoscon and connect the switches using the bind option in deCONZ (you can bind to a group or to a single light). but thats about it.

To stop the Opple from sending broadcasts, you need to create bindings from the On/Off and Level Control clusters. Best practice is to a group. The switch doesn’t know nor care wether any lights listen to that group.

So, based on all of that, as I've mentioned here, it sounds like these Aqara-Opple button "switch" devices operate much like the IKEA 5-button "steering wheel" remote that Hubitat has stated they will not be supporting.

However, if it's possible via a device driver to configure the Aqara-Opple buttons with bindings from the relevant clusters to a non-existent group (i.e., with no members), then perhaps it could be made to work with Hubitat. However, there are other peculiarities discussed on the above-linked thread which will probably make it a real challenge to build a driver that accesses the full functionality of the buttons.

The first thing to settle before even deciding to spend any time working on a driver is whether these devices' need to send messages to a group in addition to reports to the coordinator will work on the Hubitat platform at all.

I think only @mike.maxwell would be able to answer that (and I imagine he would be able to correct me on any misuse of terminology or misguided explanations I've given here as well! :rofl:)

2 Likes

If any of you are Apple haters, well then I feel sorry for your loss, because this works really well and you get a 100% reliable connection to a lot of really inexpensive and solid performing sensors and buttons.

Here it is for reference. I can lead a horse to water...

1 Like

@veeceeoh Thank you for getting all the information into one place! Well researched and very good to know!
The news could be better though, this doesn't sound great... I'll eagerly await the input from @mike.maxwell :slight_smile:

@SmartHomePrimer, thank you for sharing, I would be very interested in knowing if that hub works with this:

I'll buy a hub and try, if it works or can be made to work with some modifications, it could be worth implementing in Groovy. What would need to be determined first is if the required crypto libraries are available on HE and if zeroconf can be used with the available network calls.

An intermediate step in the evolution of solutions for this could also be the Python HomeKit Controller + Homebridge to keep the number of devices involved down... It is probably MUCH harder to get working properly than your way, but still, less devices...

Input regarding what?

what @veeceeoh is writing about above :slight_smile:

I don't see mention HomeKit automations with that. I'll keep simplicity thanks.

You can get an iPhone 6s for much less than I posted. That was just a quick example I grabbed. Lower prices come up all the time. It is the simplest way. You should be able to find one for around $50-60 typically. If you're not an iPhone user normally, just use the iPhone 6s for a controller and to build HomeKit basic automations that link devices to virtual switches, and the HE devices to buttons on the Opple controllers. All complex rules are done in Rule Machine on HE.

If you then get an Apple TV 4, the non-4K version, it's less expensive and I've read they're more stable. Mine is the non-4K, and it has never caused me trouble. I also use mine with our primary TV, but if you already have a streamer of choice, just connect it to your TV temporarily, set it up with HomeKit and then disconnect it and put it with your HE, just like any other hub.

No matter what, you will also need to run Homebridge, or any other bridging app on something. That could be a Docker image on your NAS if you have one, it could be a Raspberry Pi, and it can be an old computer. But whatever you use, it's really nice to have, because there are a lot of Homebridge plug-ins to connect other non-HomeKit hubs and bridges.

I recently added an OSRAM bridge plug-in so I can use their garden lights and bulbs, but not screw up my HE Zigbee network. If you're a nest protect owner like I am, there's a plugin that lets you connect them to virtual switches with HomeKit, so you can trigger lights again and tie it to other actions in HE. There are many other very useful Node.js apps too, so it's great to have that capability at hand. An old laptop that runs cool is a great asset if you have one kicking around. I have an old MacBook Pro that just sits quietly, sideways on a shelf with the lid closed. I remote into it when I need to, and it runs four other Node.js applications for me. It's been a very stable setup.

So with the cost of the iPhone, the Apple TV4 and the Aqara HomeKit hub for $36, you're looking at around $190 USD. But, then you start subtracting the savings on up to 32 Aqara or Mijia contact, motion sensors, or Opple buttons and other devices. The list of Xioami and partner products is growing fast. Once it's on their hub, the devices are amazing and their small, nice looking and low cost.

When the Aqara M2 hub finally comes out, you won't get the light and alarm functions with that hub, but you will gain Zigbee 3.0, the ability to use up to 100 devices with a single coordinator, and keep HomeKit compatibility. You then will also have access to existing Xiaomi products, and their upcoming 3.0 products.

It would not be handled with HomeKit automations, it would be a gateway to connect HomeKit devices directly without any Apple products in-between.

First off, thank you for the very detailed answer!

As for Apple devices, personally I do have Apple phones, an Apple TV 4 (not in use) and all the pre requisites except the Aqara hub. I have as of today more than 60 Xiaomi/Aqara zigbee devices connected to HE and my mesh is very stable.

I do hope your answer helps someone else though, I'm more interested in this because it would be fun to either write a driver for the 6 button remote, or port the HomeKit Controller code from Python to HE. In either case, I'll go get the current Aqara hub once the stores are open again. When they do have the Aqara M2 available I'll try that one as well.

With this said, I do have other projects to complete, just like most. Will try the existing route first to see how well they work and then work on replicating that using less devices and more code... What I'm talking about creating would be this:

But in Groovy instead of Python... Let us see how that goes...

1 Like

Cool. You are lucky. That's quite rare. I wouldn't be able to duplicate it, and with the success, and then rapid failure I had, along with the restrictions it put on the HE hub, I wouldn't try that way again personally. I do have a few Xiaomi devices still directly connected that are stable, but the rest weren't. It was very easy for me to get going since I was already an Apple user. I kind of figured from your reply it wasn't your way of approaching the issue, and my response was indeed primarily meant for the community in general if they wish to do the same. :slightly_smiling_face:

1 Like

From what I've read and myself experienced when I got started with installing this mesh in the beginning of December, I wouldn't recommend my route to anyone who's not prepared to put in both the time and effort as well as having a technical background suitable to understand how to compensate for issues. With that said, for me it was fun, I would wager that for most it wouldn't be... We all have different things we enjoy :stuck_out_tongue:

1 Like

For sure. :+1:

I've seen that post before. I'm thinking Apple may not like that so much. Seems to act too much like their hubs (Apple TV, iPad or HomePod). Their legal team may have something to say about that at some point. Homebridge is quite different since it doesn't remove the dependency on Apple devices, and I think that's why it's never been crushed by their legal team.

If Apple doesn't like that, then they can just not like that, but it would be hard for them to do much about against me personally, I live in China (no legislation to "protect" against these things), I'm not a US citizen and have a great law firm representing me...
But it is a good point, maybe not the best thing to go and do in the US... Using it should be of no issue however (disclaimer: consult your own lawyer, don't take this as legal advice).

And they will. Apple has very big business in China. Don’t underestimate them. Your legal representation is nothing against what they can afford, unless you happen to be a billionaire developer posting on the Hubitat forum :wink:

1 Like

Who knows :stuck_out_tongue: I will consult my lawyers here on this specific matter to make sure I break no local laws (the general advice I have from them on similar issues is the above). Also, my company does 0 business with the US, on purpose.
Big business and more money doesn't mean they can force things through in China, they've lost a lot of legal battles with very small companies here.

EDIT: Let's table this "legal discussion" and move on, these things are not what is fun about this... Let the lawyers handle it if we ever get there, which I seriously doubt, no illegal reverse-engineering of proprietary code or hardware is needed to implement this. The library used by the Home Assistant Controller is a released Python library, if anyone would be in trouble it would be whoever released that, and that was a rather long time ago. If anyone tried to use it in a commercial product and make money of it, then I'm sure Apple would come knocking much too quick...

Input regarding whether these new ZigBee 3.0 button remotes will likely work with the Hubitat Hub.

As I understand it, this line of products seem to fit into this description you gave on another thread:

By default, when paired, these remotes send commands to NWK broadcast address 0xFFFF (all nodes) in addition to reports from the server Multistate Input clusters to the coordinator.

To stop the Aqara-Opple remotes from broadcasting commands, bindings need to be created for the client clusters, preferably to a ZigBee group.

I assume that a Hubitat driver could written to configure these remotes with bindings when paired, but I'm not sure what to what group, because a group with any subscribed members would in effect be directly controlled by the remote (without intervention by the hub), and that's not ideal if a user wanted to use the remote to control things other than bulbs and/or switches.

The other weird thing I've read about these remotes is that they don't advertise the Multistate Input clusters nor the various endpoints they use for the various types of button presses. As seen in the fingerprint data from @SmartHomePrimer's OP, it only advertises clusters for endpointId 01 that include outClusters for Identity, ON/OFF, Level Control, & Color Control. However, I'm guessing that's such a problem since most of the messages they send have been sniffed out elsewhere on the internet.

that's how it's done with current button controller devices, relevant out clusters for each endpoint are bound to and away we go...
I've not bound to any group clusters, nor recall seeing any devices advertise this as an out cluster.