OpenZWave Library  1.6.943
Classes | Public Types | Public Member Functions | Friends | List of all members
OpenZWave::Node Class Reference

The Node class describes a Z-Wave node object...typically a device on the Z-Wave network. More...

#include <Node.h>

Classes

struct  ChangeLogEntry
 
struct  CommandClassData
 
struct  NodeData
 

Public Types

enum  QueryStage {
  QueryStage_None, QueryStage_ProtocolInfo, QueryStage_Probe, QueryStage_WakeUp,
  QueryStage_ManufacturerSpecific1, QueryStage_NodeInfo, QueryStage_NodePlusInfo, QueryStage_SecurityReport,
  QueryStage_ManufacturerSpecific2, QueryStage_Versions, QueryStage_Instances, QueryStage_Static,
  QueryStage_CacheLoad, QueryStage_Probe1 = QueryStage_CacheLoad, QueryStage_Associations, QueryStage_Neighbors,
  QueryStage_Session, QueryStage_Dynamic, QueryStage_Configuration, QueryStage_Complete
}
 
enum  {
  SecurityFlag_Security = 0x01, SecurityFlag_Controller = 0x02, SecurityFlag_SpecificDevice = 0x04, SecurityFlag_RoutingSlave = 0x08,
  SecurityFlag_BeamCapability = 0x10, SecurityFlag_Sensor250ms = 0x20, SecurityFlag_Sensor1000ms = 0x40, SecurityFlag_OptionalFunctionality = 0x80
}
 
enum  { NodeBroadcast = 0xff }
 
enum  MetaDataFields {
  MetaData_OzwInfoPage_URL, MetaData_ZWProductPage_URL, MetaData_ProductPic, MetaData_Description,
  MetaData_ProductManual_URL, MetaData_ProductPage_URL, MetaData_InclusionHelp, MetaData_ExclusionHelp,
  MetaData_ResetHelp, MetaData_WakeupHelp, MetaData_ProductSupport_URL, MetaData_Frequency,
  MetaData_Name, MetaData_Identifier, MetaData_Invalid = 255
}
 

Public Member Functions

 Node (uint32 const _homeId, uint8 const _nodeId)
 
virtual ~Node ()
 
void AdvanceQueries ()
 
void QueryStageComplete (QueryStage const _stage)
 
void QueryStageRetry (QueryStage const _stage, uint8 const _maxAttempts=0)
 
void SetQueryStage (QueryStage const _stage, bool const _advance=true)
 
Node::QueryStage GetCurrentQueryStage ()
 
string GetQueryStageName (QueryStage const _stage)
 
bool IsNodeAlive () const
 
void UpdateProtocolInfo (uint8 const *_data)
 
void SetProtocolInfo (uint8 const *_protocolInfo, uint8 const _length)
 
void UpdateNodeInfo (uint8 const *_data, uint8 const _length)
 
bool ProtocolInfoReceived () const
 
bool NodeInfoReceived () const
 
bool IsNodeZWavePlus () const
 
bool AllQueriesCompleted () const
 
void SetNodePlusInfoReceived (const bool _received)
 
void SetNodeAlive (bool const _isAlive)
 
bool IsListeningDevice () const
 
bool IsFrequentListeningDevice () const
 
bool IsBeamingDevice () const
 
bool IsRoutingDevice () const
 
bool IsSecurityDevice () const
 
uint32 GetMaxBaudRate () const
 
uint8 GetVersion () const
 
uint8 GetSecurity () const
 
uint8 GetNodeId () const
 
uint8 GetBasic () const
 
uint8 GetGeneric () const
 
uint8 GetSpecific () const
 
string const & GetType () const
 
uint32 GetNeighbors (uint8 **o_neighbors)
 
bool IsController () const
 
bool IsAddingNode () const
 
void SetAddingNode ()
 
void ClearAddingNode ()
 
bool IsNodeReset ()
 
Internal::CC::CommandClassGetCommandClass (uint8 const _commandClassId) const
 
void ApplicationCommandHandler (uint8 const *_data, bool encrypted)
 
void SetSecuredClasses (uint8 const *_data, uint8 const _length, uint32 const _instance=1)
 
void SetSecured (bool secure)
 
bool IsSecured ()
 
void SetInstanceLabel (uint8 const _instance, char *label)
 
string GetInstanceLabel (uint8 const _ccid, uint8 const _instance)
 
uint8 GetNumInstances (uint8 const _ccid)
 
void SetProductDetails (std::shared_ptr< Internal::ProductDescriptor > product)
 
string getConfigPath ()
 
uint32 getFileConfigRevision ()
 
uint32 getLoadedConfigRevision ()
 
uint32 getLatestConfigRevision ()
 
void setFileConfigRevision (uint32 rev)
 
void setLoadedConfigRevision (uint32 rev)
 
void setLatestConfigRevision (uint32 rev)
 
void checkLatestConfigRevision ()
 
void SetLevel (uint8 const _level)
 
void SetNodeOn ()
 
void SetNodeOff ()
 
ValueID CreateValueID (ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex, ValueID::ValueType const _type)
 
Internal::VC::ValueGetValue (ValueID const &_id)
 
Internal::VC::ValueGetValue (uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex)
 
bool RemoveValue (uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex)
 
bool CreateValueBitSet (ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, int32 const _default, uint8 const _pollIntensity)
 
bool CreateValueBool (ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, bool const _default, uint8 const _pollIntensity)
 
bool CreateValueButton (ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex, string const &_label, uint8 const _pollIntensity)
 
bool CreateValueByte (ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, uint8 const _default, uint8 const _pollIntensity)
 
bool CreateValueDecimal (ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, string const &_default, uint8 const _pollIntensity)
 
bool CreateValueInt (ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, int32 const _default, uint8 const _pollIntensity)
 
bool CreateValueList (ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, uint8 const _size, vector< Internal::VC::ValueList::Item > const &_items, int32 const _default, uint8 const _pollIntensity)
 
bool CreateValueRaw (ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, uint8 const *_default, uint8 const _length, uint8 const _pollIntensity)
 
bool CreateValueSchedule (ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, uint8 const _pollIntensity)
 
bool CreateValueShort (ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, int16 const _default, uint8 const _pollIntensity)
 
bool CreateValueString (ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint16 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, string const &_default, uint8 const _pollIntensity)
 
void RemoveValueList (Internal::VC::ValueList *_value)
 
void ReadValueFromXML (uint8 const _commandClassId, TiXmlElement const *_valueElement)
 
bool CreateValueFromXML (uint8 const _commandClassId, TiXmlElement const *_valueElement)
 
void RefreshValuesOnWakeup ()
 
uint8GenerateNonceKey ()
 
uint8GetNonceKey (uint32 nonceid)
 
string const GetMetaData (MetaDataFields)
 
MetaDataFields GetMetaDataId (string)
 
string const GetMetaDataString (MetaDataFields)
 
ChangeLogEntry const GetChangeLog (uint32_t)
 

Friends

class Manager
 
class Driver
 
class Group
 
class Internal::VC::Value
 
class ValueButton
 
class Internal::CC::Association
 
class Internal::CC::AssociationCommandConfiguration
 
class Internal::CC::CommandClass
 
class Internal::CC::ControllerReplication
 
class Internal::CC::Hail
 
class Internal::CC::ManufacturerSpecific
 
class Internal::CC::MultiInstance
 
class Internal::CC::MultiChannelAssociation
 
class Internal::CC::NodeNaming
 
class Internal::CC::Version
 
class Internal::CC::ZWavePlusInfo
 
class Internal::ManufacturerSpecificDB
 

Detailed Description

The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NodeBroadcast 

◆ anonymous enum

anonymous enum
Enumerator
SecurityFlag_Security 
SecurityFlag_Controller 
SecurityFlag_SpecificDevice 
SecurityFlag_RoutingSlave 
SecurityFlag_BeamCapability 
SecurityFlag_Sensor250ms 
SecurityFlag_Sensor1000ms 
SecurityFlag_OptionalFunctionality 

◆ MetaDataFields

MetaData Fields. Available Fields that contain metadata about a device.

See also
Manager::AddWatcher
Manager::BeginControllerCommand
Enumerator
MetaData_OzwInfoPage_URL 
MetaData_ZWProductPage_URL 
MetaData_ProductPic 
MetaData_Description 
MetaData_ProductManual_URL 
MetaData_ProductPage_URL 
MetaData_InclusionHelp 
MetaData_ExclusionHelp 
MetaData_ResetHelp 
MetaData_WakeupHelp 
MetaData_ProductSupport_URL 
MetaData_Frequency 
MetaData_Name 
MetaData_Identifier 
MetaData_Invalid 

◆ QueryStage

Enumerator
QueryStage_None 

Query process hasn't started for this node

QueryStage_ProtocolInfo 

Retrieve protocol information

QueryStage_Probe 

Ping device to see if alive

QueryStage_WakeUp 

Start wake up process if a sleeping node

QueryStage_ManufacturerSpecific1 

Retrieve manufacturer name and product ids if ProtocolInfo lets us

QueryStage_NodeInfo 

Retrieve info about supported, controlled command classes

QueryStage_NodePlusInfo 

Retrieve ZWave+ info and update device classes

QueryStage_SecurityReport 

Retrieve a list of Command Classes that require Security

QueryStage_ManufacturerSpecific2 

Retrieve manufacturer name and product ids

QueryStage_Versions 

Retrieve version information

QueryStage_Instances 

Retrieve information about multiple command class instances

QueryStage_Static 

Retrieve static information (doesn't change)

QueryStage_CacheLoad 

Ping a device upon restarting with cached config for the device

QueryStage_Probe1 
QueryStage_Associations 

< Depreciated name. /todo Remove in 2.0 timeframe Retrieve information about associations

QueryStage_Neighbors 

Retrieve node neighbor list

QueryStage_Session 

Retrieve session information (changes infrequently)

QueryStage_Dynamic 

Retrieve dynamic information (changes frequently)

QueryStage_Configuration 

Retrieve configurable parameter information (only done on request)

QueryStage_Complete 

Query process is completed for this node

Constructor & Destructor Documentation

◆ Node()

Node::Node ( uint32 const  _homeId,
uint8 const  _nodeId 
)

Constructor initializes the node object, associating it with a specific network (_homeId) and network node (_nodeId).

Parameters
_homeIdThe homeId of the network to which this node is connected.
_nodeIdThe nodeId of this node.

◆ ~Node()

Node::~Node ( )
virtual

Destructor cleans up memory allocated to node and its child objects.

Member Function Documentation

◆ AdvanceQueries()

void Node::AdvanceQueries ( )

This function advances the query process (see Remarks below for more detail on the process). It iterates through the various query stages enumerated in Node::QueryStage.

Remarks
For OpenZWave to discover everything about a node, we have to follow a certain order of queries, because the results of one stage may affect what is requested in the next stage. The stage is saved with the node data, so that any incomplete queries can be restarted the next time the application runs.

The individual command classes also store some state information as to whether they have had a response to certain queries. This state information is initialized by the SetStaticRequests call in QueryStage_None. It is also saved, so we do not need to request state from every command class if some have previously responded.

◆ AllQueriesCompleted()

bool OpenZWave::Node::AllQueriesCompleted ( ) const
inline

◆ ApplicationCommandHandler()

void Node::ApplicationCommandHandler ( uint8 const *  _data,
bool  encrypted 
)

◆ checkLatestConfigRevision()

void Node::checkLatestConfigRevision ( )

Check the latest available revision number for this device.

◆ ClearAddingNode()

void OpenZWave::Node::ClearAddingNode ( )
inline

◆ CreateValueBitSet()

bool Node::CreateValueBitSet ( ValueID::ValueGenre const  _genre,
uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex,
string const &  _label,
string const &  _units,
bool const  _readOnly,
bool const  _writeOnly,
int32 const  _default,
uint8 const  _pollIntensity 
)

◆ CreateValueBool()

bool Node::CreateValueBool ( ValueID::ValueGenre const  _genre,
uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex,
string const &  _label,
string const &  _units,
bool const  _readOnly,
bool const  _writeOnly,
bool const  _default,
uint8 const  _pollIntensity 
)

◆ CreateValueButton()

bool Node::CreateValueButton ( ValueID::ValueGenre const  _genre,
uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex,
string const &  _label,
uint8 const  _pollIntensity 
)

◆ CreateValueByte()

bool Node::CreateValueByte ( ValueID::ValueGenre const  _genre,
uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex,
string const &  _label,
string const &  _units,
bool const  _readOnly,
bool const  _writeOnly,
uint8 const  _default,
uint8 const  _pollIntensity 
)

◆ CreateValueDecimal()

bool Node::CreateValueDecimal ( ValueID::ValueGenre const  _genre,
uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex,
string const &  _label,
string const &  _units,
bool const  _readOnly,
bool const  _writeOnly,
string const &  _default,
uint8 const  _pollIntensity 
)

◆ CreateValueFromXML()

bool Node::CreateValueFromXML ( uint8 const  _commandClassId,
TiXmlElement const *  _valueElement 
)

◆ CreateValueID()

ValueID Node::CreateValueID ( ValueID::ValueGenre const  _genre,
uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex,
ValueID::ValueType const  _type 
)

◆ CreateValueInt()

bool Node::CreateValueInt ( ValueID::ValueGenre const  _genre,
uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex,
string const &  _label,
string const &  _units,
bool const  _readOnly,
bool const  _writeOnly,
int32 const  _default,
uint8 const  _pollIntensity 
)

◆ CreateValueList()

bool Node::CreateValueList ( ValueID::ValueGenre const  _genre,
uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex,
string const &  _label,
string const &  _units,
bool const  _readOnly,
bool const  _writeOnly,
uint8 const  _size,
vector< Internal::VC::ValueList::Item > const &  _items,
int32 const  _default,
uint8 const  _pollIntensity 
)

◆ CreateValueRaw()

bool Node::CreateValueRaw ( ValueID::ValueGenre const  _genre,
uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex,
string const &  _label,
string const &  _units,
bool const  _readOnly,
bool const  _writeOnly,
uint8 const *  _default,
uint8 const  _length,
uint8 const  _pollIntensity 
)

◆ CreateValueSchedule()

bool Node::CreateValueSchedule ( ValueID::ValueGenre const  _genre,
uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex,
string const &  _label,
string const &  _units,
bool const  _readOnly,
bool const  _writeOnly,
uint8 const  _pollIntensity 
)

◆ CreateValueShort()

bool Node::CreateValueShort ( ValueID::ValueGenre const  _genre,
uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex,
string const &  _label,
string const &  _units,
bool const  _readOnly,
bool const  _writeOnly,
int16 const  _default,
uint8 const  _pollIntensity 
)

◆ CreateValueString()

bool Node::CreateValueString ( ValueID::ValueGenre const  _genre,
uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex,
string const &  _label,
string const &  _units,
bool const  _readOnly,
bool const  _writeOnly,
string const &  _default,
uint8 const  _pollIntensity 
)

◆ GenerateNonceKey()

uint8 * Node::GenerateNonceKey ( )

◆ GetBasic()

uint8 OpenZWave::Node::GetBasic ( ) const
inline

◆ GetChangeLog()

Node::ChangeLogEntry const Node::GetChangeLog ( uint32_t  revision)

◆ GetCommandClass()

Internal::CC::CommandClass * Node::GetCommandClass ( uint8 const  _commandClassId) const

This function retrieves a pointer to the requested command class object (if supported by this node).

Parameters
_commandClassIdClass ID (a single byte value) identifying the command class requested.
Returns
Pointer to the requested CommandClass object if supported, otherwise NULL.
See also
Z-Wave CommandClass Support, m_commandClassMap

◆ getConfigPath()

string Node::getConfigPath ( )

Get a path to the config file for this device

Returns
a path relative to the config directory for the config file. returns a empty string if a config file is not present.

◆ GetCurrentQueryStage()

Node::QueryStage OpenZWave::Node::GetCurrentQueryStage ( )
inline

Returns the current query stage enum.

Returns
Enum value with the current query stage.
See also
m_queryStage

◆ getFileConfigRevision()

uint32 OpenZWave::Node::getFileConfigRevision ( )
inline

Get the latest local revision of the config file for this node

Returns
a revision number

◆ GetGeneric()

uint8 OpenZWave::Node::GetGeneric ( ) const
inline

◆ GetInstanceLabel()

string Node::GetInstanceLabel ( uint8 const  _ccid,
uint8 const  _instance 
)

This function gets a Instance Label for a ValueID. It either users the Global Instance Label above, or a Label for a Specific CC

◆ getLatestConfigRevision()

uint32 OpenZWave::Node::getLatestConfigRevision ( )
inline

Get the Latest Config File revision available at openzwave.com

Returns
The latest revision number available

◆ getLoadedConfigRevision()

uint32 OpenZWave::Node::getLoadedConfigRevision ( )
inline

Get the Revision number of the config that is laoded for this Node

Returns
the revision number currently loaded.

◆ GetMaxBaudRate()

uint32 OpenZWave::Node::GetMaxBaudRate ( ) const
inline

◆ GetMetaData()

string const Node::GetMetaData ( MetaDataFields  field)

◆ GetMetaDataId()

Node::MetaDataFields Node::GetMetaDataId ( string  name)

◆ GetMetaDataString()

string const Node::GetMetaDataString ( Node::MetaDataFields  id)

◆ GetNeighbors()

uint32 Node::GetNeighbors ( uint8 **  o_neighbors)

◆ GetNodeId()

uint8 OpenZWave::Node::GetNodeId ( ) const
inline

◆ GetNonceKey()

uint8 * Node::GetNonceKey ( uint32  nonceid)

◆ GetNumInstances()

uint8 Node::GetNumInstances ( uint8 const  _ccid)

Get The Number of Instances on this node

◆ GetQueryStageName()

string Node::GetQueryStageName ( QueryStage const  _stage)

Returns the specified query stage string.

Parameters
_stageThe query stage.
Returns
Specified query stage string.
See also
m_queryStage, m_queryPending

◆ GetSecurity()

uint8 OpenZWave::Node::GetSecurity ( ) const
inline

◆ GetSpecific()

uint8 OpenZWave::Node::GetSpecific ( ) const
inline

◆ GetType()

string const& OpenZWave::Node::GetType ( ) const
inline

◆ GetValue() [1/2]

Internal::VC::Value * Node::GetValue ( ValueID const &  _id)

◆ GetValue() [2/2]

Internal::VC::Value * Node::GetValue ( uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex 
)

◆ GetVersion()

uint8 OpenZWave::Node::GetVersion ( ) const
inline

◆ IsAddingNode()

bool OpenZWave::Node::IsAddingNode ( ) const
inline

◆ IsBeamingDevice()

bool OpenZWave::Node::IsBeamingDevice ( ) const
inline

◆ IsController()

bool OpenZWave::Node::IsController ( ) const
inline

◆ IsFrequentListeningDevice()

bool OpenZWave::Node::IsFrequentListeningDevice ( ) const
inline

◆ IsListeningDevice()

bool OpenZWave::Node::IsListeningDevice ( ) const
inline

◆ IsNodeAlive()

bool OpenZWave::Node::IsNodeAlive ( ) const
inline

Returns whether the library thinks a node is functioning properly

Returns
boolean status of node.

◆ IsNodeReset()

bool Node::IsNodeReset ( )

◆ IsNodeZWavePlus()

bool OpenZWave::Node::IsNodeZWavePlus ( ) const
inline

◆ IsRoutingDevice()

bool OpenZWave::Node::IsRoutingDevice ( ) const
inline

◆ IsSecured()

bool Node::IsSecured ( )

◆ IsSecurityDevice()

bool OpenZWave::Node::IsSecurityDevice ( ) const
inline

◆ NodeInfoReceived()

bool OpenZWave::Node::NodeInfoReceived ( ) const
inline

◆ ProtocolInfoReceived()

bool OpenZWave::Node::ProtocolInfoReceived ( ) const
inline

◆ QueryStageComplete()

void Node::QueryStageComplete ( QueryStage const  _stage)

Signal that a specific query stage has been completed for this node. This will only work if the query process for this node is indeed at the specified stage. Otherwise, the function returns with no action.

Parameters
_stageThe current stage of the query process.

◆ QueryStageRetry()

void Node::QueryStageRetry ( QueryStage const  _stage,
uint8 const  _maxAttempts = 0 
)

Retry the specified query stage (up to _maxAttempts retries). This will only work if the query process for this node is indeed at the specified stage. Otherwise, the function returns with no action.

Parameters
_stageThe query stage to retry.
_maxAttempts

◆ ReadValueFromXML()

void Node::ReadValueFromXML ( uint8 const  _commandClassId,
TiXmlElement const *  _valueElement 
)

◆ RefreshValuesOnWakeup()

void Node::RefreshValuesOnWakeup ( )

◆ RemoveValue()

bool Node::RemoveValue ( uint8 const  _commandClassId,
uint8 const  _instance,
uint16 const  _valueIndex 
)

◆ RemoveValueList()

void Node::RemoveValueList ( Internal::VC::ValueList _value)

◆ SetAddingNode()

void OpenZWave::Node::SetAddingNode ( )
inline

◆ setFileConfigRevision()

void Node::setFileConfigRevision ( uint32  rev)

Set the revision number of the Config File for this device

Parameters
revthe revision number

◆ SetInstanceLabel()

void Node::SetInstanceLabel ( uint8 const  _instance,
char *  label 
)

This function sets a Global Instance Label for all CommandClasses that don't define their own labels

◆ setLatestConfigRevision()

void Node::setLatestConfigRevision ( uint32  rev)

Set the revision number of the latest available config file for this device

Parameters
revthe revision number

◆ SetLevel()

void Node::SetLevel ( uint8 const  _level)

◆ setLoadedConfigRevision()

void Node::setLoadedConfigRevision ( uint32  rev)

Set the revision number of the config that is loaded for this device

Parameters
revthe revision number

◆ SetNodeAlive()

void Node::SetNodeAlive ( bool const  _isAlive)

Handle dead node detection tracking. Use this routine to set state of nodes. Tracks state as well as send notifications.

◆ SetNodeOff()

void Node::SetNodeOff ( )

◆ SetNodeOn()

void Node::SetNodeOn ( )

◆ SetNodePlusInfoReceived()

void OpenZWave::Node::SetNodePlusInfoReceived ( const bool  _received)
inline

◆ SetProductDetails()

void Node::SetProductDetails ( std::shared_ptr< Internal::ProductDescriptor product)

◆ SetProtocolInfo()

void Node::SetProtocolInfo ( uint8 const *  _protocolInfo,
uint8 const  _length 
)

this function is called when the Node is added via a AddNode request. the ProtocolInfo field contains the devices classes and the CommandClasses that the node supports, so we can build a pretty good Node out of that info.

Parameters
_protocolInfoByte 0 - Basic Device Class Byte 1 - Generic Device Class, Byte 2 - Specific Device Classes Remaining Bytes - Supported Command Classes
_lengthlength of the _protocolInfo field.

◆ SetQueryStage()

void Node::SetQueryStage ( QueryStage const  _stage,
bool const  _advance = true 
)

This function sets the query stage for the node (but only to an earlier stage). If a later stage is specified than the current one, it is ignored.

Parameters
_stageThe desired query stage.
See also
m_queryStage, m_queryPending

◆ SetSecured()

void Node::SetSecured ( bool  secure)

◆ SetSecuredClasses()

void Node::SetSecuredClasses ( uint8 const *  _data,
uint8 const  _length,
uint32 const  _instance = 1 
)

This function sets up Secured Command Classes. It iterates over the existing command classes marking them as Secured if they exist, and if they don't, it creates new Command Classes and sets them up as Secured

Parameters
_dataa list of Command Classes that are Secured by the Device
_lengththe length of the _data string
_instancethe instance of the Class thats Secured.

◆ UpdateNodeInfo()

void Node::UpdateNodeInfo ( uint8 const *  _data,
uint8 const  _length 
)

◆ UpdateProtocolInfo()

void Node::UpdateProtocolInfo ( uint8 const *  _data)

This function handles a response to the FUNC_ID_ZW_GET_NODE_PROTOCOL_INFO command for this node. If protocol information has already been retrieved for the node, the function simply returns. Otherwise, it populates several member variables about the device at this node:

  • m_routing (whether it is a routing node (capable of passing commands along to other nodes in the network) or not
  • m_maxBaudRate (the maximum baud rate at which this device can communicate)
  • m_version (TODO)
  • m_security (whether device supports security features)
  • m_listening (device is powered and listening constantly)
  • m_frequentListening (device can be woken up with a beam)
  • m_beaming (device is beam capable)

Friends And Related Function Documentation

◆ Driver

friend class Driver
friend

◆ Group

friend class Group
friend

◆ Internal::CC::Association

friend class Internal::CC::Association
friend

◆ Internal::CC::AssociationCommandConfiguration

◆ Internal::CC::CommandClass

friend class Internal::CC::CommandClass
friend

◆ Internal::CC::ControllerReplication

◆ Internal::CC::Hail

friend class Internal::CC::Hail
friend

◆ Internal::CC::ManufacturerSpecific

◆ Internal::CC::MultiChannelAssociation

◆ Internal::CC::MultiInstance

friend class Internal::CC::MultiInstance
friend

◆ Internal::CC::NodeNaming

friend class Internal::CC::NodeNaming
friend

◆ Internal::CC::Version

friend class Internal::CC::Version
friend

◆ Internal::CC::ZWavePlusInfo

friend class Internal::CC::ZWavePlusInfo
friend

◆ Internal::ManufacturerSpecificDB

friend class Internal::ManufacturerSpecificDB
friend

◆ Internal::VC::Value

friend class Internal::VC::Value
friend

◆ Manager

friend class Manager
friend

◆ ValueButton

friend class ValueButton
friend

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