View    Log in    Register

Home Editor's Desk Products Information Center About Us Contact Us


Updated February 4, 2008 07:00 PST

How-to: Bridge Z-Wave and X10 Protocols with Elk M1G

By David Powell

In my last article "Bridge the Communication Gap Between Z-Wave and X10" I introduced you to the idea of using software or hardware to allow Z-Wave and X-10 devices to interact with each other. In this article I will demonstrate in more detail the steps required to bridge the gap using an Elk M1G Home Automation/Security system.

The Elk M1G is a fully functional home security system that can replace your existing security system while allowing you to keep your existing security sensors. If you don't have an existing wired security system, don't worry; the Elk M1G also supports the use of many different wireless sensors including X10. To work through this tutorial I am going to assume you already have an Elk M1G installed. If this is not the case then follow these video tutorials from Interscience International to learn everything from how to properly unpack your Elk to programming the logic controller.

What You'll Need (Instruction Manuals)

  • Elk M1G (Elk M1)
  • Various Z-Wave Devices (On/Off/Dim Switches)
  • Primary Z-Wave Controller with group replication (ACT HomePro ZTH100)
  • Elk-M1XZW (M1 Z-Wave Interface)
  • Elk-M1DBHR or ELK-M1DBH (*OPTIONAL* - M1 Data Bus Hub)
  • Elk-M1XSP (M1 Lighting / Thermostat & Serial Port Expander)
  • W800RF32 (X10 RF Receiver)
  • Various X10 (DS10A Door Contact, EagleEye Motion Sensor)

Elk Products has done a good job documenting the installation of all of the above components. (The above hardware is listed in the order it should be installed.)

In a nutshell here is what you will need to do to install the hardware. Start by creating a Z-wave network with a controller that supports group replication. Group replication is required and as of this reading I only know of the following (which are primary controllers that support this feature).

  • Intermatic HA09 and HA07 (16 Groups)
  • Wayne-Dalton Wireless Gateway (3 Groups)
  • ACT HomePro ZTH100 (64 Groups)
  • ControlThink PC SDK

The ACT HomePro ZTH100 is by far the easiest to use. To use the PC SDK you must know the Node ID of the devices you want to copy into the Elk Z-Wave Interface. You'll also need to do a little bit of C# or coding. <CLICK HERE> to open coding sample.

Once you have set up your Z-Wave network you are ready to install the Elk-M1XZW Z-Wave Interface. There is more to installing this than just connecting wires. Follow the instructions carefully as you may need to run the ElkRP software or set up the hardware through your Elk M1G keypad.

After the Elk-M1XZW Z-Wave Interface is installed you are ready to copy your primary controller to it. You must put your primary controller in replication mode. For the ACT ZTH100 remote you press MENU then arrow over until you see SETUP on the display. Press OK to enter the setup menu and arrow over to COPY REMOTE CTRL. Arrow over to Send Information and press OK. Press OK to start the transfer. That's it! Now if you are using the ControlThink PC SDK then you simply plug in your USB stick and edit the code to use your Node ID then run the application.

Now that your primary controller is in replication mode, you need to put the Elk-M1XZW into programming mode. Open the cover of the module and you will notice two circuit boards. Press the button on the larger board for five seconds. The button is located on the edge of the circuit board near the LEDs. After you perform these steps the Elk M1 and Z-Wave controller will start transferring data. The Elk-M1XZW and primary remote must be within three feet of each other for this to work. Read the Elk-M1XZW manual for instructions on testing the setup using your Elk M1 alarm keypad.

Now you should finish installing the remaining Elk M1 modules. The Elk-M1DBHR and ELK-M1DBH are optional components and are used only to make wiring the Serial Expander easier and with fewer messy wires.

Note that the Elk-M1XZW Z-Wave Interface is displayed as a Serial Expander in the ElkRP software. If you happen to wire the Elk-M1XSP Serial Expander incorrectly you will only see one listing of a serial expander in ElkRP. Figure 1 demonstrates what should appear under serial port expanders. Since there are two serial expanders on the ElkRP data bus you will need to make sure the address jumpers on each Serial Expander are set correctly. If you have been following my order of installation the Z-Wave Interface should be set to address 1 and the Serial Expander should be set to address 2. You will also need to ensure the jumpers on the Serial Expander are set for use with the W800RF32. They are by default.

[Figure 1: ElkRP Software]

The W800RF32 is connected with a standard nine-pin serial cable to the Serial Expander. Apply power and you're done. Get ready to program the Elk M1 using the ElkRP Software.

The ElkRP software can be downloaded from Elk Products. You'll need to register for a dealer account. Anyone who owns an Elk M1 can register. All you need is some personal information and the serial number of your Elk M1.

Setting Up Elk's Logic Engine

In the above list of "what you'll need" I listed two X10 devices. The EagleEye motion detector and the DS10A wireless door/window contact sensor. Both devices are readily available. However, there are two major distinctions in how you use each to trigger events. The EagleEye uses the lighting features of Elk and the DS10A uses Text.

I'll start by demonstrating how to configure the EagleEye motion sensor. But first let's take a step back and talk about configuring your Z-Wave devices. In ElkRP under the Automation tree click Lighting. The Elk translates all Z-Wave groups into their X10 equivalent. So A1 in X10 is equivalent to Group 1 in Z-Wave and A1 is equivalent to Group 2 and so forth. Only the devices in groups set up by your primary controller and copied to the Elk Z-Wave Interface will be available for you to use in the logic engine. Figure 2 shows the proper configuration if you copied three groups. Required fields are Format and Type. Z-Wave support in the Elk does not allow status reporting so there is no need to check Show.

[Figure 2: Z-Wave Lighting Groups]

Once you have your Z-Wave devices set up you can now write "rules" in ElkRP. Writing rules is another way of saying program the logic engine.
Before we write rules you should configure the EagleEye motion sensor. To do this first follow the instructions that came with the EagleEye to set the X10 house code and Device Code. Keep in mind that your Z-Wave Devices are already using A1 through however many groups you have. In our example this would be A1 through A3. You should pick something much higher to allow for expansion of your Z-Wave network. In this example we will you house code C and device code 1 (C1) for our motion sensor. Figure 3 shows the proper configuration under lighting for an X10 EagleEye motion sensor. Again, Format and Type are the required fields.

[Figure 3: X10 Motion Sensor]

Under the same automation tree select rules then Click New->Whenever->Lighting Change and you will see a window like the one shown in Figure 4. Select "X10 Motion [33(C1)]" as the device that will trigger your event. You want the device to trigger the event whenever it is activated (Turned ON as in Figure 5).

[Figure 4: Whenever X10 Motion Changes]


[Figure 5: Then Control Z-Wave]

You have now set up a rule, which states that whenever the X10 Motion Sensor is triggered then you want to turn on a Z-Wave light. You have successfully bridged the gap between the two protocols. Figure 6 shows what the rule should look like in Elk RP. You may also want to create another rule that is triggered when the motion sensor is turned off so the light will also turn off.

[Figure 6: Elk RP Rule]

Setting up the DS10A is different from the previous setup. The DS10A sends a wireless signal that the Elk Logic Engine does not recognize as an X10 lighting command. You will need to use the incoming text on the Serial Port expander to determine if your DS10A is sending an On or Off command. To do this you need to learn a little information about your DS10A devices. First view this video from CocoonTech to get a better understanding of the software you need to download. Then download and install the W800RF32 Demo Software. Disconnect the W800RF32 from the Serial Expander and connect it directly to your computer's serial port. This is where owning a laptop comes in handy. If you don't have a laptop you may want to simply disconnect the serial cable between your PC and your Elk main board and use that temporarily.

Now that the W800RF32 is connected directly to your PC, you can run the W800RF32 Demo Software. Select the correct port and click apply. Now physically open and close the DS10A sensor and record the 3RD byte followed by the 1st byte in that order. There will be a different code for open and closed so make sure you record both. Back in the ElkRP software under the automation tree select Text->New and enter the four-character AlphaNumeric code that you recorded from the Demo Software. Then click the Insert combo box and select Carriage Return. Your results should be similar to Figure 7.

[Figure 7: Create Text String]

Click OK and follow the same steps you did for setting up a rule for the Motion Sensor except this time instead of triggering off of lighting changes your need to select WHENEVER->Text (ASCII) String is Received and configure the trigger as shown in Figure 8. Finally, Figure 9 demonstrates how your final rule should appear for a DS10A X10 Contact Sensor controlling a Z-Wave Lighting Device.

[Figure 8: Text ASCII Trigger]


[Figure 9: DS10A Contact Sensor Rule]

David Powell is the technology editor for You can reach him at


Search for more information?