Lutron and Hue = Aurora

Nice little "problem" solver but $40 is a bit steep for what it is. I'll wait for these to go on sale and pickup a couple for areas where my guests get flip happy.

2 Likes

That is a great problem solver, I agree a bit too steep $$ though

I guess it's perspective. This is a great price considering the ease of installation. I've installed smart switches to solve this problem in the past. Now I can cover an existing switch with a smart dimmer with no care for "white" neutral wires. I'll be considering this for one of the switches in the master bath I'm remodeling.

Looks neat! (Not that Lutron would put their name on anything ugly.) The price is a bit steep but not absurd. I wonder how easily the base can be removed for times when you do want to use the light switch (e.g., to reset the bulbs, switch them out, or some other scenario I'm imagining--because this idea isn't entirely new, with the Osram Dimmer being able to snap over and existing toggle or rocker and the Eria Dimmer--to say nothing of a Pico with the Smart Bridge--being able to fit into a standard decorator plate if you cap the wires beneath, which these other products avoid ... but I'm still afraid to do it).

I assume it's intended to speak directly to the bulbs over ZLL like the Hue Tap and Hue Dimmer, but hopefully it's also like the Hue Dimmer and able to be paired to Hubitat for more functionality. :slight_smile: I can imagine a lot of interesting uses for these if so. (But if you're willing to nut the wires behind the plate, the Eria Dimmer or--if you have the Lutron bridge already or want to buy enough that the cost would balance out--Pico Remote can already effectively give you this functionality with Hubitat. And, again, the Osram 2-button dimmer does something similar, though it's bulkier and arguably less pretty--and, of course, none work directly with the outstandingly reliable Hue network like this, so I guess that's its other advantage.)

1 Like

There’s no doubt this will have a lower street price. The Lutron Connected Bulb Remotes used to be $30 CAD. I bought two at that price, but a year later I bought 4 of the for $15 CAD each when Home Depot was clearing them out.

In Ry Crist’s article, he said the clip on in about 30 secs, so should be easy to get them off too I would think.

@mike.maxwell I do hope you get a pre-order in to tinker with this and see if they’re going to pair with the hub. This could solve that dilemma for a lot of users that don’t have the ability to change switches in a rental, or don’t want to invest in a Smart Bridge Pro

This looks amazing. A very simple solution that looks so nice. I see many more hue bulbs in my future with this...

I hope these work as well, however, if they work the same way as the Lutron bulb remote they won't...

2 Likes

I hear you. Had the same thought. Hoping to be wrong.

Just got mine today. It paired after I reset it:

Lutron Aurora (Z3-1BRL)
ID: AEE6
Manufacturer: Lutron
Product Name:
Model Number: Z3-1BRL
deviceTypeId: 129
manufacturer : Lutron
idAsInt : 1
inClusters : 0000,0001,0003,1000,FC00
endpointId : 01
profileId : 0104
application : 01
outClusters : 0003,0004,0006,0008,0019,1000
initialized : true
model : Z3-1BRL
stage : 4

Unsurprisingly, none of the existing drivers seem to be able to do much with it. But this much could be promising...right? :smiley: (If not, I may keep my Hue Bridge.)

EDIT: Just saw someone on the ST community form link to a DTH that mentions "Aurora," but despite my initial excitement, I think they're confused--there's another company with that name that makes a different product (but they linked to SmartThingsPublic/devicetypes/smartthings/zigbee-accessory-dimmer.src/zigbee-accessory-dimmer.groovy at master · SmartThingsCommunity/SmartThingsPublic · GitHub, and there are a few similar ones that don't seem too far off...).

5 Likes

Why would you consider getting rid of the Hue Bridge? Such a useful addition.

1 Like

If a second (OK, fourth...) Hubitat can do everything for me, I could just use that and use non-ZLL bulbs like Osram and Sengled without having to mix LAN and Zigbee calls while theoretically being able to leverage Zigbee group messaging (which Hue will do itself if you expose groups, but I don't--I rarely want everything in a room on at the same time, and I'd consider sticking with Hue if Hubitat supported Hue scenes, but it doesn't, while also not supporting "real" Zigbee scenes so it's kind of a wash right now...but maybe some day :slight_smile: ).

1 Like

Is there an issue with Hue B Smart? I don't use it, but I know it supports Hue scenes.

I try not to run custom code for lights (I have them running on a dedicated hub to ensure it's as fast and reliable as possible), but I did experiment with an early port of Hue B Smart on my test hub. Nothing disastrous, but I don't think it supports the startLevelChange and stopLevelChange commands (probably could add it--in guessing Hubitat's Hue integration fakes this with repeated dimming commands but I don't know), which I like to have for my Pico remotes, and once I noticed a light that should have been turned off staying on. I'll probably try it again sometime to see how it works now. :slight_smile:

There are issues with delayed command response in my experience, another developer attempted to improve it but gave up.

1 Like

Decent news! I sort of got this working, but I don't know Zigbee well by any means and could only guess and what to do in the driver based on what messages I saw in the catchall the device was sending. This driver appears to work for most functions, which are turning left or right (it doesn't send an event for each--it just continually sends a number representing the current level, apparently stored on the device, and will bottom out at 0 and top off around 254 or 255, which I convert to 0-100). Pressing the button also sends an event.

It would make sense for this to be a button device, with one event sent for a left turn and another for a right turn, or ideally maybe even one event sent for a small turn and another for a large turn (or an event sent on the starting and stopping of a turn). Unfortunately, I don't see that happening. It stores a number that represents the level it thinks it's at, then repeatedly sends a new level as you turn the knob, based on how far you turn it. It seems like it would be possible for someone to write a driver that works with this data and fakes the ideal scenario I describe, but I don't know how well that would really work. So instead, I have this implemented as a Switch Level device, effectively acting as a dimmer (it might be possible to send a level to the device, effectively syncing it with a real bulb or dimmer--but I don't know enough Zigbee to see; but it would certainly be usable in at least the other direction as-is). Because I had to do that, I also mapped the button press to the Switch capability, with a press toggling it on or off. It would make sense to implement that as a Pushable Button, and you certainly could, but I did it the other way (I suppose it could also do both) since I had to use Switch Level to make the rest make any sense, and this way you could use it as some sort of dimmer device "bound" to a real bulb/group/dimmer/etc.

Here is what I've figured out so far:

/**
 *  Partly based on source originally copyright 2018-2019 SmartThings
 *
 *  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 *  in compliance with the License. You may obtain a copy of the License at:
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
 *  on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
 *  for the specific language governing permissions and limitations under the License.
 *
 */

import com.hubitat.zigbee.DataType

metadata {
	definition (name: "Lutron Aurora Dimmer", namespace: "RMoRobert", author: "Robert Morris") {
		capability "Actuator"
		capability "Switch"
		//capability "Pushable Button"
		capability "Switch Level"
		capability "Configuration"

		fingerprint profileId: "0104", inClusters: "0000,0001,0003,1000,FC00", outClusters: "0003,0004,0006,0008,0019,1000", manufacturer: "Lutron", model: "Z3-1BRL"	}
}


// Parse incoming device messages to generate events
def parse(String description) {
	logDebug "description = $description"
	def event = zigbee.getEvent(description)
	if (event) {
		if (event.name=="level" && event.value==0) {
            log.debug "level = 0"
        }
		else {
            log.debug "sending ${event}"
			sendEvent(event)
		}
	} else {
		def descMap = zigbee.parseDescriptionAsMap(description)
        if (descMap && descMap.clusterInt == 0x008) {
            log.debug "8 data = ${descMap.data}"
            logDebug("Button turned, setting level from device data")
            def dataList = descMap.data
            if (dataList.size() < 3) {
                logDebug "Ignoring data ${dataList}"
            } else {            
                int deviceLevel = Integer.parseInt(descMap.data[0], 16) * (100/254)
                logDebug "Device level = ${deviceLevel}"                
			    setLevel(deviceLevel)
            }            
        } else if (descMap && descMap.clusterInt == 0x0006) {            
            logDebug("Button pressed, toggling switch")
			sendEvent(name: "switch", value: device.currentValue("switch") == "on" ? "off" : "on")
		} else {
			log.warn "DID NOT PARSE MESSAGE for description : $description"
			log.debug "${descMap}"
		}
	}
}

def off() {
	sendEvent(name: "switch", value: "off", isStateChange: true)
}

def on() {
	sendEvent(name: "switch", value: "on", isStateChange: true)
}

def setLevel(value, rate = null) {
	if (value == 0) {
		sendEvent(name: "switch", value: "off")
	} else {
		sendEvent(name: "switch", value: "on")
		sendEvent(name: "level", value: value)
	}
}

def installed() {
	sendEvent(name: "switch", value: "on", displayed: false)
	sendEvent(name: "level", value: 100, displayed: false)
	//sendEvent(name: "pushed", value: "1", displayed: false)
	//sendEvent(name: "numberOfButtons", value: 1, displayed: false)
}

def configure() {
    zigbee.onOffConfig() + 
        zigbee.levelConfig() +
        zigbee.enrollResponse() + 
        zigbee.readAttribute(zigbee.POWER_CONFIGURATION_CLUSTER, 0x20)
}

def logDebug(str) {
    log.debug(str)
}

Again, I do not know much about Zigbee and had to figure this out based on what the device was sending according to logging events I made. I am likely missing functionality that could be better implemented if I understood better what all the clusters were. As-is, this does seem to work for me to report turns and pushes, though unfortunately not in the way I'd like the device to actually report them. Still, if you want to use this device on Hubitat, it's a promising beginning. If you're not in a hurry, I'm sure Mike will get his hands on one sooner or later (I'd even send mine to borrow if desired) and write something that works a lot better if he thinks the device is worth it. :slight_smile:

Where did you get it?, amazon only has then for pre order, delivery mis next month...

I pre-ordered mine from the Hue online store (where Lutron also redirects to) when it was first announced. I think they've started arriving for early orders already, having seen at least someone on the ST forum with one too.

I just got my Amazon pre-order a few minutes ago.

When I paired mine it showed up as 'device.' I expected something like that, but I get no feedback in any logs at all. Even after I tried installing your device driver, I see nothing whatsoever. I know the dimmer is working when I previously paired it directly to my Hue bridge. Should't I see at least garbage output from the dimmer, regardless of proper driver?

This might be a silly question, but you said you installed the driver. Did you then go to the device and change the driver to the correct one? (I have to ask. :slight_smile: ) Assuming you did that, did you hit "Configure" after making the change? (You won't see this do anything. It sends configuration to the device.)

As you turn the knob, you should indeed see logs but also the "level" attribute changing. Presses should toggle the "switch" attribute on/off. (So the best way you can probably make this work on Hubitat, assuming this works for you, is mirroring it with one or more "real" bulbs or groups.)