Logo Introduction

Purpose

OpenZWave is a library which provides an API for applications to access and control a Z-Wave controller connected to the PC via a serial or HID connection.

Documentation

Although the project is still in too early a stage to produce user documentation, the source code for OpenZWave and OpenZWaveDotNet contains comments that can be converted into HTML documentation.

Instructions for how to generate this documentation, as well as other links to information that may be useful to developers using OpenZWave may be found here: OpenZWave Documents

Project Directory Structure

   
config XML files that provide device- and manufacturer-specific information, as well as the Z-Wave command class codes.
cpp The OpenZWave library project.
  cpp/build Makefiles and Visual Studio project/solution files for building the library under linux, Mac and Windows (VS2008 and VS2010).
  cpp/examples A minimal console application (MinOZW) that can be built under linux, Mac and Windows. It is a useful example of how to start up the library and can be used to generate a log file (OZWlog.txt) to diagnose startup or other problems with the library and/or Z-Wave devices.
  cpp/hidapi Files related to implementation of a "Human Interface Device" (HID) connection between the PC and the Z-Wave controller. While many controllers use a serial interface, others (the ThinkStick, for example) use HID via USB.
  cpp/lib Essentially empty.
  cpp/src The source code for the OpenZWave Library. The top-level code is in this directory; subdirectories contain files to implement the command classes, the value classes and platform-specific code (linux, Mac and Windows).
  cpp/tinyxml The TinyXML class code. TinyXML is used to read and write XML files for persistent storage.
documents Draft documentation for the library and example applications.
dotnet A .NET wrapper for the OpenZWave library.
  dotnet/build Project/Solution files for building OpenZWaveDotNet under VS2008 and VS2010.
  dotnet/examples Code for OZWForm, a .NET application that demonstrates use of OpenZWaveDotNet to connect to a controller, read information about nodes, process notifications, etc.
  dotnet/src The OpenZWaveDotNet wrapper code.
license License documents.