I want to be able to use one of my keypad function-keys to toggle a relay and various other things on and off.
Press it once and the stuff goes one, press it again later and the stuff goes off. Seemed pretty straight-forward.
I set up a task, and assigned that task to a function-key on the keypad.
Then I set up an output to keep track of the state.
Then I set up two rules...
1. Whenever task is activated
And output is off
then turn the stuff on, then "announce A"
then turn output on
2. Whenever task is activated
And output is on
then turn the stuff off, "Announce B"
then turn output off
When I press the button on the keypad, both rules fire, one after the other.
I hear the speaker say "A" then "B".
I suspect that the system is so fast that when rule 2 rolls around, it is still in a state of thinking that the task was just activated, and since at the end of rule 1 I turned on the output, this means that as soon as rule 2 fires up, it sees the output is on so proceeds to do its thing and turn everything off. This defeats the whole purpose of me having the two rules conditioned on the state of the output. I suppose I could rig up an elaborate delay counter in still another output to prevent rule 2 from firing right away, but that seems like an unfortunate bit of complexity to have to add.
Any other ideas???
Press it once and the stuff goes one, press it again later and the stuff goes off. Seemed pretty straight-forward.
I set up a task, and assigned that task to a function-key on the keypad.
Then I set up an output to keep track of the state.
Then I set up two rules...
1. Whenever task is activated
And output is off
then turn the stuff on, then "announce A"
then turn output on
2. Whenever task is activated
And output is on
then turn the stuff off, "Announce B"
then turn output off
When I press the button on the keypad, both rules fire, one after the other.
I hear the speaker say "A" then "B".
I suspect that the system is so fast that when rule 2 rolls around, it is still in a state of thinking that the task was just activated, and since at the end of rule 1 I turned on the output, this means that as soon as rule 2 fires up, it sees the output is on so proceeds to do its thing and turn everything off. This defeats the whole purpose of me having the two rules conditioned on the state of the output. I suppose I could rig up an elaborate delay counter in still another output to prevent rule 2 from firing right away, but that seems like an unfortunate bit of complexity to have to add.
Any other ideas???