Controller Z-Ware SDK

Intelligence in the home and in the cloud.

Z-Ware is a Z-Wave controller middleware running over Z-Wave over IP (Z/IP) interface as a Web Gateway, allowing control of Z-Wave certified devices from multiple vendors. Z-Ware Apps (Z-Apps) are web pages built into the Z-Ware Web Server providing UI for phones and tablets/PCs. Z-Ware can be run in either Consumer Electronic(CE) on Texas Instrument’s BeagleBone Black (BBB) platform in the home or Portal mode on a Linux Virtual Machine (VM) in the Cloud.

New in Z-Ware

The new release brings a number of new features, these include:

  • The introduction of support for Z-Wave SmartStart. Z-Ware allows users to manipulate the provisioning list that automate the inclusion process. This makes including a SmartStart device as easy as scanning it with the Z-Ware iOS app and powering on the device.
  • Updates to Z-Ware Apps to include a new design language, with updated graphics and a native iOS application supporting QR scanning.
Z-Ware Portal v 1.20 and Local Binaries (built on Ubuntu 14.04 LTS)
Z-Ware Portal 32-bit Image
Z-Ware Portal 64-bit Image
Z-Ware Local 32-bit Image
Z-Ware Local 64-bit Image
Z-Ware Local BeagleBone
Z-Ware Source Code
Z-Ware Portal, C-Library and Application


Z-Ware C API

The Z-Ware C API abstracts the existing Z/IP (Z-wave for IP) API into controllable interfaces for easier development and certification of controller based applications which should retain little Z-Wave specific code. The API deals with Z-Wave through descriptors for networks, nodes, endpoints and interfaces. A Z-Wave Home Area Network (HAN) is uniquely identified by a Home ID encapsulated in a network descriptor.

Nodes are Z-Wave devices in this HAN uniquely identified by a Node ID encapsulated in a node descriptor. These nodes can be composite devices having multiple endpoints for e.g. a power strip with multiple separately controllable power points. Each power point may have multiple interfaces allowing control and/or monitoring, for e.g. a switch to set on and off; and perhaps a meter providing power consumption information.

The API views the network through a Z/IP router attached controller which itself is a node in the network

Typical Usage

Network initialization

The first thing a client needs to do is to acquire the Z/IP router IP address either by means of reading from configuration file or scanning the IP network using Z/IP Gateway Discovery protocol.


Network creation and tear down

Typically the user creates a network minimally with 2 devices, one of which is a controller, while the other can be any type of node. The user initiates the node for inclusion and uses the controller to add the device into its network and initiate.

Interface monitor/control

Once a node is added, the client traverses its structure to arrive at the interface that it wants to monitor or/and control.
As monitoring requires a callback, it is the client’s responsibility to set up the callback and implement a timeout in case the callback never happens.

Node identification

Nodes and endpoints contain information on their network and functional roles respectively i.e. whether they are controllers or slaves; and whether they are binary switches etc. This allows classification  of nodes by the client.


Devices can be grouped for device specific purposes e.g. a motion sensor could be made to turn on multiple lights and an alarm. Grouping is achieved by the group interface.

Sleeping nodes

The API does automatic command queuing for nodes that are capable of sleeping. In this case the node control/monitor functions return queued status.

Firmware update

In order to bring the gateway up to date with the latest features or bug fixes, there are firmware update APIs to facilitate the updating.

Polling facility

In order to help user application to poll the status of a device which does not support sending  of unsolicited report, there are polling APIs to help execute the polling that is conform to Z-wave recommendation.

Device specific configuration and information database

To address earlier version of Z-wave command classes which do not provide commands to retrieve supported device types or properties, a database is used to fill in the necessary information based on manufacturers’ published datasheets. In addition, a device can be configured using the settings in the database once the device is included/added to the Z-wave network.

Network and client preference storage

To facilitate storing and retrieving of network and client specific preferences or configurations, there are APIs available. Each network is restricted to one storage while there could be several client storages per network.

The Z-Ware C library is offered with an easy to understand C API for you as a developer to design an application utilizing.

Hardware for CE SDK

  • 3x UZB USB stick Bridge controller
  • 1x E HW contains EU protocol
  • 1x U HW contains US protocol
  • 1x H HW contains JP protocol
  • 1x TI BeagleBone Black

Z-Wave for Portal SDK

The SDK contains an evaluation server running on Ubuntu Linux that combines Z-Ware and Z-Ware Apps with standard technology, such as OpenLDAP and Apache Server, to form a starting point for portal solution developers. The Z-Ware Portal is designed to serve a Z/IP Gateway, such as the ZIPR or the Z/IP Gateway from the Z-Wave for CE SDK.

All the components of the server are offered as source code with a build environment for Ubuntu Linux.

Hardware for Portal SDK

  • 3x ZIPR-CE
  • 1x E HW contains EU protocol
  • 1x U HW contains US protocol
  • 1x H HW contains JP protoco
  • 1x Power supply for ZIPR

For RF test and debugging

  • 3x ZDB5101 E/U/
  • 1x UZB-S- USB stick network-sniffer
Contact Sales
Loading Results