Difference between revisions of "ZWave"

From LinuxMCE
Jump to: navigation, search
(Updated Implementation Section)
(Implementation)
 
(124 intermediate revisions by 20 users not shown)
Line 1: Line 1:
[[Category: Hardware| ]]
+
{{Versioninfo|810Status=Working|810UpdatedDate=12th May 2010|810UpdatedBy=sambuca}}
 +
{| align="right"
 +
  | __TOC__
 +
  |}
 
[[Category: Automation]]
 
[[Category: Automation]]
 +
[[Category: RF Control]]
 
[[Category: ZWave]]
 
[[Category: ZWave]]
 
[[Category: Programmer's Guide]]
 
[[Category: Programmer's Guide]]
 +
[[Category: Documentation]]
  
 
Z-Wave™ is a wireless RF-based communications technology designed for residential and light commercial control and status reading applications such as meter reading, lighting and appliance control, HVAC, access control, intruder and fire detection.
 
Z-Wave™ is a wireless RF-based communications technology designed for residential and light commercial control and status reading applications such as meter reading, lighting and appliance control, HVAC, access control, intruder and fire detection.
Line 8: Line 13:
 
== Overview ==
 
== Overview ==
 
The support from LinuxMCE system is represented by an executable '''ZWave''' (it's placed in /usr/pluto/bin) which is the device implementation and a '''DeviceTemplate (1754)''' which is used to create LinuxMCE Devices for ZWave.
 
The support from LinuxMCE system is represented by an executable '''ZWave''' (it's placed in /usr/pluto/bin) which is the device implementation and a '''DeviceTemplate (1754)''' which is used to create LinuxMCE Devices for ZWave.
 +
There are high speed (4x 40kbps) and standard speed Z-Wave devices.
  
The source code is available in LinuxMCE's SVN repository at src/ZWave.
+
For information about what hardware to get look at [[Z-Wave Getting Started]], or check out the [[:Category:ZWave|Z-Wave Wiki Category]].
  
== Implementation ==
+
== How to install and use ZWave ==
ZWave implementation is based on a ZWaveJob-s manager (PlutoZWSerialAPI, a singleton class) which supports asynchronous or synchronous tasks management. We are using the asynchronous model right now because we want to send commands to many ZWave dimmable lighting switches at one moment. We are sending the switch On/Off commands as soon as possible then we are waitting for confirmation. This should make the lights switching almost in the same time and the customer gets a nice feedback. In the synchronous mode, ZWave jobs manager can watch only one job at one moment, that means the lights are switched On/Off successively and it can take some time until all the lights are changed.
+
=== Automatic installation - Lighting Wizard ===
 +
The [[Lighting Wizard]] allows you to easily integrate LinuxMCE into your Z-Wave network. It is started after you plug in the Z-Wave dongle. Just follow the onscreen instructions. However the Lighting Wizard does not support SUC/SIS mode (see below) and because of this is now not the best way to include ZWave devices into your ZWave network. If you have a ZWave USB interface and an Inclusion Controller that supports SUC/SIS mode then this is the recommended configuration to use.
  
 +
=== SUC/SIS Mode (recommended) ===
 +
In SUC/SIS mode, LMCE adds your devices automatically as you include them into the Z-Wave network. Inclusion can be done using an inclusion remote or the "Add Node" command in LMCE (this option is really only successful in smaller test installations or possibly in smaller apartments for example). LMCE will assign new Node ids to the included devices and will add them in the Device tree under your ZWave USB interface. The following procedure requires that your ZWave USB interface and your Inclusion Device are compatible with SUC/SIS (**See the note at the bottom of this section);
  
The Z-Wave implementation uses two main classes to operate.  
+
#To use the SUC/SIS mode, send a "Reset" command to the ZWave USB interface.
 +
##For LinuxMCE systems 1004 and below:
 +
###In the web admin, go to Advanced -> Configuration -> Devices, find the ZWave device in the tree, select it, click "Send Command To Device" in the right pane.
 +
###Select "Reset" and click Send Message. (Reset will remove all devices from you Z-Wave network).
 +
##For LinuxMCE systems 1204 and above (which uses the Open Zwave library's):
 +
###In the web admin, go to Advanced -> Configuration -> Devices, find the ZWave device in the tree, select it, click "Send Command To Device" in the right pane.
 +
###Select "Reset", in the "Data" field enter "ResetController" and click Send Message. (Reset will remove all devices from you Z-Wave network).
 +
#Next do a Reload Router (**This reload is essential**).
 +
#When using SUC/SIS mode you must add an Inclusion Controller as the 2nd device in your ZWave network (the first device being the ZWave USB interface itself). An Inclusion Controller is the device you use to include ZWave devices into the ZWave network - this might be your ZWave remote control or possibly a wireless wall switch as these can often do double duty as an Inclusion Controller. You can add additional Inclusion Controllers or indeed any other ZWave devices at any time in the future as needed, and they will be added to your Device Tree automatically for you - this is the unique power of SUC/SIS.
 +
##'''If using a Tricklestar Remote:'''
 +
###First select 'Add node' from the 'Send to this device the command' drop-down menu and click Send Message (there is no need to fill in any values in this screen).
 +
###Next put the remote in configuration mode, then press and hold up until the LED flashes green, then press up four times. The LED will begin flashing green. Once added, the remote LED should start flashing faster then go steady green indicating success. If it goes red then reset the remote (hold up til green, then hold up 10 seconds until 3 color LED), and redo step 1-2.
 +
##'''If not using a Tricklestar remote:'''
 +
###Select 'Add node' from the 'Send to this device the command' drop-down menu and click Send Message (there is no need to fill in any values in this screen).
 +
###Next bring your Inclusion Controller close to your Core's/MD's ZWave USB interface and click once on its button or paddle (if a Wireless light switch) to include it into the ZWave Network. Your device should now indicate a successful inclusion if not repeat the last step.
 +
###You should see a ZWave device added message momentarily appear in the top left hand corner of your Orbiters display
 +
###Some users have reported the need to do a reload at this step. However this should not normally be required if you saw the ZWave added message from the previous step.
 +
#If your Inclusion Remote indicated a successful inclusion you are now ready to start including light switches and other devices using the device you added as an Inclusion Controller (ie your ZWave remote or a wireless Light Switch) - and '''not''' the 'Add Node' command in Web Admin.
 +
#Place your inclusion controller device into Inclusion Mode (consult the devices manual for the details of how to include devices using it).
 +
#Now while holding it close to the device you want to include press any button on the front of that device (usually one of the paddles on a light switch for example).
 +
#Wait for the successful inclusion indication on the device you are including and if you have an Orbiter or Web Orbiter nearby you should also see a brief announcement that device was added successfully. A few seconds later a router reload screen will pop up on your Orbiter's displays. (**If you'r adding several devices to your ZWave network then you can continue to add them and then do a single reload after adding the last device - this is an important reload so dont forget this step.**)
 +
#Now you can move to the next device and include it.
 +
#Keep doing this until all of your devices are included. With SUC/SIS there is no need to include all of your ZWave devices in one hit. You can stop and continue another time without any issues. So adding some more devices months into the future is simple and easy to do.
 +
#After including your last ZWave device don't forget to do a reload router
 +
#Check in Web Admin's Wizard->Devices->Lights page or click on 'Show Devices Tree' at the bottom of the left hand frame to make sure all of your included devices are present.(**if not do a reload router and wait a about 60 secs then check again).
  
ZWave.h/.cpp define the ZWave class, which handles interactions with the DCERouter. PlutoZWSerialAPI.h/.cpp define the low-level Z-Wave implementation.  This class handles communication with the Z-Wave adapter.  The Zwave class receives (for example) light status change commands from the DCERouter and creates he appropriate 'jobs.'  To do this, the ZWave class creates an object of type ZwaveJob.  Then it inserts the newly-created job class in the PlutoZWSerialAPI class command queue by passing a pointer to the job class to PlutoZWSerialAPI's insertJob() function.  The Zwave class then calls PlutoZWSerialAPI's start() function to command the PlutoZWSerialAPI class to begin executing the commands in its command queue.
+
* Note: When including devices using SUC/SIS mode always start by including the devices that are closest to where the Core's ZWave USB interface is located and finish with the device that is furthest away. This enables the inclusion process to utilise the ZWave mesh network to communicate with the Core's ZWave USB interface.
  
PlutoZWSerialAPI is threaded to allow it to execute multiple Z-Wave commands in the command queue without having to wait for each command to be acknowledged by the receiving device before continuing.  The current implementation is asynchronous.  PlutoZWSerialAPI spawns as a thread its  DoAsynch() function, which call's PlutoZWSerialAPI's listenAsynchronous() function.  This function processes received replies and matches them with executed commands in PlutoZWSerialAPI's command queue.
+
* Not all ZWave interfaces support SIS mode. See the page of the individual interface to check, here is a list of interfaces [[Z-Wave Getting Started#Interface]].
  
 +
==== How to add multi-paddle Multi-level Light Switches/Dimmers ====
  
== Interfaces ==
+
Some newer ZWave multi-paddle Light Switches & dimmers are built around the multi-level command classes present in the latest Zensys ZWave API ([[MK Honeywell Astral]] products are an example of this new type of device). These devices will function perfectly with the SUC/SIS mode but will need a small amount of manual configuration for paddles 2 & above. These devices typically will not have their 2nd paddle added automatically when they are included into your ZWave network ie only the 1st paddle will appear in your device tree. In time this limitation will be removed from the ZWave driver but for now please follow the simple manual procedure described below for adding the 2nd paddle to your device tree;
===ACT Homepro ZCS000/010 & ZCU000/010===
+
'''Status:''' Supported (see below)
+
===ACT Homepro ZCU101/201===
+
'''Status:''' Support is being worked on
+
  
http://forum.linuxmce.org/index.php?topic=3665.0
+
#After including your multi-paddle light switch or dimmer (see the SUC/SIS section above) make a note of its ZWave Node ID.
 +
##To do this look in Web Admin's Wizard->Devices->Lights page to get the Node ID - see the value listed for each light in the 'Port/Channel Number' field.
 +
#Now we need to add a new device for the right hand paddle;
 +
##'''If your adding a right hand paddle for a Light Switch:'''
 +
###Click on 'Show Devices Tree' (at the bottom of the left hand frame) and click on the 'ZWave' item under the 'Core' in the tree.
 +
###In the right hand pane you should now see the 'Advanced' screen for your ZWave interface
 +
###Now click on 'Create Child Device'
 +
###You should now see the 'Add Child Device' screen and should click on the 'Pick device template' button.
 +
###The 'Pick device template' window should now be visible.
 +
###Click on the 'Device Template' drop down and select 'Light Switch (on/off)' from the list. You should now see the number '37' appear to the right of the drop down list (this is the templates ID).
 +
###Now click on 'Pick Device Template'
 +
###A new 'Light Switch (on/off)' device will now be added to the end of the list of child devices under your ZWave interface in the devices tree.
 +
##'''If your adding a right hand paddle for a Dimmer:'''
 +
###Click on 'Show Devices Tree' (at the bottom of the left hand frame) and click on the 'ZWave' item under the 'Core' in the tree.
 +
###In the right hand pane you should now see the 'Advanced' screen for your ZWave interface
 +
###Now click on 'Create Child Device'
 +
###You should now see the 'Add Child Device' screen and should click on the 'Pick device template' button.
 +
###The 'Pick device template' window should now be visible.
 +
###Click on the 'Device Template' drop down and select 'Light Switch (Dimmable)' from the list. You should now see the number '38' appear to the right of the drop down list (this is the templates ID).
 +
###Now click on 'Pick Device Template'
 +
###A new 'Light Switch (on/off)' device will now be added to the end of the list of child devices under your ZWave interface in the devices tree.
 +
#You should now have a new Light Switch or Dimmer device in your devices tree - click on its entry in the tree.
 +
#In the right hand pane you will now see the Advanced info for your new device - we need to modify some values for this new device;
 +
##Modify the 'Description' field so that it describes clearly what this device is ie something like 'Master Bed Dimmer (paddle-2)' (this text is displayed in the Devices Tree)
 +
##Now select a 'Room' from the Room drop down and tick any Entertainment Areas this Light should be added too.
 +
##Next scroll down to the 'Device Data' section at the bottom of the screen and choose a floor Plan icon from the 'PK_FloorplanObjectType' drop down (this determines what icon will be displayed in the lighting floor plan for this specific light).
 +
##Finally you need to set the 'Port/Channel Number' field to link this device with light switch/dimmer it is assigned to. Add the Node ID you made a note of in Step 1 to the field followed by a '/' and a number. If this is paddle-2 then the number after the '/' would be '2'. So if the Node ID was '16' you should now have the string '16/2' in the field. If you multi-paddle light/dimmer has more than two paddles then increment the value by '1' for each additional paddle.
 +
##The final step is to click 'Save' to save the changes you have made to the device.
 +
#Now go to the Wizards->Devices->Lights page and test your new light switch/dimmer paddle - use the 'ON', 'OFF' & '50%' buttons.
  
===Intermatic HA22 / HA23C===
+
=== Alternate setup of [[Tricklestar Remote]] (not recommended) ===
'''Status:''' It appears that the current USB controlers made by Intermatic on the market are not supported at this time
+
 
+
http://www.homesettings.com/products-ha23.html
+
 
+
http://forum.linuxmce.org/index.php?topic=2288.0 (this thread claims no current support)
+
===Selxit viaSENS Homecontroller===
+
'''Status:''' Support is being worked on
+
[[Seluxit_viaSENS_Homecontroller]]
+
== How to install and use ZWave ==
+
These instructions are for HomePro ZWave USB interface (ZCU000/ZCU010). The same method might work for other (future?) supported ZWave controllers.
+
 
+
These instructions have been tested working under VMWare 1.0.1-29996 using FC4 (2.6.16.18) as host operating system.
+
 
+
 
+
Let's assume that you have LinuxMCE installed with IP: 10.0.2.128 (these instructions are also done by assuming that you have "hybrid" LinuxMCE installation).
+
  
 +
=== Manual setup / Download configuration ===
 
Once you have successfully installed the ZWave USB controller and it is seen on LinuxMCE ([[media:zwave_homepro_interface.png]]), you can proceed by populating the ZWave network information to LinuxMCE.
 
Once you have successfully installed the ZWave USB controller and it is seen on LinuxMCE ([[media:zwave_homepro_interface.png]]), you can proceed by populating the ZWave network information to LinuxMCE.
  
# Add your ZWave devices to your master ZWave master remote controller (like ZTH200)
+
# Add your ZWave devices to your master ZWave master remote controller (like [[ZTH200]])
 
#* Once the devices are added to remote and verified they are working (you can control them with your remote controller), you need to copy the ZWave network information to LinuxMCE.
 
#* Once the devices are added to remote and verified they are working (you can control them with your remote controller), you need to copy the ZWave network information to LinuxMCE.
# Go to LinuxMCE admin page (<nowiki>"http://10.0.2.128/pluto-admin/"</nowiki>), then choose "Wizard -> Devices -> Interfaces -> [your ZWave controller] -> Advanced".
+
# Go to LinuxMCE admin page (<nowiki>"http://dcerouter/lmce-admin/"</nowiki>), then choose "Wizard -> Devices -> Interfaces -> [your ZWave controller] -> Advanced".
 
## On the device page select "Send command to device".
 
## On the device page select "Send command to device".
 
## Select command "Download Configuration" and choose "Send Message".
 
## Select command "Download Configuration" and choose "Send Message".
Line 63: Line 107:
 
You should do quick reload (Wizard -> Restart -> Quick Reload Router) in order to use the newly added devices with LinuxMCE. Once you have done that you should be able to control (like switching on/off) the devices under the  Light ([[Media:zwave_lights.png]]).
 
You should do quick reload (Wizard -> Restart -> Quick Reload Router) in order to use the newly added devices with LinuxMCE. Once you have done that you should be able to control (like switching on/off) the devices under the  Light ([[Media:zwave_lights.png]]).
  
 +
== Setting associations ==
 +
If you use SIS mode, associations will be set automatically, so that LMCE is always associated with each new device. This allows LMCE to receive messages when a device changes state.
  
== Troubleshooting ==
+
The web interface allows you to create associations between devices (I believe this requires SIS mode, not sure).
 
+
Click "Show device tree" then navigate to your z-wave controller (under CORE) and select "Send command to device". A popup window will show and you can choose the "Set Association" command.
=== HomePro USB ZWave controller ===
+
Enter three parameters:
If the ZWave controller is not seen (or it's not working) by LinuxMCE, check that linux sees the USB device. The HomePro USB receiver uses USB serial device converter (it's not really a "true" USB device).
+
* the zwave NodeID of the source device, the one that will send the command
 
+
* the group in the source device that will trigger the send (typically the button number on a multi-paddle switch)
Once you plug in the device you should see the following kernel messages ("dmesg") when the correct modules are loaded:
+
* the NodeID(s) device(s)
<pre>
+
Example: 5 / 2 / 7,8  would cause devices 7 and 8 to turn on when you press button 2 of device 5
usbcore: registered new driver usbserial
+
drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
+
usbcore: registered new driver usbserial_generic
+
drivers/usb/serial/usb-serial.c: USB Serial Driver core
+
drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI USB Serial Device
+
ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
+
drivers/usb/serial/ftdi_sio.c: Detected FT232BM
+
usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
+
usbcore: registered new driver ftdi_sio
+
drivers/usb/serial/ftdi_sio.c: v1.4.3:USB FTDI Serial Converters Driver
+
</pre>
+
 
+
Then you should have the following kernel modules loaded:
+
<pre>
+
dcerouter_6722:/var/log/pluto# lsmod
+
Module                  Size  Used by
+
ftdi_sio              32584  1
+
usbserial              32488  3 ftdi_sio
+
</pre>
+
 
+
On the admin page (Interfaces -> Advanced) the ZWave interface COM port should point to USB device:
+
<pre>
+
Device data:
+
COM Port on PC      pci0000:00/0000:00:07.2+1
+
</pre>
+
 
+
<pre>
+
dcerouter_6722:/var/log/pluto# lspci |grep USB
+
0000:00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB
+
</pre>
+
 
+
 
+
 
+
=== ZWave communication ===
+
 
+
If the controller is seen by LinuxMCE, try sending some commands ("Wizard -> Devices -> Interfaces -> [your ZWave controller] -> Advanced") and watching the log files ("tail -f /var/log/pluto/*ZWave.log") at the same time.
+
 
+
You can try command like "Report Child Devices" which in my case (since I have 5 ZWave appliances supported by LinuxMCE) gives the following results:
+
 
+
<pre>
+
36      11/05/06 10:45:51.358          ZWave::ReportChildDevices got:
+
36      11/05/06 10:45:51.358         
+
1                      37
+
4                      37
+
5                      37
+
6                      37
+
7                       37
+
</pre>
+
 
+
In order to get these results you should already have downloaded the ZWave network configuration to LinuxMCE from master (remote) controller.
+
  
 +
== Tweak advanced ZWave settings ==
 +
If you want to tweak some specific settings of your ZWave devices then read [[Tweak_advanced_ZWave_settings|this article]].
  
== PIR (Binary Sensor) support ==
+
== Update node information ==
 +
You can request a manual update of the node information (command classes). To do this open the advanced page of the main ZWave device and send command to device. Send a "Resync node" command with the node id of the node you want to update the information from.
  
PIR (Passive Infra Red) sensor, a type of motion detector which uses invisible infra red light to detect movement in a room.
+
It should normally not be necessary to do this, as the node information is updated at the first reload after it was added. However, it can be useful if for some reason the node information was not correctly set or if you have replaced a node which may have other command classes.
PIR is sending "Sensor Tripped" events, so that you can use it in security scenarious.
+
  
All the tests were made using HomePro ZIR000 (RF Transmitter PIR) model.
+
= Implementation =
 +
== OpenZWave version ==
 +
This in included in 1204 and onwards.
 +
The source code is available in LinuxMCE's SVN repository: http://svn.linuxmce.org/svn/branches/LinuxMCE-0810/src/ZWave-OZW.
  
=== HowTo install PIR ===
+
== Open version ==
 +
The new open Z-Wave driver is included in the 0810 and 1004 release.
 +
The source code is available in LinuxMCE's SVN repository: http://svn.linuxmce.org/svn/branches/LinuxMCE-0810/src/ZWave.
  
  1) Open the PIR box so that you have access to Z-Wave button, it is used to remove/add (reset) the PIR from/to Z-Wave network
+
== To know ==
  2) Use your Z-Wave Master Controller to add PIR
+
If after a new install you have problems with your current zwave network, it may be useful to make a complete reset of this network and complete it with a reset of all the devices.
  3) Copy the new Z-Wave network configuration to your Z-Wave USB device (see command "Download Configuration")
+
The reset of devices can be done with an exclusion command (find those in your devices books).
  4) Reload Router
+
  5) You should see the PIR device available as a child device of ZWave (see LinuxMCE admin web pages), but the setup isn't ready yet.
+
  6) Power off PIR, then power on again (remove a battery for few seconds). Close the PIR box.
+
  This step is important because PIR is in awake state only for 10 min after it's powered up.
+
  7) After 2-3 min from step 6, PIR will send the wake up notification and PIR will be able to set its configuration.
+
  8) You should receive the events from PIR
+
  
=== Notes ===
+
== Z-Wave API documentation ==
  
  1) PIR needs 2 min of 'silence' to get to Trigger Off
+
[[ZWave API]]
  2) Z-Wave has some new commands to support PIR :
+
    - Assign Return Route
+
    - Set Association
+
    - Set Configuration Parameter
+
    - Set Wake Up
+
  The configuration commands are sent automatically by LinuxMCE's ZWave device.
+
  But if you are using a different PIR device and you need another setup parameters, you can use the new commands.
+
  3) The PIR wake up notification is important, no commands are sent to PIR if the notification wasn't received.
+
  We must be sure that PIR is able to communicate with Z-Wave network.
+

Latest revision as of 20:25, 25 April 2014

Version Status Date Updated Updated By
710 Unknown N/A N/A
810 Working 12th May 2010 sambuca
1004 Unknown N/A N/A
1204 Unknown N/A N/A
1404 Unknown N/A N/A
Usage Information

Z-Wave™ is a wireless RF-based communications technology designed for residential and light commercial control and status reading applications such as meter reading, lighting and appliance control, HVAC, access control, intruder and fire detection.

Overview

The support from LinuxMCE system is represented by an executable ZWave (it's placed in /usr/pluto/bin) which is the device implementation and a DeviceTemplate (1754) which is used to create LinuxMCE Devices for ZWave. There are high speed (4x 40kbps) and standard speed Z-Wave devices.

For information about what hardware to get look at Z-Wave Getting Started, or check out the Z-Wave Wiki Category.

How to install and use ZWave

Automatic installation - Lighting Wizard

The Lighting Wizard allows you to easily integrate LinuxMCE into your Z-Wave network. It is started after you plug in the Z-Wave dongle. Just follow the onscreen instructions. However the Lighting Wizard does not support SUC/SIS mode (see below) and because of this is now not the best way to include ZWave devices into your ZWave network. If you have a ZWave USB interface and an Inclusion Controller that supports SUC/SIS mode then this is the recommended configuration to use.

SUC/SIS Mode (recommended)

In SUC/SIS mode, LMCE adds your devices automatically as you include them into the Z-Wave network. Inclusion can be done using an inclusion remote or the "Add Node" command in LMCE (this option is really only successful in smaller test installations or possibly in smaller apartments for example). LMCE will assign new Node ids to the included devices and will add them in the Device tree under your ZWave USB interface. The following procedure requires that your ZWave USB interface and your Inclusion Device are compatible with SUC/SIS (**See the note at the bottom of this section);

  1. To use the SUC/SIS mode, send a "Reset" command to the ZWave USB interface.
    1. For LinuxMCE systems 1004 and below:
      1. In the web admin, go to Advanced -> Configuration -> Devices, find the ZWave device in the tree, select it, click "Send Command To Device" in the right pane.
      2. Select "Reset" and click Send Message. (Reset will remove all devices from you Z-Wave network).
    2. For LinuxMCE systems 1204 and above (which uses the Open Zwave library's):
      1. In the web admin, go to Advanced -> Configuration -> Devices, find the ZWave device in the tree, select it, click "Send Command To Device" in the right pane.
      2. Select "Reset", in the "Data" field enter "ResetController" and click Send Message. (Reset will remove all devices from you Z-Wave network).
  2. Next do a Reload Router (**This reload is essential**).
  3. When using SUC/SIS mode you must add an Inclusion Controller as the 2nd device in your ZWave network (the first device being the ZWave USB interface itself). An Inclusion Controller is the device you use to include ZWave devices into the ZWave network - this might be your ZWave remote control or possibly a wireless wall switch as these can often do double duty as an Inclusion Controller. You can add additional Inclusion Controllers or indeed any other ZWave devices at any time in the future as needed, and they will be added to your Device Tree automatically for you - this is the unique power of SUC/SIS.
    1. If using a Tricklestar Remote:
      1. First select 'Add node' from the 'Send to this device the command' drop-down menu and click Send Message (there is no need to fill in any values in this screen).
      2. Next put the remote in configuration mode, then press and hold up until the LED flashes green, then press up four times. The LED will begin flashing green. Once added, the remote LED should start flashing faster then go steady green indicating success. If it goes red then reset the remote (hold up til green, then hold up 10 seconds until 3 color LED), and redo step 1-2.
    2. If not using a Tricklestar remote:
      1. Select 'Add node' from the 'Send to this device the command' drop-down menu and click Send Message (there is no need to fill in any values in this screen).
      2. Next bring your Inclusion Controller close to your Core's/MD's ZWave USB interface and click once on its button or paddle (if a Wireless light switch) to include it into the ZWave Network. Your device should now indicate a successful inclusion if not repeat the last step.
      3. You should see a ZWave device added message momentarily appear in the top left hand corner of your Orbiters display
      4. Some users have reported the need to do a reload at this step. However this should not normally be required if you saw the ZWave added message from the previous step.
  4. If your Inclusion Remote indicated a successful inclusion you are now ready to start including light switches and other devices using the device you added as an Inclusion Controller (ie your ZWave remote or a wireless Light Switch) - and not the 'Add Node' command in Web Admin.
  5. Place your inclusion controller device into Inclusion Mode (consult the devices manual for the details of how to include devices using it).
  6. Now while holding it close to the device you want to include press any button on the front of that device (usually one of the paddles on a light switch for example).
  7. Wait for the successful inclusion indication on the device you are including and if you have an Orbiter or Web Orbiter nearby you should also see a brief announcement that device was added successfully. A few seconds later a router reload screen will pop up on your Orbiter's displays. (**If you'r adding several devices to your ZWave network then you can continue to add them and then do a single reload after adding the last device - this is an important reload so dont forget this step.**)
  8. Now you can move to the next device and include it.
  9. Keep doing this until all of your devices are included. With SUC/SIS there is no need to include all of your ZWave devices in one hit. You can stop and continue another time without any issues. So adding some more devices months into the future is simple and easy to do.
  10. After including your last ZWave device don't forget to do a reload router
  11. Check in Web Admin's Wizard->Devices->Lights page or click on 'Show Devices Tree' at the bottom of the left hand frame to make sure all of your included devices are present.(**if not do a reload router and wait a about 60 secs then check again).
  • Note: When including devices using SUC/SIS mode always start by including the devices that are closest to where the Core's ZWave USB interface is located and finish with the device that is furthest away. This enables the inclusion process to utilise the ZWave mesh network to communicate with the Core's ZWave USB interface.

How to add multi-paddle Multi-level Light Switches/Dimmers

Some newer ZWave multi-paddle Light Switches & dimmers are built around the multi-level command classes present in the latest Zensys ZWave API (MK Honeywell Astral products are an example of this new type of device). These devices will function perfectly with the SUC/SIS mode but will need a small amount of manual configuration for paddles 2 & above. These devices typically will not have their 2nd paddle added automatically when they are included into your ZWave network ie only the 1st paddle will appear in your device tree. In time this limitation will be removed from the ZWave driver but for now please follow the simple manual procedure described below for adding the 2nd paddle to your device tree;

  1. After including your multi-paddle light switch or dimmer (see the SUC/SIS section above) make a note of its ZWave Node ID.
    1. To do this look in Web Admin's Wizard->Devices->Lights page to get the Node ID - see the value listed for each light in the 'Port/Channel Number' field.
  2. Now we need to add a new device for the right hand paddle;
    1. If your adding a right hand paddle for a Light Switch:
      1. Click on 'Show Devices Tree' (at the bottom of the left hand frame) and click on the 'ZWave' item under the 'Core' in the tree.
      2. In the right hand pane you should now see the 'Advanced' screen for your ZWave interface
      3. Now click on 'Create Child Device'
      4. You should now see the 'Add Child Device' screen and should click on the 'Pick device template' button.
      5. The 'Pick device template' window should now be visible.
      6. Click on the 'Device Template' drop down and select 'Light Switch (on/off)' from the list. You should now see the number '37' appear to the right of the drop down list (this is the templates ID).
      7. Now click on 'Pick Device Template'
      8. A new 'Light Switch (on/off)' device will now be added to the end of the list of child devices under your ZWave interface in the devices tree.
    2. If your adding a right hand paddle for a Dimmer:
      1. Click on 'Show Devices Tree' (at the bottom of the left hand frame) and click on the 'ZWave' item under the 'Core' in the tree.
      2. In the right hand pane you should now see the 'Advanced' screen for your ZWave interface
      3. Now click on 'Create Child Device'
      4. You should now see the 'Add Child Device' screen and should click on the 'Pick device template' button.
      5. The 'Pick device template' window should now be visible.
      6. Click on the 'Device Template' drop down and select 'Light Switch (Dimmable)' from the list. You should now see the number '38' appear to the right of the drop down list (this is the templates ID).
      7. Now click on 'Pick Device Template'
      8. A new 'Light Switch (on/off)' device will now be added to the end of the list of child devices under your ZWave interface in the devices tree.
  3. You should now have a new Light Switch or Dimmer device in your devices tree - click on its entry in the tree.
  4. In the right hand pane you will now see the Advanced info for your new device - we need to modify some values for this new device;
    1. Modify the 'Description' field so that it describes clearly what this device is ie something like 'Master Bed Dimmer (paddle-2)' (this text is displayed in the Devices Tree)
    2. Now select a 'Room' from the Room drop down and tick any Entertainment Areas this Light should be added too.
    3. Next scroll down to the 'Device Data' section at the bottom of the screen and choose a floor Plan icon from the 'PK_FloorplanObjectType' drop down (this determines what icon will be displayed in the lighting floor plan for this specific light).
    4. Finally you need to set the 'Port/Channel Number' field to link this device with light switch/dimmer it is assigned to. Add the Node ID you made a note of in Step 1 to the field followed by a '/' and a number. If this is paddle-2 then the number after the '/' would be '2'. So if the Node ID was '16' you should now have the string '16/2' in the field. If you multi-paddle light/dimmer has more than two paddles then increment the value by '1' for each additional paddle.
    5. The final step is to click 'Save' to save the changes you have made to the device.
  5. Now go to the Wizards->Devices->Lights page and test your new light switch/dimmer paddle - use the 'ON', 'OFF' & '50%' buttons.

Alternate setup of Tricklestar Remote (not recommended)

Manual setup / Download configuration

Once you have successfully installed the ZWave USB controller and it is seen on LinuxMCE (media:zwave_homepro_interface.png), you can proceed by populating the ZWave network information to LinuxMCE.

  1. Add your ZWave devices to your master ZWave master remote controller (like ZTH200)
    • Once the devices are added to remote and verified they are working (you can control them with your remote controller), you need to copy the ZWave network information to LinuxMCE.
  2. Go to LinuxMCE admin page ("http://dcerouter/lmce-admin/"), then choose "Wizard -> Devices -> Interfaces -> [your ZWave controller] -> Advanced".
    1. On the device page select "Send command to device".
    2. Select command "Download Configuration" and choose "Send Message".
      • Leave the data and file fields as blank
  3. Now LinuxMCE is waiting for the ZWave information and you should send a copy of the ZWave network with your master remote controller to LinuxMCE.
    • If you are using HomePro remote controller this is done by selecting: "Setup -> Copy Remote Ctrl. -> Send Information -> Identical Copy". Once you have done that, the remote will show "Sending information..." and after successful sending it will return to clock screen (this shouldn't take more than couple of minutes).
    • You can monitor the process by watching the Zwave log file on LinuxMCE (usually "/var/log/pluto/*ZWave.log"). Unfortunately the admin page doesn't give much information of what is being done and is everything going smoothly. If the process is successfully, you should see the LinuxMCE communicating with the USB controller
    • Make sure the sending remote controller is near enough the USB receiver, otherwise nothing will happen.
  4. Go to device tree (Show devices tree) and you should see (Media:zwave_devices_tree.png) the newly added ZWave modules/devices on the tree under "CORE -> ZWave".

You should do quick reload (Wizard -> Restart -> Quick Reload Router) in order to use the newly added devices with LinuxMCE. Once you have done that you should be able to control (like switching on/off) the devices under the Light (Media:zwave_lights.png).

Setting associations

If you use SIS mode, associations will be set automatically, so that LMCE is always associated with each new device. This allows LMCE to receive messages when a device changes state.

The web interface allows you to create associations between devices (I believe this requires SIS mode, not sure). Click "Show device tree" then navigate to your z-wave controller (under CORE) and select "Send command to device". A popup window will show and you can choose the "Set Association" command. Enter three parameters:

  • the zwave NodeID of the source device, the one that will send the command
  • the group in the source device that will trigger the send (typically the button number on a multi-paddle switch)
  • the NodeID(s) device(s)

Example: 5 / 2 / 7,8 would cause devices 7 and 8 to turn on when you press button 2 of device 5

Tweak advanced ZWave settings

If you want to tweak some specific settings of your ZWave devices then read this article.

Update node information

You can request a manual update of the node information (command classes). To do this open the advanced page of the main ZWave device and send command to device. Send a "Resync node" command with the node id of the node you want to update the information from.

It should normally not be necessary to do this, as the node information is updated at the first reload after it was added. However, it can be useful if for some reason the node information was not correctly set or if you have replaced a node which may have other command classes.

Implementation

OpenZWave version

This in included in 1204 and onwards. The source code is available in LinuxMCE's SVN repository: http://svn.linuxmce.org/svn/branches/LinuxMCE-0810/src/ZWave-OZW.

Open version

The new open Z-Wave driver is included in the 0810 and 1004 release. The source code is available in LinuxMCE's SVN repository: http://svn.linuxmce.org/svn/branches/LinuxMCE-0810/src/ZWave.

To know

If after a new install you have problems with your current zwave network, it may be useful to make a complete reset of this network and complete it with a reset of all the devices. The reset of devices can be done with an exclusion command (find those in your devices books).

Z-Wave API documentation

ZWave API