BeeeOn Gateway  v2020.3.1-2-g6f737dc
Platform to interconnect the IoT world
VPTValuesParser.h
1 #pragma once
2 
3 #include <map>
4 #include <string>
5 #include <vector>
6 
7 #include <Poco/JSON/Object.h>
8 
9 #include "model/DeviceID.h"
10 #include "model/SensorData.h"
11 #include "util/Loggable.h"
12 
13 namespace BeeeOn {
14 
15 class VPTValuesParser : protected Loggable {
16 public:
17  static const std::map<std::string, int> BOILER_OPERATION_TYPE;
18  static const std::map<std::string, int> BOILER_OPERATION_MODE;
19  static const std::map<std::string, int> BOILER_STATUS;
20  static const std::map<std::string, int> BOILER_MODE;
21 
22 public:
24  ~VPTValuesParser();
25 
26  std::vector<SensorData> parse(const DeviceID& id, const std::string& content);
27 
28 protected:
29  SensorData parseZone(const uint64_t zone, const DeviceID& id, const Poco::JSON::Object::Ptr json) const;
30  SensorData parseBoiler(const DeviceID& id, const Poco::JSON::Object::Ptr json) const;
31 };
32 
33 }
Definition: SensorData.h:20
Definition: Loggable.h:19
Definition: VPTValuesParser.h:15
Definition: DeviceID.h:17