| 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.