OpenZWave Namespace Reference

## Classes

class | Alarm
| Implements COMMAND_CLASS_ALARM (0x71), a Z-Wave device command class. More...
class | ApplicationStatus
| Implements COMMAND_CLASS_APPLICATION_STATUS (0x22), a Z-Wave device command class. More...
class | Association
| Implements COMMAND_CLASS_ASSOCIATION (0x85), a Z-Wave device command class. More...
class | AssociationCommandConfiguration
| Implements COMMAND_CLASS_ASSOCIATION_COMMAND_CONFIGURATION (0x9b), a Z-Wave device command class. More...
class | Basic
| Implements COMMAND_CLASS_BASIC (0x20), a Z-Wave device command class. More...
class | BasicWindowCovering
| Implements COMMAND_CLASS_BASIC_WINDOW_COVERING (0x50), a Z-Wave device command class. More...
class | Battery
| Implements COMMAND_CLASS_BATTERY (0x80), a Z-Wave device command class. More...
class | Bitfield
class | CentralScene
| Implements COMMAND_CLASS_CENTRAL_SCENE (0x5B), a Z-Wave device command class. More...
class | ClimateControlSchedule
| Implements COMMAND_CLASS_CLIMATE_CONTROL_SCHEDULE (0x46), a Z-Wave device command class. More...
class | Clock
| Implements COMMAND_CLASS_CLOCK (0x81), a Z-Wave device command class. More...
class | Color
| Implements COMMAND_CLASS_COLOR (0x33), a Z-Wave device command class. More...
class | CommandClass
| Base class for all Z-Wave command classes. More...
class | CommandClasses
| Manages a map of command classes supported by a specific Z-Wave node. More...
class | Configuration
| Implements COMMAND_CLASS_CONFIGURATION (0x70), a Z-Wave device command class. More...
class | Controller
class | ControllerReplication
| Implements COMMAND_CLASS_CONTROLLER_REPLICATION (0x21), a Z-Wave device command class. More...
class | CRC16Encap
| Implements COMMAND_CLASS_CRC_16_ENCAP (0x56), a Z-Wave device command class. More...
class | DeviceResetLocally
| Implements COMMAND_CLASS_DEVICE_RESET_LOCALLY (0x5a), a Z-Wave device command class. More...
class | DoorLock
| Implements COMMAND_CLASS_DOOR_LOCK (0x62), a Z-Wave device command class. More...
class | DoorLockLogging
| Implements COMMAND_CLASS_DOOR_LOCK_LOGGING (0x4C), a Z-Wave device command class. More...
class | Driver
| The Driver class handles communication between OpenZWave and a device attached via a serial port (typically a controller). More...
class | EnergyProduction
| Implements COMMAND_CLASS_ENERGY_PRODUCTION (0x90), a Z-Wave device command class. More...
class | Event
| Platform-independent definition of event objects. More...
class | EventImpl
| Windows-specific implementation of the Event class. More...
class | FileOps
| Implements platform-independent File Operations. More...
class | FileOpsImpl
class | Group
| Manages a group of devices (various nodes associated with each other). More...
class | Hail
| Implements COMMAND_CLASS_HAIL (0x82), a Z-Wave device command class. More...
class | HidController
class | i_LogImpl
class | Indicator
| Implements COMMAND_CLASS_INDICATOR (0x87), a Z-Wave device command class. More...
struct | InstanceAssociation
class | Language
| Implements COMMAND_CLASS_LANGUAGE (0x89), a Z-Wave device command class. More...
class | Lock
| Implements COMMAND_CLASS_LOCK (0x76), a Z-Wave device command class. More...
struct | LockGuard
class | Log
| Implements a platform-independent log...written to the console and, optionally, a file. More...
class | LogImpl
| Windows-specific implementation of the Log class. More...
class | Manager
| The main public interface to OpenZWave. More...
class | ManufacturerSpecific
| Implements COMMAND_CLASS_MANUFACTURER_SPECIFIC (0x72), a Z-Wave device command class. More...
class | Meter
| Implements COMMAND_CLASS_METER (0x32), a Z-Wave device command class. More...
class | MeterPulse
| Implements COMMAND_CLASS_METER_PULSE (0x35), a Z-Wave device command class. More...
class | Msg
| Message object to be passed to and from devices on the Z-Wave network. More...
class | MultiChannelAssociation
| Implements COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION (0x8E), a Z-Wave device command class. More...
class | MultiCmd
| Implements COMMAND_CLASS_MULTI_CMD (0x8f), a Z-Wave device command class. More...
class | MultiInstance
| Implements COMMAND_CLASS_MULTI_INSTANCE (0x60), a Z-Wave device command class. More...
class | Mutex
| Implements a platform-independent mutex–for serializing access to a shared resource. More...
class | MutexImpl
| Windows-specific implementation of the Mutex class. More...
class | Node
| The Node class describes a Z-Wave node object...typically a device on the Z-Wave network. More...
class | NodeNaming
| Implements COMMAND_CLASS_NODE_NAMING (0x77), a Z-Wave device command class. More...
class | NoOperation
| Implements COMMAND_CLASS_NO_OPERATION (0x00), a Z-Wave device command class. More...
class | Notification
| Provides a container for data sent via the notification callback handler installed by a call to Manager::AddWatcher. More...
class | Options
| Manages library options read from XML files or the command line. More...
class | OZWException
| Exception Handling Interface. More...
class | Powerlevel
| Implements COMMAND_CLASS_POWERLEVEL (0x73), a Z-Wave device command class. More...
class | Proprietary
| Implements COMMAND_CLASS_PROPRIETARY (0x88), a Z-Wave device command class. More...
class | Protection
| Implements COMMAND_CLASS_PROTECTION (0x75), a Z-Wave device command class. More...
class | Ref
class | Scene
| Collection of ValueIDs to be treated as a unit. More...
class | SceneActivation
| Implements COMMAND_CLASS_SCENEACTIVATION (0x2B), a Z-Wave device command class. More...
class | Security
class | SensorAlarm
| Implements COMMAND_CLASS_SENSOR_ALARM (0x9c), a Z-Wave device command class. More...
class | SensorBinary
| Implements COMMAND_CLASS_SENSOR_BINARY (0x30), a Z-Wave device command class. More...
class | SensorMultilevel
| Implements COMMAND_CLASS_SENSOR_MULTILEVEL (0x31), a Z-Wave device command class. More...
class | SerialController
class | SerialControllerImpl
class | Stream
| Platform-independent definition of a circular buffer. More...
class | SwitchAll
| Implements COMMAND_CLASS_SWITCH_ALL (0x27), a Z-Wave device command class. More...
class | SwitchBinary
| Implements COMMAND_CLASS_SWITCH_BINARY (0x25), a Z-Wave device command class. More...
class | SwitchMultilevel
| Implements COMMAND_CLASS_SWITCH_MULTILEVEL (0x26), a Z-Wave device command class. More...
class | SwitchToggleBinary
| Implements COMMAND_CLASS_SWITCH_TOGGLE_BINARY (0x28), a Z-Wave device command class. More...
class | SwitchToggleMultilevel
| Implements COMMAND_CLASS_SWITCH_TOGGLE_MULTILEVEL (0x29), a Z-Wave device command class. More...
class | ThermostatFanMode
| Implements COMMAND_CLASS_THERMOSTAT_FAN_MODE (0x44), a Z-Wave device command class. More...
class | ThermostatFanState
| Implements COMMAND_CLASS_THERMOSTAT_FAN_STATE (0x45), a Z-Wave device command class. More...
class | ThermostatMode
| Implements COMMAND_CLASS_THERMOSTAT_MODE (0x40), a Z-Wave device command class. More...
class | ThermostatOperatingState
| Implements COMMAND_CLASS_THERMOSTAT_OPERATING_STATE (0x42), a Z-Wave device command class. More...
class | ThermostatSetpoint
| Implements COMMAND_CLASS_THERMOSTAT_SETPOINT (0x43), a Z-Wave device command class. More...
class | Thread
| Implements a platform-independent thread management class. More...
class | ThreadImpl
| Windows-specific implementation of the Thread class. More...
class | TimeParameters
| Implements COMMAND_CLASS_TIME_PARAMETERS (0x8B), a Z-Wave device command class. More...
class | TimeStamp
| Implements a platform-independent TimeStamp. More...
class | TimeStampImpl
| Windows implementation of a timestamp. More...
class | UserCode
| Implements COMMAND_CLASS_USER_CODE (0x63), a Z-Wave device command class. More...
class | Value
| Base class for values associated with a node. More...
class | ValueBool
| Boolean value sent to/received from a node. More...
class | ValueButton
| Button value ???. More...
class | ValueByte
| Byte value sent to/received from a node. More...
class | ValueDecimal
| Decimal value sent to/received from a node. More...
class | ValueID
| Provides a unique ID for a value reported by a Z-Wave device. More...
class | ValueInt
| Integer value sent to/received from a node. More...
class | ValueList
| List of values sent to/received from a node. More...
class | ValueRaw
| A collection of bytes sent to/received from a node. More...
class | ValueSchedule
| Schedule sent to/received from a node. More...
class | ValueShort
| Short value sent to/received from a node. More...
class | ValueStore
| Container that holds all of the values associated with a given node. More...
class | ValueString
| String value sent to/received from a node. More...
class | Version
| Implements COMMAND_CLASS_VERSION (0x86), a Z-Wave device command class. More...
class | Wait
| Platform-independent definition of Wait objects. More...
class | WaitImpl
| Windows specific implementation of Wait objects. More...
class | WakeUp
| Implements COMMAND_CLASS_WAKE_UP (0x84), a Z-Wave device command class. More...
class | ZWavePlusInfo
| Implements COMMAND_CLASS_ZWAVEPLUS_INFO (0x5E), a Z-Wave device command class. More...

## Typedefs

typedef struct OpenZWave::InstanceAssociation | InstanceAssociation

## Enumerations

enum | SecurityCmd { SecurityCmd_SupportedGet = 0x02, SecurityCmd_SupportedReport = 0x03, SecurityCmd_SchemeGet = 0x04, SecurityCmd_SchemeReport = 0x05, SecurityCmd_NetworkKeySet = 0x06, SecurityCmd_NetworkKeyVerify = 0x07, SecurityCmd_SchemeInherit = 0x08, SecurityCmd_NonceGet = 0x40, SecurityCmd_NonceReport = 0x80, SecurityCmd_MessageEncap = 0x81, SecurityCmd_MessageEncapNonceGet = 0xc1 }
| Implements COMMAND_CLASS_SECURITY (0x98), a Z-Wave device command class. More...
enum | SecurityScheme { SecurityScheme_Zero = 0x00 }
enum | LogLevel { LogLevel_Invalid, LogLevel_None, LogLevel_Always, LogLevel_Fatal, LogLevel_Error, LogLevel_Warning, LogLevel_Alert, LogLevel_Info, LogLevel_Detail, LogLevel_Debug, LogLevel_StreamDetail, LogLevel_Internal }
enum | SecurityStrategy { SecurityStrategy_Essential = 0, SecurityStrategy_Supported }

## Functions

string | ToUpper (string const &_str)
string | ToLower (string const &_str)
void | split (std::vector< std::string > &lst, const std::string &input, const std::string &separators, bool remove_empty=true)
std::string & | trim (std::string &s)
void | PrintHex (std::string prefix, uint8_t const *data, uint32 const length)
string | PktToString (uint8 const *data, uint32 const length)
bool | GenerateAuthentication (uint8 const *_data, uint32 const _length, Driver *driver, uint8 const _sendingNode, uint8 const _receivingNode, uint8 *iv, uint8 *_authentication)
bool | EncyrptBuffer (uint8 *m_buffer, uint8 m_length, Driver *driver, uint8 const _sendingNode, uint8 const _receivingNode, uint8 const m_nonce[8], uint8 *e_buffer)
bool | createIVFromPacket_inbound (uint8 const *_data, uint8 const m_nonce[8], uint8 *iv)
bool | DecryptBuffer (uint8 *e_buffer, uint8 e_length, Driver *driver, uint8 const _sendingNode, uint8 const _receivingNode, uint8 const m_nonce[8], uint8 *m_buffer)
SecurityStrategy | ShouldSecureCommandClass (uint8 CommandClass)

## Variables

char const * | LogLevelString []

## Typedef Documentation

## InstanceAssociation

typedef struct OpenZWave::InstanceAssociation OpenZWave::InstanceAssociation

## Enumeration Type Documentation

## LogLevel

enum OpenZWave::LogLevel

Enumerator
LogLevel_Invalid | Invalid Log Status
LogLevel_None | Disable all logging
LogLevel_Always | These messages should always be shown
LogLevel_Fatal | A likely fatal issue in the library
LogLevel_Error | A serious issue with the library or the network
LogLevel_Warning | A minor issue from which the library should be able to recover
LogLevel_Alert | Something unexpected by the library about which the controlling application should be aware
LogLevel_Info | Everything is working fine...these messages provide streamlined feedback on each message
LogLevel_Detail | Detailed information on the progress of each message
LogLevel_Debug | Very detailed information on progress that will create a huge log file quickly But this level (as others) can be queued and sent to the log only on an error or warning
LogLevel_StreamDetail | Will include low-level byte transfers from controller to buffer to application and back
LogLevel_Internal | Used only within the log class (uses existing timestamp, etc.)

## SecurityCmd

enum OpenZWave::SecurityCmd

Implements COMMAND_CLASS_SECURITY (0x98), a Z-Wave device command class.

Enumerator
SecurityCmd_SupportedGet |
SecurityCmd_SupportedReport |
SecurityCmd_SchemeGet |
SecurityCmd_SchemeReport |
SecurityCmd_NetworkKeySet |
SecurityCmd_NetworkKeyVerify |
SecurityCmd_SchemeInherit |
SecurityCmd_NonceGet |
SecurityCmd_NonceReport |
SecurityCmd_MessageEncap |
SecurityCmd_MessageEncapNonceGet |

## SecurityScheme

enum OpenZWave::SecurityScheme

Enumerator
SecurityScheme_Zero |

## SecurityStrategy

enum OpenZWave::SecurityStrategy

Enumerator
SecurityStrategy_Essential |
SecurityStrategy_Supported |

## Function Documentation

## createIVFromPacket_inbound()

bool OpenZWave::createIVFromPacket_inbound | ( | uint8 const * | _data,
|  | uint8 const | m_nonce[8],
|  | uint8 * | iv
| ) |  |

## DecryptBuffer()

bool OpenZWave::DecryptBuffer | ( | uint8 * | e_buffer,
|  | uint8 | e_length,
|  | Driver * | driver,
|  | uint8 const | _sendingNode,
|  | uint8 const | _receivingNode,
|  | uint8 const | m_nonce[8],
|  | uint8 * | m_buffer
| ) |  |

## EncyrptBuffer()

bool OpenZWave::EncyrptBuffer | ( | uint8 * | m_buffer,
|  | uint8 | m_length,
|  | Driver * | driver,
|  | uint8 const | _sendingNode,
|  | uint8 const | _receivingNode,
|  | uint8 const | m_nonce[8],
|  | uint8 * | e_buffer
| ) |  |

## GenerateAuthentication()

bool OpenZWave::GenerateAuthentication | ( | uint8 const * | _data,
|  | uint32 const | _length,
|  | Driver * | driver,
|  | uint8 const | _sendingNode,
|  | uint8 const | _receivingNode,
|  | uint8 * | iv,
|  | uint8 * | _authentication
| ) |  |

## PktToString()

string OpenZWave::PktToString | ( | uint8 const * | data,
|  | uint32 const | length
| ) |  |

## PrintHex()

void OpenZWave::PrintHex | ( | std::string | prefix,
|  | uint8_t const * | data,
|  | uint32 const | length
| ) |  |

## ShouldSecureCommandClass()

SecurityStrategy OpenZWave::ShouldSecureCommandClass | ( | uint8 | CommandClass | ) |

## split()

void OpenZWave::split | ( | std::vector< std::string > & | lst,
|  | const std::string & | input,
|  | const std::string & | separators,
|  | bool | remove_empty = `true`
| ) |  |

Split a String into a Vector, separated by separators

Parameters

  lst | the vector to store the results in
  input | the input string to split
  separators | a string containing a list of valid separators
  remove_empty | if after splitting a string, the any of the results are a empty string, should we preserve them or not

## ToLower()

string OpenZWave::ToLower | ( | string const & | _str | ) |

Convert a string to all lower-case.

Parameters

  _str | the string to be converted.

Returns
  the lower-case string.

See also
  ToUpper, Trim

## ToUpper()

string OpenZWave::ToUpper | ( | string const & | _str | ) |

Convert a string to all upper-case.

Parameters

  _str | the string to be converted.

Returns
  the upper-case string.

See also
  ToLower, Trim

## trim()

std::string & OpenZWave::trim | ( | std::string & | s | ) |

Trim Whitespace from the start and end of a string.

Parameters

  s | the string to trim

Returns
  the trimmed string

## Variable Documentation

## LogLevelString

char const * OpenZWave::LogLevelString

Initial value:
=
{
"Invalid",
"None",
"Always",
"Fatal",
"Error",
"Warning",
"Alert",
"Info",
"Detail",
"Debug",
"StreamDetail",
"Internal"
}