OpenZWave::CommandClass Class Referenceabstract

Base class for all Z-Wave command classes. More...

`#include <CommandClass.h>`

Inheritance diagram for OpenZWave::CommandClass:

## Classes

struct | RefreshValue

## Public Types

enum | { RequestFlag_Static = 0x00000001, RequestFlag_Session = 0x00000002, RequestFlag_Dynamic = 0x00000004, RequestFlag_AfterMark = 0x00000008 }
enum | StaticRequest { StaticRequest_Instances = 0x01, StaticRequest_Values = 0x02, StaticRequest_Version = 0x04 }
typedef struct OpenZWave::CommandClass::RefreshValue | RefreshValue

## Public Member Functions

| CommandClass (uint32 const _homeId, uint8 const _nodeId)
virtual | ~CommandClass ()
virtual void | ReadXML (TiXmlElement const *_ccElement)
virtual void | WriteXML (TiXmlElement *_ccElement)
virtual bool | RequestState (uint32 const _requestFlags, uint8 const _instance, Driver::MsgQueue const _queue)
virtual bool | RequestValue (uint32 const _requestFlags, uint8 const _index, uint8 const _instance, Driver::MsgQueue const _queue)
virtual uint8 const | GetCommandClassId () const =0
virtual string const | GetCommandClassName () const =0
virtual bool | HandleMsg (uint8 const *_data, uint32 const _length, uint32 const _instance=1)=0
virtual bool | SetValue (Value const &_value)
virtual void | SetValueBasic (uint8 const _instance, uint8 const _level)
virtual void | SetVersion (uint8 const _version)
bool | RequestStateForAllInstances (uint32 const _requestFlags, Driver::MsgQueue const _queue)
bool | CheckForRefreshValues (Value const *_value)
virtual uint8 | GetMaxVersion ()
uint8 | GetVersion () const
Bitfield const * | GetInstances () const
uint32 | GetHomeId () const
uint8 | GetNodeId () const
Driver * | GetDriver () const
Node * | GetNodeUnsafe () const
Value * | GetValue (uint8 const _instance, uint8 const _index)
bool | RemoveValue (uint8 const _instance, uint8 const _index)
uint8 | GetEndPoint (uint8 const _instance)
uint8 | GetInstance (uint8 const _endPoint)
void | SetInstances (uint8 const _instances)
void | SetInstance (uint8 const _endPoint)
void | SetAfterMark ()
void | SetEndPoint (uint8 const _instance, uint8 const _endpoint)
bool | IsAfterMark () const
bool | IsCreateVars () const
bool | IsGetSupported () const
bool | IsSecured () const
void | SetSecured ()
bool | IsSecureSupported () const
void | ClearSecureSupport ()
void | SetSecureSupport ()
void | SetInNIF ()
bool | IsInNIF ()
string | ExtractValue (uint8 const *_data, uint8 *_scale, uint8 *_precision, uint8 _valueOffset=1) const
void | AppendValue (Msg *_msg, string const &_value, uint8 const _scale) const
uint8 const | GetAppendValueSize (string const &_value) const
int32 | ValueToInteger (string const &_value, uint8 *o_precision, uint8 *o_size) const
void | UpdateMappedClass (uint8 const _instance, uint8 const _classId, uint8 const _value)
virtual void | CreateVars (uint8 const _instance, uint8 const _index)
bool | HasStaticRequest (uint8 _request) const
void | SetStaticRequest (uint8 _request)
void | ClearStaticRequest (uint8 _request)
uint32 | GetSentCnt () const
uint32 | GetReceivedCnt () const
void | SentCntIncr ()
void | ReceivedCntIncr ()

## Protected Member Functions

virtual void | CreateVars (uint8 const _instance)
void | ReadValueRefreshXML (TiXmlElement const *_ccElement)

## Detailed Description

Base class for all Z-Wave command classes.

## Member Typedef Documentation

## RefreshValue

typedef struct OpenZWave::CommandClass::RefreshValue OpenZWave::CommandClass::RefreshValue

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Enumerator
RequestFlag_Static | Values that never change.
RequestFlag_Session | Values that change infrequently, and so only need to be requested at start up, or via a manual refresh.
RequestFlag_Dynamic | Values that change and will be requested if polling is enabled on the node.
RequestFlag_AfterMark | Values relevent to Controlling CC, not Controlled CC.

## StaticRequest

enum OpenZWave::CommandClass::StaticRequest

Enumerator
StaticRequest_Instances |
StaticRequest_Values |
StaticRequest_Version |

## Constructor & Destructor Documentation

## CommandClass()

CommandClass::CommandClass | ( | uint32 const | _homeId,
|  | uint8 const | _nodeId
| ) |  |

## ~CommandClass()

CommandClass::~CommandClass | ( |  | ) |

virtual

## Member Function Documentation

## AppendValue()

void CommandClass::AppendValue | ( | Msg * | _msg,
|  | string const & | _value,
|  | uint8 const | _scale
| ) |  | const

Append a floating-point value to a message.

Parameters

  _msg | The message to which the value should be appended.
  _value | A string containing a decimal number to be appended.
  _scale | A byte indicating the scale corresponding to this value (e.g., 1=F and 0=C for temperatures).

See also
  Msg

## CheckForRefreshValues()

bool CommandClass::CheckForRefreshValues | ( | Value const * | _value | ) |

## ClearSecureSupport()

void OpenZWave::CommandClass::ClearSecureSupport | ( |  | ) |

inline

## ClearStaticRequest()

void CommandClass::ClearStaticRequest | ( | uint8 | _request | ) |

## CreateVars() [1/2]

virtual void OpenZWave::CommandClass::CreateVars | ( | uint8 const | _instance | ) |

inline protected virtual

Reimplemented in OpenZWave::Security, OpenZWave::Powerlevel, OpenZWave::WakeUp, OpenZWave::SwitchToggleMultilevel, OpenZWave::UserCode, OpenZWave::Basic, OpenZWave::Protection, OpenZWave::Alarm, OpenZWave::SwitchMultilevel, OpenZWave::AssociationCommandConfiguration, OpenZWave::Color, OpenZWave::ThermostatFanMode, OpenZWave::ThermostatMode, OpenZWave::ClimateControlSchedule, OpenZWave::DoorLock, OpenZWave::SwitchAll, OpenZWave::Version, OpenZWave::SensorBinary, OpenZWave::ThermostatFanState, OpenZWave::ThermostatOperatingState, OpenZWave::CentralScene, OpenZWave::Clock, OpenZWave::DoorLockLogging, OpenZWave::Meter, OpenZWave::SensorMultilevel, OpenZWave::SwitchBinary, OpenZWave::TimeParameters, OpenZWave::Indicator, OpenZWave::Lock, OpenZWave::SwitchToggleBinary, OpenZWave::Battery, OpenZWave::EnergyProduction, OpenZWave::Language, OpenZWave::MeterPulse, OpenZWave::BasicWindowCovering, OpenZWave::ControllerReplication, and OpenZWave::ZWavePlusInfo.

## CreateVars() [2/2]

virtual void OpenZWave::CommandClass::CreateVars | ( | uint8 const | _instance,
|  | uint8 const | _index
| ) |  |

inline virtual

Reimplemented in OpenZWave::ThermostatSetpoint.

## ExtractValue()

string CommandClass::ExtractValue | ( | uint8 const * | _data,
|  | uint8 * | _scale,
|  | uint8 * | _precision,
|  | uint8 | _valueOffset = `1`
| ) |  | const

## GetAppendValueSize()

uint8 const CommandClass::GetAppendValueSize | ( | string const & | _value | ) | const

## GetCommandClassId()

virtual uint8 const OpenZWave::CommandClass::GetCommandClassId | ( |  | ) | const

pure virtual

Implemented in OpenZWave::MultiInstance, OpenZWave::Security, OpenZWave::Powerlevel, OpenZWave::WakeUp, OpenZWave::SwitchToggleMultilevel, OpenZWave::UserCode, OpenZWave::Protection, OpenZWave::AssociationCommandConfiguration, OpenZWave::Basic, OpenZWave::ThermostatFanMode, OpenZWave::ThermostatMode, OpenZWave::ClimateControlSchedule, OpenZWave::Configuration, OpenZWave::MultiChannelAssociation, OpenZWave::ThermostatSetpoint, OpenZWave::Version, OpenZWave::Alarm, OpenZWave::Association, OpenZWave::Color, OpenZWave::SwitchAll, OpenZWave::ThermostatFanState, OpenZWave::ThermostatOperatingState, OpenZWave::DoorLock, OpenZWave::DoorLockLogging, OpenZWave::SensorAlarm, OpenZWave::SensorBinary, OpenZWave::SwitchMultilevel, OpenZWave::CentralScene, OpenZWave::Clock, OpenZWave::MultiCmd, OpenZWave::SceneActivation, OpenZWave::TimeParameters, OpenZWave::Battery, OpenZWave::EnergyProduction, OpenZWave::Indicator, OpenZWave::Language, OpenZWave::Lock, OpenZWave::Meter, OpenZWave::MeterPulse, OpenZWave::SensorMultilevel, OpenZWave::SwitchBinary, OpenZWave::SwitchToggleBinary, OpenZWave::ManufacturerSpecific, OpenZWave::BasicWindowCovering, OpenZWave::NodeNaming, OpenZWave::NoOperation, OpenZWave::ZWavePlusInfo, OpenZWave::ApplicationStatus, OpenZWave::ControllerReplication, OpenZWave::CRC16Encap, OpenZWave::DeviceResetLocally, OpenZWave::Hail, and OpenZWave::Proprietary.

## GetCommandClassName()

virtual string const OpenZWave::CommandClass::GetCommandClassName | ( |  | ) | const

pure virtual

Implemented in OpenZWave::MultiInstance, OpenZWave::Security, OpenZWave::Powerlevel, OpenZWave::WakeUp, OpenZWave::SwitchToggleMultilevel, OpenZWave::UserCode, OpenZWave::Protection, OpenZWave::AssociationCommandConfiguration, OpenZWave::Basic, OpenZWave::ThermostatFanMode, OpenZWave::ThermostatMode, OpenZWave::Alarm, OpenZWave::ClimateControlSchedule, OpenZWave::Configuration, OpenZWave::MultiChannelAssociation, OpenZWave::ThermostatSetpoint, OpenZWave::Version, OpenZWave::Association, OpenZWave::Color, OpenZWave::SwitchAll, OpenZWave::ThermostatFanState, OpenZWave::ThermostatOperatingState, OpenZWave::CentralScene, OpenZWave::DoorLock, OpenZWave::DoorLockLogging, OpenZWave::SceneActivation, OpenZWave::SensorAlarm, OpenZWave::SensorBinary, OpenZWave::SwitchMultilevel, OpenZWave::Clock, OpenZWave::MultiCmd, OpenZWave::TimeParameters, OpenZWave::Battery, OpenZWave::EnergyProduction, OpenZWave::Indicator, OpenZWave::Language, OpenZWave::Lock, OpenZWave::Meter, OpenZWave::MeterPulse, OpenZWave::SensorMultilevel, OpenZWave::SwitchBinary, OpenZWave::SwitchToggleBinary, OpenZWave::ManufacturerSpecific, OpenZWave::BasicWindowCovering, OpenZWave::NodeNaming, OpenZWave::NoOperation, OpenZWave::ZWavePlusInfo, OpenZWave::ApplicationStatus, OpenZWave::ControllerReplication, OpenZWave::CRC16Encap, OpenZWave::DeviceResetLocally, OpenZWave::Hail, and OpenZWave::Proprietary.

## GetDriver()

Driver * CommandClass::GetDriver | ( |  | ) | const

## GetEndPoint()

uint8 OpenZWave::CommandClass::GetEndPoint | ( | uint8 const | _instance | ) |

inline

## GetHomeId()

uint32 OpenZWave::CommandClass::GetHomeId | ( |  | ) | const

inline

## GetInstance()

uint8 OpenZWave::CommandClass::GetInstance | ( | uint8 const | _endPoint | ) |

inline

## GetInstances()

Bitfield const* OpenZWave::CommandClass::GetInstances | ( |  | ) | const

inline

## GetMaxVersion()

virtual uint8 OpenZWave::CommandClass::GetMaxVersion | ( |  | ) |

inline virtual

Reimplemented in OpenZWave::MultiInstance, OpenZWave::WakeUp, OpenZWave::Alarm, OpenZWave::SwitchMultilevel, OpenZWave::Color, OpenZWave::Meter, and OpenZWave::SensorMultilevel.

## GetNodeId()

uint8 OpenZWave::CommandClass::GetNodeId | ( |  | ) | const

inline

## GetNodeUnsafe()

Node * CommandClass::GetNodeUnsafe | ( |  | ) | const

## GetReceivedCnt()

uint32 OpenZWave::CommandClass::GetReceivedCnt | ( |  | ) | const

inline

## GetSentCnt()

uint32 OpenZWave::CommandClass::GetSentCnt | ( |  | ) | const

inline

## GetValue()

Value * CommandClass::GetValue | ( | uint8 const | _instance,
|  | uint8 const | _index
| ) |  |

## GetVersion()

uint8 OpenZWave::CommandClass::GetVersion | ( |  | ) | const

inline

## HandleMsg()

virtual bool OpenZWave::CommandClass::HandleMsg | ( | uint8 const * | _data,
|  | uint32 const | _length,
|  | uint32 const | _instance = `1`
| ) |  |

pure virtual

Implemented in OpenZWave::MultiInstance, OpenZWave::Security, OpenZWave::Powerlevel, OpenZWave::WakeUp, OpenZWave::SwitchToggleMultilevel, OpenZWave::UserCode, OpenZWave::Protection, OpenZWave::AssociationCommandConfiguration, OpenZWave::Alarm, OpenZWave::Basic, OpenZWave::ThermostatFanMode, OpenZWave::ThermostatMode, OpenZWave::ClimateControlSchedule, OpenZWave::Configuration, OpenZWave::MultiChannelAssociation, OpenZWave::ThermostatSetpoint, OpenZWave::Version, OpenZWave::Association, OpenZWave::CentralScene, OpenZWave::Color, OpenZWave::SceneActivation, OpenZWave::SwitchAll, OpenZWave::ThermostatFanState, OpenZWave::ThermostatOperatingState, OpenZWave::DoorLock, OpenZWave::DoorLockLogging, OpenZWave::SensorAlarm, OpenZWave::SensorBinary, OpenZWave::SwitchMultilevel, OpenZWave::Clock, OpenZWave::MultiCmd, OpenZWave::TimeParameters, OpenZWave::Battery, OpenZWave::EnergyProduction, OpenZWave::Indicator, OpenZWave::Language, OpenZWave::Lock, OpenZWave::Meter, OpenZWave::MeterPulse, OpenZWave::SensorMultilevel, OpenZWave::SwitchBinary, OpenZWave::SwitchToggleBinary, OpenZWave::ManufacturerSpecific, OpenZWave::BasicWindowCovering, OpenZWave::NodeNaming, OpenZWave::NoOperation, OpenZWave::ZWavePlusInfo, OpenZWave::ApplicationStatus, OpenZWave::ControllerReplication, OpenZWave::CRC16Encap, OpenZWave::DeviceResetLocally, OpenZWave::Hail, and OpenZWave::Proprietary.

## HasStaticRequest()

bool OpenZWave::CommandClass::HasStaticRequest | ( | uint8 | _request | ) | const

inline

## IsAfterMark()

bool OpenZWave::CommandClass::IsAfterMark | ( |  | ) | const

inline

## IsCreateVars()

bool OpenZWave::CommandClass::IsCreateVars | ( |  | ) | const

inline

## IsGetSupported()

bool OpenZWave::CommandClass::IsGetSupported | ( |  | ) | const

inline

## IsInNIF()

bool OpenZWave::CommandClass::IsInNIF | ( |  | ) |

inline

## IsSecured()

bool OpenZWave::CommandClass::IsSecured | ( |  | ) | const

inline

## IsSecureSupported()

bool OpenZWave::CommandClass::IsSecureSupported | ( |  | ) | const

inline

## ReadValueRefreshXML()

void CommandClass::ReadValueRefreshXML | ( | TiXmlElement const * | _ccElement | ) |

protected

## ReadXML()

void CommandClass::ReadXML | ( | TiXmlElement const * | _ccElement | ) |

virtual

Reimplemented in OpenZWave::Security, OpenZWave::MultiInstance, OpenZWave::CentralScene, OpenZWave::UserCode, OpenZWave::Basic, OpenZWave::ThermostatFanMode, OpenZWave::ThermostatMode, OpenZWave::ClimateControlSchedule, OpenZWave::MultiChannelAssociation, OpenZWave::ThermostatSetpoint, OpenZWave::Version, OpenZWave::Association, OpenZWave::Color, OpenZWave::DoorLock, OpenZWave::DoorLockLogging, and OpenZWave::SensorBinary.

## ReceivedCntIncr()

void OpenZWave::CommandClass::ReceivedCntIncr | ( |  | ) |

inline

## RemoveValue()

bool CommandClass::RemoveValue | ( | uint8 const | _instance,
|  | uint8 const | _index
| ) |  |

## RequestState()

virtual bool OpenZWave::CommandClass::RequestState | ( | uint32 const | _requestFlags,
|  | uint8 const | _instance,
|  | Driver::MsgQueue const | _queue
| ) |  |

inline virtual

Reimplemented in OpenZWave::Powerlevel, OpenZWave::CentralScene, OpenZWave::WakeUp, OpenZWave::SwitchToggleMultilevel, OpenZWave::UserCode, OpenZWave::Protection, OpenZWave::AssociationCommandConfiguration, OpenZWave::Basic, OpenZWave::ThermostatFanMode, OpenZWave::ThermostatMode, OpenZWave::ClimateControlSchedule, OpenZWave::MultiChannelAssociation, OpenZWave::ThermostatSetpoint, OpenZWave::Version, OpenZWave::Association, OpenZWave::SwitchAll, OpenZWave::ThermostatFanState, OpenZWave::ThermostatOperatingState, OpenZWave::Alarm, OpenZWave::Color, OpenZWave::DoorLock, OpenZWave::DoorLockLogging, OpenZWave::SensorAlarm, OpenZWave::SensorBinary, OpenZWave::SwitchMultilevel, OpenZWave::Clock, OpenZWave::TimeParameters, OpenZWave::Battery, OpenZWave::EnergyProduction, OpenZWave::Indicator, OpenZWave::Language, OpenZWave::Lock, OpenZWave::Meter, OpenZWave::MeterPulse, OpenZWave::SensorMultilevel, OpenZWave::SwitchBinary, OpenZWave::SwitchToggleBinary, OpenZWave::ManufacturerSpecific, OpenZWave::NodeNaming, and OpenZWave::ZWavePlusInfo.

## RequestStateForAllInstances()

bool CommandClass::RequestStateForAllInstances | ( | uint32 const | _requestFlags,
|  | Driver::MsgQueue const | _queue
| ) |  |

## RequestValue()

virtual bool OpenZWave::CommandClass::RequestValue | ( | uint32 const | _requestFlags,
|  | uint8 const | _index,
|  | uint8 const | _instance,
|  | Driver::MsgQueue const | _queue
| ) |  |

inline virtual

Reimplemented in OpenZWave::Powerlevel, OpenZWave::CentralScene, OpenZWave::WakeUp, OpenZWave::SwitchToggleMultilevel, OpenZWave::UserCode, OpenZWave::Protection, OpenZWave::AssociationCommandConfiguration, OpenZWave::Basic, OpenZWave::ThermostatFanMode, OpenZWave::ThermostatMode, OpenZWave::ClimateControlSchedule, OpenZWave::MultiChannelAssociation, OpenZWave::ThermostatSetpoint, OpenZWave::Version, OpenZWave::Association, OpenZWave::SwitchAll, OpenZWave::ThermostatFanState, OpenZWave::ThermostatOperatingState, OpenZWave::Alarm, OpenZWave::Color, OpenZWave::DoorLock, OpenZWave::DoorLockLogging, OpenZWave::SensorAlarm, OpenZWave::SensorBinary, OpenZWave::SwitchMultilevel, OpenZWave::Clock, OpenZWave::Configuration, OpenZWave::TimeParameters, OpenZWave::Battery, OpenZWave::EnergyProduction, OpenZWave::Indicator, OpenZWave::Language, OpenZWave::Lock, OpenZWave::Meter, OpenZWave::MeterPulse, OpenZWave::SensorMultilevel, OpenZWave::SwitchBinary, OpenZWave::SwitchToggleBinary, OpenZWave::ManufacturerSpecific, OpenZWave::NodeNaming, and OpenZWave::ZWavePlusInfo.

## SentCntIncr()

void OpenZWave::CommandClass::SentCntIncr | ( |  | ) |

inline

## SetAfterMark()

void OpenZWave::CommandClass::SetAfterMark | ( |  | ) |

inline

## SetEndPoint()

void OpenZWave::CommandClass::SetEndPoint | ( | uint8 const | _instance,
|  | uint8 const | _endpoint
| ) |  |

inline

## SetInNIF()

void OpenZWave::CommandClass::SetInNIF | ( |  | ) |

inline

## SetInstance()

void CommandClass::SetInstance | ( | uint8 const | _endPoint | ) |

## SetInstances()

void CommandClass::SetInstances | ( | uint8 const | _instances | ) |

## SetSecured()

void OpenZWave::CommandClass::SetSecured | ( |  | ) |

inline

## SetSecureSupport()

void OpenZWave::CommandClass::SetSecureSupport | ( |  | ) |

inline

## SetStaticRequest()

void OpenZWave::CommandClass::SetStaticRequest | ( | uint8 | _request | ) |

inline

## SetValue()

virtual bool OpenZWave::CommandClass::SetValue | ( | Value const & | _value | ) |

inline virtual

Reimplemented in OpenZWave::Powerlevel, OpenZWave::WakeUp, OpenZWave::SwitchToggleMultilevel, OpenZWave::UserCode, OpenZWave::Protection, OpenZWave::Basic, OpenZWave::ThermostatFanMode, OpenZWave::ThermostatMode, OpenZWave::ClimateControlSchedule, OpenZWave::Configuration, OpenZWave::ThermostatSetpoint, OpenZWave::Color, OpenZWave::SwitchAll, OpenZWave::DoorLock, OpenZWave::DoorLockLogging, OpenZWave::SwitchMultilevel, OpenZWave::Clock, OpenZWave::TimeParameters, OpenZWave::Indicator, OpenZWave::Lock, OpenZWave::Meter, OpenZWave::SwitchBinary, OpenZWave::SwitchToggleBinary, OpenZWave::BasicWindowCovering, and OpenZWave::ControllerReplication.

## SetValueBasic()

virtual void OpenZWave::CommandClass::SetValueBasic | ( | uint8 const | _instance,
|  | uint8 const | _level
| ) |  |

inline virtual

Reimplemented in OpenZWave::Color, OpenZWave::DoorLock, OpenZWave::SwitchMultilevel, OpenZWave::SensorBinary, and OpenZWave::SwitchBinary.

## SetVersion()

virtual void OpenZWave::CommandClass::SetVersion | ( | uint8 const | _version | ) |

inline virtual

Reimplemented in OpenZWave::WakeUp, and OpenZWave::SwitchMultilevel.

## UpdateMappedClass()

void CommandClass::UpdateMappedClass | ( | uint8 const | _instance,
|  | uint8 const | _classId,
|  | uint8 const | _value
| ) |  |

## ValueToInteger()

int32 CommandClass::ValueToInteger | ( | string const & | _value,
|  | uint8 * | o_precision,
|  | uint8 * | o_size
| ) |  | const

## WriteXML()

void CommandClass::WriteXML | ( | TiXmlElement * | _ccElement | ) |

virtual

Reimplemented in OpenZWave::Security, OpenZWave::MultiInstance, OpenZWave::CentralScene, OpenZWave::UserCode, OpenZWave::Basic, OpenZWave::ThermostatFanMode, OpenZWave::ThermostatMode, OpenZWave::ClimateControlSchedule, OpenZWave::MultiChannelAssociation, OpenZWave::ThermostatSetpoint, OpenZWave::Version, OpenZWave::Association, OpenZWave::Color, OpenZWave::DoorLock, OpenZWave::DoorLockLogging, and OpenZWave::SensorBinary.

The documentation for this class was generated from the following files:

- CommandClass.h
- CommandClass.cpp