The Goal is turn on my garage Lights ON when the garage door is open and it nite time for 10MIN
This is MARK 1
First i had to work out nite So i used the astro plug
// put this at top of page
var Timer Timer_Bla=null
rule "OpenHAB system started - astro"
when
System started
then
createTimer(now.plusSeconds(180)) [ |
if (now.isAfter((Sunset_Time.state as DateTimeType).calendar.timeInMillis) ||
now.isBefore((Sunrise_Time.state as DateTimeType).calendar.timeInMillis)
) {
postUpdate(NightState, ON)
} else {
postUpdate(NightState, OFF)
}
]
end
rule "Update NightState"
when
Item SunElevation changed
then
if(SunElevation.state > 0){
if(NightState.state != OFF) postUpdate(NightState, OFF)
} else {
if(NightState.state != ON) postUpdate(NightState, ON)
}
end
dont under stand it yet but getting there it WORKS
next the rule for the Sensor_Garage
rule "Turn on garage Light when Night time"
when Item Sensor_Garage changed from CLOSED to OPEN
then
if (NightState.state == ON) {
Garage_light.sendCommand(ON)
Timer_Bla = createTimer(now.plusMinutes(10), [|
Garage_light.sendCommand(OFF)
])
}
end
Done
i come from windows using VBscript for everything
the hard bit been dealing with the {} [] () and the case naming
me HAPPY CAMPER
Your code will be easier to read if you use code fences. The five buttons to the right of the smilie face will insert code fences. Put your code in between and spacing and formatting and even some syntax highlighting will be applied.
If you have additional times of day you are interested in tracking you might be interested in the Time of Day Design Pattern.
Also, if your Garage_light only ever comes on for these ten minutes (which is probably not the case) you can eliminate the timer by using the Expire binding:
Yeap that the Plan So far my think is I drive in the garage and it dark its turn it on
im looking into PIR next so if I stay long that will see me and do some thing
I’ve been down this rabbit hole coincidentally with my garage lights too. Next you’ll say “but if the garage lights are already on then I shouldn’t set an off timer (unless they are already on an off timer and my potential timer would turn them off at a later time)” and then “if someone turns off the garage lights before the timer has expired then you need to clear the timer because someone could come in and turn them on again manually and the timer would turn them off”. Then I threw in a motion detector to turn on the lights too because I’m a glutton for punishment.