background preloader

ZWave

Facebook Twitter

Undocumented Z-Wave API. As you know, I've been playing with Z-Wave Home Automation ever since I bought a house.

Undocumented Z-Wave API

Before taking the plunge, I had researched Z-Wave in great detail. I found several SDKs and APIs that looked like I could integrate Z-Wave into a C# application fairly painlessly. I was disappointed to find that they're all broken, heavily COM- or C++-dependent, or in very early development, and generally aren't aimed at my specific purpose. So I decided to write my own. But first I needed a proof of concept. A bit of Googling showed me that my Vera Lite exposes a telnet server. I already knew that the system supported events, triggers, and the like; and I already knew that these could be configured to execute arbitrary code in a language (or over a protocol) that seems to be called LUUP. A bit more Googling brought me to a list of LUUP requests. The moral of the story is that now I have a reliable, predictable, programmatic way to interact with the Vera. Luup Requests. In addition to sending requests using standard UPnP, you can also do most things using a simple HTTP requests.

Luup Requests

Use the built-in URL data_request, and pass the following on the URL: id the id of the request (prior to 15 Oct 2010 all requests had an lu_ in front, which is now optional), output_format the format in which you want a response as json, xml or text. Not all requests support all output_format options. Here is the list of requests: user_data Example: This returns the configuration data for Vera, which is a list of all devices and the UPnP variables which are persisted between resets as well as rooms, names, and other data the user sets as part of the configuration. status This returns the current status for all devices including all the current UPnP variables and the status of any active jobs.

Examples: Or for a specific device: Zvirtualscenes - Free open-source home automation tool for Windows, Android, iOS, Blackberry and the Web. zVirtualScenes Free open-source home automation tool for Windows, Android, iOS, Blackberry and the Web.

zvirtualscenes - Free open-source home automation tool for Windows, Android, iOS, Blackberry and the Web

Z-Wave Home Automation Australia - Z-Wave RaZberry Card. The RaZberry is a tiny daughter card that site on top of the Raspberry PI GPIO connector not blocking the USB boards.

Z-Wave Home Automation Australia - Z-Wave RaZberry Card

It is powered by the Raspberry PI board with 3.3V and communicates using TTL TTY signals (RX/TX). BETI 4. Work on BETI continues to progress in features and in coolness as my Z-Wave network expands.

BETI 4

This one might actually see the light of day. I have moved the neighbor map lines to a new tab on the main window. It loses a little context, but there's a good reason for it: The maps are now opened in their own window, and the user can now define and open any number of them. I have my house divided into four maps: One for each floor, and a fourth ("outside") for the property itself. Yeah, I don't know what all that crap on the right side of the circle is. This display really brings out the "mesh" network, although admittedly it will have scalability issues when I start getting over 30-40 devices. Breaking out the maps into their own windows is necessary for multiple-monitor users like myself; after all, who doesn't have multiple 1080p screens? The tree is still here, of course, as well as one log tab per Z-Wave Network. As with BETI3, BETI4 keeps a record of its data in SQL.

Z-Wave. Z-wave usb stick. How to develop Z-Wave Devices. October 04, 2012 | Christian Pätz | 222908151 Page 1 of 11 1.

How to develop Z-Wave Devices

What is Z-Wave ? Z-Wave has become the new star on the horizon of smart home technology with now more than 700 interoperable devices in the market. It opens a great opportunity for newcomers to add smart and new ideas to this large ecosystem of interoperable products and leverages the existing installed base. This article describes the development process and the tools available to design and test Z-Wave compatible devices. Z-Wave OpenZWave - DomotiGa. Z-Wave is a wireless communications protocol designed for home automation, specifically to remotely control applications in residential and light commercial environments.

Z-Wave OpenZWave - DomotiGa

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. DomotiGa doesn't directly talk to the Z-Wave stick, but it uses wrapper. This OpenZWave wrapper is a library which 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.

Tested Hardware¶ The following is the list of Z-Wave known to work with DomotiGa and the openzwave library. Catching the Z-Wave. ZWave Serial Protocol. Open-zwave? - Premise Home Control. One way to look at it is that the extra $50 for a VRC0P gets you a free zWave driver.

Open-zwave? - Premise Home Control

Unless you feel compelled to write a new driver (always welcome), that's a pretty good deal. I'm no zWave expert but my understanding is that you'll need something other than the VRC0P to act as the primary controller. I believe the Z-Stick can serve this purpose. Buy both, use the VRC0P with the free driver today. While that is working nicely with your zWave lights, motion detectors, thermostats, and locks, take your time learning how to write a driver for the Z-Stick.

Native drivers require use of the HSDK which means you need to know how to code in C++ and have Visual Studio (not Express because the HSDK includes macros, to build classes, that do not work in Express). If you use MiniBroker (a COM object that exposes Premise's internals) you can code a driver using any language that supports COM objects. Alsenet Z-Wave wiki - Alsenet Z-Wave Wiki. An introduction to Z-Wave programming in C# » digiWave.dk.

Z-Wave is a protocol for wireless communication with home appliances e.g. lamps and sensors.

An introduction to Z-Wave programming in C# » digiWave.dk

Z-Wave can be used for switching on, switching off, monitoring etc. It is possible to learn more about Z-Wave by reading one of the previous articles (in Danish) on this site or at Z-Waves.dk. It is easy to get started with Z-Wave programming. One important note here is that the specifications aren’t publicly available. The example in this article can be used for switching a lamp on or off. ZWaveAPI - Home. Z-Wave-Me/z-way-mini-ui. Yepher/RaZBerry.

Open Source Building Automation. Home. Openzwave. This is a node.js add-on which wraps the Open Z-Wave library to provide access to a Z-Wave network from JavaScript.

openzwave

It is currently able to scan a Z-Wave network, report on connected devices, monitor the network for changes, and has rudimentary write support. Install $ npm install openzwave Start by loading the addon and creating a new instance, specifying a path to the USB device: var OZW = require('openzwave');var zwave = new OZW('/dev/ttyUSB0'); An optional object can be passed at creation time to alter the behavior of the ZWave module. The rest of the API is split into Functions and Events. Functions Connecting to the network: zwave.connect(); zwave.disconnect(); Modifying device state: zwave.setLevel(nodeid, level); zwave.switchOn(nodeid); zwave.switchOff(nodeid); zwave.setValue(nodeid, commandclass, index, value); Writing to device metadata (stored on the device itself): zwave.setLocation(nodeid, location); zwave.setName(nodeid, name); Reset the controller.

Events The supported events are: 2.0 How To - Z-Wave. This page describes Z-Wave support in OpenRemote. Z-Wave is a proprietary protocol for wireless sensor networks. Wireless sensors are often battery-powered devices that are particularly useful for retro-fitting automation to existing and difficult-to-wire buildings and spaces. Other alternative wireless sensors and sensor networks are EnOcean energy-harvesting sensors and Zigbee sensor networks. Introduction. Z-Wave For Developers/OEMs.

About the Z-Wave Technology Standard Z-Wave is a wireless communications technology that is ideal for short range, two-way mesh topology automation networks. The technology is licensed by Sigma Designs, Milpitas CA, and is comprised of a mesh communications protocol stack, a set of device profiles, a wide selection of transceiver chips and modules and a finished product certification program. Z-Wave’s physical and media access layers (PHY/MAC) have been ratified by the International Telecommunication Union (ITU) as the international standard (G.9959).

OpenZWave - Open-Source Cross-Platform Software for Z-Wave. Open-zwave - An open-source interface to Z-Wave networks. ZWave API - LinuxMCE. The ZWave API is not available for free. You have to get the Zensys SDK for command specifications and device class definitions. This page tries to collect all the freely available information about ZWave. The final goal is to provide a header file with all necessary definitions for basic operation with open source software. IMPORTANT: all information added to this page _must_ have a reference to the source where it came from. Frame specification Karl Denninger implemented basic ZWave support in his software "HomeDaemon". Basic Classes From the Leviton Z-Wave RS232 ASCII Interface Programming Guide (RZC0P-1LW, 10/9/2007): Controller 1 Static controller 2 Slave 3 Routing Slave 4 that leads us to some definitions: #define OZA_BASIC_CLASS_CONTROLLER 0x01 #define OZA_BASIC_CLASS_STATIC_CONTROLLER 0x02 #define OZA_BASIC_CLASS_SLAVE 0x03 #define OZA_BASIC_CLASS_ROUTING_SLAVE 0x04.