SinricPro Library
SinricProDevice

Base class for all device types. More...

Inheritance diagram for SinricProDevice:
SinricProBlinds SinricProContactsensor SinricProDimSwitch SinricProDoorbell SinricProFanUS SinricProGarageDoor SinricProLight SinricProLock SinricProMotionsensor SinricProSpeaker SinricProSwitch SinricProTemperaturesensor SinricProThermostat SinricProTV SinricProWindowAC

Public Types

typedef std::function< bool(const String &, bool &)> PowerStateCallback
 Callback definition for onPowerState function. More...
 

Public Member Functions

virtual void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request. More...
 
bool sendPowerStateEvent (bool state, String cause="PHYSICAL_INTERACTION")
 Send setPowerState event to SinricPro Server indicating actual power state. More...
 

Detailed Description

Base class for all device types.

Supporting base functions which needed by all device types to work with SinricProClass
Implements basic on/off functions like onPowerState and sendPowerStateEvent

Member Typedef Documentation

◆ PowerStateCallback

typedef std::function<bool(const String&, bool&)> PowerStateCallback

Callback definition for onPowerState function.

Gets called when device receive a setPowerState reuqest

Parameters
[in]deviceIdString which contains the ID of device
[in]statetrue = device is requested to turn on
false = device is requested to turn off
[out]statetrue = device has been turned on
false = device has been turned off
Returns
the success of the request
Return values
truerequest handled properly
falserequest was not handled properly because of some error

Example-Code

bool onPowerState(const String &deviceId, bool &state) {
Serial.printf("Device %s turned %s\r\n", deviceId.c_str(), state?"on":"off");
return true; // request handled properly
}

Member Function Documentation

◆ onPowerState()

void onPowerState ( PowerStateCallback  cb)
virtual

Set callback function for powerState request.

Parameters
cbFunction pointer to a PowerStateCallback function
Returns
void
See also
PowerStateCallback

◆ sendPowerStateEvent()

bool sendPowerStateEvent ( bool  state,
String  cause = "PHYSICAL_INTERACTION" 
)

Send setPowerState event to SinricPro Server indicating actual power state.

Parameters
statetrue = device turned on
false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
Returns
the success of sending the even
Return values
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
SinricProDevice::onPowerState
virtual void onPowerState(PowerStateCallback cb)
Set callback function for powerState request.
Definition: SinricProDevice.h:139