ZWave implementation
From Pluto Wiki
ZWave (from Zensys) device support
Introduction
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 Pluto system is represented by an executable ZWave (it's placed in /usr/pluto/bin) which is the device implementation and a DeviceTemplate ( 1754 [1] ) which is used to create Pluto Devices for ZWave.
The source code is available in Pluto's SVN repository at src/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.
