Apress - Smart Home Automation with Linux (2010)- P5:Linux users can now control their homes remotely! Are you a Linux user who has ever wanted to turn on the lights in your house, or open and close the curtains, while away on holiday? Want to be able to play the same music in every room, controlled from your laptop or mobile phone? Do you want to do these things without an expensive off-the-shelf kit | CHAPTER 1 APPLIANCE CONTROL Note Some types of light such as fluorescent and power-saving bulbs cannot generally work on lamp modules and must be used with appliance modules. Each X10 message consists of three parts A start message block a nibble of 1110 An address a house code and or unit code A command code for example switch on There are several different commands fitting mainly into two groups house code messages directed toward all devices and unit code messages targeting a single appliance. As mentioned earlier each X10 module is built to accept or ignore specific messages usually according to whether it s designated a lamp or appliance module however appliance modules will also ignore the all lights on message but honor the all units off which is suggested by the subtle wording of the commands differentiating between lights and units. It is interesting to note that their inverse variants all lights off and all units on do not exist. This is intentional. One of the intentions of all lights on was to act as a security feature. An accidental invocation of an all units on command might start a teakettle dry boiling or something similarly dangerous. Conversely all units off provides a quick closedown procedure for the house. Once the message has been sent nothing else happens. Ever The receiver does not generate an acknowledgment of the message and the sender doesn t query the state of the recently controlled device to confirm its arrival. This is because the transmitting circuits are more complex and expensive than the receiver and because adding a message facility would add cost and bulk to the simplest of light switches. Some two-way switches do exist providing a way for you to query their state but they are more expensive. However in an attempt to ensure data validity the message is sent twice and both messages are compared for equality since electrical noise on the power line could have corrupted part of the signal. Consequently it takes around seconds