Teken Posted June 10, 2020 Posted June 10, 2020 I have ceiling light which comes on and turns off at the 30 minute mark. I would like to integrate Julie U.S. to give a one minute verbal warning prior to the light turning off so my girl friend can tap on the button again for another 30 minutes. Is anyone doing something similar where something is on a count up timer and another with a count down timer? I'm wondering if a Node Server exists where a count up vs count down could be incorporated into programs. I already have a double tap program that keeps the ceiling light on perpetually if required.
larryllix Posted June 10, 2020 Posted June 10, 2020 (edited) You came to the right place! I use this technique to determine Home/Away. Each and every device that can be used injects a value (number of minutes delay) into a variable. Each MS or other device injects a different number of minutes to delay. Typically the closer you get to the exit door, the lower the delay number. The security (built into ISY for me) system injects only a 1 minute delay. Motion.EveBR - [ID 0015][Parent 000B] If 'Evening Bedroom / Motion.EveBR' is switched On Or 'Rec Room / RecRm stat / RecRm stat cribroom' Occupancy is Yes Then $sMS.Motion.room = $cROOM.EVEBR Wait 2 seconds $sHouse.occupied.timer = 120 Else - No Actions - (To add one, press 'Action') A countdown program self-retriggers every 1 minute or whatever clock click you desire. Note my implementation allows people to sleep without timing out and resumes in the morning again. Occupied.countdowner - [ID 0167][Parent 000B][Run At Startup] If $sHouse.occupied.timer > 0 And From 7:00:00AM To 11:00:00PM (same day) Then Wait 1 minute $sHouse.occupied.timer -= 1 Else - No Actions - (To add one, press 'Action') Self retriggering timer. Enabled to run at startup! -If startup occurs ouside wake timeframe, will self start at beginning of timeframe. -If timeframe commences while .timer is 0, first new occupied.timer value will start again. A third program monitors the countdown vairable and does the dirty deed desired. Occupied.flagger - [ID 0168][Parent 000B] If $sHouse.occupied.timer > 0 Then $sHouse.occupied = $cTRUE Else $sHouse.occupied = $cFALSE Power up assumes home unoccupied! Shouldn't be long to correct that. Program cannot be combined into "Occupied countdowner" program as it's timeframe end would zero occupied.timer Edited June 10, 2020 by larryllix
Teken Posted June 10, 2020 Author Posted June 10, 2020 1 hour ago, larryllix said: You came to the right place! I use this technique to determine Home/Away. Each and every device that can be used injects a value (number of minutes delay) into a variable. Each MS or other device injects a different number of minutes to delay. Typically the closer you get to the exit door, the lower the delay number. The security (built into ISY for me) system injects only a 1 minute delay. Motion.EveBR - [ID 0015][Parent 000B] If 'Evening Bedroom / Motion.EveBR' is switched On Or 'Rec Room / RecRm stat / RecRm stat cribroom' Occupancy is Yes Then $sMS.Motion.room = $cROOM.EVEBR Wait 2 seconds $sHouse.occupied.timer = 120 Else - No Actions - (To add one, press 'Action') A countdown program self-retriggers every 1 minute or whatever clock click you desire. Note my implementation allows people to sleep without timing out and resumes in the morning again. Occupied.countdowner - [ID 0167][Parent 000B][Run At Startup] If $sHouse.occupied.timer > 0 And From 7:00:00AM To 11:00:00PM (same day) Then Wait 1 minute $sHouse.occupied.timer -= 1 Else - No Actions - (To add one, press 'Action') Self retriggering timer. Enabled to run at startup! -If startup occurs ouside wake timeframe, will self start at beginning of timeframe. -If timeframe commences while .timer is 0, first new occupied.timer value will start again. A third program monitors the countdown vairable and does the dirty deed desired. Occupied.flagger - [ID 0168][Parent 000B] If $sHouse.occupied.timer > 0 Then $sHouse.occupied = $cTRUE Else $sHouse.occupied = $cFALSE Power up assumes home unoccupied! Shouldn't be long to correct that. Program cannot be combined into "Occupied countdowner" program as it's timeframe end would zero occupied.timer Hi Larry, Appreciate the feedback and sample program but was really hoping for a more elegant way to accomplish this count down / count up timer. I have too many variables running right now and my little box is maxed out in terms of processing time. Perhaps one of the really skilled members could slap together a Node Server that could use the power of the Polyisy to be that timer instead. Really looking forward to seeing the Polyisy Pro replacing the 994 Series Controller . . .
Recommended Posts