6 #include <Poco/SharedPtr.h>
7 #include <Poco/JSON/Object.h>
9 #include "conrad/FHEMClient.h"
10 #include "model/DeviceID.h"
11 #include "model/ModuleType.h"
12 #include "model/RefreshTime.h"
13 #include "model/SensorData.h"
14 #include "util/Loggable.h"
23 typedef Poco::SharedPtr<ConradDevice> Ptr;
25 static const std::string VENDOR_NAME;
30 const std::string& productName,
31 const std::list<ModuleType>& moduleTypes);
36 std::list<ModuleType> moduleTypes()
const;
37 std::string vendor()
const;
38 std::string productName()
const;
40 virtual void requestModifyState(
43 FHEMClient::Ptr fhemClient);
64 std::string m_productName;
65 std::list<ModuleType> m_moduleTypes;
RefreshTime represents time of refreshing values from sensors. E.g. sensors are polled periodically o...
Definition: RefreshTime.h:24
Definition: SensorData.h:20
Definition: ModuleID.h:12
static std::string constructFHEMDeviceId(const DeviceID &id)
Returns FHEM device id constructed from a given DeviceID.
Definition: ConradDevice.cpp:60
Abstract class representing generic Conrad device.
Definition: ConradDevice.h:21
Definition: Loggable.h:19
bool isNumber(const std::string &s)
Returns true or false depending if the string is number or not.
Definition: ConradDevice.cpp:70
virtual SensorData parseMessage(const Poco::JSON::Object::Ptr message)=0
Transforms received ZMQ message to SensorData.
Definition: DeviceID.h:17