BeeeOn Gateway  v2020.3.1-2-g6f737dc
Platform to interconnect the IoT world
ST02L1ZWaveMapperRegistry.h
1 #pragma once
2 
3 #include "zwave/SpecificZWaveMapperRegistry.h"
4 
5 namespace BeeeOn {
6 
25 public:
27 
28 private:
33  static SensorValue convert(const ZWaveNode::Value &value);
34 
40  class Device3in1Mapper : public Mapper {
41  public:
42  Device3in1Mapper(
43  const ZWaveNode::Identity &id,
44  const std::string &product,
45  bool pirVariant = false);
46 
47  std::list<ModuleType> types() const override;
48  SensorValue convert(const ZWaveNode::Value &value) const override;
49 
50  private:
51  bool m_pirVariant;
52  };
53 
57  class Device3in1WithPIRMapper : public Device3in1Mapper {
58  public:
59  Device3in1WithPIRMapper(
60  const ZWaveNode::Identity &id,
61  const std::string &product);
62  };
63 
67  class Device4in1Mapper : public Mapper {
68  public:
69  Device4in1Mapper(
70  const ZWaveNode::Identity &id,
71  const std::string &product);
72 
73  std::list<ModuleType> types() const override;
74  SensorValue convert(const ZWaveNode::Value &value) const override;
75  };
76 };
77 
78 }
SpecificZWaveMapperRegistry implements the method resolve() generically. The subclass of SpecificZWav...
Definition: SpecificZWaveMapperRegistry.h:20
Value coming from the Z-Wave network. It holds some data (usually sensor data) and metadata to identi...
Definition: ZWaveNode.h:102
Definition: SensorValue.h:14
Map the ZWaveNode-specific data to the BeeeOn-specific ones. It is assumed that the ZWaveNode instanc...
Definition: ZWaveMapperRegistry.h:31
Support PIR sensor from different manufacturers that seems to be based on the same PCB marked as ST02...
Definition: ST02L1ZWaveMapperRegistry.h:24
Identity of a Z-Wave node that can be used separately without any instance of the ZWaveNode class...
Definition: ZWaveNode.h:28