New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Lutron Aurora (Friends of Hue dimmer) #2305
Comments
I would also appreciate having this switch supported:
Some screenshots of a test setup in deConz with a Conbee II (if more info needed, please let me know) : Related requests for Lutron Aurora dimmer switch: |
I could also have one shipped to a dev if that'd help. :) |
Just to be sure: this is a wireless switch that covers the 20th century wall switch, but doesn’t need any wiring? Does it work without being installed/attached to the wall switch? I wouldn’t be able to install it due to my EU mains power and wall switches. Otherwise I’ll be happy to have a look at it. I haven’t yet gotten my hands on a ZLLRotary switch. As mentioned in the homebridge-hue issue: not sure how to expose these to HomeKit, but if we can get web socket notifications for each rotary event, it would work quite well as a Stateless Programmable Switch with automations for setting Change Brightness from homebridge-hue, or Change Volume from homebridge-zp. |
I just bought a couple of those also, so I am interested in deconz support and will try to help as much as I can. @ebaauw You got it right. It works without being installed on the wall switch. |
Hi @ebaauw , To better clarify, instead of us calling it a 'switch', the Lutron Aurora as a probably more helpfully described as:
According to their FAQ, Lutron is not intending for this remote to work only with Hue bulbs. It seems to be very well engineered, and it's nice to use. Lutron's https site doesn't seem to be working at the moment, but here's the product links with specs (with it's own pairing and unpairing process described): General support center for the Aurora
|
If @ebaauw is interested in receiving one from you and wants to give it a try, it'd be best to make sure it has the latest firmware on it first, since I don't know if the Hue app would be able to do so outside of N. America. Would you be able to pair it with a Hue bridge and update the firmware (if available) and then unpair it from your Hue bridge before sending it to him? Also, if you do this, I'll split the cost with you so let me know and we can PM so I can PayPal you. Obviously we know there's no guarantee of success but I suspect he'd be successful. Homebridge-hue works so well and since I use it daily now, I wouldn't mind sending this to him out of gratitude anyhow :) |
@carver7: If I had a Hue bridge I'd be happy to. :) If you have one I can offer the same cost splitting. If it's at all helpful to the devs, this device does work with zigbee2mqtt: https://github.com/Koenkk/zigbee-herdsman-converters/pull/587/files Very different architecture I'm sure but it shows that it does seem to be a pretty standards-conformant ZigBee device. Also, I am ultimately hoping to use this with Home Assistant if that's relevant? |
Looking at the screenshots, the device is likely a hybrid, like the Hue dimmer switch, that controls lights directly and sends buttonevent reports to the gateway/hub. Looks like the zigbee2mqtt supports the first, but not the buttonevents. Typically they provide more precise control, but only when the gateway/hub is up and running. I have a Hue bridge and would be able to link the device to it. Not sure about the firmware updates, I know they use to roll out new firmware per region, but I don’t know if they limit firmware availability to the region where a device is sold. Seems like a lot of administration/work, for no apparent benefit. After we’ve added support in the REST API plugin, the various API clients, like Phoscon, the HA plugin, and homebridge-hue, need to add support as well. I can only do homebridge-hue; Phoscon isn’t open source, and I don’t know HA. |
I can confirm what looks like button and dial events being reported from the remote to the Hue bridge: once it is paired with the Hue bridge, next to the Aurora’s icon in the ‘accessories setup’ section of Hue app, time-stamped messages saying either ‘dial rotated’ or ‘button pressed’ appear when operating it. Given that it simply states ‘dial rotated’ when turning the dial, and nothing with respect to by how many degrees or by how change in intensity, this also seems consistent with your observation that the remote likely controls the bulbs directly while simply reporting the events to the bridge. If this hybrid mechanism is indeed how it works, then after the event is reported, does the Hue bridge then in turn poll one or all of the associated bulbs to determine what changes in on/off state or ‘brightness’/intensity have been made before reporting it to the Hue app? |
@TFenby |
Please email me, or start a private conversation on the homebridge workspace in Slack. When paired to the Hue bridge, the Hue dimmer switch only reports the buttonevents to the bridge, and doesn’t control the lights directly. It only does so, when paired directly with a light, forming an ad-hoc network, without a bridge. I suspect the Lutron will do the same. The Hue bridge works under the paradigm that all changes to the light are going through the bridge. When sending a command, it updates its cache with the predicted lightstate after the light has executed the command. The polling is only a safety net, and I suppose for detecting when the light can no longer be reached. This is very different from the paradigm used by e.g. IKEA, where all controllers and even their motion sensor send commands directly to the lights, and the lights report their changed state to the hub. deCONZ can do both: it updates its cache when sending a command to the light, and it eavesdrops on the commands a controller sends, to reverse-engineer that controller events. There’s pros and cons to both paradigms. The central approach is more flexible, allowing you to map any event to any action, through rules. It only works when the bridge/hub/gateway is up and running. Predicting the light state can be challenging, especially for relative commands (like |
I might be misunderstanding, but I can confirm that the Aurora switches do send events to the "hub" in my HASS/zigbee2mqtt setup. I do not have any ZigBee lights at all, and I was able to control IP/Wi-Fi lights with the Aurora switches by using HASS/zigbee2mqtt as the "hub". |
What I mean is: the zigbee2mqtt picks up (eavesdrops) the commands the switch sends to the group of lights, it doesn’t pick up the Multistate Input notifications. Note that a group in Zigbee is like a multicast address, the switch will happily send the command, irrespective of whether any light is listening, or even present. |
@ebaauw (sorry for my delayed response here) |
Thanks, @carver7, I did receive your email. @TFenby has already contacted me for my address on Slack. I really appreciate both your efforts, but receiving multiple units would be a waste. I won’t have use for the dimmer here in Europe, due to different standards for in-wall switches. Probably best to get the one with the latest firmware, just in case I won’t be able to update it from over here. |
Unit bought and firmware updated. Shipping very soon |
@ebaauw @TFenby @ everyone else Once again no expectations or pressure of course, @ebaauw if you like the switch/remote Ive been thinking you can probably stick/screw/nail the mounting bracket to a wall (or maybe onto something resembling a NL-style light switch plate, and screw the latter into the wall first to if you’d rather it look fully like a hardwired switch) or stick to surface of a nightstand etc |
I just received the Aurora, thanks @carver7 It pairs with deCONZ in a breeze (after factory resetting it). It's far from obvious how it should be configured, though; I need to sniff the traffic when pairing it to a Hue bridge to figure it out. It responds to bind requests alright, but it reacts to these bindings in a very atypical way. Binding the client On/Off and Level cluster to a group doesn't seem to do anything at all. The dimmer doesn't send any message on pressing or turning. Binding the server Power Configuration cluster to the coordinator (I would think to setup attribute reporting for the Battery Percentage Remaining) does a lot more:
|
OK, paired it to the Hue bridge.
Meanwhile, the dimmer has done a Match Descriptor Request for the OTAU cluster. Apparently my Hue bridge has newer firmware than the dimmer, and is has updated the dimmer firmware from 3.1 to 3.4. Pressing the button results in a 0x00 command from 0xfc00, with a payload compatible to the Hue dimmer switch: the button (always 1) in byte 0 and the action in byte 4 (0 = press, 1 = hold, 2 = short release, 3 = long release). That's good news, basically the button can be supported by simply whitelisting the Aurora and re-using the code for the Hue dimmer. Turning the dimmer also results in a 0x00 command from 0xfc00, but now with a considerable larger payload. It will take me a while to reverse engineer this. |
EDIT The Hue bridge reports the The rotary events payload seems to have the following structure:
Comparing this to the button event payload, with structure:
I think the schema is as follows:
|
For completeness, here's the data from the 0x82/0x83 commands:
The strings are easily recognised, preceded by a length byte. I don't recognise anything else, but presumably, the dimmer's capabilities are encoded in here somewhere. |
No matter what I try, I cannot get the Lutron Aurora to send 0xfc00 commands when connected to deCONZ. I replay the querying of the manufacturer-specific atrributes using deconz-cli-plugin, confirming with help of the sniffer that the dimmer reacts to these commands. Attached the log when pairing the Lutron Aurora to the Hue bridge: For reference, I created a little shell script (
However, when next binding the 0xfc00 cluster to the RaspBee, the dimmer blinks quickly (like it's connected again). Afterwards, it sends 0x0008 commands on button/dial actions. I'm afraid the dimmer uses some other method to detect whether it's connected to a Hue bridge before it's willing to send 0xfc00 commands. As a long shot, I tried configuring the RaspBee with the same endpoint as the Hue bridge (see #266 (comment)) and binding 0xfc00 to that endpoint instead. No changes. As another long shot, I want to try and configure the RaspBee with a Hue mac address, but just changing the mac address (and leaving the extended PAN ID) led to all sorts of conflicts (a light complaining about an address conflict for 0x0000). I probably need to setup a new network from scratch - some other time. |
Configuring the RaspBee with a Hue mac address doesn't change the dimmer's behaviour either. |
Above commit contains the following changes:
Still to do:
|
Here's the resource for the Aurora:
And here's the resource for the Hue dimmer, with
And here's the web socket notifications:
|
Thank you so much for all the work! |
Lots of great work here!
It looks like it's been quite challenging...I wondered from the beginning if Lutron has implemented a trick or two to make it difficult to reverse engineer and use with anything but a Hue bridge or with direct Hue bulb pairing, despite Zigbee being an open protocol...from what I've read, Lutron's products and their accompanying in-house wireless protocols are known to be just as closed-source and proprietary as they are well made... But regardless, it looks like you've gotten the vast majority of this solved, and that's certainly very cool. |
I don’t know Lutron that well (I think they mainly target the north-american market), but I don’t think they would intentionally frustrate reverse engineering. My current theory is that they only use the 0xfc00 when paired to a ZLL network. I don’t think it’s possible for the RaspBee or ConBee to actually form a ZLL network (instead of ZHA). It used to be possible to join them as a router to the Hue ZLL network, but that function was broken many versions of deCONZ ago. More recently I found using them as a router on a ZHA network formed by another RaspBee/ConBee also reveals some issues… Anyway, this is mostly academic, since no-one will be reconfiguring their RaspBee/ConBee just to connect the Aurora. The 0xfc00 stuff is a manufacturer-specific extension, linked to Philips. Lutron probably never considered people wanting to use this in conjunction with another Zigbee gateway. Oddly, the Hue dimmer doesn’t have this restriction. It’s a pity, because the Aurora dimmer is more powerful than the Hue API supports (it actually reports how long the button has been pressed, like the Hue dimmer switch) and the deCONZ API is far more powerful than the Hue API (if only for push notifications). Yes, I sniff the ZigBee traffic between the Hue bridge and the Aurora while monitoring the Hue API. Unfortunately, the Hue bridge doesn’t support push notifications, so there’s no (looking at the) life output. I poll the bridge every second, hoping to catch all |
Added support for the Hue smart button, which, on a ZigBee level, looks similar to the Aurora. Still no luck figuring out how to activate the 0xFC00 cluster, though. |
how do you couple the Aurora switch to deCONZ? |
|
It seems this issue is resolved or otherwise inactive. If it is not, please re-open! |
As I mentioned on reddit I'll re open and ask a dev to check it. |
daz on me |
As there hasn't been any response in 21 days, this issue has been automatically marked as stale. At OP: Please either close this issue or keep it active It will be closed in 7 days if no further activity occurs. |
As there hasn't been any response in 28 days, this issue will be closed. @ OP: If this issue is solved post what fixed it for you. If it isn't solved, request to get this opened again. |
I would love to see this switch supported if it's possible. Deconz doesn't recognize it as a switch |
The switch is supported by the REST API plugin. To request support in Phoscon, please see their repository. If it's not working in the REST API plugin, please open a new issue and include GUI screenshots of the node, endpoints, and clusters; and of the Basic cluster, after reading the attributes. And attach a log file while running deconz with |
Looking to either supplant or re-open #1672.
Looks like the necessary info is in that issue, but please let me know if I need to provide more!
The text was updated successfully, but these errors were encountered: