That can distinguish between local and remote control
I have 30+ Dimmers. Does that mean I need 30 rules?
BTW...many of these are Homeseer 300 dimmers. When operated from the wall they do what I want, in settings they go to 100 by default. Not last level. So, it does seem like something in the way the Alexa app is written that makes last level happen. I'm just used to "on" being like switch just as off will always be zero.
What is happening here is the driver is sending on as Z-Wave switch multilevel command with a value of 0xFF which translates to last non-zero value.
I'm actually kinda shocked that Homeseer sent on as full 100%.. There are lots of reasons why people have different level settings and resetting to 100% all the time could cause chaos..
Thanks…I may have been confusing in my response…
They have an option to go to 99 when turned on locally with the driver I’m using.
I’m not really familiar enough with Hubitat, yet to have watched if that is a hub command or something to switch knows without help from Hubitat once set in the driver… I’ll check out that when I get home.
I’m sure this is an individual thing, but I do wish on was on with Alexa… or there was an option to set that in the app.
Again, thanks for the response!
Keep in mind that driver is for the WX300 I believe you have stated before you have 200 series devices. So the settings presented may not be actually available on your device.
But, anyway the fix presented above would be the quick and dirty way to just force them all to full brightness every time they are turned on.
Alexa assumes you want the lights at the same value you used the last time. Normally, my bedroom lights come on a 50% as that is sufficient to get us ready for bed or getting dressed in the morning. However, sometimes we are doing things that require brighter lighting. In that case, I simply instruct Alexa to turn on the bedroom lights to 100% and she complies.
I have a lighting schedule that turns on the bedroom lights 20 minutes before bedtime. In that case, the lights come on at only 50%. When I get up in the morning, I can tell Alexa to turn on the bedroom lights and they will come on at 50% if that is where they were when we went to bed.
If you want low lighting for a romantic environment, you can tell Alexa to dim the lights to 10% or whatever is appropriate.
Thanks! It's not Alexa that assumes this. When using another hub for the last 7 years "on" meant 99. Off meant "0," and you could ask for anything else you wanted. In the past I've had 5 different events for nightlights that are all at low levels, so it changes it up a bit. Those are not levels I want when I actually need light for something other than mood setting.
You can do anything you want in a rule. Alexa takes intervention.
This really should be a customizable feature IMHO.
Thanks. Yes, and sadly while the same driver was working for the 200's, while it actually turned on and off the light...status never updated. Kind of weird.
I edited the command above and now have the behavior I wanted with the 300's!!! ...On means on and any level I ask for or set via a rule or Alexa sets correctly.
So, I feel a little awkward asking this, I am using the 200+ drive by Homeseer. for the 200 series. I'd think that somewhere in this chunk of code I might be able to do the same thing. I used to do a little Turbo C programming but that was something like 30 years ago...this looks a lot like it...but not good enough to spot what I might mess up anymore. Just don't respond if you don't want to mess with it. I totally get it. There's another "define ON" section, but it looks like that's for local control.
private dimmerEvents(hubitat.zwave.Command cmd) {
def value = (cmd.value ? "on" : "off")
def result = [createEvent(name: "switch", value: value)]
if (state.lastLevel != cmd.value && enableInfo) log.info "$device.displayName level is ${cmd.value}%"
if (value != device.currentValue("switch") && enableInfo) log.info "$device.displayName switch is ${value}"
state.lastLevel = cmd.value
if (cmd.value && cmd.value <= 100) {
result << createEvent(name: "level", value: cmd.value, unit: "%")
}
return result