Is there anything you can think of that might cause this to set the brightness level to 0% (or very close to it) after the lights have been off for a while?
Last night I turned off the lights in my kitchen and living room with SmartThings. This morning when I turned them on the kitchen was very low (like 5% or so) and the living room was at 0%. The levels were high when I turned them off last night so I know they weren’t dimmed at last use. A command to Alexa to put them to 100% caused them to turn up and they seem to work fine when I cycle them on and off with SmartThings.
This is the issue I mentioned earlier and since those two rooms aren’t tied to the “Gentle Wake Up” function I don’t think that’s the issue. Once they have been turned on and the brightness set they work normally but it’s like when they are off for an extended amount of time the brightness is turned down.
I’ll see if I can get that to happen as well and let you know. I’ve seen the SmartThings app slider bar report the low number but the switch actually was at the correct level.
The level the light is when turned off is stored in a state variable. That variable is used to specify the level when on is run through SmartThings. Somehow that variable must be getting lost or overwritten. I’ll look at it some more.
I did change one line but I’m not sure if that will solve your issue. Unfortunately, there is one limitation since I’m doing this outside of the official ZigBee method. If you change the dimmer level manually with the paddle, that won’t be reflected in a manual off then on (should go back to last setting before you manually changed the dimmer). There is no reliable way to fix that.
I actually can think of a way you could experience what you are seeing. This could happen if two off commands through SmartThings were sent to the cloud very close together. Do you use any automations like Smart Lighting or CoRE? I could perhaps put a timing wrapper so you can’t send more than one command in a few seconds.
This would have been so much easier if GE just supported the OnOffTransition attribute.
Your comment led me to some investigation and I can now recreate the issue. If I use Alexa and say “Turn off the Kitchen Lights” and turn them off in the SmartThings app at the same time (thus sending two ‘off’ commands in rapid succession) they will not turn back on the next time I give the “on” command through SmartThings. I have to use the physical switch to turn them on and then everything is back to normal.
I am not the only one using the system so it’s very possible that my wife and/or kids are doing something that somehow causes the double ‘off’ command to be sent, but there are no other routines running on the Kitchen and Living Room (the two areas that were in this state this morning). I will keep watching and see if I can figure out how it’s being triggered.
EDIT: I can think of something that might be happening… I have each individual light assigned and then groups of lights assigned. It’s possible that someone gives the “Turn off the Kitchen Lights” command and then immediately gives the “Turn off the Middle” command (which is a group of lights that includes the Kitchen). Those would have to be a few seconds apart so I am not sure if the ‘off’ commands would be close enough together to cause this but it’s a possibility.
I’ll look into fixing that issue. I see the problem. In actuality you don’t need to do it close together, you can do it spaced apart. You just need to send two off commands together (before issuing an on). Normally the app won’t let you space it apart as the option toggles, but the echo can send an off command even if it is already off. Routines can do the same.
That makes sense. I do have scenarios where a switch can be given multiple ‘off’ commands before getting another ‘on’ command because they are grouped together with other lights. I use Stringify and IFTTT to do various things and set ‘scenes’ and I have the same lights in there for different commands where they could be told to turn off several times without ever being on in the first place.
I made a change but can’t test it at the moment. If there are multiple off requests in a very short time period you’ll probably still see the problem, but at least multiple offs should be fixed.
I am having trouble installing the code. I keep getting this when I try to publish:
“Internal Server Error (Service: Amazon S3; Status Code: 500; Error Code: 500 Internal Server Error; Request ID: 699AD658B02F1242)”
The change seems to be saved (I put a date and time stamp in the DH comments) but the problem persists so I am not sure if it’s actually published and running.
I will try again in a bit and see if I can get it to go.
They apparently fixed IDE and I was able to get it published. So far so good! I sent two “off” commands and then an “on” command and it seems to be working properly. I will play with it tonight and see if anything pops up.
Hey thanks for this jhamstead! I’m using it and it works like a charm. The only difference is that hitting the manual switch causes the lights to turn instantly off instead of ramping down. Not a big deal since I never plan on touching the switch anyway. And thanks for the minimum dim level option too. This will help with guests holding the switches down trying to turn them off.
If you’d like you can pull this from my GitHub. jhamstead/jhamstead/master. I’ve made some minor updates to match changes SmartThings made to the default handler such as the light capability and color changes.
Unfortunately yes, manual switch commands don’t do the ramping. I can’t change this unless there is a future GE firmware update that adds that capability.
Color changes match the new blue color SmartThings has been releasing. I’m not completely sure what the light capability is used for. There are no methods associated with it. It may be for the new OTA feature allowing you to choose whether or not to update bulbs (lights).