OpenZWave Library  1.6.0
Manager.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 //
3 // Manager.h
4 //
5 // The main public interface to OpenZWave.
6 //
7 // Copyright (c) 2010 Mal Lansell <openzwave@lansell.org>
8 //
9 // SOFTWARE NOTICE AND LICENSE
10 //
11 // This file is part of OpenZWave.
12 //
13 // OpenZWave is free software: you can redistribute it and/or modify
14 // it under the terms of the GNU Lesser General Public License as published
15 // by the Free Software Foundation, either version 3 of the License,
16 // or (at your option) any later version.
17 //
18 // OpenZWave is distributed in the hope that it will be useful,
19 // but WITHOUT ANY WARRANTY; without even the implied warranty of
20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 // GNU Lesser General Public License for more details.
22 //
23 // You should have received a copy of the GNU Lesser General Public License
24 // along with OpenZWave. If not, see <http://www.gnu.org/licenses/>.
25 //
26 //-----------------------------------------------------------------------------
27 
28 #ifndef _Manager_H
29 #define _Manager_H
30 
31 #include <string>
32 #include <cstring>
33 #include <vector>
34 #include <map>
35 #include <list>
36 #include <deque>
37 
38 #include "Defs.h"
39 #include "Driver.h"
40 #include "Group.h"
41 #include "value_classes/ValueID.h"
42 
43 namespace OpenZWave
44 {
45  class Options;
46  class Node;
47  class Msg;
48  class Value;
49  class Event;
50  class Mutex;
51  class SerialPort;
52  class Thread;
53  class Notification;
54  class ValueBitSet;
55  class ValueBool;
56  class ValueByte;
57  class ValueDecimal;
58  class ValueInt;
59  class ValueList;
60  class ValueShort;
61  class ValueString;
62  class ValueRaw;
63 
111  {
112  friend class Driver;
113  friend class CommandClass;
114  friend class Group;
115  friend class Node;
116  friend class Value;
117  friend class ValueStore;
118  friend class ValueButton;
119  friend class Msg;
120 
121  public:
122  typedef void (*pfnOnNotification_t)( Notification const* _pNotification, void* _context );
123 
124  //-----------------------------------------------------------------------------
125  // Construction
126  //-----------------------------------------------------------------------------
131  public:
144  static Manager* Create();
145 
151  static Manager* Get(){ return s_instance; }
152 
157  static void Destroy();
158 
163  static std::string getVersionAsString();
164 
169  static std::string getVersionLongAsString();
170 
175  static ozwversion getVersion();
178  private:
179  Manager(); // Constructor, to be called only via the static Create method.
180  virtual ~Manager(); // Destructor, to be called only via the static Destroy method.
181 
182  bool m_exit; // Flag indicating that program exit is in progress.
183  static Manager* s_instance; // Pointer to the instance of the Manager singleton.
184 
185  //-----------------------------------------------------------------------------
186  // Configuration
187  //-----------------------------------------------------------------------------
193  public:
205  DEPRECATED void WriteConfig( uint32 const _homeId );
206 
212  Options* GetOptions()const{ return m_options; }
215  private:
216  Options* m_options; // Pointer to the locked Options object that was passed in during creation.
217 
218  //-----------------------------------------------------------------------------
219  // Drivers
220  //-----------------------------------------------------------------------------
225  public:
238  bool AddDriver( string const& _controllerPath, Driver::ControllerInterface const& _interface = Driver::ControllerInterface_Serial);
239 
250  bool RemoveDriver( string const& _controllerPath );
251 
257  uint8 GetControllerNodeId( uint32 const _homeId );
258 
264  uint8 GetSUCNodeId( uint32 const _homeId );
265 
280  bool IsPrimaryController( uint32 const _homeId );
281 
289  bool IsStaticUpdateController( uint32 const _homeId );
290 
298  bool IsBridgeController( uint32 const _homeId );
299 
307  bool HasExtendedTxStatus( uint32 const _homeId );
308 
314  string GetLibraryVersion( uint32 const _homeId );
315 
335  string GetLibraryTypeName( uint32 const _homeId );
336 
342  int32 GetSendQueueCount( uint32 const _homeId );
343 
348  void LogDriverStatistics( uint32 const _homeId );
349 
354  Driver::ControllerInterface GetControllerInterfaceType( uint32 const _homeId );
355 
360  string GetControllerPath( uint32 const _homeId );
363  private:
364  Driver* GetDriver( uint32 const _homeId );
365  void SetDriverReady( Driver* _driver, bool success );
368  list<Driver*> m_pendingDrivers;
369  map<uint32,Driver*> m_readyDrivers;
371 
372  //-----------------------------------------------------------------------------
373  // Polling Z-Wave devices
374  //-----------------------------------------------------------------------------
381  public:
385  int32 GetPollInterval();
386 
398  void SetPollInterval( int32 _milliseconds, bool _bIntervalBetweenPolls );
399 
406  bool EnablePoll( ValueID const &_valueId, uint8 const _intensity = 1 );
407 
413  bool DisablePoll( ValueID const &_valueId );
414 
420  bool isPolled( ValueID const &_valueId );
421 
426  void SetPollIntensity( ValueID const &_valueId, uint8 const _intensity );
427 
435  uint8 GetPollIntensity( ValueID const &_valueId );
436 
439  //-----------------------------------------------------------------------------
440  // Node information
441  //-----------------------------------------------------------------------------
446  public:
457  bool RefreshNodeInfo( uint32 const _homeId, uint8 const _nodeId );
458 
459 
468  bool RequestNodeState( uint32 const _homeId, uint8 const _nodeId );
469 
478  bool RequestNodeDynamic( uint32 const _homeId, uint8 const _nodeId );
479 
486  bool IsNodeListeningDevice( uint32 const _homeId, uint8 const _nodeId );
487 
495  bool IsNodeFrequentListeningDevice( uint32 const _homeId, uint8 const _nodeId );
496 
503  bool IsNodeBeamingDevice( uint32 const _homeId, uint8 const _nodeId );
504 
511  bool IsNodeRoutingDevice( uint32 const _homeId, uint8 const _nodeId );
512 
519  bool IsNodeSecurityDevice( uint32 const _homeId, uint8 const _nodeId );
520 
527  uint32 GetNodeMaxBaudRate( uint32 const _homeId, uint8 const _nodeId );
528 
535  uint8 GetNodeVersion( uint32 const _homeId, uint8 const _nodeId );
536 
543  uint8 GetNodeSecurity( uint32 const _homeId, uint8 const _nodeId );
544 
552  bool IsNodeZWavePlus( uint32 const _homeId, uint8 const _nodeId );
553 
560  uint8 GetNodeBasic( uint32 const _homeId, uint8 const _nodeId );
561 
568  uint8 GetNodeGeneric( uint32 const _homeId, uint8 const _nodeId );
569 
576  uint8 GetNodeSpecific( uint32 const _homeId, uint8 const _nodeId );
577 
585  string GetNodeType( uint32 const _homeId, uint8 const _nodeId );
586 
594  uint32 GetNodeNeighbors( uint32 const _homeId, uint8 const _nodeId, uint8** _nodeNeighbors );
595 
609  string GetNodeManufacturerName( uint32 const _homeId, uint8 const _nodeId );
610 
624  string GetNodeProductName( uint32 const _homeId, uint8 const _nodeId );
625 
638  string GetNodeName( uint32 const _homeId, uint8 const _nodeId );
639 
651  string GetNodeLocation( uint32 const _homeId, uint8 const _nodeId );
652 
667  string GetNodeManufacturerId( uint32 const _homeId, uint8 const _nodeId );
668 
683  string GetNodeProductType( uint32 const _homeId, uint8 const _nodeId );
684 
699  string GetNodeProductId( uint32 const _homeId, uint8 const _nodeId );
700 
714  void SetNodeManufacturerName( uint32 const _homeId, uint8 const _nodeId, string const& _manufacturerName );
715 
729  void SetNodeProductName( uint32 const _homeId, uint8 const _nodeId, string const& _productName );
730 
744  void SetNodeName( uint32 const _homeId, uint8 const _nodeId, string const& _nodeName );
745 
758  void SetNodeLocation( uint32 const _homeId, uint8 const _nodeId, string const& _location );
759 
772  DEPRECATED void SetNodeOn( uint32 const _homeId, uint8 const _nodeId );
773 
784  DEPRECATED void SetNodeOff( uint32 const _homeId, uint8 const _nodeId );
785 
798  DEPRECATED void SetNodeLevel( uint32 const _homeId, uint8 const _nodeId, uint8 const _level );
799 
806  bool IsNodeInfoReceived( uint32 const _homeId, uint8 const _nodeId );
807 
815  bool GetNodeClassInformation( uint32 const _homeId, uint8 const _nodeId, uint8 const _commandClassId,
816  string *_className = NULL, uint8 *_classVersion = NULL);
823  bool IsNodeAwake( uint32 const _homeId, uint8 const _nodeId );
824 
831  bool IsNodeFailed( uint32 const _homeId, uint8 const _nodeId );
832 
839  string GetNodeQueryStage( uint32 const _homeId, uint8 const _nodeId );
840 
841 
848  uint16 GetNodeDeviceType( uint32 const _homeId, uint8 const _nodeId );
849 
856  string GetNodeDeviceTypeString( uint32 const _homeId, uint8 const _nodeId );
857 
864  uint8 GetNodeRole( uint32 const _homeId, uint8 const _nodeId );
865 
872  string GetNodeRoleString( uint32 const _homeId, uint8 const _nodeId );
873 
880  uint8 GetNodePlusType( uint32 const _homeId, uint8 const _nodeId );
887  string GetNodePlusTypeString ( uint32 const _homeId, uint8 const _nodeId );
888 
889 
890 
893  //-----------------------------------------------------------------------------
894  // Instances
895  //-----------------------------------------------------------------------------
900  public:
910  string GetInstanceLabel( ValueID const &_id);
911 
924  string GetInstanceLabel(uint32 const _homeId, uint8 const _node, uint8 const _cc, uint8 const _instance);
925 
927  //-----------------------------------------------------------------------------
928  // Values
929  //-----------------------------------------------------------------------------
935  public:
945  string GetValueLabel( ValueID const& _id, int32 _pos = -1 );
946 
956  void SetValueLabel( ValueID const& _id, string const& _value, int32 _pos = -1 );
957 
966  string GetValueUnits( ValueID const& _id );
967 
976  void SetValueUnits( ValueID const& _id, string const& _value );
977 
987  string GetValueHelp( ValueID const& _id, int32 _pos = -1 );
988 
998  void SetValueHelp( ValueID const& _id, string const& _value, int32 _pos = -1 );
999 
1008  int32 GetValueMin( ValueID const& _id );
1009 
1018  int32 GetValueMax( ValueID const& _id );
1019 
1028  bool IsValueReadOnly( ValueID const& _id );
1029 
1038  bool IsValueWriteOnly( ValueID const& _id );
1039 
1048  bool IsValueSet( ValueID const& _id );
1049 
1058  bool IsValuePolled( ValueID const& _id );
1059 
1071  bool GetValueAsBitSet( ValueID const& _id, uint8 _pos, bool* o_value );
1072 
1083  bool GetValueAsBool( ValueID const& _id, bool* o_value );
1084 
1095  bool GetValueAsByte( ValueID const& _id, uint8* o_value );
1096 
1107  bool GetValueAsFloat( ValueID const& _id, float* o_value );
1108 
1119  bool GetValueAsInt( ValueID const& _id, int32* o_value );
1120 
1131  bool GetValueAsShort( ValueID const& _id, int16* o_value );
1132 
1144  bool GetValueAsString( ValueID const& _id, string* o_value );
1145 
1157  bool GetValueAsRaw( ValueID const& _id, uint8** o_value, uint8* o_length );
1158 
1169  bool GetValueListSelection( ValueID const& _id, string* o_value );
1170 
1181  bool GetValueListSelection( ValueID const& _id, int32* o_value );
1182 
1193  bool GetValueListItems( ValueID const& _id, vector<string>* o_value );
1194 
1205  bool GetValueListValues( ValueID const& _id, vector<int32>* o_value );
1206 
1217  bool GetValueFloatPrecision( ValueID const& _id, uint8* o_value );
1218 
1233  bool SetValue( ValueID const& _id, uint8 _pos, bool const _value );
1234 
1248  bool SetValue( ValueID const& _id, bool const _value );
1249 
1262  bool SetValue( ValueID const& _id, uint8 const _value );
1263 
1277  bool SetValue( ValueID const& _id, float const _value );
1278 
1291  bool SetValue( ValueID const& _id, int32 const _value );
1292 
1305  bool SetValue( ValueID const& _id, int16 const _value );
1306 
1319  bool SetValue( ValueID const& _id, uint8 const* _value, uint8 const _length );
1320 
1333  bool SetValue( ValueID const& _id, string const& _value );
1334 
1348  bool SetValueListSelection( ValueID const& _id, string const& _selectedItem );
1349 
1359  bool RefreshValue( ValueID const& _id);
1360 
1371  void SetChangeVerified( ValueID const& _id, bool _verify );
1372 
1382  bool GetChangeVerified( ValueID const& _id );
1383 
1393  bool PressButton( ValueID const& _id );
1394 
1404  bool ReleaseButton( ValueID const& _id );
1405 
1416  bool SetBitMask( ValueID const& _id, uint32 _mask );
1417 
1428  bool GetBitMask( ValueID const& _id, int32* o_mask );
1429 
1440  bool GetBitSetSize( ValueID const& _id, uint8* o_size );
1441 
1442 
1443 
1446  //-----------------------------------------------------------------------------
1447  // Climate Control Schedules
1448  //-----------------------------------------------------------------------------
1462 
1471  uint8 GetNumSwitchPoints( ValueID const& _id );
1472 
1492  bool SetSwitchPoint( ValueID const& _id, uint8 const _hours, uint8 const _minutes, int8 const _setback );
1493 
1509  bool RemoveSwitchPoint( ValueID const& _id, uint8 const _hours, uint8 const _minutes );
1510 
1519  void ClearSwitchPoints( ValueID const& _id );
1520 
1538  bool GetSwitchPoint( ValueID const& _id, uint8 const _idx, uint8* o_hours, uint8* o_minutes, int8* o_setback );
1539 
1542  //-----------------------------------------------------------------------------
1543  // SwitchAll
1544  //-----------------------------------------------------------------------------
1552 
1558  DEPRECATED void SwitchAllOn( uint32 const _homeId );
1559 
1565  DEPRECATED void SwitchAllOff( uint32 const _homeId );
1566 
1569  //-----------------------------------------------------------------------------
1570  // Configuration Parameters
1571  //-----------------------------------------------------------------------------
1581  public:
1597  bool SetConfigParam( uint32 const _homeId, uint8 const _nodeId, uint8 const _param, int32 _value, uint8 const _size = 2 );
1598 
1614  void RequestConfigParam( uint32 const _homeId, uint8 const _nodeId, uint8 const _param );
1615 
1622  void RequestAllConfigParams( uint32 const _homeId, uint8 const _nodeId );
1625  //-----------------------------------------------------------------------------
1626  // Groups (wrappers for the Node methods)
1627  //-----------------------------------------------------------------------------
1632  public:
1642  uint8 GetNumGroups( uint32 const _homeId, uint8 const _nodeId );
1643 
1655  uint32 GetAssociations( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8** o_associations );
1656 
1668  uint32 GetAssociations( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, InstanceAssociation** o_associations );
1669 
1678  uint8 GetMaxAssociations( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx );
1679 
1688  bool IsMultiInstance( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx );
1689 
1698  string GetGroupLabel( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx );
1699 
1712  void AddAssociation( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId, uint8 const _instance = 0x00 );
1713 
1726  void RemoveAssociation( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId, uint8 const _instance = 0x00 );
1727 
1730  //-----------------------------------------------------------------------------
1731  // Notifications
1732  //-----------------------------------------------------------------------------
1737  public:
1748  bool AddWatcher( pfnOnNotification_t _watcher, void* _context );
1749 
1757  bool RemoveWatcher( pfnOnNotification_t _watcher, void* _context );
1760  private:
1761  void NotifyWatchers( Notification* _notification ); // Passes the notifications to all the registered watcher callbacks in turn.
1762 
1763  struct Watcher
1764  {
1765  pfnOnNotification_t m_callback;
1766  void* m_context;
1767 
1768  Watcher
1769  (
1770  pfnOnNotification_t _callback,
1771  void* _context
1772  ):
1773  m_callback( _callback ),
1774  m_context( _context )
1775  {
1776  }
1777  };
1778 
1780  list<Watcher*> m_watchers; // List of all the registered watchers.
1781  list<list<Watcher*>::iterator*> m_watcherIterators; // Iterators currently operating on the list of watchers
1783  Mutex* m_notificationMutex;
1784 
1785  //-----------------------------------------------------------------------------
1786  // Controller commands
1787  //-----------------------------------------------------------------------------
1792  public:
1799  void ResetController( uint32 const _homeId );
1800 
1807  void SoftReset( uint32 const _homeId );
1808 
1865  DEPRECATED bool BeginControllerCommand( uint32 const _homeId, Driver::ControllerCommand _command, Driver::pfnControllerCallback_t _callback = NULL, void* _context = NULL, bool _highPower = false, uint8 _nodeId = 0xff, uint8 _arg = 0 );
1866 
1873  bool CancelControllerCommand( uint32 const _homeId );
1876  //-----------------------------------------------------------------------------
1877  // Network commands
1878  //-----------------------------------------------------------------------------
1884  public:
1892  void TestNetworkNode( uint32 const _homeId, uint8 const _nodeId, uint32 const _count );
1893 
1901  void TestNetwork( uint32 const _homeId, uint32 const _count );
1902 
1910  void HealNetworkNode( uint32 const _homeId, uint8 const _nodeId, bool _doRR );
1911 
1919  void HealNetwork( uint32 const _homeId, bool _doRR );
1920 
1934  bool AddNode( uint32 const _homeId, bool _doSecurity = true );
1935 
1948  bool RemoveNode(uint32 const _homeId);
1949 
1966  bool RemoveFailedNode(uint32 const _homeId, uint8 const _nodeId);
1967 
1982  bool HasNodeFailed(uint32 const _homeId, uint8 const _nodeId);
1983 
1996  bool RequestNodeNeighborUpdate(uint32 const _homeId, uint8 const _nodeId);
1997 
2010  bool AssignReturnRoute(uint32 const _homeId, uint8 const _nodeId);
2011 
2024  bool DeleteAllReturnRoutes(uint32 const _homeId, uint8 const _nodeId);
2025 
2035  bool SendNodeInformation(uint32 const _homeId, uint8 const _nodeId);
2036 
2048  bool CreateNewPrimary(uint32 const _homeId);
2049 
2061  bool ReceiveConfiguration (uint32 const _homeId);
2062 
2077  bool ReplaceFailedNode(uint32 const _homeId, uint8 const _nodeId);
2078 
2090  bool TransferPrimaryRole(uint32 const _homeId);
2091 
2103  bool RequestNetworkUpdate(uint32 const _homeId, uint8 const _nodeId);
2104 
2116  bool ReplicationSend(uint32 const _homeId, uint8 const _nodeId);
2117 
2132  bool CreateButton(uint32 const _homeId, uint8 const _nodeId, uint8 const _buttonid);
2133 
2148  bool DeleteButton(uint32 const _homeId, uint8 const _nodeId, uint8 const _buttonid);
2149 
2164  void SendRawData(uint32 const _homeId, uint8 const _nodeId, string const& _logText, uint8 const _msgType, const bool _sendSecure, uint8 const* _content, uint8 const _length);
2165 
2166 
2167 
2168 
2171  //-----------------------------------------------------------------------------
2172  // Scene commands
2173  //-----------------------------------------------------------------------------
2180  public:
2187  DEPRECATED uint8 GetNumScenes( );
2188 
2196  DEPRECATED uint8 GetAllScenes( uint8** _sceneIds );
2197 
2204  DEPRECATED void RemoveAllScenes( uint32 const _homeId );
2205 
2213  DEPRECATED uint8 CreateScene();
2214 
2222  DEPRECATED bool RemoveScene( uint8 const _sceneId );
2223 
2233  DEPRECATED bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, bool const _value );
2234 
2244  DEPRECATED bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, uint8 const _value );
2245 
2255  DEPRECATED bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, float const _value );
2256 
2266  DEPRECATED bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, int32 const _value );
2267 
2277  DEPRECATED bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, int16 const _value );
2278 
2288  DEPRECATED bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, string const& _value );
2289 
2299  DEPRECATED bool AddSceneValueListSelection( uint8 const _sceneId, ValueID const& _valueId, string const& _value );
2300 
2310  DEPRECATED bool AddSceneValueListSelection( uint8 const _sceneId, ValueID const& _valueId, int32 const _value );
2311 
2320  DEPRECATED bool RemoveSceneValue( uint8 const _sceneId, ValueID const& _valueId );
2321 
2330  DEPRECATED int SceneGetValues( uint8 const _sceneId, vector<ValueID>* o_value );
2331 
2341  DEPRECATED bool SceneGetValueAsBool( uint8 const _sceneId, ValueID const& _valueId, bool* o_value );
2342 
2352  DEPRECATED bool SceneGetValueAsByte( uint8 const _sceneId, ValueID const& _valueId, uint8* o_value );
2353 
2363  DEPRECATED bool SceneGetValueAsFloat( uint8 const _sceneId, ValueID const& _valueId, float* o_value );
2364 
2374  DEPRECATED bool SceneGetValueAsInt( uint8 const _sceneId, ValueID const& _valueId, int32* o_value );
2375 
2385  DEPRECATED bool SceneGetValueAsShort( uint8 const _sceneId, ValueID const& _valueId, int16* o_value );
2386 
2396  DEPRECATED bool SceneGetValueAsString( uint8 const _sceneId, ValueID const& _valueId, string* o_value );
2397 
2407  DEPRECATED bool SceneGetValueListSelection( uint8 const _sceneId, ValueID const& _valueId, string* o_value );
2408 
2418  DEPRECATED bool SceneGetValueListSelection( uint8 const _sceneId, ValueID const& _valueId, int32* o_value );
2419 
2429  DEPRECATED bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, bool const _value );
2430 
2440  DEPRECATED bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, uint8 const _value );
2441 
2451  DEPRECATED bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, float const _value );
2452 
2462  DEPRECATED bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, int32 const _value );
2463 
2473  DEPRECATED bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, int16 const _value );
2474 
2484  DEPRECATED bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, string const& _value );
2485 
2495  DEPRECATED bool SetSceneValueListSelection( uint8 const _sceneId, ValueID const& _valueId, string const& _value );
2496 
2506  DEPRECATED bool SetSceneValueListSelection( uint8 const _sceneId, ValueID const& _valueId, int32 const _value );
2507 
2515  DEPRECATED string GetSceneLabel( uint8 const _sceneId );
2516 
2524  DEPRECATED void SetSceneLabel( uint8 const _sceneId, string const& _value );
2525 
2533  DEPRECATED bool SceneExists( uint8 const _sceneId );
2534 
2542  DEPRECATED bool ActivateScene( uint8 const _sceneId );
2543 
2546  //-----------------------------------------------------------------------------
2547  // Statistics interface
2548  //-----------------------------------------------------------------------------
2553  public:
2559  void GetDriverStatistics( uint32 const _homeId, Driver::DriverData* _data );
2560 
2567  void GetNodeStatistics( uint32 const _homeId, uint8 const _nodeId, Node::NodeData* _data );
2568 
2574  static string GetNodeRouteScheme(Node::NodeData *_data);
2575 
2581  static string GetNodeRouteSpeed(Node::NodeData *_data);
2582 
2585  //-----------------------------------------------------------------------------
2586  // MetaData interface
2587  //-----------------------------------------------------------------------------
2592  public:
2600  string const GetMetaData( uint32 const _homeId, uint8 const _nodeId, Node::MetaDataFields _metadata );
2608  Node::ChangeLogEntry const GetChangeLog( uint32 const _homeId, uint8 const _nodeId, uint32_t revision);
2609 
2611  //-----------------------------------------------------------------------------
2612  // Config File Revision interface
2613  //-----------------------------------------------------------------------------
2618  public:
2631  bool checkLatestConfigFileRevision(uint32 const _homeId, uint8 const _nodeId);
2632 
2643  bool checkLatestMFSRevision(uint32 const _homeId);
2644 
2661  bool downloadLatestConfigFileRevision(uint32 const _homeId, uint8 const _nodeId);
2662 
2674  bool downloadLatestMFSRevision(uint32 const _homeId);
2675 
2681  };
2683 } // namespace OpenZWave
2684 
2685 #endif // _Manager_H
Message object to be passed to and from devices on the Z-Wave network.
Definition: Msg.h:44
Definition: Bitfield.h:34
Container that holds all of the values associated with a given node.
Definition: ValueStore.h:44
#define OPENZWAVE_EXPORT
Definition: Defs.h:51
unsigned short uint16
Definition: Defs.h:92
#define OPENZWAVE_EXPORT_WARNINGS_ON
Definition: Defs.h:53
The main public interface to OpenZWave.
Definition: Manager.h:110
MetaDataFields
Definition: Node.h:752
#define DEPRECATED
Definition: Defs.h:62
#define OPENZWAVE_EXPORT_WARNINGS_OFF
Definition: Defs.h:52
Definition: Group.h:42
The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.
Definition: Node.h:65
#define NULL
Definition: Defs.h:85
ControllerCommand
Definition: Driver.h:485
Base class for all Z-Wave command classes.
Definition: CommandClass.h:55
Button value.
Definition: ValueButton.h:46
signed short int16
Definition: Defs.h:91
ControllerInterface
Definition: Driver.h:94
signed char int8
Definition: Defs.h:88
The Driver class handles communication between OpenZWave and a device attached via a serial port (typ...
Definition: Driver.h:64
Manages library options read from XML files or the command line.
Definition: Options.h:66
signed int int32
Definition: Defs.h:94
unsigned int uint32
Definition: Defs.h:95
Manages a group of devices (various nodes associated with each other).
Definition: Group.h:49
Provides a container for data sent via the notification callback handler installed by a call to Manag...
Definition: Notification.h:44
Provides a unique ID for a value reported by a Z-Wave device.The ValueID is used to uniquely identify...
Definition: ValueID.h:62
Options * GetOptions() const
Gets a pointer to the locked Options object.
Definition: Manager.h:212
static Manager * Get()
Gets a pointer to the Manager object.
Definition: Manager.h:151
Base class for values associated with a node.
Definition: Value.h:48
void(* pfnControllerCallback_t)(ControllerState _state, ControllerError _err, void *_context)
Definition: Driver.h:547
Definition: Defs.h:110
unsigned char uint8
Definition: Defs.h:89