What's wrong with these elk rules for sprinkler?

shenandoah75

Active Member
fyi - Using the output/relay board combo for this

Basically my gole was to save space but at the same time trap for not allowing a zone to run more then a preset time (custom setting) whether it was kicked off as part of the water the lawn task or whether someone turned a zone(output) on manually and forgot to turn it off.

fyi ouputs 191-200 are just ways i use a duration for either task or manual output.
output 208 simply is tracking whther i've submitted water the yard or not. I.e. if i manually turn on zone1, i don't want zone 2 to come on when it turns off

When the outputs are enabled individually the rules work fine. But firing water the lawn task does not enable sprinkler 1 (relay 1) at all.

The only thing i can think of is that the "then" statement are not firing sequencially

-brad
 
I think your problem may be having the clean up command of outputs 191-200 and 208 in the same rule as turning output 208 back on. I would try putting the clean up in a different rule and then firing Zone One in another rule that is called at the end of the clean up.
 
i think my hunch is right - seems like then statement fire on top of each other

if i remove the stop springler task at beginning it works fine. i guess i'll have to come up with another strategy like using another output/duration for a delay if i really want to do that.
 
An altenate method would be to write a rule like this: (Not actual code)

WHENEVER Sprinkler 1 (Out 17) is turned on
THEN turn ON Sprinkler 1 (Out 17) ON FOR SpDur1 (Cust set1), RESTART TIMER IF RUNNING

This will always limit that relay to the custom time duration.
 
Everytime an output or light is turned on or off in a Rule, all the Rules are rescanned to see if the change affects any other Rule.
 
Spanky said:
Everytime an output or light is turned on or off in a Rule, all the Rules are rescanned to see if the change affects any other Rule.
Does this happen immediately after a given THEN clause executes or after the entire RULE executes?
 
The rescanning occurs after each THEN statement.

We have seen cases where a rogue RULE can be written to run an endless loop. :D
 
Spanky said:
The rescanning occurs after each THEN statement.

We have seen cases where a rogue RULE can be written to run an endless loop. :D
Interesting, I can easily see that happening. I'll keep that in mind.
 
For whatever weird reason, I can't ever view JPGs attached here. :D

FWIW, here's my code for 8-zone, custom duration per zone, two custom start times - or either or both on or off, with bypass.

It's been running flawlessly for over a year. It does take up a bit of space.

Code:
          30   WHENEVER EVERY 2 HOURS
                     AND THE TIME IS LATER THAN 1 HOUR AFTER SUNRISE
                     AND TIME OF DAY IS EARLIER THAN 8:02 PM
                     AND Output 208 STATE IS ON
                           THEN ANNOUNCE Sprink. BYPASS (Task 3)
                           THEN ANNOUNCE On (vm310)
         31   WHENEVER  Sprink. BYPASS (Task 3)  IS ACTIVATED
                           THEN TOGGLE Output 208
         32   WHENEVER THE TIME IS Spr Time 1 (Cust Set 9)
                     AND Output 208 STATE IS OFF
                     AND TIME OF DAY IS NOT 12:00 AM
                           THEN ACTIVATE Sprink. RUN ALL (Task 1)
         33   WHENEVER THE TIME IS Spr Time 2 (Cust Set 10)
                     AND Output 208 STATE IS OFF
                     AND TIME OF DAY IS NOT 12:00 AM
                           THEN ACTIVATE Sprink. RUN ALL (Task 1)
         34   WHENEVER  Sprink. ALL OFF (Task 2)  IS ACTIVATED
                           THEN TURN Spr Back Top W (Out 17) OFF
                           THEN TURN Spr Back Top E (Out 18) OFF
                           THEN TURN Spr Back Low W (Out 19) OFF
                           THEN TURN Spr Back Low E (Out 20) OFF
                           THEN TURN Spr Front Top (Out 21) OFF
                           THEN TURN Spr Front Low (Out 22) OFF
                           THEN TURN Spr Side Top (Out 23) OFF
                           THEN TURN Spr Z8 Unused (Out 24) OFF
                           THEN TURN Output 207 OFF
                           THEN ANNOUNCE Sprink. ALL OFF (Task 2)
                           THEN DISPLAY "Sprink - ALL OFF" IN Area 1 (Area 1
         35   WHENEVER  Sprink. RUN ALL (Task 1)  IS ACTIVATED
                     AND Output 207 STATE IS ON
                           THEN TURN Output 207 OFF
                           THEN ACTIVATE Sprink. ALL OFF (Task 2)
         36   WHENEVER  Sprink. RUN ALL (Task 1)  IS ACTIVATED
                     AND Output 207 STATE IS OFF
                           THEN TURN Spr Back Top E (Out 18) OFF
                           THEN TURN Spr Back Low W (Out 19) OFF
                           THEN TURN Spr Back Low E (Out 20) OFF
                           THEN TURN Spr Front Top (Out 21) OFF
                           THEN TURN Spr Front Low (Out 22) OFF
                           THEN TURN Spr Side Top (Out 23) OFF
                           THEN TURN Spr Z8 Unused (Out 24) OFF
                           THEN TURN Spr Back Top W (Out 17) ON FOR Spr Z1 D
                           THEN TURN Output 207 ON FOR 1 HR, 30 MINS, RESTAR
         37   WHENEVER  Spr Back Top W (Out 17) STATE IS TURNED OFF
                     AND Output 207 STATE IS ON
                           THEN TURN Spr Back Top E (Out 18) ON
         38   WHENEVER  Spr Back Top E (Out 18) STATE IS TURNED OFF
                     AND Output 207 STATE IS ON
                           THEN TURN Spr Back Low W (Out 19) ON
         39   WHENEVER  Spr Back Low W (Out 19) STATE IS TURNED OFF
                     AND Output 207 STATE IS ON
                           THEN TURN Spr Back Low E (Out 20) ON
         40   WHENEVER  Spr Back Low E (Out 20) STATE IS TURNED OFF
                     AND Output 207 STATE IS ON
                           THEN TURN Spr Front Top (Out 21) ON
         41   WHENEVER  Spr Front Top (Out 21) STATE IS TURNED OFF
                     AND Output 207 STATE IS ON
                           THEN TURN Spr Front Low (Out 22) ON
         42   WHENEVER  Spr Front Low (Out 22) STATE IS TURNED OFF
                     AND Output 207 STATE IS ON
                           THEN TURN Spr Side Top (Out 23) ON
         43   WHENEVER  Spr Side Top (Out 23) STATE IS TURNED OFF
                     AND Output 207 STATE IS ON
                           THEN TURN Spr Z8 Unused (Out 24) ON
         44   WHENEVER  Spr Z8 Unused (Out 24) STATE IS TURNED OFF
                     AND Output 207 STATE IS ON
                           THEN TURN Output 207 OFF
         45   WHENEVER  Spr Back Top W (Out 17) STATE IS TURNED ON
                           THEN DISPLAY "Sprinkler Z1 ON" IN Area 1 (Area 1)
                           THEN TURN Spr Back Top W (Out 17) ON FOR Spr Z1 D
                           THEN TURN Spr Back Top E (Out 18) OFF
                           THEN TURN Spr Back Low W (Out 19) OFF
                           THEN TURN Spr Back Low E (Out 20) OFF
                           THEN TURN Spr Front Top (Out 21) OFF
                           THEN TURN Spr Front Low (Out 22) OFF
                           THEN TURN Spr Side Top (Out 23) OFF
                           THEN TURN Spr Z8 Unused (Out 24) OFF
         46   WHENEVER  Spr Back Top E (Out 18) STATE IS TURNED ON
                           THEN DISPLAY "Sprinkler Z2 ON" IN Area 1 (Area 1)
                           THEN TURN Spr Back Top E (Out 18) ON FOR Spr Z2 D
                           THEN TURN Spr Back Top W (Out 17) OFF
                           THEN TURN Spr Back Low W (Out 19) OFF
                           THEN TURN Spr Back Low E (Out 20) OFF
                           THEN TURN Spr Front Top (Out 21) OFF
                           THEN TURN Spr Front Low (Out 22) OFF
                           THEN TURN Spr Side Top (Out 23) OFF
                           THEN TURN Spr Z8 Unused (Out 24) OFF
         47   WHENEVER  Spr Back Low W (Out 19) STATE IS TURNED ON
                           THEN DISPLAY "Sprinkler Z3 ON" IN Area 1 (Area 1)
                           THEN TURN Spr Back Low W (Out 19) ON FOR Spr Z3 D
                           THEN TURN Spr Back Top W (Out 17) OFF
                           THEN TURN Spr Back Top E (Out 18) OFF
                           THEN TURN Spr Back Low E (Out 20) OFF
                           THEN TURN Spr Front Top (Out 21) OFF
                           THEN TURN Spr Front Low (Out 22) OFF
                           THEN TURN Spr Side Top (Out 23) OFF
                           THEN TURN Spr Z8 Unused (Out 24) OFF
         48   WHENEVER  Spr Back Low E (Out 20) STATE IS TURNED ON
                           THEN DISPLAY "Sprinkler Z4 ON" IN Area 1 (Area 1)
                           THEN TURN Spr Back Low E (Out 20) ON FOR Spr Z4 D
                           THEN TURN Spr Back Top W (Out 17) OFF
                           THEN TURN Spr Back Top E (Out 18) OFF
                           THEN TURN Spr Back Low W (Out 19) OFF
                           THEN TURN Spr Front Top (Out 21) OFF
                           THEN TURN Spr Front Low (Out 22) OFF
                           THEN TURN Spr Side Top (Out 23) OFF
                           THEN TURN Spr Z8 Unused (Out 24) OFF
         49   WHENEVER  Spr Front Top (Out 21) STATE IS TURNED ON
                           THEN DISPLAY "Sprinkler Z5 ON" IN Area 1 (Area 1)
                           THEN TURN Spr Front Top (Out 21) ON FOR Spr Z5 Du
                           THEN TURN Spr Back Top W (Out 17) OFF
                           THEN TURN Spr Back Top E (Out 18) OFF
                           THEN TURN Spr Back Low W (Out 19) OFF
                           THEN TURN Spr Back Low E (Out 20) OFF
                           THEN TURN Spr Front Low (Out 22) OFF
                           THEN TURN Spr Side Top (Out 23) OFF
                           THEN TURN Spr Z8 Unused (Out 24) OFF
         50   WHENEVER  Spr Front Low (Out 22) STATE IS TURNED ON
                           THEN DISPLAY "Sprinkler Z6 ON" IN Area 1 (Area 1)
                           THEN TURN Spr Front Low (Out 22) ON FOR Spr Z6 Du
                           THEN TURN Spr Back Top W (Out 17) OFF
                           THEN TURN Spr Back Top E (Out 18) OFF
                           THEN TURN Spr Back Low W (Out 19) OFF
                           THEN TURN Spr Back Low E (Out 20) OFF
                           THEN TURN Spr Front Top (Out 21) OFF
                           THEN TURN Spr Side Top (Out 23) OFF
                           THEN TURN Spr Z8 Unused (Out 24) OFF
         51   WHENEVER  Spr Side Top (Out 23) STATE IS TURNED ON
                           THEN DISPLAY "Sprinkler Z7 ON" IN Area 1 (Area 1)
                           THEN TURN Spr Side Top (Out 23) ON FOR Spr Z7 Dur
                           THEN TURN Spr Back Top W (Out 17) OFF
                           THEN TURN Spr Back Top E (Out 18) OFF
                           THEN TURN Spr Back Low W (Out 19) OFF
                           THEN TURN Spr Back Low E (Out 20) OFF
                           THEN TURN Spr Front Top (Out 21) OFF
                           THEN TURN Spr Front Low (Out 22) OFF
                           THEN TURN Spr Z8 Unused (Out 24) OFF
         52   WHENEVER  Spr Z8 Unused (Out 24) STATE IS TURNED ON
                           THEN DISPLAY "Sprinkler Z8 ON" IN Area 1 (Area 1)
                           THEN TURN Spr Z8 Unused (Out 24) ON FOR Spr Z8 Du
                           THEN TURN Spr Back Top W (Out 17) OFF
                           THEN TURN Spr Back Top E (Out 18) OFF
                           THEN TURN Spr Back Low W (Out 19) OFF
                           THEN TURN Spr Back Low E (Out 20) OFF
                           THEN TURN Spr Front Top (Out 21) OFF
                           THEN TURN Spr Front Low (Out 22) OFF
                           THEN TURN Spr Side Top (Out 23) OFF
 
Back
Top