DomotiGa - Z-Wave_OpenZWave - # 89 Z-Wave - Open Z-Wave Support DomotiGa supports Z-Wave using OpenZWave as described below and using RaZberry described on the [[Z-Wave_RaZberry|RaZberry page]]. Introduction Z-Wave is a wireless communications protocol designed for home automation, specifically to remotely control applications in residential and light commercial environments. The technology uses a low-power RF radio embedded or retrofitted into home electronics devices and systems, such as lighting, home access control, entertainment systems and household appliances. OpenZWave is a free software library that interfaces with selected Z-Wave PC controllers, that you can use without requiring in-depth knowledge of the Z-Wave protocol to interface to devices on a Z-Wave network, DomotiGa uses a wrapper to interface to the OpenZWave library. This OpenZWave wrapper transforms the open-zwave library C++ calls to C calls so DomotiGa can use them, together with JSON-RPC methods to report status changes of the Z-Wave network back to DomotiGa. A very big thank you to Jaren, thanks for building and sharing the wrapper code! Installation open-zwave wrapper openzwave.png Getting DomotiGa's open-zwave support to work is a 2 step process. 1. Build the open-zwave project. 2. Build the DomoZWave wrapper. 1. Building open-zwave Install needed development headers (for Ubuntu/Debian): $ sudo apt-get install subversion libudev-dev libjson0 libjson0-dev libcurl4-gnutls-dev Download latest open-zwave code like this: $ mkdir ~/install $ cd ~/install $ svn co http://open-zwave.googlecode.com/svn/trunk/ open-zwave-read-only $ cd open-zwave-read-only 01/21/2015 1/7 If you want a specific revision, use "-r <revisionnumber>" as svn parameter Compile open-zwave code: $ make 2. Building DomoZWave wrapper $ cd ~/domotiga/wrappers/domozwave $ ln -s ~/install/open-zwave-read-only ./open-zwave $ make clean $ make $ sudo make install Restart DomotiGa Enable open-zwave option under Open Z-Wave settings. During first run there is a logfile name 'OZW_Log.txt' and a open-zwave status file named 'zwcfg<homeid>.xml'_ created in the directory '~/domotiga/wrappers/domozwave'. If debug is enabled, the wrapper will also write a logfile named '~/domotiga/logs/domozwave-<year>-<month>.log'. If you run into issues, please add all 3 files into the support ticket. update/recompile open-zwave and/or wrapper The open-zwave and/or wrapper are updated regularly. The following steps will guide you with updating your DomotiGa to the latest one. If the open-zwave is updated, then the wrapper also needs to be updated. 1. Update the open-zwave: $ cd ~/install/open-zwave-read-only $ svn up Compile open-zwave code: $ make clean $ make 2. Building DomoZWave wrapper: $ cd ~/domotiga/wrappers/domozwave $ make clean $ make $ sudo make install 3. Remove the zwcfg*xml, because sometimes the format is changed: $ rm zwcfg*xml 4. Restart DomotiGa Configuration Open the configuration window under Interfaces -> Z-Wave -> Open Z-Wave 01/21/2015 2/7 Fields: - Serial Port selects the port of the [[Z-Wave OpenZWave#Z-Wave Controllers|Z-Wave Controller]] - Poll Listening Devices enables a poll of non-sleeping devices - Poll Sleeping Devices enables a poll of sleeping devices - Update Neighbor enables a neighbor update - With every of these three options you find an "at" field that specifies when the poll or update is done using a "cron string" - For a detailed description of the cron string see [[Events#Time-Now-triggers|Time-Now triggers]]. - "*/30 * * * *" means every half hour - "30 3 * * *" means every night 03:30 - Debug enables debug output Open Z-Wave Commander domotiga-zwavecmdr-v2.png The Open Z-Wave Commander works only in a Client-Server configuration if [[JSON-RPC]] is enabled. Controller commands Under the Controller tab you can find: 01/21/2015 3/7 The left set of buttons are for the Controller, the right set of buttons for the (selected) node. Node Button DomeZWave Basic Report DomoZWave_RequestNodeSt Dynamic Report DomoZWave_RequestNodeDy Version Report Meter Report Heal Node RefreshNodeInfo OpenZWave ate namic DomoZWave_RequestNodeVe rsion DomoZWave_RequestNodeM eter DomoZWave_RequestNodeNe ighborUpdate DomoZWave_RefreshNodeInf o Tested Hardware The following is the list of Z-Wave known to work with DomotiGa and the openzwave library. In principle all normal Z-Wave devices should work, with the exception of security devices (e.g. door locks) and with some limitations thermostat devices. Z-Wave Controllers Manufacturer Aeon Labs Product Name Z-Wave Stick S2 Sigma Designs Vision ACC-UZB-U Z-Wave USB Stick Z-Wave.Me RaZberry Link [[Devices_ZWave_Aeon_Labs _Stick_S2|Install/Config]] message#4293 [[Devices_ZWave_Vision_USB _Stick|Install/Config]] [[Devices_ZWave_ZWaveMe_ RaZberry|Install/Config]] Z-Wave Devices Manufacturer Aeon Labs Aeon Labs 01/21/2015 Product Name Link Home Energy Meter (HEM), 2 [[Devices_ZWave_Aeon_Labs or 3 clamps _Clamp_Energy_Meter|Install/ Config]] Micro Smart Energy Switch [[Devices_ZWave_Aeon_Labs _Micro_Smart_Energy_Switch |Install/Config]] 4/7 Aeon Labs Aeon Labs BeNEXT BeNEXT Danfoss Digital Home System Everspring Everspring Fibaro Fibaro Fibaro Fibaro Fibaro Fibaro Fibaro Fibaro GreenWave GreenWave HomeSeer Popp/Duewi Popp/Duewi Qubino Z-Wave.Me Multi Sensor [[Devices_ZWave_Aeon_Labs _Multi_Sensor|Install/Config]] Minimote [[Devices_ZWave_Aeon_Labs _Minimote|Install/Config]] Door Sensor [[Devices_ZWave_BeNEXT_D oor_Sensor|Install/Config]] Tag Reader [[Devices_ZWave_BeNEXT_T ag_Reader|Install/Config]] Thermostat [[Devices_ZWave_Danfoss_R adiator_Thermostat|Install/Con fig]] DHS-ZW-SNMT-01 Multi [[Devices_ZWave_DHS_ZW-S Sensor NMT-01|Install/Config]] AN158 Plug-in Meter [[Devices_ZWave_Everspring_ Appliance Module AN158|Install/Config]] SP103 Motion Sensor [[Devices_ZWave_Everspring_ SP103|Install/Config]] FGBS001/321 Universal [[Devices_ZWave_Fibaro_FGB Module S001|Install/Config]] FGD211 - Dimmer [[Devices_ZWave_Fibaro_FGD 211|Install/Config]] FGR221 Roller Shutter [[Devices_ZWave_Fibaro_FGR Controller 221|Install/Config]] FGS221 Double Relay Switch [[Devices_ZWave_Fibaro_FGS 2x1,5kW 221|Install/Config]] FGK101 - 107 Door/Window [[Devices_ZWave_Fibaro_FGK Sensor 101|Install/Config]] FGWPF/E 101 - Wall Plug [[Devices_ZWave_Fibaro_FGW Switch P|Install/Config]] FGSS001 - Smoke Sensor [[Devices_ZWave_Fibaro_FGS S001|Install/Config]] FGMS001 - Motion Sensor [[Z-Wave_Fibaro_FGMS-001|I nstall/Config]] PowerNode 1 port [[Devices_ZWave_GreenWave _PowerNode|Install/Config]] PowerNode 6 port [[Devices_ZWave_GreenWave _PowerNode|Install/Config]] HSM100 Wireless [[Devices_ZWave_HomeSeer_ Multi-Sensor HSM100|Install/Config]] ZDAN 300 Dimmer [[Devices_ZWave_Duewi_ZDA N_300|Install/Config]] ZS 3500 Switch [[Devices_ZWave_Duewi_ZS_ 3500|Install/Config]] ZMNHCA2 [[Devices_ZWave_Qubino_ZM NHCA2|Install/Config]] ZME_06435 Motor Control [[Devices_ZWave_zwaveme_Z ME_06435|Install/Config]] Questions and answers Unknown device in Open Z-Wave Commander If you notice that your just added device is shown as unknown device e.g. "Unknown: type=xxxx, id=xxxx" in Z-Wave Commander, means that the device isn't known yet in the open-zwave library. Please report this to the open-zwave project ( http://code.google.com/p/open-zwave/) with all relevant information. They will include it in the next revision of the open-zwave and this will extend the known device database /plugin_assets/redmine_wiki_extensions/images/smile.png The procedure to report it properly is as follows: 1) Check ~/domotiga/wrappers/domozwave/zwcfg*xml file and find your unknown device, and notice the following lines (this is an example): 01/21/2015 5/7 <Manufacturer id="0115" name="Z-Wave.Me"> <Product type="1000" id="0004" name="Unknown: type=1000, id=0004" /> </Manufacturer> 2) Check ~/domotiga/wrappers/domozwave/open-zwave/config/manufacturer_specific.xml file, and locate the manufacturer section: <Manufacturer id="0115" name="Z-Wave.Me"> <Product type="1000" id="0002" name="ZME_06433 Wall Flush-Mountable Dimmer" config="zwave.me/ZME_06433.xml"/> <Product type="1000" id="0003" name="ZME_06435 Motor Control"/> </Manufacturer> 3) As you can notice, the Product type="1000" id="0004" is missing here. 4) The file needs to be modified, and the result will be: <Manufacturer id="0115" name="Z-Wave.Me"> <Product type="1000" id="0002" name="ZME_06433 Wall Flush-Mountable Dimmer" config="zwave.me/ZME_06433.xml"/> <Product type="1000" id="0003" name="ZME_06435 Motor Control"/> <Product type="1000" id="0004" name="ZME_064435 Wall Controller"/> </Manufacturer> 5) Report the information from step 2 and 4 with the open-zwave library, that they know what to add to the manufacturer file. Remove a failed Z-Wave device It is possible that a device is faulty (or incorrectly removed from the Z-Wave network), from r1054 it is possible to remove it with the following steps: - Go to Z-Wave Commander - Click on the node to be removed - Go to tab "Controller" - Click on "Remove Failed Node" - Restart DomotiGa Replace a failed Z-Wave device It is possible that a device is faulty, from r1054 it is possible to replace it (same device type !) with the following steps: - Go to Z-Wave Commander - Click on the node to be replaced - Go to tab "Controller" - Click on "Replace Failed Node" - Go to tab "Node" - Click on "Refresh NodeInfo" Known issues with the open-zwave library Slow start-up If you use many Z-Wave devices it can take a few minutes before the open-zwave library is fully initialized. During initialization the open-zwave library queries all devices for all known parameters. Only after the full initialization you can start controlling your devices. Querying all listening devices takes long If you unplug one of your listening devices, DomotiGa still will try to query (request state, Watt, kWh, etc). This will timeout in the open-zwave library resulting in a "delay" of 10-20 seconds per device. Some On/Off/Dim commands aren't directly executed If you have many Z-Wave devices and you query them regularly (e.g. every 5 minutes) then during the start of the query and until the 01/21/2015 6/7 LAST response comes back from the open-zwave library no On/Off/Dim command will be directly processed. Those On/Off/Dim commands will be executed AFTER the LAST response is received. Thus if you do an On/Off/On, then our light will turn visible on, off and then on again. See also the "Querying all listening devices take long". We are looking into this "issue", but the timing is trivial if devices are unplugged or none-existing values are retrieved. DomotiGa uses 100% CPU after unplugging the Z-Wave USB stick This is an issue in the open-zwave library and not a bug in DomotiGa of the DomoZWave wrapper. The workaround is to restart the ZWave interface or restart DomotiGa. The issue is logged with the open-zwave project ( http://code.google.com/p/open-zwave/issues/detail?id=111). DomotiGa isn't getting any Z-Wave status updates anymore There is a known bug in the Aeon Z-Wave USB stick that it will stop responding after 6-9 months. Restart of DomotiGa of your system will not work either. Unplug and replug to the Aeon USB stick to resolve this issue. Domotica Shops - ezHome - ROBBshop - Tane Domotica Advies Related Resources - Wikipedia about Z-Wave Z-Wave device library Z-Wave manuals by Z-Wave Europe open-zwave library - LinuxMCE - Z-Wave API Notes - Thread about New Z-Wave driver {{comments}} {{comment_form}} {{count}} Updated by: {{lastupdated_by}}, {{lastupdated_at}} Access count: {{show_count}} since 2011-08-25 Attached Files Files openzwave.png 6.08 KB 01/21/2012 rdnzl aeon-Door-Window-Sensor.pdf 994 KB 04/24/2012 rdnzl Everspring-sm103_manual.pdf 133 KB 11/03/2012 Alexie zwave-logo.jpg 9.04 KB 11/04/2012 rdnzl Z-Wave Technical Basics-small.pdf 2.66 MB 11/14/2013 Alexie domotiga-zwavecmdr-v2.png 145 KB 07/16/2014 Alexie OpenTherm_Settings.png 38.6 KB 09/13/2014 danfos OpenZWave_Commander_Control.png 18.7 KB 01/18/2015 danfos 01/21/2015 7/7
© Copyright 2024