Our goal is to create free software library that interfaces with selected Z-Wave PC controllers, allowing anyone to create applications that manipulate and respond to devices on a Z-Wave network, without requiring in-depth knowledge of the Z-Wave protocol or the purchase of expensive development kits.

This software is currently aimed at Application Developers who wish to incorporate Z-Wave functionality into their applications.

If you are a looking for applications to control your Z-Wave devices, please consult this page which lists applications that utilize OpenZWave.


  • Developed in C++
  • Dotnet wrapper for Windows
  • Portable to most Linux, Mac OSX and Windows Platforms
  • Works with the multiple ZWave Controllers
  • ZWave Protocol is abstracted away hiding a lot of the complexity
  • Works with most switches, dimmers, termostates, energy monitors, motion sensors, applicance modules,key fobs, door/window sensors etc (see here for a complete list)
  • Security related devices are work in progress
  • Reverse Engineered the ZWave Protocol
  • Easy to add support for new devices
  • Fully Documented Code Base
  • Includes simple examples to demostrate how to interface to the code


15th October,2014

Version 1.2 of OZW has just been released. This release has a little under 200 commits (around 9000 LOC) to the repository, and the major new features is the Security Command Class support so things like door locks are now supported.

We also fixed around 41 issues (mainly new devices).

Some other notable changes in this release compared to version 1.0:
  • With more "Frequent Listening" devices now on the market, we have refined the Wakeup Command Class handling a bit. As most FLiRS devices don't support wakeup CC, we don't add it by default to any "Sleeping" device if the FLiRS flag is present. This seems to work quite well.
  • Option.xml file can now live in both the system config directory (/usr/local/etc/openzwave/ or /etc/openzwave/ depending on where you installed it) as well as the current working directory. The system Config Option.xml is usefully to provide system wide Configuration, where as the local Options.xml is good for application specific options).
  • Updated the Header Build paths and include directories needed. It should compile fine with older 1.0 based applications, but newer applications can specify #include type includes now without having to specify the /usr/include/openzwave as a Include path.
  • New CommandClasses support: Security, DoorLock, DoorLockLogging, TimeParameters

  • The Full Changelog can be found here
    Thanks to everyone that contributed new devices, patches, ideas and criticisms :)

    2nd May, 2014

    Version 1.0 Released! After almost 5 years - We are proud to release version 1.0 of OZW. This indicates that we are happy with the API, and OZW covers almost all of the requested devices and command classes. Some Stats for your enjoyment:
  • 791 Commits
  • 53,000 lines of code
  • Well Commented - 18,000 Comment Lines!
  • Over the 3 years - 14 Developers Commited Code
  • Google Groups Membership with more than 900 users!

  • You can grab the version from our Downloads page