Streamlined Whole-House Scene Controls

I wish I could get away with heavier use of motion detectors or other events that are initiated by ST rather than by the wall-switches… but so far the lag has been killing me in terms of Acceptance Factor. The combination of getting far enough into the room for the detector to fire, plus z-wave & Smartthings latency, plus a “fade in form zero” effect that I think is maybe resulting from using on() instead of setLevel(value,duration=1)… adds up to perhaps 2 full seconds before the room is fully illuminated.

I have to admit, albeit painfully, that that is way too long compared to just flipping the switch on as you walk through the door. (Even though that also summons the Demon of Gradual-Fade-In, which I hate.) Unless I can wring the total end-to-end latency for motion triggered events down to like maybe 500ms tops, measured from the moment the person perceives themselves to have entered the room… I think I am going to be stuck trying to make the most of wall-switch interactions. So that’s my current focus.

The big unknown for my approach right now is: will my wife object to “the flickers”? They don’t bother me much in theory, but if they turn out to be bothersome at 2am, it’ll be tough to make a case that the flickers are “better” than just manually setting dimmer levels via press-n-hold.

I’m going to see if I can finish out a rudimentary version of the Whole-House Scene app today in time for sundown.

That’s interesting, because I have the opposite experience. My motion activated rooms all activate in about 1 second, worst case (unless ST isn’t working right, which is frequently). I asked my Acceptance Factor partner about it, and she said that when it works right, it’s fine. My Leviton dimmers have a 0.5 sec ramp up time, which I could change to zero, but haven’t had a reason to do that. My AF partner did point out that negative conditioning is much stronger than positive conditioning, so she is always expecting things to fail, which they do often enough (thank you ST) for my house to be deemed Experimental at best.

On the flip side of the coin, my house was built 9 years ago with banks of dimmers for each room, as if you’d care to fine tune subtle lighting differences every time you entered a room. It’s ridiculous. My office has a bank of 4 dimmers. Early on I decided that just the first switch would be the actuator of things, and that the rest would either follow suit exactly, or use something like Scene Maker to set them. Then I ran into the problem of instant reporting for z-wave dimmers. Most do not report instantly, so using a wall switch to turn on several dimmers was a losing proposition. Later, I discovered that the Leviton VRMX1 does instant reporting, so I’m swapping out some other dimmers in order to get instant multi-on from turning on the #1 dimmer in each of these banks of dimmers (or off, which is really what I use them for).

I incorporated motion into my main lighting app (which is not this Streamlined Whole-House Scene Controls app), so that I could avoid any on() taking place from motion. It goes straight to setLevel() to the right level. For Leviton dimmers that works perfectly.

As to the flickers: I only use 3 modes for lighting (Day, Evening and Night). Even if I used more modes overall, as some do, I only distinguish between those three for lighting purposes. So my flickers occur at Sunrise, Sunset and when my wife turns off the lights at bedtime with a Minimote. The flicker late at night to 10% is barely noticeable. The flicker at Sunrise is noticeable. But if you were asleep when that happened it probably would not wake you – it’s quite brief. Since I use motion almost everywhere, we just don’t see it. My guests have never mentioned seeing it, but I don’t know for sure, and I’m too lazy to spend the night in the guest room (would miss my AF!).

I’ve partly completed testing of my first pass, which is in a branch here:

After a first pass, it seems to more or less behave as I expected. One thing i have not tested at all is the interaction of my added code with the existing pollMonitored stuff.

1 Like


I have just started trying to implement the virtual presence sensor tiles. I would like to trigger events based on various combinations of people being home. Basically I want an event to always trigger, except if a particular person is home alone (person 2 in the example below):

Person 1 home - Event triggers
Person 2 home - Event does not trigger
Person 1 & 2 home - Event triggers
Person 1 & 2 away - Event triggers

I have modified the code of the “Individual Scene Control” app by setting multiple to “False” within the “Select (Virtual) Presence Switch:” section.

This allows me to then select multiple virtual presence sensors when configuring the app. My question is, if I select both Person 1 and Person 2, will this be treated as both Person 1 AND Person 2 must be present to trigger event, or will it be treated as either Person 1 OR Person 2 must be present to trigger event?

Sorry for what is a really basic question. I’d appreciate any help!


This seems pretty neat.
Is it still being updated/maintained?

I haven’t updated it in a while - mostly because it does exactly what I want it to do. If you have any questions or problems, just let me know.