SinricPro Library
SinricProPowerSensor

Device to report power usage. More...

Inheritance diagram for SinricProPowerSensor:
SinricProDevice

Public Types

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

Public Member Functions

bool sendPowerSensorEvent (float voltage, float current, float power=-1.0f, float apparentPower=-1.0f, float reactivePower=-1.0f, float factor=-1.0f, String cause="PERIODIC_POLL")
 Send PowerSensor event to SinricPro Server. More...
 
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

Device to report power usage.

Member Typedef Documentation

◆ PowerStateCallback

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

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)
virtualinherited

Set callback function for powerState request.

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

◆ sendPowerSensorEvent()

bool sendPowerSensorEvent ( float  voltage,
float  current,
float  power = -1.0f,
float  apparentPower = -1.0f,
float  reactivePower = -1.0f,
float  factor = -1.0f,
String  cause = "PERIODIC_POLL" 
)

Send PowerSensor event to SinricPro Server.

Parameters
voltagevoltage
currentcurrent
power(optional) if not provided, it is calculated automaticly (power = voltage * current)
apparentPower(optional) if not provided it is set to -1
reactivePower(optional) if not provided it is set to -1
factor(optional) if not provided it is set to -1
if apparentPower is provided, factor is calculated automaticly (factor = power / apparentPower)
cause(optional) Reason why event is sent (default = "PERIODIC_POLL")
Returns
the success of sending the event
Return values
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time

◆ sendPowerStateEvent()

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

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