AutoHTN uses the open-source xPL automation protocol to provide status data and commands to light switches, motion sensors, window blinds, thermostats, and electrical outlets. AutoHTN sends commands through the internet to a person’s router, which directs the commands to a PC with an xPL program called xPLHal installed. xPLHal then sends the command to the particular light switch or motion sensor via a Z-wave, X10, UPB or another automation protocol adaptor. For example, Z-wave uses a USB controller pictured below:
xPL (eXtremely simPle protocoL ) works with multiple automation protocols such as Z-wave, UPB, and X10. The multiple protocol support makes AutoHTN modular enough to handle multiple technologies.
AutoHTN currently only supports Z-wave devices. Future releases will add UPB, X10, and other automation protocols supported by xPL. The xPL protocol is flexible enough to communicate with more than one home automation protocol.
AutoHTN’s non-xPL support
Admittedly, setting up all the xPL software to get AutoHTN to work can be tedious. The software list below shows the multiple programs required to get Z-wave support.
Since Android is an open source operating system, it was important for us at HomeTheaterNetwork.com to have AutoHTN support an open source automation protocol. However, we realize that installing multiple programs is not for everyone. We hope to work with some of the big home automation companies such as HAI and Control4 to add AutoHTN support to their products.
Adding support to the bigger home automation companies will keep AutoHTN accessible to the person who wants a quick install of an automation system. Also, continual support for the open source xPL protocol will provide a far cheaper, but more complicated alternative.
How to set up a Z-wave home automation network with xPL
Hardware used:
A computer (an HTPC is preferred) with an available USB port.
USB Z-wave Controller. The following was used in testing:
ControlThink Z-wave SDK – Z-wave is not open source so a SDK from ControlThink was used to develop xPL Z-wave. This is the only program that cost money, and it is only needed for Z-wave support.
xPLHal – responsible for processing xPL messages and executing scripts to perform a wide variety of tasks.
xPL Hub – allows more than one xPL application to run on one computer.
Setting up the programs mentioned above on a HTPC is preferred since HTPCs are meant to stay powered on. xPLHal and the other programs won’t work if the computer with the software installed is off.
HTPC Step-By-Step
Install your first Z-wave module. Make it something simple such as lamp module. Simply connect a lamp’s power plug into the Z-wave light module, and then connect the lamp module to the power outlet.
Use a primary controller to add the lamp module to its network. Having a Z-wave remote as the primary controller is highly recommended due to Z-wave’s two meter rule for adding modules. Issues could arise if someone wants to install a Z-wave light switch in a bedroom, and the HTPC is the primary controller. Therefore, its easier to keep a primary controller around to add device to a network, and then later transmit them to the secondary controller, which will be the xPL programs on the HTPC. For more help, see the Z-wave tips section below.
Install Zwave USB stick:
First attach USB device to HTPC
New hardware wizard will pop up
Select folder where USB drivers were downloaded an unzipped
Accept that hardware has not passed XP tests
The Z-wave USB device is now installed.
Install Microsoft .NET Framework Version 2.0. Other programs may have already required the .NET framework install, but download it in case your computer doesn’t have it.
Install xPLHal. Download the latest version of xPLHal and unzip the files. Install by double clicking on xPLHalSetup.msi. Detailed step-by-step instructions are at the xPLHal wiki link.
Install xPLHub. Download the latest version of xPLHub and unzip the files. Details on how xPLHub works is located here.
Install xPLZWave. Detailed instructions on how to configure xPLZWave are located at xplmonkey.com’s Zwave page. Make sure to configure xPLZWave in xPLHal too.
Use the “Receive Configuration” from the xPLZwave controller menu to receive the Z-wave input from a primary controller. The Node numbers listed in xPLZWave will be the node numbers entered in AutoHTN’s lights, security, outlets and AC/Heat configuration menu.
Global variables in xPLHal are used to keep track of the individual Z-wave modules. Install this LIGHTING_DEVICE script to keep track of light levels, and install this SECURITY_ZONE script to keep track of the motion detector alert status. The scripts go in the xPL\xPLHal\Data\Scripts directory.
Important Z-wave Controller and Network Tips
Secondary Controller won’t be able to add/delete Zwave devices from the network
Any time a change is made to network such as adding a new device, the secondary controller should be reprogrammed to update the device list.
You can use any controller to exclude a device from any Z-wave network
Maximum amount of Zwave devices is 192.
Primary controller must be within 2 meters of the Z-Wave module in order to add the module to the Z-Wave network
Better to use a remote controller as your primary controller and then transfer the newtwork and routing indfromation to the USB Zwave device. This is because the remote controller is mobile and there is 2 meter rule
Only one piece of software can communicate to the Zwave USB adaptor. Conflicts arise when Z-Wave programs such as ThinkEssentials and xPL Z-Wave are on the same computer and try to use the USB device. This also includes the xPL Z-wave config program. From XPLmonkey.com:
Note - only one application can access the PC controller at a time. While the configuration program is running, the xPLZWave service will be stopped.
Zwave config will not work if xPLHal manager is open, also true vice versa.