Commit f177b1cd by phenigma

Refs #2801 - commit of open-zwave 1.5 from upstream ubuntu artful aardvark

1 parent f1f1d922
Showing with 4795 additions and 0 deletions
Minimal Install Guide for OpenZWave!
For Unix's (including Mac, bsd's etc)
=================
execute Make in the Top Level Directory
make
Libraries to link to (Static and Dynamic) will be in top level directory as
well (but you can change that as detailed below with LIBDIR)
To Install:
make install
Some Options you can set:
"BUILD=(release|debug)" - Build a Release or Debug Version of the Library
(Release is default)
"PREFIX=(path)" - Prefix to install the shared library into - Defaults to
/usr/local
"LIBDIR=/tmp" - Path to place the libraries into after complication. A poor
mans "make install" for simple Applications.
To use the options, specify them on the commandline when executing make eg:
"BUILD=debug PREFIX=/opt/local make"
What Gets installed:
When make install is called the following happens:
* Documentation:
if you have DoxyGen, API documentation is installed into
(PREFIX)/share/doc/openzwave-(version)/
* Shared Libary (libopenzwave.so.*):
The Shared Library is installed into either (prefix)/lib64 (on 64
bit platforms) or (prefix)/lib/ on 32 bit platforms)
* Header Files:
Installed into (prefix)/include/openzwave/
* pkg-config file:
Installed into (prefix)/lib(64)/pkgconfig/libopenzwave.pc
* Config files and Device Databases (manufacturer_specific.xml et al)
Installed into (prefix)/etc/openzwave/
* MinOZW example program:
Installed into (prefix)/bin/ directory
The Static Version of the library is never installed, but will be created in
top build directory after a successfull make.
Windows Versions
================
Visual Studio Solution Files and Mingw32 Makefiles are present in
cpp/build/windows/. Select the correct Visual Studio or Mingw32 directory
depending on the versions you have.
(Note, if building DLL's on Windows (currently a option in the vs2010
solution) - You have to ensure you application is compiled with exactly the
same compiler options and versions as OpenZWave - Otherwise strange things
might happen)
For the .NET dll, the solution files exist in the dotnet/build/ directory
Sample Programs
===============
For all platforms, there is a simple example program that will print out
events as they happen on your ZWave network. This sample is called MinOZW
and you can find the source in the cpp/examples directory. By default, these
examples are built during the Make Install Stage. If you want compile them
separately, you can use the "make examples" target.
For the .NET wrapper, there is a OZWForm application in
dotnet/examples/OZWForm/. Please read the README file in that directory for
further instructions
#
# Makefile for OpenzWave Mac OS X applications
# Greg Satz
# GNU make only
# requires libudev-dev
.SUFFIXES: .d .cpp .o .a
.PHONY: default clean install
top_srcdir := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
top_builddir ?= $(CURDIR)
export top_builddir
PREFIX ?= /usr/local
export PREFIX
all:
CPPFLAGS=$(CPPFLAGS) $(MAKE) -C $(top_srcdir)/cpp/build/ -$(MAKEFLAGS)
CPPFLAGS=$(CPPFLAGS) $(MAKE) -C $(top_srcdir)/cpp/examples/MinOZW/ -$(MAKEFLAGS)
install:
$(MAKE) -C $(top_srcdir)/cpp/build/ -$(MAKEFLAGS) $(MAKECMDGOALS)
$(MAKE) -C $(top_srcdir)/cpp/examples/MinOZW/ -$(MAKEFLAGS) $(MAKECMDGOALS)
clean:
$(MAKE) -C $(top_srcdir)/cpp/build/ -$(MAKEFLAGS) $(MAKECMDGOALS)
$(MAKE) -C $(top_srcdir)/cpp/examples/MinOZW/ -$(MAKEFLAGS) $(MAKECMDGOALS)
cpp/src/vers.cpp:
CPPFLAGS=$(CPPFLAGS) $(MAKE) -C $(top_srcdir)/cpp/build/ -$(MAKEFLAGS) cpp/src/vers.cpp
check: xmltest
include $(top_srcdir)/cpp/build/support.mk
ifeq ($(XMLLINT),)
xmltest: $(XMLLINT)
$(error xmllint command not found.)
else
xmltest: $(XMLLINT)
@$(XMLLINT) --noout --schema $(top_srcdir)/config/device_classes.xsd $(top_srcdir)/config/device_classes.xml
@$(XMLLINT) --noout --schema $(top_srcdir)/config/options.xsd $(top_srcdir)/config/options.xml
@$(XMLLINT) --noout --schema $(top_srcdir)/config/manufacturer_specific.xsd $(top_srcdir)/config/manufacturer_specific.xml
@$(XMLLINT) --noout --schema $(top_srcdir)/config/device_configuration.xsd $(top_srcdir)/config/*/*.xml
endif
dist-update:
@echo "Updating List of Distribition Files"
@$(GIT) ls-files > .distfiles
@$(top_srcdir)/makedist
DIST_FORMATS ?= gzip
include $(top_srcdir)/distfiles.mk
include $(top_srcdir)/dist.mk
Open-ZWave Library
==================
Our goal is to create free software library that interfaces with selected Z-Wave PC controllers, allowing anyone to create applications that manipulate and respond to devices on a Z-Wave network, without requiring in-depth knowledge of the Z-Wave protocol.
This software is currently aimed at Application Developers who wish to incorporate Z-Wave functionality into their applications.
Our Homepage is at http://www.openzwave.net/ and our Github Page is located at https://github.com/OpenZWave/. If you wish to participate on our Mailing List, please visit https://groups.google.com/forum/#!forum/openzwave
## Getting Started
There is a example application on how to interface with the library called MinOZW. This currently offers a minimal example on how to monitor for changes and enable Polling of values. There are also plenty of other examples on the Internet that you can research.
## Getting Help
If you are using a Application that uses OZW, you should first check with the Application Developers for support. As OZW is a library used by dozens of large opensource home automation applications, we can not support application related issues here. If your application developer indicates the problem may be with OZW, please follow the guidelines below.
First thing you should do if you are running into troubles is search our [mailing list](https://groups.google.com/forum/#!forum/openzwave). There is a high chance that your problem may have already been discussed on the list.
If your still having problems, you should Generate a Log file and upload your Log to the [Log Analyzer on our homepage](http://www.openzwave.com/log-analyzer), which will check for common issues, and provide some basic recommendations. Please follow the instructions on that page to ensure your log file contains the relevant information.
If you think you have found a bug, please see the next section.
For General Questions/How Do I etc, please post a message to our [mailing list](https://groups.google.com/forum/#!forum/openzwave)
## Opening or Contributing to a Issue on Github
Z-Wave is a reasonably complex protocol, and thus, it almost always necessary for us to review a OZW Log file to determine what’s going on. As GitHub does not support attachments on Issues, please upload a [LogFile](http://www.openzwave.com/log-analyzer) and then create a issue on [GitHub](https://github.com/OpenZWave/open-zwave/issues). Please include a link to the LogFile Scan results (check the "Public Results" button on the results page and copy the URL it links to).
Not uploading a Log file will often mean that we are unable to provide any further help without seeing what’s going on, so please ensure you do this.
## Supporting New Devices
If your device is not recognized by OZW, it should still work as long as its compliant with the Z-Wave specifications. Our Device database is mainly community contributions, so please consult [this page](https://github.com/OpenZWave/open-zwave/wiki/Adding-Devices) on how to add the Device to the manufacturer_specific.xml file and generate a Configuration file for it.
## Contributing to OZW
We are happy to accept Pull Requests via GitHub. A few things to follow when preparing a Pull Request.
1. If you have added or changed any of the configuration files (eg, adding a new device) please run "make xmltest" from the root directory to ensure your XML is well formed.
2. Please add a entry to the ChangeLog describing the change you made.
3. If you are changing some internal code paths in OZW, please discuss on the mailing list prior to starting your work. Z-Wave is complex and there are lots of corner cases as far as proper support of the various (non-standard) devices out there. While it might sometimes seem overcomplicated, it most likely is there for a reason.
4. Finally, if you have signed a NDA with Sigma Designs, we are unable to accept your changes. OZW is developed by reverse engineering and consulting publically available information. We have not signed a NDA with Sigma, and do not want users to infringe upon their agreement with Sigma either.
## Final Words
As mentioned above, Open-ZWave is developed by mainly reverse engineering the protocol as well as consulting various public information on the Internet. We have not used any of the Sigma SDK’s or documentation and thus often it will take us a while to support new features of Z-Wave.
We have had very preliminary discussions with both the Z-Wave Alliance and Sigma previously but we do not have any "official" endorsement from either of them (though that is a goal for the developers). We do believe that OZW has benefited the Z-Wave ecosystem though, and have received feedback that we are well known by various Z-Wave Vendors.
That being said, although our license (LGPL) permits commercial applications (provided your follow the rules) we strong recommend you consult a lawyer prior to implementing OZW support into your application.
Of course, for Open Source applications, as long as you abide by our License (LGPL) we would love to welcome you the OZW community!
And for those that are wondering, you cannot use OZW to create Z-Wave Nodes. This is not the goal of the library, and we believe that if we started implementing a software stack that allowed users to start creating Z-Wave Nodes, Sigma designs would not be so happy about our existence. Hence please avoid discussing this topic on our mailing list .
<?xml version="1.0" encoding="utf-8"?>
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- This thermostat's setpoint descriptions are 0 based, not 1 -->
<CommandClass id="67" base="0" />
</Product>
<?xml version="1.0" encoding="utf-8"?>
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- This thermostat's setpoint descriptions are 0 based, not 1 -->
<CommandClass id="67" base="0" />
</Product>
<?xml version="1.0" encoding="utf-8"?>
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- This thermostat's setpoint descriptions are 0 based, not 1 -->
<CommandClass id="67" base="0" />
</Product>
<?xml version="1.0" encoding="utf-8"?>
<!--http://benext.eu/static/manual/1poleswitch.pdf-->
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- Configuration -->
<CommandClass id="112">
<Value type="byte" genre="config" instance="1" index="1" label="Set to Default" value="-1">
<Help>Set all configuration values to default values (factory settings).</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="10" label="Mode" value="255">
<Help>The mode in which a different Z-Wave message is sent.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="11" label="Double press time" value="20">
<Help>The time that a user has to activate the double button pressed scene, if time is passed then the single pressed button scene is notified. (value * 10 ms)</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="12" label="Temperature offset" value="0" size="2">
<Help>A signed integer to determine the offset of the temperature.</Help>
</Value>
</CommandClass>
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="4">
<Group index="1" max_associations="8" label="Group 1" auto="false"/>
<Group index="2" max_associations="8" label="Group 2" auto="false"/>
<Group index="3" max_associations="8" label="Group 3" auto="false"/>
<Group index="4" max_associations="8" label="Group 4" auto="false"/>
</Associations>
</CommandClass>
</Product>
<?xml version="1.0" encoding="utf-8"?>
<!--http://benext.eu/static/manual/2poleswitch.pdf-->
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- Configuration -->
<CommandClass id="112">
<Value type="byte" genre="config" instance="1" index="1" label="Set to Default" value="-1">
<Help>Set all configuration values to default values (factory settings).</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="10" label="Mode" value="255">
<Help>The mode in which a different Z-Wave message is sent.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="11" label="Double press time" value="20">
<Help>The time that a user has to activate the double button pressed scene, if time is passed then the single pressed button scene is notified. (value * 10 ms)</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="12" label="Temperature offset" value="0" size="2">
<Help>A signed integer to determine the offset of the temperature.</Help>
</Value>
</CommandClass>
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="4">
<Group index="1" max_associations="8" label="Group 1" auto="false"/>
<Group index="2" max_associations="8" label="Group 2" auto="false"/>
<Group index="3" max_associations="8" label="Group 3" auto="false"/>
<Group index="4" max_associations="8" label="Group 4" auto="false"/>
</Associations>
</CommandClass>
</Product>
<?xml version="1.0" encoding="utf-8"?>
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- COMMAND_CLASS_ALARM AlarmCmd_Get not supported -->
<CommandClass id="113" getsupported="false" />
<!-- Configuration -->
<CommandClass id="112">
<Value type="byte" genre="config" instance="1" index="1" label="Set to Default" value="-1">
<Help>Set all configuration values to default values (factory settings)</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="2" label="Destination routine enabled" value="255">
<Help>Enables an internal routine that periodically checks the Z-Wave device in assocication group 2</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="3" label="Destination routine success time" value="60">
<Help>Configure the time that the AlarmSound sends a new frame when previous frame was send successful</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="4" label="Destination routine failed time" value="240">
<Help>Configure the time that the AlarmSound sends a few frame when previous frame was send not successful</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="5" label="Temperature calibration offset (byte 1)" value="0">
<Help>A (signed) offset to calibrate the onboard temperature sensor</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="6" label="Temperature calibration offset (byte 2)" value="0">
<Help>A (signed) offset to calibrate the onboard temperature sensor</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="7" label="Select index sound/light mode" value="1">
<Help>The index of the sound mode when a switch binary/basic set frame is received</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="8" label="Power offline sound/light mode" value="6">
<Help>The index of the sound mode when the AlarmSound will start when it is unplugged</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="9" label="Error sound/light mode" value="5">
<Help>The index of the sound mode when the AlarmSound will play when it is unable to reach the device in association group 2</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="10" label="Sound/Light index 1" value="-1">
<Help>Params 10 until 27 are the values to configure the sound and light thtat are played when index 1 is selected</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="28" label="Sound/Light index 2" value="-1">
<Help>Params 28 until 45 are the values to configure the sound and light thtat are played when index 2 is selected</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="46" label="Sound/Light index 3" value="-1">
<Help>Params 46 until 63 are the values to configure the sound and light thtat are played when index 3 is selected</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="64" label="Sound/Light index 4" value="-1">
<Help>Params 64 until 81 are the values to configure the sound and light thtat are played when index 4 is selected</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="82" label="Sound/Light index 5" value="-1">
<Help>Params 82 until 99 are the values to configure the sound and light thtat are played when index 5 is selected</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="100" label="Sound/Light index 6" value="-1">
<Help>Params 100 until 117 are the values to configure the sound and light thtat are played when index 6 is selected</Help>
</Value>
</CommandClass>
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="2">
<Group index="1" max_associations="1" label="Group 1" auto="false"/>
<Group index="2" max_associations="1" label="Group 2" auto="false"/>
</Associations>
</CommandClass>
</Product>
<?xml version="1.0" encoding="utf-8"?>
<!--http://benext.eu/static/manual/builtindimmer.pdf-->
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- Configuration -->
<CommandClass id="112">
<Value type="byte" genre="config" instance="1" index="1" label="Set to Default" value="-1">
<Help>Set all configuration values to default values (factory settings).</Help>
</Value>
<Value type="list" genre="config" instance="1" index="2" label="Button Type" value="0" size="1">
<Help>The way how the button reacts when press/released</Help>
<Item label="Toggle light when button is pressed, no action when button is released." value="0"/>
<Item label="Toggle light when button is released, Start dimming when button pressed." value="1"/>
<Item label="Toggle light when button is pressed and when button is Released, start dimming when quickly press and release button." value="2"/>
</Value>
<Value type="list" genre="config" instance="1" index="3" label="Control Type" value="0" size="1">
<Help>The way the Built-in Dimmer reacts when light is turned on/off with button</Help>
<Item label="Switch own light on and send a Z-Wave message to all associated nodes (direct and extern)" value="0"/>
<Item label="Don.t switch own light on but only send a Z-Wave message to associated node. (extern only)" value="1"/>
</Value>
<Value type="byte" genre="config" instance="1" index="4" label="Dimming enabled" value="1">
<Help>This parameter is used to enable the dimming option of the product. When disabled the dimming and fading routine are disabled.</Help>
<Item label="Dimming disabled." value="0"/>
<Item label="Dimming enabled." value="2"/>
</Value>
<Value type="byte" genre="config" instance="1" index="6" label="Maximum Powerload" value="200" size="2">
<Help>The maximum powerload in watts when light is turned on, when measured higher then this value the Inline Dimmer is automatically turned off.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="7" label="Dimming Speed" value="3">
<Help>The speed of dimming when activated (manual and RF). Dim speed is 1% per value (* 10 ms)</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="8" label="Fading up Speed" value="3">
<Help>The speed of fading up when activated (manual and RF). Fade speed is 1% per value (* 10 ms)</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="9" label="Toggle time" value="50">
<Help>The time window to repress button to start dimming. Toggle time is value (* 10ms)</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="11" label="Auto meter report: percentage" value="20">
<Help>A percentage that an energy value must be different compared to a previous sent value before an unsolicited meter report is sent. Minimum value = 10% Maximum value = 100%</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="12" label="Auto meter report: watt" value="10">
<Help>A watt value that an energy value must be different compared to a previous sent value before an unsolicited meter report is sent. Minimum value = 5 watt Maximum value = 255 watt</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="13" label="Auto meter report: time" value="20">
<Help>A time value that has to be passed compared to a previous sent value before a unsolicited meter report is sent. Minimum value = 10 seconds Maximum value = 255 seconds</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="14" label="Last known status" value="0">
<Help>What to do with lamp status when power applied. If 0x00: Always switch light off when power applied. If > 0x00: Switch lamp on/off depending on last known lampstatus before power was disconnected.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="15" label="Fading down speed" value="1">
<Help>The speed of fading up when activated (manual and RF). Fade speed is 1% per value (* 10 ms)</Help>
</Value>
</CommandClass>
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="3">
<Group index="1" max_associations="8" label="Group 1: All nodes in this group will receive a BASIC_SET frame when light is set to a certain state with the button of the Built-in Dimmer (manual switching)." auto="false"/>
<Group index="2" max_associations="1" label="Group 2: The node associated in this group will receive a SWITCH_MULTILEVEL_REPORT frame every time the level of light is changed, where the value represents the (changed) dim level. The status is reported after every change that means manual but also if changed by Z-Wave. The node in this group will also received the (auto) METER_REPORT." auto="true"/>
<Group index="3" max_associations="1" label="Group 3: If configured that the control mode is extern only (configuration param3, value 1) then a BASIC_SET frame is sent to the node in this group when the button is changed." auto="false"/>
</Associations>
</CommandClass>
</Product>
<?xml version="1.0" encoding="utf-8"?>
<!--http://www.benext.eu/static/manual/doorsensor.pdf-->
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- Configuration -->
<CommandClass id="112">
<Value type="byte" genre="config" instance="1" index="1" label="Set to Default" value="-1">
<Help>Set all configuration values to default values (factory settings).</Help>
</Value>
<Value type="list" genre="config" instance="1" index="2" label="External Contact" value="0" size="1">
<Help>Configure what the external contact sends when triggered. (Default: 0)</Help>
<Item label="Send a alarm report with type 2." value="0"/>
<Item label="Send a Basic set frame to all nodes in association group 2." value="1"/>
</Value>
<Value type="byte" genre="config" instance="1" index="3" label="Not used" value="0">
<Help>Is not used but can still be set and requested.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="4" label="Not used" value="0">
<Help>Is not used but can still be set and requested.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="5" label="The Mode" value="1">
<Help>To configure the operating mode. (Default: 1)</Help>
<Item label="Mode 1: Normal operating mode." value="1"/>
<Item label="Mode 3: Z-Wave chip is always on to request e.g. version or manufacturer id." value="3"/>
</Value>
<Value type="int" genre="config" instance="1" index="6" label="Temperature offset" value="0">
<Help>A signed integer to determine the offset of the temperature. (Default: 0)</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="7" label="Extern Contact Debounce ON" value="0">
<Help>Debounce time when the external contact is opened. (Default: 0)</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="8" label="Extern Contact Debounce OFF" value="0">
<Help>Debounce time when the external contact is opened. (Default 0)</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="9" label="Wake up delay" value="0">
<Help>A delay from the wake up time to give the external contact a chance to change his status. (Default 0, value * 100 ms, 0 - 25,5 seconds)</Help>
</Value>
</CommandClass>
<!-- the Device Doesn't support Get for Alarm Class -->
<CommandClass id="113" getsupported="false"/>
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="2">
<Group index="1" max_associations="5" label="Group 1: if the internal door contact (magnet) is triggered it sends a Z-Wave frame to every node in this group." />
<Group index="2" max_associations="5" label="Group 2: if the external door contact is triggered it sends a Z-Wave frame to every node in this group if it is configured (see configuration documentation param 2: external contact)." auto="false"/>
</Associations>
</CommandClass>
</Product>
<?xml version="1.0" encoding="utf-8"?>
<!--http://www.pepper1.net/zwavedb/device/269-->
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- Configuration -->
<CommandClass id="112">
<Value type="byte" genre="config" instance="1" index="1" label="Set to Default" value="-1">
<Help>Set all configuration values to default values (factory settings).</Help>
</Value>
<Value type="list" genre="config" instance="1" index="2" label="Startup with last known socket status" size="1" value="0">
<Help>The state in what the switch is when power is supplied.</Help>
<Item label="Off" value="0"/>
<Item label="Previous state" value="1"/>
</Value>
<Value type="byte" genre="config" instance="1" index="9" label="Relay delay time" value="50" units="ms">
<Help>When the relay is switched it can't be switched again until the configured time has passed.</Help>
</Value>
<Value type="list" genre="config" instance="1" index="10" label="Led indicator" size="1" value="1">
<Help>Show the led state compared to the relay state.</Help>
<Item label="Led off" value="0"/>
<Item label="Led on / Relay on" value="1"/>
<Item label="Led on / Relay off" value="2"/>
</Value>
</CommandClass>
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="1">
<Group index="1" max_associations="1" label="Group 1" auto="false"/>
</Associations>
</CommandClass>
</Product>
<?xml version="1.0" encoding="utf-8"?>
<!--http://www.benext.eu/static/manual/heatingcontrol.pdf-->
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- Configuration -->
<CommandClass id="112">
<Value type="byte" genre="config" instance="1" index="1" label="Set to Default" value="-1">
<Help>Set all configuration values to default values (factory settings).</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="2" label="Data request interval" value="20" size="1">
<Help>The interval that data is requested (and therefore updated) from the thermostat and boiler. Value in seconds. </Help>
</Value>
<Value type="byte" genre="config" instance="1" index="3" label="T room update difference" value="1" size="1">
<Help>The value that the room temperature must differ (compared to his previous send value) before an unsolicited room temperature report is send to the associated node. Value in 0.1 °C. </Help>
</Value>
<Value type="byte" genre="config" instance="1" index="4" label="T setpoint update difference" value="5" size="1">
<Help>The value that the temperature setpoint must differ (compared to his previous send value) before an unsolicited temperature setpoint report is send to the associated node. Value in 0.1 °C .</Help>
</Value>
<Value type="list" genre="config" instance="1" index="5" label="Unsolicited CRC" value="1">
<Help>TConfigure if the unsolicited reports are send with the CRC-16 encapsulation. Not that the receiving node should support this encapsulation to parse the Z-Wave frame!</Help>
<Item label="0x00 (disabled)" value="0"/>
<Item label="0x01 – 0xFF: enabled" value="1"/>
</Value>
<Value type="list" genre="config" instance="1" index="6" label="Type of 'special' thermostat" value="0">
<Help>Type of 'special' thermostat: NOTE: when remeha Celcia 20 support is set then any other thermostat can not be set (!) NOTE2: when Remeha Celcia 20 gives 'Fout 203' send cfg value again</Help>
<Item label="0x00: No special" value="0"/>
<Item label="0x01: Remeha Celcia 20" value="1"/>
<Item label="0x02: Honeywell (rounded temperatures)" value="2"/>
</Value>
<Value type="list" genre="config" instance="1" index="9" label="Enable/Disable thermostat schedule" value="0">
<Help>Enable/Disable thermostat schedule inside the heatingcontroller.</Help>
<Item label="0x00: Disable thermostat schedule" value="0"/>
<Item label="0x01 - OFF: Enable thermostat schedule" value="1"/>
</Value>
</CommandClass>
<!-- COMMAND_CLASS_FIRMWARE_UPDATE_MD_V2 firmware update not supported -->
<CommandClass id="122" getsupported="false" />
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="1">
<Group index="1" max_associations="5" label="Group 1" />
</Associations>
</CommandClass>
</Product>
<?xml version="1.0" encoding="utf-8"?>
<!--http://www.pepper1.net/zwavedb/device/265-->
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- Configuration -->
<CommandClass id="112">
<Value type="byte" genre="config" instance="1" index="1" label="Set to Default" value="-1">
<Help>Set all configuration values to default values (factory settings).</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="2" label="Mode timeout" size="2" value="1" units="seconds">
<Help> The time used in mode 2 to turn the sensor off. This Time will start running as soon as detection is seen.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="3" label="Switch off time" size="2" value="15" units="seconds">
<Help> The switch off time will start running as soon as mode timeout is done. Motion sensor is turned on and when movement is detected again the mode timeout (cfg param 1) will start running all over again. When switch off time is done a basic off message is sent to the associated node.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="4" label="Sensitivity" size="1" value="100">
<Help>Sensitivity value between 0 and 127 (values above 127 will be reported as the set value but will be handled in SW as 127).</Help>
</Value>
<Value type="list" genre="config" instance="1" index="5" label="The mode" size="1" value="2">
<Help>The mode that is entered after detection. If mode is 0 or higher then 3, that value will be reported after a get but will be handled in SW as mode 2.</Help>
<Item label="no detection possible. Battery save mode" value="1"/>
<Item label="normal operation mode: send on after detection and off after given time no detection" value="2"/>
<Item label="Z-Wave chip is always on to request e.g. version or manufacturer id" value="3"/>
</Value>
</CommandClass>
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="1">
<Group index="1" max_associations="5" label="Group 1" auto="false"/>
</Associations>
</CommandClass>
</Product>
<?xml version="1.0" encoding="utf-8"?>
<!--http://benext.eu/static/manual/plugindimmer.pdf-->
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- Configuration -->
<CommandClass id="112">
<Value type="byte" genre="config" instance="1" index="1" label="Set to Default" value="-1">
<Help>Set all configuration values to default values (factory settings).</Help>
</Value>
<Value type="list" genre="config" instance="1" index="3" label="Control Type" value="0" size="1">
<Help>The way the Built-in Dimmer reacts when light is turned on/off with button</Help>
<Item label="Switch own light on and send a Z-Wave message to all associated nodes (direct and extern)" value="0"/>
<Item label="Don.t switch own light on but only send a Z-Wave message to associated node. (extern only)" value="1"/>
</Value>
<Value type="byte" genre="config" instance="1" index="4" label="Dimming enabled" value="1">
<Help>This parameter is used to enable the dimming option of the product. When disabled the dimming and fading routine are disabled.</Help>
<Item label="Dimming disabled." value="0"/>
<Item label="Dimming enabled." value="2"/>
</Value>
<Value type="byte" genre="config" instance="1" index="6" label="Maximum Powerload" value="200" size="2">
<Help>The maximum powerload in watts when light is turned on, when measured higher then this value the Inline Dimmer is automatically turned off.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="7" label="Dimming Speed" value="3">
<Help>The speed of dimming when activated (manual and RF). Dim speed is 1% per value (* 10 ms)</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="8" label="Fading up Speed" value="3">
<Help>The speed of fading up when activated (manual and RF). Fade speed is 1% per value (* 10 ms)</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="11" label="Auto meter report: percentage" value="20">
<Help>A percentage that an energy value must be different compared to a previous sent value before an unsolicited meter report is sent. Minimum value = 10% Maximum value = 100%</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="12" label="Auto meter report: watt" value="10">
<Help>A watt value that an energy value must be different compared to a previous sent value before an unsolicited meter report is sent. Minimum value = 5 watt Maximum value = 255 watt</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="13" label="Auto meter report: time" value="20">
<Help>A time value that has to be passed compared to a previous sent value before a unsolicited meter report is sent. Minimum value = 10 seconds Maximum value = 255 seconds</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="14" label="Last known status" value="0">
<Help>What to do with lamp status when power applied. If 0x00: Always switch light off when power applied. If > 0x00: Switch lamp on/off depending on last known lampstatus before power was disconnected.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="15" label="Fading down speed" value="1">
<Help>The speed of fading up when activated (manual and RF). Fade speed is 1% per value (* 10 ms)</Help>
</Value>
</CommandClass>
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="3">
<Group index="1" max_associations="8" label="Group 1: All nodes in this group will receive a BASIC_SET frame when light is set to a certain state with the button of the Built-in Dimmer (manual switching)." auto="false"/>
<Group index="2" max_associations="1" label="Group 2: The node associated in this group will receive a SWITCH_MULTILEVEL_REPORT frame every time the level of light is changed, where the value represents the (changed) dim level. The status is reported after every change that means manual but also if changed by Z-Wave. The node in this group will also received the (auto) METER_REPORT." auto="true"/>
<Group index="3" max_associations="1" label="Group 3: If configured that the control mode is extern only (configuration param3, value 1) then a BASIC_SET frame is sent to the node in this group when the button is changed." auto="false"/>
</Associations>
</CommandClass>
</Product>
<?xml version="1.0" encoding="utf-8"?>
<!--http://benext.eu/static/manual/scenecontroller.pdf-->
<Product xmlns='http://code.google.com/p/open-zwave/'>
<CommandClass id="91" action="add" scenecount="16" />
<!-- Configuration -->
<CommandClass id="112">
<Value type="byte" genre="config" instance="1" index="1" label="Set to Default" value="-1">
<Help>Set all configuration values to default values (factory settings).</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="16" label="Double press time" value="20">
<Help>The time that a user has to activate the double button pressed scene, if time is passed then the single pressed button scene is notified.</Help>
</Value>
</CommandClass>
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="1">
<Group index="1" max_associations="8" label="Group 1: All CENTRAL_SCENE_NOTIFICATION messages are sent to the nodes in this group." />
</Associations>
</CommandClass>
</Product>
<?xml version="1.0" encoding="utf-8"?>
<!--http://www.pepper1.net/zwavedb/device/302-->
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- Configuration -->
<CommandClass id="112">
<Value type="byte" genre="config" instance="1" index="1" label="Set to Default" value="-1">
<Help>Set all configuration values to default values (factory settings).</Help>
</Value>
<Value type="list" genre="config" instance="1" index="2"
label="Feedback Time" value="0" size="1">
<Help>To configure the time the beep is automatically turned off in seconds.</Help>
<Item label="Disabled" value="0"/>
<Item label="Endless" value="-1"/>
</Value>
<Value type="byte" genre="config" instance="1" index="3" label="Feedback Timeout" value="0">
<Help>To configure the timeout to wait for a WAKEUP_NO_MORE_INFORMATION before the error beep is automatically sound. The error beeps are fixed 8 beeps shortly after each other.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="4" label="Feedback Beeps per Second" value="2">
<Help>To configure the number of beeps per second. Every beep is fixed about 10ms.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="5" label="The Mode" value="1">
<Help>To configure the operating mode. If any mode other then 3, that value will be reported after a get but will be handled in SW as mode 1.</Help>
<Item label="Mode 1: Normal operating mode." value="1"/>
<Item label="Mode 3: Z-Wave chip is always on to request e.g. version or manufacturer id." value="3"/>
</Value>
<Value type="byte" genre="config" instance="1" index="6" label="RFID circuit startup time" value="100">
<Help>The time (*10 ms) that the RFID circuit is started after home or away is pressed (default 100 = 100*10ms=1s)</Help>
</Value>
</CommandClass>
<!-- COMMAND_CLASS_ALARM AlarmCmd_Get not supported -->
<CommandClass id="113" getsupported="false" />
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="1">
<Group index="1" max_associations="5" label="Group 1" />
</Associations>
</CommandClass>
</Product>
<Product xmlns="http://code.google.com/p/open-zwave/">
<!-- Popp Battery Wall Switch Z-Wave+ -->
<!-- Configuration Parameters -->
<CommandClass id="112">