 |
OpenZWave Library
1.2
|
Go to the documentation of this file.
247 void SetStaticRequests();
251 bool m_queryConfiguration;
252 uint8 m_queryRetries;
253 bool m_protocolInfoReceived;
254 bool m_nodeInfoReceived;
255 bool m_manufacturerSpecificClassReceived;
256 bool m_nodeInfoSupported;
296 string const&
GetType()
const{
return m_type; }
298 bool IsController()
const{
return ( m_basic == 0x01 || m_basic == 0x02 ) && ( m_generic == 0x01 || m_generic == 0x02 ); }
305 bool m_frequentListening;
317 uint8 m_neighbors[29];
318 uint8 m_numRouteNodes;
319 uint8 m_routeNodes[5];
320 map<uint8,uint8> m_buttonMap;
329 string GetManufacturerName()
const{
return m_manufacturerName; }
330 string GetProductName()
const{
return m_productName; }
331 string GetNodeName()
const{
return m_nodeName; }
332 string GetLocation()
const{
return m_location; }
334 string GetManufacturerId()
const{
return m_manufacturerId; }
335 string GetProductType()
const{
return m_productType; }
336 string GetProductId()
const{
return m_productId; }
338 void SetManufacturerName(
string const& _manufacturerName ){ m_manufacturerName = _manufacturerName; }
339 void SetProductName(
string const& _productName ){ m_productName = _productName; }
340 void SetNodeName(
string const& _nodeName );
341 void SetLocation(
string const& _location );
343 void SetManufacturerId(
string const& _manufacturerId ){ m_manufacturerId = _manufacturerId; }
344 void SetProductType(
string const& _productType ){ m_productType = _productType; }
345 void SetProductId(
string const& _productId ){ m_productId = _productId; }
347 string m_manufacturerName;
348 string m_productName;
352 string m_manufacturerId;
353 string m_productType;
394 void RemoveCommandClass(
uint8 const _commandClassId );
395 void ReadXML( TiXmlElement
const* _nodeElement );
396 void ReadDeviceProtocolXML( TiXmlElement
const* _ccsElement );
397 void ReadCommandClassesXML( TiXmlElement
const* _ccsElement );
398 void WriteXML( TiXmlElement* _nodeElement );
400 map<uint8,CommandClass*> m_commandClassMap;
426 bool CreateValueBool(
ValueID::ValueGenre const _genre,
uint8 const _commandClassId,
uint8 const _instance,
uint8 const _valueIndex,
string const& _label,
string const& _units,
bool const _readOnly,
bool const _writeOnly,
bool const _default,
uint8 const _pollIntensity );
431 bool CreateValueList(
ValueID::ValueGenre const _genre,
uint8 const _commandClassId,
uint8 const _instance,
uint8 const _valueIndex,
string const& _label,
string const& _units,
bool const _readOnly,
bool const _writeOnly,
uint8 const _size, vector<ValueList::Item>
const& _items,
int32 const _default,
uint8 const _pollIntensity );
432 bool CreateValueRaw(
ValueID::ValueGenre const _genre,
uint8 const _commandClassId,
uint8 const _instance,
uint8 const _valueIndex,
string const& _label,
string const& _units,
bool const _readOnly,
bool const _writeOnly,
uint8 const* _default,
uint8 const _length,
uint8 const _pollIntensity );
435 bool CreateValueString(
ValueID::ValueGenre const _genre,
uint8 const _commandClassId,
uint8 const _instance,
uint8 const _valueIndex,
string const& _label,
string const& _units,
bool const _readOnly,
bool const _writeOnly,
string const& _default,
uint8 const _pollIntensity );
444 ValueStore* GetValueStore()
const{
return m_values; }
446 ValueStore* m_values;
452 bool SetConfigParam(
uint8 const _param,
int32 _value,
uint8 const _size );
453 void RequestConfigParam(
uint8 const _param );
454 bool RequestAllConfigParams(
uint32 const _requestFlags );
460 bool RequestDynamicValues();
466 uint8 GetNumGroups();
468 uint8 GetMaxAssociations(
uint8 const _groupIdx );
469 string GetGroupLabel(
uint8 const _groupIdx );
470 void AddAssociation(
uint8 const _groupIdx,
uint8 const _targetNodeId );
471 void RemoveAssociation(
uint8 const _groupIdx,
uint8 const _targetNodeId );
472 void AutoAssociate();
476 void AddGroup(
Group* _group );
477 void WriteGroups( TiXmlElement* _associationsElement );
479 map<uint8,Group*> m_groups;
489 DeviceClass( TiXmlElement
const* _el );
490 ~DeviceClass(){
delete [] m_mandatoryCommandClasses; }
492 uint8 const* GetMandatoryCommandClasses(){
return m_mandatoryCommandClasses; }
493 uint8 GetBasicMapping(){
return m_basicMapping; }
494 string const& GetLabel(){
return m_label; }
497 uint8* m_mandatoryCommandClasses;
498 uint8 m_basicMapping;
503 class GenericDeviceClass :
public DeviceClass
506 GenericDeviceClass( TiXmlElement
const* _el );
507 ~GenericDeviceClass();
509 DeviceClass* GetSpecificDeviceClass(
uint8 const& _specific );
512 map<uint8,DeviceClass*> m_specificDeviceClasses;
516 bool SetDeviceClasses(
uint8 const _basic,
uint8 const _generic,
uint8 const _specific );
517 bool AddMandatoryCommandClasses(
uint8 const* _commandClasses );
518 void ReadDeviceClasses();
519 string GetEndPointDeviceClassLabel(
uint8 const _generic,
uint8 const _specific );
521 static bool s_deviceClassesLoaded;
522 static map<uint8,string> s_basicDeviceClasses;
523 static map<uint8,GenericDeviceClass*> s_genericDeviceClasses;
556 void GetNodeStatistics(
NodeData* _data );
563 uint32 m_receivedUnsolicited;
568 uint32 m_averageRequestRTT;
569 uint32 m_averageResponseRTT;
571 uint8 m_lastReceivedMessage[254];
unsigned int uint32
Definition: Defs.h:69
QueryStage
Definition: Node.h:131
bool RemoveValue(uint8 const _commandClassId, uint8 const _instance, uint8 const _valueIndex)
Definition: Node.cpp:2263
bool IsSecurityDevice() const
Definition: Node.h:286
@ NodeBroadcast
Definition: Node.h:279
uint32 m_sentFailed
Definition: Node.h:539
uint8 m_quality
Definition: Node.h:550
The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.
Definition: Node.h:63
Implements COMMAND_CLASS_CLOCK (0x81), a Z-Wave device command class.
Definition: Clock.h:40
void SetNodeAlive(bool const _isAlive)
Definition: Node.cpp:1407
@ QueryStage_Configuration
Definition: Node.h:148
Implements COMMAND_CLASS_SWITCH_BINARY (0x25), a Z-Wave device command class.
Definition: SwitchBinary.h:39
uint8 GetVersion() const
Definition: Node.h:288
uint32 m_lastResponseRTT
Definition: Node.h:548
uint32 GetNeighbors(uint8 **o_associations)
Definition: Node.cpp:738
@ QueryStage_ProtocolInfo
Definition: Node.h:133
uint32 m_retries
Definition: Node.h:540
void ApplicationCommandHandler(uint8 const *_data)
Definition: Node.cpp:1524
void QueryStageComplete(QueryStage const _stage)
Definition: Node.cpp:638
Base class for all Z-Wave command classes.
Definition: CommandClass.h:46
list< CommandClassData > m_ccData
Definition: Node.h:552
ValueGenre
Definition: ValueID.h:71
Implements COMMAND_CLASS_THERMOSTAT_SETPOINT (0x43), a Z-Wave device command class.
Definition: ThermostatSetpoint.h:41
unsigned char uint8
Definition: Defs.h:63
bool CreateValueByte(ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint8 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, uint8 const _default, uint8 const _pollIntensity)
Definition: Node.cpp:1884
friend class Group
Definition: Node.h:67
bool IsRoutingDevice() const
Definition: Node.h:285
void SetNodeOff()
Definition: Node.cpp:1797
Implements COMMAND_CLASS_INDICATOR (0x87), a Z-Wave device command class.
Definition: Indicator.h:39
bool IsNodeAlive() const
Definition: Node.h:216
bool CreateValueButton(ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint8 const _valueIndex, string const &_label, uint8 const _pollIntensity)
Definition: Node.cpp:1858
ValueID CreateValueID(ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint8 const _valueIndex, ValueID::ValueType const _type)
Definition: Node.cpp:1812
Implements COMMAND_CLASS_METER_PULSE (0x35), a Z-Wave device command class.
Definition: MeterPulse.h:39
ValueType
Definition: ValueID.h:85
friend class CommandClass
Definition: Node.h:77
@ QueryStage_Instances
Definition: Node.h:141
Implements COMMAND_CLASS_MANUFACTURER_SPECIFIC (0x72), a Z-Wave device command class.
Definition: ManufacturerSpecific.h:38
Implements COMMAND_CLASS_MULTI_INSTANCE (0x60), a Z-Wave device command class.
Definition: MultiInstance.h:38
Implements COMMAND_CLASS_BATTERY (0x80), a Z-Wave device command class.
Definition: Battery.h:39
bool IsFrequentListeningDevice() const
Definition: Node.h:283
string const & GetType() const
Definition: Node.h:296
Implements COMMAND_CLASS_HAIL (0x82), a Z-Wave device command class.
Definition: Hail.h:37
@ QueryStage_None
Definition: Node.h:150
Implements COMMAND_CLASS_THERMOSTAT_FAN_STATE (0x45), a Z-Wave device command class.
Definition: ThermostatFanState.h:42
Implements COMMAND_CLASS_VERSION (0x86), a Z-Wave device command class.
Definition: Version.h:39
bool AllQueriesCompleted() const
Definition: Node.h:237
Implements a platform-independent TimeStamp.
Definition: TimeStamp.h:39
Implements COMMAND_CLASS_THERMOSTAT_MODE (0x40), a Z-Wave device command class.
Definition: ThermostatMode.h:42
uint32 m_sentCnt
Definition: Node.h:538
@ QueryStage_Session
Definition: Node.h:146
uint32 m_receivedCnt
Definition: Node.h:533
Implements COMMAND_CLASS_SENSOR_ALARM (0x9c), a Z-Wave device command class.
Definition: SensorAlarm.h:41
Implements COMMAND_CLASS_CLIMATE_CONTROL_SCHEDULE (0x46), a Z-Wave device command class.
Definition: ClimateControlSchedule.h:41
@ QueryStage_Probe
Definition: Node.h:134
void UpdateNodeInfo(uint8 const *_data, uint8 const _length)
Definition: Node.cpp:1323
@ QueryStage_Dynamic
Definition: Node.h:147
uint8 m_commandClassId
Definition: Node.h:531
uint8 GetNodeId() const
Definition: Node.h:291
string m_receivedTS
Definition: Node.h:545
signed int int32
Definition: Defs.h:68
signed short int16
Definition: Defs.h:65
Implements COMMAND_CLASS_SWITCH_TOGGLE_MULTILEVEL (0x29), a Z-Wave device command class.
Definition: SwitchToggleMultilevel.h:39
void RemoveValueList(ValueList *_value)
Definition: Node.cpp:2126
@ QueryStage_Neighbors
Definition: Node.h:145
string m_sentTS
Definition: Node.h:544
bool CreateValueFromXML(uint8 const _commandClassId, TiXmlElement const *_valueElement)
Definition: Node.cpp:2139
@ QueryStage_NodeInfo
Definition: Node.h:137
uint32 GetMaxBaudRate() const
Definition: Node.h:287
bool NodeInfoReceived() const
Definition: Node.h:235
string GetQueryStageName(QueryStage const _stage)
Definition: Node.cpp:726
bool CreateValueList(ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint8 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, uint8 const _size, vector< ValueList::Item > const &_items, int32 const _default, uint8 const _pollIntensity)
Definition: Node.cpp:1974
CommandClass * GetCommandClass(uint8 const _commandClassId) const
Definition: Node.cpp:1556
Node::QueryStage GetCurrentQueryStage()
Definition: Node.h:202
friend class Value
Definition: Node.h:68
Implements COMMAND_CLASS_METER (0x32), a Z-Wave device command class.
Definition: Meter.h:39
Implements COMMAND_CLASS_ENERGY_PRODUCTION (0x90), a Z-Wave device command class.
Definition: EnergyProduction.h:39
@ QueryStage_WakeUp
Definition: Node.h:135
Definition: Security.h:66
uint32 m_receivedUnsolicited
Definition: Node.h:543
void SetAddingNode()
Definition: Node.h:300
@ SecurityFlag_Sensor250ms
Definition: Node.h:271
void ClearAddingNode()
Definition: Node.h:301
@ QueryStage_ManufacturerSpecific1
Definition: Node.h:136
void ReadValueFromXML(uint8 const _commandClassId, TiXmlElement const *_valueElement)
Definition: Node.cpp:2186
void SetSecuredClasses(uint8 const *_data, uint8 const _length)
Definition: Node.cpp:1251
@ SecurityFlag_OptionalFunctionality
Definition: Node.h:273
bool CreateValueString(ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint8 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, string const &_default, uint8 const _pollIntensity)
Definition: Node.cpp:2096
uint8 m_lastReceivedMessage[254]
Definition: Node.h:551
Base class for values associated with a node.
Definition: Value.h:44
virtual ~Node()
Definition: Node.cpp:168
Implements COMMAND_CLASS_ASSOCIATION_COMMAND_CONFIGURATION (0x9b), a Z-Wave device command class.
Definition: AssociationCommandConfiguration.h:42
uint8 GetGeneric() const
Definition: Node.h:294
Node(uint32 const _homeId, uint8 const _nodeId)
Definition: Node.cpp:108
uint32 m_receivedCnt
Definition: Node.h:541
Implements COMMAND_CLASS_SENSOR_MULTILEVEL (0x31), a Z-Wave device command class.
Definition: SensorMultilevel.h:39
bool IsController() const
Definition: Node.h:298
@ QueryStage_SecurityReport
Definition: Node.h:138
The main public interface to OpenZWave.
Definition: Manager.h:108
Implements COMMAND_CLASS_BASIC (0x20), a Z-Wave device command class.
Definition: Basic.h:39
Implements COMMAND_CLASS_SWITCH_MULTILEVEL (0x26), a Z-Wave device command class.
Definition: SwitchMultilevel.h:41
@ QueryStage_Static
Definition: Node.h:142
uint8 GetSecurity() const
Definition: Node.h:289
uint32 m_averageResponseRTT
Definition: Node.h:549
Implements COMMAND_CLASS_SWITCH_TOGGLE_BINARY (0x28), a Z-Wave device command class.
Definition: SwitchToggleBinary.h:39
Value * GetValue(ValueID const &_id)
Definition: Node.cpp:2232
@ SecurityFlag_RoutingSlave
Definition: Node.h:269
bool CreateValueInt(ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint8 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, int32 const _default, uint8 const _pollIntensity)
Definition: Node.cpp:1944
void SetNodeOn()
Definition: Node.cpp:1782
void UpdateProtocolInfo(uint8 const *_data)
Definition: Node.cpp:1178
bool CreateValueBool(ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint8 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, bool const _default, uint8 const _pollIntensity)
Definition: Node.cpp:1828
Implements COMMAND_CLASS_ALARM (0x71), a Z-Wave device command class.
Definition: Alarm.h:39
uint32 m_sentCnt
Definition: Node.h:532
Implements COMMAND_CLASS_SENSOR_BINARY (0x30), a Z-Wave device command class.
Definition: SensorBinary.h:39
uint32 m_receivedDups
Definition: Node.h:542
Implements COMMAND_CLASS_CONTROLLER_REPLICATION (0x21), a Z-Wave device command class.
Definition: ControllerReplication.h:37
@ QueryStage_Complete
Definition: Node.h:149
void AdvanceQueries()
Definition: Node.cpp:218
bool IsListeningDevice() const
Definition: Node.h:282
Implements COMMAND_CLASS_NODE_NAMING (0x77), a Z-Wave device command class.
Definition: NodeNaming.h:37
Implements COMMAND_CLASS_ASSOCIATION (0x85), a Z-Wave device command class.
Definition: Association.h:38
@ SecurityFlag_BeamCapability
Definition: Node.h:270
@ SecurityFlag_SpecificDevice
Definition: Node.h:268
void SetLevel(uint8 const _level)
Definition: Node.cpp:1760
uint8 GetBasic() const
Definition: Node.h:293
void SetQueryStage(QueryStage const _stage, bool const _advance=true)
Definition: Node.cpp:699
The Driver class handles communication between OpenZWave and a device attached via a serial port (typ...
Definition: Driver.h:56
@ QueryStage_ManufacturerSpecific2
Definition: Node.h:139
bool CreateValueShort(ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint8 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, int16 const _default, uint8 const _pollIntensity)
Definition: Node.cpp:2066
Manages a group of devices (various nodes associated with each other).
Definition: Group.h:44
Implements COMMAND_CLASS_THERMOSTAT_FAN_MODE (0x44), a Z-Wave device command class.
Definition: ThermostatFanMode.h:42
uint8 GetSpecific() const
Definition: Node.h:295
bool CreateValueSchedule(ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint8 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, uint8 const _pollIntensity)
Definition: Node.cpp:2037
@ QueryStage_Associations
Definition: Node.h:144
bool IsBeamingDevice() const
Definition: Node.h:284
bool CreateValueRaw(ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint8 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, uint8 const *_default, uint8 const _length, uint8 const _pollIntensity)
Definition: Node.cpp:2006
@ QueryStage_Versions
Definition: Node.h:140
bool IsAddingNode() const
Definition: Node.h:299
@ SecurityFlag_Sensor1000ms
Definition: Node.h:272
Implements COMMAND_CLASS_SWITCH_ALL (0x27), a Z-Wave device command class.
Definition: SwitchAll.h:39
Implements COMMAND_CLASS_THERMOSTAT_OPERATING_STATE (0x42), a Z-Wave device command class.
Definition: ThermostatOperatingState.h:42
@ SecurityFlag_Security
Definition: Node.h:266
@ SecurityFlag_Controller
Definition: Node.h:267
bool CreateValueDecimal(ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint8 const _valueIndex, string const &_label, string const &_units, bool const _readOnly, bool const _writeOnly, string const &_default, uint8 const _pollIntensity)
Definition: Node.cpp:1914
uint32 m_lastRequestRTT
Definition: Node.h:546
void QueryStageRetry(QueryStage const _stage, uint8 const _maxAttempts=0)
Definition: Node.cpp:666
uint32 m_averageRequestRTT
Definition: Node.h:547
Implements COMMAND_CLASS_WAKE_UP (0x84), a Z-Wave device command class.
Definition: WakeUp.h:43
Implements COMMAND_CLASS_LOCK (0x76), a Z-Wave device command class.
Definition: Lock.h:39
Implements COMMAND_CLASS_PROTECTION (0x75), a Z-Wave device command class.
Definition: Protection.h:39
Definition: Bitfield.h:34
@ QueryStage_Probe1
Definition: Node.h:143
bool ProtocolInfoReceived() const
Definition: Node.h:234
Implements COMMAND_CLASS_LANGUAGE (0x89), a Z-Wave device command class.
Definition: Language.h:39