BeeeOn Gateway  v2020.3.1-2-g6f737dc
Platform to interconnect the IoT world
ZWaveNodeInfo.h
1 #pragma once
2 
3 #include <list>
4 #include <set>
5 #include <string>
6 
7 #include <openzwave/Notification.h>
8 
9 #include "model/DeviceID.h"
10 #include "model/ModuleID.h"
11 #include "model/ModuleType.h"
12 
13 namespace BeeeOn {
14 
22 public:
23  typedef std::pair<OpenZWave::ValueID, ModuleType> ZWaveValuePair;
24 
25  ZWaveNodeInfo();
26 
27  static ZWaveNodeInfo build(uint32_t homeID, uint8_t nodeID);
28 
29  void setPaired(bool paired);
30  bool paired() const;
31 
32  void setVendorName(const std::string &name);
33  std::string vendorName() const;
34 
35  void setVendorID(uint32_t id);
36  uint32_t vendorID() const;
37 
38  void setProductName(const std::string &name);
39  std::string productName() const;
40 
41  void setProductID(uint32_t id);
42  uint32_t productID() const;
43 
44  void setPolled(bool polled);
45  bool polled() const;
46 
47  void setDeviceID(const DeviceID &deviceID);
48  DeviceID deviceID() const;
49 
50  void addValueID(const OpenZWave::ValueID &valueID, const ModuleType &type);
51  std::vector<ZWaveValuePair> valueIDs() const;
52 
53  ModuleID findModuleID(const OpenZWave::ValueID &valueID) const;
54  OpenZWave::ValueID findValueID(const unsigned int &index) const;
55  ModuleType findModuleType(const OpenZWave::ValueID &valueID) const;
56 
57  std::list<ModuleType> moduleTypes() const;
58 
59 private:
60  std::vector<ZWaveValuePair> m_zwaveValues;
61  bool m_polled;
62  bool m_paired;
63  std::string m_vendorName;
64  uint32_t m_vendorID;
65  std::string m_productName;
66  uint32_t m_productID;
67  DeviceID m_deviceID;
68 };
69 
70 }
Definition: ModuleID.h:12
Definition: ModuleType.h:18
Definition: ZWaveNodeInfo.h:21
Definition: DeviceID.h:17