BeeeOn Gateway
v2020.3.1-2-g6f737dc
Platform to interconnect the IoT world
|
Abstract class representing generic BelkinWemo standalone device. The class implements sending messages to control the device. More...
#include <BelkinWemoStandaloneDevice.h>
Public Types | |
typedef Poco::SharedPtr < BelkinWemoStandaloneDevice > | Ptr |
Public Types inherited from BeeeOn::BelkinWemoDevice | |
typedef Poco::SharedPtr < BelkinWemoDevice > | Ptr |
Public Types inherited from BeeeOn::PollableDevice | |
typedef Poco::SharedPtr < PollableDevice > | Ptr |
Public Member Functions | |
BelkinWemoStandaloneDevice (const Poco::URI &uri, const Poco::Timespan &httpTimeout, const RefreshTime &refresh) | |
HTTPEntireResponse | requestBinaryState () const |
Prepares SOAP message containing GetBinaryState request and sends it to device via HTTP. If the device do not respond in specified timeout, Poco::TimeoutException is thrown. | |
bool | requestModifyBinaryState (const std::string &setModuleName, const std::string &getModuleName, const int value) const |
Prepares SOAP message containing SetBinaryState request and sends it to device via HTTP. If the device do not respond in specified timeout, Poco::TimeoutException is thrown. More... | |
Poco::Net::SocketAddress | address () const |
void | setAddress (const Poco::Net::SocketAddress &address) |
Public Member Functions inherited from BeeeOn::BelkinWemoDevice | |
BelkinWemoDevice (const DeviceID &id, const RefreshTime &refresh) | |
DeviceID | deviceID () const |
DeviceID | id () const override |
RefreshTime | refresh () const override |
Regular period telling how often to call the method PollableDevice::poll(). The refresh must contain a valid time. | |
virtual bool | requestModifyState (const ModuleID &moduleID, const double value)=0 |
virtual SensorData | requestState ()=0 |
void | poll (Distributor::Ptr distributor) override |
Perform polling for data and ship them via the given distributor. | |
virtual std::list< ModuleType > | moduleTypes () const =0 |
virtual std::string | name () const =0 |
virtual Poco::FastMutex & | lock () |
Protected Attributes | |
Poco::URI | m_uri |
const Poco::Timespan | m_httpTimeout |
Protected Attributes inherited from BeeeOn::BelkinWemoDevice | |
const DeviceID | m_deviceId |
RefreshTime | m_refresh |
Poco::FastMutex | m_lock |
Additional Inherited Members | |
Static Public Member Functions inherited from BeeeOn::BelkinWemoDevice | |
static Poco::XML::Node * | findNode (Poco::XML::NodeIterator &iterator, const std::string &name) |
Finds the first node with the given name and returns it's value. When the value of node si empty returns NULL. If the node with the given name does not exist Poco::NotFoundException is raised. | |
static std::list < Poco::XML::Node * > | findNodes (Poco::XML::NodeIterator &iterator, const std::string &name) |
Finds all nodes with the given name and returns their values. | |
Protected Member Functions inherited from BeeeOn::Loggable | |
void | setupLogger (Poco::Logger *logger=0) const |
Poco::Logger & | logger () const |
Loggable (const ClassInfo &info) | |
Loggable (const std::type_info &info) | |
Static Protected Member Functions inherited from BeeeOn::Loggable | |
static Poco::Logger & | forMethod (const char *name) |
static Poco::Logger & | forClass (const ClassInfo &info) |
static Poco::Logger & | forClass (const std::type_info &info) |
template<typename T > | |
static Poco::Logger & | forInstance (const T *i) |
static void | configureSimple (Poco::Logger &logger, const std::string &level) |
static void | logException (Poco::Logger &logger, const Poco::Message::Priority priority, const Poco::Exception &e, const char *file, size_t line) |
Abstract class representing generic BelkinWemo standalone device. The class implements sending messages to control the device.
bool BelkinWemoStandaloneDevice::requestModifyBinaryState | ( | const std::string & | setModuleName, |
const std::string & | getModuleName, | ||
const int | value | ||
) | const |
Prepares SOAP message containing SetBinaryState request and sends it to device via HTTP. If the device do not respond in specified timeout, Poco::TimeoutException is thrown.
&setModuleName | name of XML element used in sent message. |
&getModuleName | name of XML element used for searching in received message. |