This piston will only execute when “Presence Sensor 1” changes…
(notice the lightning bolts in the left margin)
I would probably go about this the opposite way… with Time as a trigger
, and presence as a condition
. Maybe something like:
Every day at 6am
do
IF Temp is inside of range -36 and -50
and
Presence Sensor 1 is present
and
$dayOfWeek is between 1 and 5
Then
Turn on
END IF
END EVERY
Every day at 7am
do
IF Temp is inside of range -26 and -35
and
Presence Sensor 1 is present
and
$dayOfWeek is between 1 and 5
Then
Turn on
END IF
END EVERY
etc…
Notice all of these blocks are separate, meaning that one execution will not process any other block. (normally, pistons run top to bottom, but not so with EVERY blocks)
Another way would be to combine times in a single IF block… Something like this:
IF Time happens daily at 6am
or
Time happens daily at 7am
or
Time happens daily at 7:30am
Then
IF Presence Sensor 1 is present
and
$dayOfWeek is between 1 and 5
Then
IF Temp is inside of range -36 and -50
and
Time is between 5:59 and 6:01
Then Turn on
END IF
IF Temp is inside of range -26 and -35
and
Time is between 6:59 and 7:01
Then Turn on
END IF
IF Temp is inside of range -19 and -25
and
Time is between 7:29 and 7:31
Then Turn on
END IF
etc
END IF
END IF
This method runs top to bottom at each event, which is why the extra time conditions
.