The 'Extended Code' commands have long been in the X-10 suite, however they have not been implemented by manufacturers until recently.
The X-10 dimmers (LM14a and LM15a) as well as the new AM14a appliance modules are capable of transmitting as well as receiving commands.
The extended code commands are used for setting certain 'modes' within the modules as well as for reporting their current 'status'.
The XPRESS command is used in order to set the internal 'preset' level of these new 'smart' dimmers.
For example: If you set the internal preset of a LM14 to 50%, from them on it will respond to a normal ON command by brightening gently to that level. And it will respond to a normal OFF command by dimming to zero.
The greatest advantage of this is that we avoid the necessity of sending multiple DIM/BRI commands. This reduces the number of commands on the powerlines and the response of the module is somewhat faster.
The 'xpress' command can be used with the Leviton wall-mount dimmer switch (6381) to set it's internal preset level. However it cannot transmit X-10 signals. Therefore it cannot send it's current status. This means that it will not react to the ENABLE EXTENDED ACK commands.
It is a very interesting feature of the X-10 LM14 and AM14 that they will return some special status bits in the upper two bits of the extended data.
The Upper but (7=128), is set to a ONE if the load is connected, ie: if the light bulb is OK, or if there is some real resistive load. If the light bulb is burned out or there is no resistive load the bit will be zero.
So if you wish to know whether there is a load connected, (or if the light bulb is burned out) just use the exdata command:
if exdata of "LM14" > 127 then write log "The light bulb is OK" else write log "The light bulb is burned out!" end if
Bit 6 of the exdata is always Zero if the module is a LM14 and always a One if the module is an AM14.
ONLY the lower 6 bits of the exdata represent the dimmer value.
There is a great deal of confusion about just which module or manufacturer uses the 'extended codes' or the 'preset dim' commands.
Some manufacturers employ the 'Preset Dim' commands to set the internal preset dim of their dimmers. Others use this command to handle such things as thermostat setpoints.
X-10 corp chooses to employ the 'Extended Code' commands to set the internal preset level of the new dimmers (LM14/LM15), and to report their status.
The 'Extended message format' includes in it's 'payload'
|House Code||4 bits|
|Unit Code||4 bits|
|Extended command||8 bits|
|Extended data||8 bits|
Whenever XTension receives an extended message from a unit address that is in your database:
percent = integer value of ((raw * 1.5873) + 0.5)
If the user script changed 'future value', then that value is stored in the unit record as 'current value'.