Lutron and Hue = Aurora

Just got my Aurora. Reset is not documented in the included booklet, but can be found http://www.lutron.com/TechnicalDocumentLibrary/0301916_Aurora_Advanced_Install_Guide.pdf

I have off-on working well, but I have not quite figured out how to implement the dimmer. The rule above
image
uses a Track Dim Action which I don't see in any action group. What am I missing?
Thanks in advance,.

Solved Hidden as a toggle in the set level action.

Works but has a bit of a lag. It this the best setup?

Works but has a bit of a lag. It this the best setup?

@ejj3 try using the new Device Mirror app that was just added in the same update as the driver. I configured it that way and it tracks smoothly.

Anybody ever try to use this to change the hue value for the hue color bulbs?

I've just picked up several of these. I'm able to join them each to the Hub. However, once joined some will take actions (push and set level), but most only join and don't do anything.

I've reset the non-working ones multiple times, rebooted the hub. Every time, they join the bridge without issue, but don't respond.

Version: 2.1.5.124 using Mirror app to control Tradfri LED RGB bulbs. Thoughts or ideas? Appreciate any help.

Were one of these just miss-typing? Are you joining them to your Hue Bridge or your Hubitat Hub? What does the Aurora show on the device's page? When you adjust it, does the level change on the Aurora's page?

Joining the Hubitat Hub only. No Hue Bridge here. No changes on the device page when attempting to push (on/off) or set level (dim).

Device type is Lutron Aurora Controller

As a side note on additional reading, I have more than 32 Zigbee devices (Tradfri bulbs), but I've read that the Tradfri Lightbulbs are also repeaters. Might that be the issue?

Do you have any other repeaters on your system? Or any other Zigbee devices at all besides the ZLL bulbs?

No additional zigbee devices and no repeaters.

There are reports of these being terrible repeaters when connected to Hubitat. However, this device is also ZLL, so I don't know why the Lutron wouldn't work connected through the bulbs. Did you pair it close to your hub or in-place?

It appears to have been a device limit. I picked up a some signal repeaters and everything is working now.

3 Likes

Auroras with Hubitat are awesome. I am going to slowly replace the Lightify buttons I was using for my LifX bulbs with these, because they look so much nicer.

I was already using the Auroras for many of my Hue bulbs (paired with the Hue bridge). I was using the Lightify dimming switches, with SmartThings and LifX. I recently got Hubitat and figured I would try an Aurora with Hubitat and LifX to see if the local processing would speed up responsiveness. It works almost as well as the Aurora does with Hue. The dimming response is a little slow, but realistically my main goal is on/off.

So I realize one issue with the mirror app. It does switch the light from on to off and off to on, but if the light is already on (turned on by Google assistant) then I need to press the button twice. Once to get them both on and then again to get them both off.

Should I also mirror the light to the switch, so they always remain synchronized or will this create a loop?

I ended up not using the mirror app for this because of the on/off issue. I outlined what I did here

What is not mentioned in that post is I am using a custom device driver that nobody supports any longer. I don't really care because it does what I want it to.

I had the same issue. My work around was to change my rules to only turn on the light via the Aurora. No more direct calls to the bulb fixed everything.

Thank you for the code. I was able to modify this to be a button controller, instead of a latching-switch. The use-case for switch doesn't make a lot of sense for this device, since there's no indicator of any kind.

I also modified the code regarding the setLevel so that it actually accepts external set-dimmer commands.

IE, my light turns on due to motion, or tapping the Aurora, which comes on at a certain color/level. I want to be able to grab the knob and twist it without it jumping all over the place. With the stock driver, and this one, it would not accept the input from RM. Now all is well.

Thanks again.

Care to post your driver code? I want to get these working.

Hello @stevenascott, I'm also interested in the driver you wrote.
If you could share it it would be great! Thanks!

EDIT: Looks like the device doesn't actually take the dimmer value from the driver -- despite appearing that way in the details page for the dimmer. When you turn the knob, it jumps right back to the value the dimmer has internally. Best to look at Ed's driver a few posts down!

Yep here you go. Keep in mind, it was a quick hack, but it works great for me. I take no credit for the original code. One thing to note is I DID modify the behavior of when the switch turns on/off, based on the dimmer twisting. I didn't want it to force an off, because it caused issues. I just tap the button to cycle through lights in my room, then twist to adjust.

Then I use RM to track the dimmer, based on various scenarios to actually control different lights from the same dimmer. Probably silly for most, but maybe it will give people ideas. Gotta get creative with such a simple controller.

/**
 *  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-custom", 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, attempting to show pushed button")
//			sendEvent(name: "switch", value: device.currentValue("switch") == "on" ? "off" : "on")
            sendEvent(name: "pushed", value: 1, isStateChange: true, descriptionText: "Aurora button was pushed")
            
		} 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)
}
1 Like

@stevenascott, I have written a driver to address some issues I was having. In the end I didn't use much of the code you've shared, but it was very useful to get me started, so if you want me to give the credits, please let me know.

It is available here: https://community.hubitat.com/t/lutron-aurora-dimmer-custom-driver/

1 Like

Like I said, it's not really my driver. I just modified some existing stuff. If I wanted to get real fancy, I'd add toggles/options on the device page to customize the behavior, rather than hard-coding.

Good work!