OpenZWave Library  1.6.986
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  namespace Internal
46  {
47  namespace CC
48  {
49  class CommandClass;
50  }
51  namespace VC
52  {
53  class Value;
54  class ValueStore;
55  }
56  class Msg;
57  }
58  class Options;
59  class Node;
60  class Notification;
61 
109  {
110  friend class Driver;
112  friend class Group;
113  friend class Node;
114  friend class Internal::VC::Value;
116  friend class Internal::Msg;
117 
118  public:
119  typedef void (*pfnOnNotification_t)(Notification const* _pNotification, void* _context);
120 
121  //-----------------------------------------------------------------------------
122  // Construction
123  //-----------------------------------------------------------------------------
128  public:
141  static Manager* Create();
142 
148  static Manager* Get()
149  {
150  return s_instance;
151  }
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 
213  {
214  return m_options;
215  }
218  private:
219  Options* m_options; // Pointer to the locked Options object that was passed in during creation.
220 
221  //-----------------------------------------------------------------------------
222  // Drivers
223  //-----------------------------------------------------------------------------
228  public:
241  bool AddDriver(string const& _controllerPath, Driver::ControllerInterface const& _interface = Driver::ControllerInterface_Serial);
242 
253  bool RemoveDriver(string const& _controllerPath);
254 
260  uint8 GetControllerNodeId(uint32 const _homeId);
261 
267  uint8 GetSUCNodeId(uint32 const _homeId);
268 
283  bool IsPrimaryController(uint32 const _homeId);
284 
292  bool IsStaticUpdateController(uint32 const _homeId);
293 
301  bool IsBridgeController(uint32 const _homeId);
302 
310  bool HasExtendedTxStatus(uint32 const _homeId);
311 
317  string GetLibraryVersion(uint32 const _homeId);
318 
338  string GetLibraryTypeName(uint32 const _homeId);
339 
345  int32 GetSendQueueCount(uint32 const _homeId);
346 
351  void LogDriverStatistics(uint32 const _homeId);
352 
357  Driver::ControllerInterface GetControllerInterfaceType(uint32 const _homeId);
358 
363  string GetControllerPath(uint32 const _homeId);
366  private:
367  Driver* GetDriver(uint32 const _homeId);
368  void SetDriverReady(Driver* _driver, bool success);
369  list<Driver*> m_pendingDrivers;
370  map<uint32, Driver*> m_readyDrivers;
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 
467  bool RequestNodeState(uint32 const _homeId, uint8 const _nodeId);
468 
477  bool RequestNodeDynamic(uint32 const _homeId, uint8 const _nodeId);
478 
485  bool IsNodeListeningDevice(uint32 const _homeId, uint8 const _nodeId);
486 
494  bool IsNodeFrequentListeningDevice(uint32 const _homeId, uint8 const _nodeId);
495 
502  bool IsNodeBeamingDevice(uint32 const _homeId, uint8 const _nodeId);
503 
510  bool IsNodeRoutingDevice(uint32 const _homeId, uint8 const _nodeId);
511 
518  bool IsNodeSecurityDevice(uint32 const _homeId, uint8 const _nodeId);
519 
526  uint32 GetNodeMaxBaudRate(uint32 const _homeId, uint8 const _nodeId);
527 
534  uint8 GetNodeVersion(uint32 const _homeId, uint8 const _nodeId);
535 
542  uint8 GetNodeSecurity(uint32 const _homeId, uint8 const _nodeId);
543 
551  bool IsNodeZWavePlus(uint32 const _homeId, uint8 const _nodeId);
552 
559  uint8 GetNodeBasic(uint32 const _homeId, uint8 const _nodeId);
560 
567  string GetNodeBasicString(uint32 const _homeId, uint8 const _nodeId);
568 
569 
577  uint8 GetNodeGeneric(uint32 const _homeId, uint8 const _nodeId, uint8 const _instance = 0);
578 
586  string GetNodeGenericString(uint32 const _homeId, uint8 const _nodeId, uint8 const _instance = 0);
587 
595  uint8 GetNodeSpecific(uint32 const _homeId, uint8 const _nodeId, uint8 const _instance = 0);
596 
604  string GetNodeSpecificString(uint32 const _homeId, uint8 const _nodeId, uint8 const _instance = 0);
605 
606 
614  string GetNodeType(uint32 const _homeId, uint8 const _nodeId);
615 
624  uint32 GetNodeNeighbors(uint32 const _homeId, uint8 const _nodeId, uint8** _nodeNeighbors);
625 
637  void SyncronizeNodeNeighbors(uint32 const _homeId, uint8 const _nodeId);
638 
652  string GetNodeManufacturerName(uint32 const _homeId, uint8 const _nodeId);
653 
667  string GetNodeProductName(uint32 const _homeId, uint8 const _nodeId);
668 
681  string GetNodeName(uint32 const _homeId, uint8 const _nodeId);
682 
694  string GetNodeLocation(uint32 const _homeId, uint8 const _nodeId);
695 
710  string GetNodeManufacturerId(uint32 const _homeId, uint8 const _nodeId);
711 
726  string GetNodeProductType(uint32 const _homeId, uint8 const _nodeId);
727 
742  string GetNodeProductId(uint32 const _homeId, uint8 const _nodeId);
743 
757  void SetNodeManufacturerName(uint32 const _homeId, uint8 const _nodeId, string const& _manufacturerName);
758 
772  void SetNodeProductName(uint32 const _homeId, uint8 const _nodeId, string const& _productName);
773 
787  void SetNodeName(uint32 const _homeId, uint8 const _nodeId, string const& _nodeName);
788 
801  void SetNodeLocation(uint32 const _homeId, uint8 const _nodeId, string const& _location);
802 
815  DEPRECATED void SetNodeOn(uint32 const _homeId, uint8 const _nodeId);
816 
827  DEPRECATED void SetNodeOff(uint32 const _homeId, uint8 const _nodeId);
828 
841  DEPRECATED void SetNodeLevel(uint32 const _homeId, uint8 const _nodeId, uint8 const _level);
842 
849  bool IsNodeInfoReceived(uint32 const _homeId, uint8 const _nodeId);
850 
858  bool GetNodeClassInformation(uint32 const _homeId, uint8 const _nodeId, uint8 const _commandClassId, string *_className = NULL, uint8 *_classVersion = NULL);
859 
865  string GetCommandClassName(uint8 const _commandClassId);
866 
873  bool IsNodeAwake(uint32 const _homeId, uint8 const _nodeId);
874 
881  bool IsNodeFailed(uint32 const _homeId, uint8 const _nodeId);
882 
889  string GetNodeQueryStage(uint32 const _homeId, uint8 const _nodeId);
890 
897  uint16 GetNodeDeviceType(uint32 const _homeId, uint8 const _nodeId);
898 
905  string GetNodeDeviceTypeString(uint32 const _homeId, uint8 const _nodeId);
906 
913  uint8 GetNodeRole(uint32 const _homeId, uint8 const _nodeId);
914 
921  string GetNodeRoleString(uint32 const _homeId, uint8 const _nodeId);
922 
929  uint8 GetNodePlusType(uint32 const _homeId, uint8 const _nodeId);
936  string GetNodePlusTypeString(uint32 const _homeId, uint8 const _nodeId);
937 
940  //-----------------------------------------------------------------------------
941  // Instances
942  //-----------------------------------------------------------------------------
947  public:
957  string GetInstanceLabel(ValueID const &_id);
958 
971  string GetInstanceLabel(uint32 const _homeId, uint8 const _node, uint8 const _cc, uint8 const _instance);
972 
974  //-----------------------------------------------------------------------------
975  // Values
976  //-----------------------------------------------------------------------------
982  public:
992  string GetValueLabel(ValueID const& _id, int32 _pos = -1);
993 
1003  void SetValueLabel(ValueID const& _id, string const& _value, int32 _pos = -1);
1004 
1013  string GetValueUnits(ValueID const& _id);
1014 
1023  void SetValueUnits(ValueID const& _id, string const& _value);
1024 
1034  string GetValueHelp(ValueID const& _id, int32 _pos = -1);
1035 
1045  void SetValueHelp(ValueID const& _id, string const& _value, int32 _pos = -1);
1046 
1055  int32 GetValueMin(ValueID const& _id);
1056 
1065  int32 GetValueMax(ValueID const& _id);
1066 
1075  bool IsValueReadOnly(ValueID const& _id);
1076 
1085  bool IsValueWriteOnly(ValueID const& _id);
1086 
1095  bool IsValueSet(ValueID const& _id);
1096 
1105  bool IsValuePolled(ValueID const& _id);
1106 
1113  bool IsValueValid(ValueID const& _id);
1114 
1115 
1127  bool GetValueAsBitSet(ValueID const& _id, uint8 _pos, bool* o_value);
1128 
1139  bool GetValueAsBool(ValueID const& _id, bool* o_value);
1140 
1151  bool GetValueAsByte(ValueID const& _id, uint8* o_value);
1152 
1163  bool GetValueAsFloat(ValueID const& _id, float* o_value);
1164 
1175  bool GetValueAsInt(ValueID const& _id, int32* o_value);
1176 
1187  bool GetValueAsShort(ValueID const& _id, int16* o_value);
1188 
1200  bool GetValueAsString(ValueID const& _id, string* o_value);
1201 
1213  bool GetValueAsRaw(ValueID const& _id, uint8** o_value, uint8* o_length);
1214 
1225  bool GetValueListSelection(ValueID const& _id, string* o_value);
1226 
1237  bool GetValueListSelection(ValueID const& _id, int32* o_value);
1238 
1249  bool GetValueListItems(ValueID const& _id, vector<string>* o_value);
1250 
1261  bool GetValueListValues(ValueID const& _id, vector<int32>* o_value);
1262 
1273  bool GetValueFloatPrecision(ValueID const& _id, uint8* o_value);
1274 
1289  bool SetValue(ValueID const& _id, uint8 _pos, bool const _value);
1290 
1304  bool SetValue(ValueID const& _id, bool const _value);
1305 
1318  bool SetValue(ValueID const& _id, uint8 const _value);
1319 
1333  bool SetValue(ValueID const& _id, float const _value);
1334 
1347  bool SetValue(ValueID const& _id, int32 const _value);
1348 
1361  bool SetValue(ValueID const& _id, int16 const _value);
1362 
1375  bool SetValue(ValueID const& _id, uint8 const* _value, uint8 const _length);
1376 
1389  bool SetValue(ValueID const& _id, string const& _value);
1390 
1404  bool SetValueListSelection(ValueID const& _id, string const& _selectedItem);
1405 
1415  bool RefreshValue(ValueID const& _id);
1416 
1427  void SetChangeVerified(ValueID const& _id, bool _verify);
1428 
1438  bool GetChangeVerified(ValueID const& _id);
1439 
1449  bool PressButton(ValueID const& _id);
1450 
1460  bool ReleaseButton(ValueID const& _id);
1461 
1472  bool SetBitMask(ValueID const& _id, uint32 _mask);
1473 
1484  bool GetBitMask(ValueID const& _id, int32* o_mask);
1485 
1496  bool GetBitSetSize(ValueID const& _id, uint8* o_size);
1497 
1500  //-----------------------------------------------------------------------------
1501  // Climate Control Schedules
1502  //-----------------------------------------------------------------------------
1516 
1525  uint8 GetNumSwitchPoints(ValueID const& _id);
1526 
1546  bool SetSwitchPoint(ValueID const& _id, uint8 const _hours, uint8 const _minutes, int8 const _setback);
1547 
1563  bool RemoveSwitchPoint(ValueID const& _id, uint8 const _hours, uint8 const _minutes);
1564 
1573  void ClearSwitchPoints(ValueID const& _id);
1574 
1592  bool GetSwitchPoint(ValueID const& _id, uint8 const _idx, uint8* o_hours, uint8* o_minutes, int8* o_setback);
1593 
1596  //-----------------------------------------------------------------------------
1597  // SwitchAll
1598  //-----------------------------------------------------------------------------
1606 
1612  DEPRECATED void SwitchAllOn(uint32 const _homeId);
1613 
1619  DEPRECATED void SwitchAllOff(uint32 const _homeId);
1620 
1623  //-----------------------------------------------------------------------------
1624  // Configuration Parameters
1625  //-----------------------------------------------------------------------------
1635  public:
1651  bool SetConfigParam(uint32 const _homeId, uint8 const _nodeId, uint8 const _param, int32 _value, uint8 const _size = 2);
1652 
1668  void RequestConfigParam(uint32 const _homeId, uint8 const _nodeId, uint8 const _param);
1669 
1676  void RequestAllConfigParams(uint32 const _homeId, uint8 const _nodeId);
1679  //-----------------------------------------------------------------------------
1680  // Groups (wrappers for the Node methods)
1681  //-----------------------------------------------------------------------------
1686  public:
1696  uint8 GetNumGroups(uint32 const _homeId, uint8 const _nodeId);
1697 
1709  uint32 GetAssociations(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8** o_associations);
1710 
1725  uint32 GetAssociations(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, InstanceAssociation** o_associations);
1726 
1735  uint8 GetMaxAssociations(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx);
1736 
1745  bool IsMultiInstance(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx);
1746 
1755  string GetGroupLabel(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx);
1756 
1769  void AddAssociation(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId, uint8 const _instance = 0x00);
1770 
1783  void RemoveAssociation(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId, uint8 const _instance = 0x00);
1784 
1787  //-----------------------------------------------------------------------------
1788  // Notifications
1789  //-----------------------------------------------------------------------------
1794  public:
1805  bool AddWatcher(pfnOnNotification_t _watcher, void* _context);
1806 
1814  bool RemoveWatcher(pfnOnNotification_t _watcher, void* _context);
1817  private:
1818  void NotifyWatchers(Notification* _notification); // Passes the notifications to all the registered watcher callbacks in turn.
1819 
1820  struct Watcher
1821  {
1822  pfnOnNotification_t m_callback;
1823  void* m_context;
1824 
1825  Watcher(pfnOnNotification_t _callback, void* _context) :
1826  m_callback(_callback), m_context(_context)
1827  {
1828  }
1829  };
1830 
1831  list<Watcher*> m_watchers; // List of all the registered watchers.
1832  list<list<Watcher*>::iterator*> m_watcherIterators; // Iterators currently operating on the list of watchers
1833  Internal::Platform::Mutex* m_notificationMutex;
1834 
1835  //-----------------------------------------------------------------------------
1836  // Controller commands
1837  //-----------------------------------------------------------------------------
1842  public:
1849  void ResetController(uint32 const _homeId);
1850 
1857  void SoftReset(uint32 const _homeId);
1858 
1915  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);
1916 
1923  bool CancelControllerCommand(uint32 const _homeId);
1926  //-----------------------------------------------------------------------------
1927  // Network commands
1928  //-----------------------------------------------------------------------------
1934  public:
1942  void TestNetworkNode(uint32 const _homeId, uint8 const _nodeId, uint32 const _count);
1943 
1951  void TestNetwork(uint32 const _homeId, uint32 const _count);
1952 
1960  void HealNetworkNode(uint32 const _homeId, uint8 const _nodeId, bool _doRR);
1961 
1969  void HealNetwork(uint32 const _homeId, bool _doRR);
1970 
1984  bool AddNode(uint32 const _homeId, bool _doSecurity = true);
1985 
1998  bool RemoveNode(uint32 const _homeId);
1999 
2016  bool RemoveFailedNode(uint32 const _homeId, uint8 const _nodeId);
2017 
2032  bool HasNodeFailed(uint32 const _homeId, uint8 const _nodeId);
2033 
2046  bool RequestNodeNeighborUpdate(uint32 const _homeId, uint8 const _nodeId);
2047 
2060  bool AssignReturnRoute(uint32 const _homeId, uint8 const _nodeId);
2061 
2074  bool DeleteAllReturnRoutes(uint32 const _homeId, uint8 const _nodeId);
2075 
2085  bool SendNodeInformation(uint32 const _homeId, uint8 const _nodeId);
2086 
2098  bool CreateNewPrimary(uint32 const _homeId);
2099 
2111  bool ReceiveConfiguration(uint32 const _homeId);
2112 
2127  bool ReplaceFailedNode(uint32 const _homeId, uint8 const _nodeId);
2128 
2140  bool TransferPrimaryRole(uint32 const _homeId);
2141 
2153  bool RequestNetworkUpdate(uint32 const _homeId, uint8 const _nodeId);
2154 
2166  bool ReplicationSend(uint32 const _homeId, uint8 const _nodeId);
2167 
2182  bool CreateButton(uint32 const _homeId, uint8 const _nodeId, uint8 const _buttonid);
2183 
2198  bool DeleteButton(uint32 const _homeId, uint8 const _nodeId, uint8 const _buttonid);
2199 
2214  void SendRawData(uint32 const _homeId, uint8 const _nodeId, string const& _logText, uint8 const _msgType, const bool _sendSecure, uint8 const* _content, uint8 const _length);
2215 
2218  //-----------------------------------------------------------------------------
2219  // Scene commands
2220  //-----------------------------------------------------------------------------
2227  public:
2234  DEPRECATED uint8 GetNumScenes();
2235 
2243  DEPRECATED uint8 GetAllScenes(uint8** _sceneIds);
2244 
2251  DEPRECATED void RemoveAllScenes(uint32 const _homeId);
2252 
2260  DEPRECATED uint8 CreateScene();
2261 
2269  DEPRECATED bool RemoveScene(uint8 const _sceneId);
2270 
2280  DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, bool const _value);
2281 
2291  DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, uint8 const _value);
2292 
2302  DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, float const _value);
2303 
2313  DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, int32 const _value);
2314 
2324  DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, int16 const _value);
2325 
2335  DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, string const& _value);
2336 
2346  DEPRECATED bool AddSceneValueListSelection(uint8 const _sceneId, ValueID const& _valueId, string const& _value);
2347 
2357  DEPRECATED bool AddSceneValueListSelection(uint8 const _sceneId, ValueID const& _valueId, int32 const _value);
2358 
2367  DEPRECATED bool RemoveSceneValue(uint8 const _sceneId, ValueID const& _valueId);
2368 
2377  DEPRECATED int SceneGetValues(uint8 const _sceneId, vector<ValueID>* o_value);
2378 
2388  DEPRECATED bool SceneGetValueAsBool(uint8 const _sceneId, ValueID const& _valueId, bool* o_value);
2389 
2399  DEPRECATED bool SceneGetValueAsByte(uint8 const _sceneId, ValueID const& _valueId, uint8* o_value);
2400 
2410  DEPRECATED bool SceneGetValueAsFloat(uint8 const _sceneId, ValueID const& _valueId, float* o_value);
2411 
2421  DEPRECATED bool SceneGetValueAsInt(uint8 const _sceneId, ValueID const& _valueId, int32* o_value);
2422 
2432  DEPRECATED bool SceneGetValueAsShort(uint8 const _sceneId, ValueID const& _valueId, int16* o_value);
2433 
2443  DEPRECATED bool SceneGetValueAsString(uint8 const _sceneId, ValueID const& _valueId, string* o_value);
2444 
2454  DEPRECATED bool SceneGetValueListSelection(uint8 const _sceneId, ValueID const& _valueId, string* o_value);
2455 
2465  DEPRECATED bool SceneGetValueListSelection(uint8 const _sceneId, ValueID const& _valueId, int32* o_value);
2466 
2476  DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, bool const _value);
2477 
2487  DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, uint8 const _value);
2488 
2498  DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, float const _value);
2499 
2509  DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, int32 const _value);
2510 
2520  DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, int16 const _value);
2521 
2531  DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, string const& _value);
2532 
2542  DEPRECATED bool SetSceneValueListSelection(uint8 const _sceneId, ValueID const& _valueId, string const& _value);
2543 
2553  DEPRECATED bool SetSceneValueListSelection(uint8 const _sceneId, ValueID const& _valueId, int32 const _value);
2554 
2562  DEPRECATED string GetSceneLabel(uint8 const _sceneId);
2563 
2571  DEPRECATED void SetSceneLabel(uint8 const _sceneId, string const& _value);
2572 
2580  DEPRECATED bool SceneExists(uint8 const _sceneId);
2581 
2589  DEPRECATED bool ActivateScene(uint8 const _sceneId);
2590 
2593  //-----------------------------------------------------------------------------
2594  // Statistics interface
2595  //-----------------------------------------------------------------------------
2600  public:
2606  void GetDriverStatistics(uint32 const _homeId, Driver::DriverData* _data);
2607 
2614  void GetNodeStatistics(uint32 const _homeId, uint8 const _nodeId, Node::NodeData* _data);
2615 
2621  static string GetNodeRouteScheme(Node::NodeData *_data);
2622 
2628  static string GetNodeRouteSpeed(Node::NodeData *_data);
2629 
2632  //-----------------------------------------------------------------------------
2633  // MetaData interface
2634  //-----------------------------------------------------------------------------
2639  public:
2647  string const GetMetaData(uint32 const _homeId, uint8 const _nodeId, Node::MetaDataFields _metadata);
2655  Node::ChangeLogEntry const GetChangeLog(uint32 const _homeId, uint8 const _nodeId, uint32_t revision);
2656 
2658  //-----------------------------------------------------------------------------
2659  // Config File Revision interface
2660  //-----------------------------------------------------------------------------
2665  public:
2678  bool checkLatestConfigFileRevision(uint32 const _homeId, uint8 const _nodeId);
2679 
2690  bool checkLatestMFSRevision(uint32 const _homeId);
2691 
2708  bool downloadLatestConfigFileRevision(uint32 const _homeId, uint8 const _nodeId);
2709 
2721  bool downloadLatestMFSRevision(uint32 const _homeId);
2722 
2725  };
2727 } // namespace OpenZWave
2728 
2729 #endif // _Manager_H
Definition: Bitfield.cpp:30
#define OPENZWAVE_EXPORT
Definition: Defs.h:52
unsigned short uint16
Definition: Defs.h:88
The main public interface to OpenZWave.
Definition: Manager.h:108
MetaDataFields
Definition: Node.h:878
#define DEPRECATED
Definition: Defs.h:61
Container that holds all of the values associated with a given node.
Definition: ValueStore.h:49
Definition: Group.h:63
The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.
Definition: Node.h:81
#define NULL
Definition: Defs.h:81
Base class for all Z-Wave command classes.
Definition: CommandClass.h:60
ControllerCommand
Definition: Driver.h:553
signed short int16
Definition: Defs.h:87
ControllerInterface
Definition: Driver.h:111
signed char int8
Definition: Defs.h:84
The Driver class handles communication between OpenZWave and a device attached via a serial port (typ...
Definition: Driver.h:84
Manages library options read from XML files or the command line.
Definition: Options.h:66
signed int int32
Definition: Defs.h:90
unsigned int uint32
Definition: Defs.h:91
Manages a group of devices (various nodes associated with each other).
Definition: Group.h:71
Provides a container for data sent via the notification callback handler installed by a call to Manag...
Definition: Notification.h:62
Provides a unique ID for a value reported by a Z-Wave device.The ValueID is used to uniquely identify...
Definition: ValueID.h:76
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:148
void(* pfnControllerCallback_t)(ControllerState _state, ControllerError _err, void *_context)
Definition: Driver.h:615
Definition: Defs.h:106
Message object to be passed to and from devices on the Z-Wave network.
Definition: Msg.h:50
Base class for values associated with a node.
Definition: Value.h:53
unsigned char uint8
Definition: Defs.h:85