Basic Zware API example


We are currently trying to build a gateway on top of Z-ware but finding little documentation and examples on how to achieve even basic functionality. Being very green in the field of Z-Wave in general I am sure I have some serious misconception that some example code would help resolve.

Currently I am able to authenticate, query and set gateway, list available nodes, perform basic inclusion and exclusion operations.

What would help tremendously is a simple sample/sudo code bases on the zware API that shows:

  • Sending a basic command preferable a multilevel switch (LEVEL_SET) operation
  • Doing a passive Poll to retrieve data from a node

Any help would be greatly appreciated :slight_smile:


The full API description you can find in the “Web Developers Guide” here:

There is a small Python implementation of some basic functionality in the PyWare client here:

Not much, but a starting point

Hope this gets you a bit further


Thanks for your time Iaus. I have been meaning to reply. It turns out I was calling the API incorrectly. I have manage to send multi level switch commands to the device successfully.
I will take a look at the python code and see if I can work out how to poll devices correctly.

Correct me if I am wrong but it looks like you need to call each device->enpoint->interface with a passive get separately to determine if something has changed? This would also require me to store the previous state of the device to determine if something has changed. This would require some serious polling to achieve am I missing something here?


Correct, as this is a web interface you need to perform polling to track changes. And it should be passive gets to avoid unnecessary traffic on the Z-Wave network