Nathan
04-22-2004, 12:53 PM
I recently added a couple of action items to a rule. They looked like this.
Turn ON Device One
Turn OFF Device Two
Both devices were on the same housecode, one on F10 and one on F16. The order of action is important, the first must be turned on before the second is turned off.
When running the rule, I would see the first device turn off, and immediately turn on again (it was already on), followed by the second device turning ON. Not always, but often enough to be frustrating. Couldn't figure out what was wrong until I monitored the events using another PC and an X10 logging program.
What I saw in my log was the following:
F10 <== First half of the F10 Fon sequence
F16 <== Then the F16 Foff Sequence
FOFF
FON <== Then second half of the F10 Fon sequence turns on BOTH devices by mistake.
Since X10 commands are split across two messages, any message is subject to becoming split by another. I don't know that this is HAL's problem exactly, but HAL is getting a bit too enthusiastic about sending commands and interrupting his own command with a following command. I don't know exactly how this works at the low level, but it may be beyond HAL's control.
Changing my actions resolved the problem. My rule actions now read..
Turn ON Device One
in 2 seconds Turn OFF Device Two
The tiny extra delay makes sure the first command completes before the second is queued.
Just thought I'd post the experience in case someone else is running into this kind of flakey behavior.
Cheers,
Nathan
Turn ON Device One
Turn OFF Device Two
Both devices were on the same housecode, one on F10 and one on F16. The order of action is important, the first must be turned on before the second is turned off.
When running the rule, I would see the first device turn off, and immediately turn on again (it was already on), followed by the second device turning ON. Not always, but often enough to be frustrating. Couldn't figure out what was wrong until I monitored the events using another PC and an X10 logging program.
What I saw in my log was the following:
F10 <== First half of the F10 Fon sequence
F16 <== Then the F16 Foff Sequence
FOFF
FON <== Then second half of the F10 Fon sequence turns on BOTH devices by mistake.
Since X10 commands are split across two messages, any message is subject to becoming split by another. I don't know that this is HAL's problem exactly, but HAL is getting a bit too enthusiastic about sending commands and interrupting his own command with a following command. I don't know exactly how this works at the low level, but it may be beyond HAL's control.
Changing my actions resolved the problem. My rule actions now read..
Turn ON Device One
in 2 seconds Turn OFF Device Two
The tiny extra delay makes sure the first command completes before the second is queued.
Just thought I'd post the experience in case someone else is running into this kind of flakey behavior.
Cheers,
Nathan