Announcement
Collapse
No announcement yet.
How to run event only when device wasn't already on.
Collapse
X
-
Aa6vh btw here I'm N1fbg.
Any time I can spare using a plugin or a virutal flag or a timer I will build this into the logic. works well with the Hsws100 and hsdw200 switches. I preset lights to come on either by motion or by user and assign different levels that change throughout the day. I also will set the devicelastchange time sometimes in the future and in the past to create multiple timeouts on one light triggered by multiple motion. 30 secs for this hallway 20 seconds to the door and 40 seconds from the last bedroom, etc... without any external timer.
MotionEvent:
could make this a little easier
If Motion Detected --------------------------If motion detected
---------------------------------------------------Then then turn on light
Stop Timer ------------------------------------then &hs.setdevicelastchange (dev id, now) whatever time reverts back to 0 this is done and ----------------------------------------------------if time goes on and say 12 minutes, as soon as its seen by motion the time resets to 0, no --timer to deReset Timer--------------------- no timer to rest
Start Timer ------------------------------------timer was already reset and started above
Turn on light -----------------------------------light is still on
TimerExpires event:
If Timer becomes exactly 15m --------------------If light has been on for 15 minutes then shut off light. done
Then ------------------------------------------------------no then
Stop Timer ----------------------------------------------no stop timer
If event conditions are true, run event LightOff
LightOff event:
If manually triggered
AndIf virtual switch is off
Then
Turn off light
Leave a comment:
-
Thought some more about this when I was BBQing my lunch (and still using the virtual switch idea):
I think you might consider using a timer rather than a wait statement inside your motion event, as follows:
MotionEvent:
If Motion Detected
Then
Stop Timer
Reset Timer
Start Timer
Turn on light
TimerExpires event:
If Timer becomes exactly 15m
Then
Stop Timer
If event conditions are true, run event LightOff
LightOff event:
If manually triggered
AndIf virtual switch is off
Then
Turn off light
The above events would have the advantage that if new motion is detected during that 15m, the timer would get restarted. And if you manually turn on the light during those 15m, the light would not go off when the timer expires.
If your light is on a single ZWave switch, then you are going to need a way to determine if the light was turned on by the motion event, or by the paddle. I would recommend the WS200 (Homeseer) ZWave switch, as it can trigger an event when the paddle is pressed, along with turning the light on (the event of course would turn on that virtual switch).
Leave a comment:
-
If you have a zwave device that reports its level is really easy to use. The motion sets the lights on. probably 99. So if you come into the garage and after the lights go on, you just press the on switch once and have Hs then change its level to something other than 99, So 98, 97,96 or whatever where you cannot see the difference in brightness. then when its time for the motion to shut off the lights if level is other than 99 it stays on. you would only have to add a condition if the light is being triggered by the motion and is already on (such as not 99, then not to change the level.).
If motion triggered and garage lights are less than level 90, then turn on lights
then wait 15 minutes run then run another event
another event: If garage lights level is 99 then shut off lights.
Stuart
Leave a comment:
-
If I understand your events, when you enter the garage the lights will come on when you open the door. How do you prevent them from going off if you stay in the garage to work?
A virtual switch is a straightforward way to handle the problem, so I have no disagreement with that approach, but if you can identify some pattern that HS could detect that indicates that the garage is occupied after the doors are closed, you might be able to totally automate the process - and avoid the possibility that you forget to turn off the lights when you leave and they stay on indefinitely.
A motion sensor in the garage might do the trick. But you may be able to come up with a better way.
With a motion sensor, you could reset a virtual 'occupancy' device every time the motion sensor detects motion, then after some period of time turn off the lights unless the device is reset in the mean time.
Leave a comment:
-
Yeah that’s probably the way to go. You can hide the virtual switch from the UI, or you can crease a floor or room called “virtual switches” for keeping them easy to find but out of the way. I use them for lots of conditional things like this.
Leave a comment:
-
There are a lot of different ways of doing this. What I would probably do is create a virtual switch. When I turned on the garage lights manually, the virtual switch would also be set. The motion detection events would then check to see if this virtual switch is set (as a condition), and if so, do not run the motion detection event. When the garage light gets turned off, reset that virtual switch, and the motion detection events would then be "armed" again.
Leave a comment:
-
How to run event only when device wasn't already on.
So I currently have an event that monitors 3 garage door sensors and when one opens my garage lights turn on and 5 minutes after they are all reporting closed the lights shut off.
The annoying part I'm running into is if I'm in the garage working and have the lights on and someone walks into the garage and then leaves the lights shut off on me after 5 minutes.
How can I set this event up so that if the lights in the garage were already on it won't shut them off on me while I'm working.
I attached photos to show how I have the event setup now, I'm sure there is probably a better, cleaner way but I didn't know how else to do it.
Thanks in advance for any ideas.Tags: None
Leave a comment: