Skip to content

ZWave Integration

Alvaro Fides edited this page Jul 1, 2015 · 2 revisions

Table of Contents

Description

ZWave is a home automation communication specification, similar to ZigBee although it was developed as a proprietary solution. The integration into universAAL is dependant on specific vendor devices, unlike the other, standard-based technology integrations.

Features

  • ZWave Exporter:
    • Connects to ZWave gateway hardware
    • Implements universAAL wrappers for ZWave Home Automation devices
    • Sends context events for incoming sensor events to the universAAL context bus.
    • Provides services on the universAAL service bus for querying devices.

Artifacts

The following Maven artifacts from the LDDI repository are all related to the ZWave Integration module.

Installation

For the ZWave integration you need to install and set up specific hardware. The computing device running universAAL must be able to access the ZWave gateway:

For the network of sensor and actuators, the following devices are supported (properly exported to universAAL). We include the link to the models we have successfully tested, by Everspring, although other ZWave vendors should be supported: In OSGi you will have to install the following bundles (you can find the xsocket one at Maven repository):
  • org.xsocket/xsocket/2.8.14 (Not a bundle, use wrap: prefix)
  • ...Middleware bundles...
  • org.universAAL.ontology/ont.phWorld/x.y.z
  • org.universAAL.ontology/ont.device/x.y.z
  • org.universAAL.ontology/ont.activityhub/x.y.z
  • org.universAAL.lddi/lddi.zwave.exporter/x.y.z
Alternatively, you can simply install all the above by installing the Karaf feature (uAAL-LDDI-ZWAVE) from the ZWave repository. Take into account that before starting these bundles you should configure the ZWave network as explained below.

Configuration

Once you have the devices installed, you'll need to configure you're Zwave network. The power consumption reading will be published by lddi.zwave.exporter right away (It publishes the current consumption of each Socket every minute) but the other devices have to be configured in the gateway.

In order to take profit of the Motion and Contact sensors, you'll have to do a few configurations in the Vera gateway.

  1. Access Vera web application (at the IP address assigned to the device)
  2. Go to Automation / New Scene
  3. Inside the New Scene, go to Triggers and add a new one
  4. Select the device you are creating the scene for and add the trigger for when it is triggered
  5. Add the following code as Luup Event, and then save the scene
 local socket = require("socket")
 local tcp = socket.tcp()
 local Msg = os.date("Contact XXX %c")
 tcp:settimeout(3)
 tcp:connect("192.168.238.41", 53007)
 tcp:send(Msg)
 tcp:close(socket)

The address should be replaced by your own, and XXX should be a name to recognize the device in the universAAL environment.

Repeat these steps for each Motion Sensor and Contact Sensor. Now the lddi.zwave.exporter will appropriately export these devices into universAAL buses.