BeeeOn Gateway  v2020.3.1-2-g6f737dc
Platform to interconnect the IoT world
Public Types | Public Member Functions | Protected Attributes
BeeeOn::BelkinWemoStandaloneDevice Class Reference

Abstract class representing generic BelkinWemo standalone device. The class implements sending messages to control the device. More...

#include <BelkinWemoStandaloneDevice.h>

Inheritance diagram for BeeeOn::BelkinWemoStandaloneDevice:
BeeeOn::BelkinWemoDevice BeeeOn::PollableDevice BeeeOn::Loggable BeeeOn::BelkinWemoDimmer BeeeOn::BelkinWemoSwitch

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< ModuleTypemoduleTypes () 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)
 

Detailed Description

Abstract class representing generic BelkinWemo standalone device. The class implements sending messages to control the device.

Member Function Documentation

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.

Parameters
&setModuleNamename of XML element used in sent message.
&getModuleNamename of XML element used for searching in received message.
Returns
If the request was successful or not.

The documentation for this class was generated from the following files: