aslamma,Thank you very much for posting your macros. I now understand the delay that you were referring to. I appreciate the effort that you put into this. Unfortunately, the delay that you are observing is a result of the X10 protocol. In order to explain this further, we'll need to get into the actual timing of the protocol.
Pajamaguy,
I hope this will answer your question as well (with hard numbers).
I) Most X10 command sequences are made up of three sections.
1) Start Code - 4 bits/2 powerline cycles. These are transmitted on both rising and falling edge powerline crossing so 4 bits only requires 2 cycles (see below)
2) Letter Code - 4 Bit/4 powerline cycles
3) Command Code - 5 bits/5 powerline cycles.
As stated in the "Uncle Phil Kingery" graphic below, each transmission is repeated requiring a total of 22 cycles or 0.37 seconds (22 cycles X 1/60 seconds per cycle).
II) In order to properly communicate with a unit, it is
normally addressed and then commanded:
1)
Unit Addressing (per the protocol in
I above) - 22 powerline cycles (0.37 seconds)
2)
Communication Gap : A three cycle gap is inserted per X10 protocol - 3 powerline cycles (0.05 seconds)
3)
X10 Command: Addresses units are commanded (same timing as in
I above) - 22 powerline cycles (0.37 seconds)
For a
"normal" command sequence (simple on/off) 47 powerline cycles are required or 0.78 seconds. Borrowing from Uncle Phil's graphics expertise once again, the following depicts a "standard" transmission sequence.
For those interested (and in deference to "Uncle Phil Kingery", X10 Sage and fellow Hoosier), the entire article ir located here:
Kingery13 - Digital X10The entire Uncle Phil series is available from the ACT website (excellent reference material):
Uncle Phil Series III) Bright/Dim Sequences. Now that we have the "normal mode" communication timing behind us we can look at bright/dim sequences. These do not conform to the X10 protocol standard. Bright/Dim commands are sent as a series of concatenated commands without a "normal" 3 cycle gap between them. In section
I above it was stated that commands are sent twice. Dim commands are sent many times with no gap in order to achieve the level of bright/dim required. AHP will send 10 bright/dim "pairs" to achieve 100%/0% brightness at the unit.
A common problem with many "new" installs is the "preference option" for "issue on in place of Bright 100%" (shown below). If this is not checked AHP will use "Bright" commands when you think you are simply turning the lamp "ON". These commands are slow, error prone, and extremely hard on repeaters and receivers.
The following shows an example of simple "ON" timing with "issue on in place of Bright 100%" checked and unchecked.
IV) Absolute Bright/Dim. In order to execute an "Absolute" bright/dim command, AHP first turns the unit on to full brightness. After that it Dims the unit to the requested level. The following shows timing comparisons with the preferences option check and unchecked. If you have a macro with multiple units being activated, it can take some significant time to communicate.
V) Multiple Unit On Macro (No delay between units). When a macro is constructed with no delays between units (as shown below), AHP will first address all of the units and then send a single "ON" commands.
aslamma and
PajamaGuy
I believe this answers both of your questions regarding the delays for "stacked units". The 4 second delay prior to any noticeable activity it simply due to AHP "Addressing" all of the units involved.
VI) The All On Command - Another Exception. I refer to the
"All-ON/Off" command as an exception because it combines the addressing function with a command. One command to rule them all (sorry for the Lord of the Rings reference). If you can arrange your unit housecodes to make use of this command, it's extremely quick and reliable. Alas, there's no "All Dim" equivalent.
VII) Extended Codes and the LM14a Interface - a Better Way to Dim. For those of you who've been blessed/cursed? with some of the "newer" units, these are extended code "direct dim" capable. Much faster and reliable than the old X10 Dim command sequence. You do have to be careful...
Sorry, but duty calls. I need to weld/paint the rocker panels on my Wife's van so she can use it on Monday.
Gotta love living in the rust belt,
Boiler
Updated/Corrected - Added colors for
Address functions,
Unit Commands, and
Concatenated Dims. Added graphic to section V) (missed on the first pass).