I'm not sure if I should put this in the features request or here, but since it's something I would like to try before it's released I'm posting here.
When HG sends an X10 command with multiple unit codes, it correctly doesn't need to repeat the unit codes when it sends a second command to them (example below). However, it seems to me that if a different house code is sent, it would probably be better to send the unit codes again. Also, if a certain amount of time has elapsed it seems like sending the unit code(s) again would be good just in case HG missed a command from a different controller or whatnot. I don't know what this timeout period should be and there is none defined in the X10 protocol.
Example:
A1, A2, A3, A4 ON
A1, A2, A3, A4 OFF
The desired action is for modules A1-A4 to turn on and then turn off. There are several command sequences that would accomplish this.
A1
A ON
A2
A ON
A3
A ON
A4
A ON
A1
A OFF
A2
A OFF
A3
A OFF
A4
A OFF
A1
A2
A3
A4
A ON
A1
A2
A3
A4A OFF
A1
A2
A3
A4
A ON
A OFF
The first sequence is brute force and will definitely work correctly but it's slow. The second sequence is correct as well but would be slow if the second command was for dimming and several dim commands were needed. The third sequence would probably be best under most circumstances if there were no other traffic on the system and the commands were within a short time of each other (minutes?).
HG currently uses the 3rd method. This is fine except for a couple scenarios.
1) The receiving module misses the address command somehow. In this case, HG will continue to send action commands and yet nothing is listening. If you only have one module on that house code, it's going to be difficult to get HG to work again without a reset or creating a dummy unit on that house code.
2) A long time has elapsed since the last command. X10 protocol does not state how long the modules must remember the last unit code called out to know if they should be listening for a command. It is possible they could go to sleep after some time and yet HG will continue to send the command only. In my logs, I see that HG will continue this for at over 7 hours and possibly longer (see attached).
3) Other house codes and commands have been sent after the initial set of unit code(s)/command(s). If viewing a log file, it's sometimes difficult to know what module was intended to function when no unit code is specified (see attached).
In the end, the benefit of sending the command only is shortening the transmit time. If 7 hours has elapsed, spending an extra second or so to control the module isn't necessarily a problem.