SinricPro Library
SinricProThermostat

Device to control Thermostat. More...

Inheritance diagram for SinricProThermostat:

Public Types

using PowerStateCallback = std::function< bool(const String &, bool &)>
 Callback definition for onPowerState function. More...
 
using ThermostatModeCallback = std::function< bool(const String &, String &)>
 Callback definition for onThermostatMode function. More...
 
using SetTargetTemperatureCallback = std::function< bool(const String &, float &)>
 Callback definition for onTargetTemperature function. More...
 
using AdjustTargetTemperatureCallback = std::function< bool(const String &, float &)>
 Callback definition for onAdjustTargetTemperature function. More...
 

Public Member Functions

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...
 
void onThermostatMode (ThermostatModeCallback cb)
 Set callback function for setThermostatMode request. More...
 
void onTargetTemperature (SetTargetTemperatureCallback cb)
 Set callback function for targetTemperature request. More...
 
void onAdjustTargetTemperature (AdjustTargetTemperatureCallback cb)
 Set callback function for adjustTargetTemperature request. More...
 
bool sendThermostatModeEvent (String thermostatMode, String cause="PHYSICAL_INTERACTION")
 Send thermostatMode event to report a the new mode the device has been set to. More...
 
bool sendTargetTemperatureEvent (float temperature, String cause="PHYSICAL_INTERACTION")
 Send targetTemperature event to report target temperature change. More...
 
bool sendTemperatureEvent (float temperature, float humidity=-1, String cause="PERIODIC_POLL")
 Send currentTemperature event to report actual temperature (measured by a sensor) More...
 

Detailed Description

Device to control Thermostat.

Support

  • Set / adjust target temperature
  • Report target temperature
  • Report actual temperature
  • Set thermostat mode AUTO, COOL, HEAT

Member Typedef Documentation

◆ AdjustTargetTemperatureCallback

using AdjustTargetTemperatureCallback = std::function<bool(const String &, float &)>
inherited

Callback definition for onAdjustTargetTemperature function.

Gets called when device receive a adjustTargetTemperature reuqest

Parameters
[in]deviceIdString which contains the ID of device
[in]temperatureFloat relative temperature device should change about
[out]temperatureFloat absolute temperature device is set to
Returns
the success of the request
Return values
truerequest handled properly
falserequest was not handled properly because of some error

Example-Code

float globalTargetTemp;
bool onAdjustTargetTemperature(const String &deviceId, float &tempDelta) {
globalTargetTemp += tempDelta; // change global target temperature about tempDelta
Serial.printf("Device %s target temperature changed about %f to %f\r\n", deviceId.c_str(), tempDelta, globalTargetTemp);
tempDelta = globalTargetTemp; // return absolute target temperature
return true; // request handled properly
}
void onAdjustTargetTemperature(AdjustTargetTemperatureCallback cb)
Set callback function for adjustTargetTemperature request.
Definition: ThermostatController.h:110

◆ PowerStateCallback

using PowerStateCallback = std::function<bool(const String &, bool &)>
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
}
void onPowerState(PowerStateCallback cb)
Set callback function for powerState request.
Definition: PowerStateController.h:47

◆ SetTargetTemperatureCallback

using SetTargetTemperatureCallback = std::function<bool(const String &, float &)>
inherited

Callback definition for onTargetTemperature function.

Gets called when device receive a targetTemperature request

Parameters
[in]deviceIdString which contains the ID of device
[in]temperatureFloat device is requested to set the target temperature to
[out]temperatureFloat target temperature temperature device is set to
Returns
the success of the request
Return values
truerequest handled properly
falserequest was not handled properly because of some error

Example-Code

bool onTargetTemperature(const String &deviceId, float &targetTemp) {
Serial.printf("Device %s target temperature set to %f\r\n", deviceId.c_str(), targetTemp);
return true; // request handled properly
}
void onTargetTemperature(SetTargetTemperatureCallback cb)
Set callback function for targetTemperature request.
Definition: ThermostatController.h:98

◆ ThermostatModeCallback

using ThermostatModeCallback = std::function<bool(const String &, String &)>
inherited

Callback definition for onThermostatMode function.

Gets called when device receive a setThermostatMode request

Parameters
[in]deviceIdString which contains the ID of device
[in]modeString with mode device should set to
[out]modeString device mode is set to
Returns
the success of the request
Return values
truerequest handled properly
falserequest was not handled properly because of some error

Example-Code

bool onThermostatMode(const String& deviceId, String& mode) {
Serial.printf("Deivce %s thermostat mode set to %s\r\n", deviceId.c_str(), mode);
return true; // request handled properly
}
void onThermostatMode(ThermostatModeCallback cb)
Set callback function for setThermostatMode request.
Definition: ThermostatController.h:86

Member Function Documentation

◆ onAdjustTargetTemperature()

void onAdjustTargetTemperature ( AdjustTargetTemperatureCallback  cb)
inherited

Set callback function for adjustTargetTemperature request.

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

◆ onPowerState()

void onPowerState ( PowerStateCallback  cb)
inherited

Set callback function for powerState request.

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

◆ onTargetTemperature()

void onTargetTemperature ( SetTargetTemperatureCallback  cb)
inherited

Set callback function for targetTemperature request.

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

◆ onThermostatMode()

void onThermostatMode ( ThermostatModeCallback  cb)
inherited

Set callback function for setThermostatMode request.

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

◆ 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

◆ sendTargetTemperatureEvent()

bool sendTargetTemperatureEvent ( float  temperature,
String  cause = "PHYSICAL_INTERACTION" 
)
inherited

Send targetTemperature event to report target temperature change.

Parameters
temperatureFloat with actual target temperature the device is set to
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

◆ sendTemperatureEvent()

bool sendTemperatureEvent ( float  temperature,
float  humidity = -1,
String  cause = "PERIODIC_POLL" 
)
inherited

Send currentTemperature event to report actual temperature (measured by a sensor)

Parameters
temperaturefloat actual temperature measured by a sensor
humidityfloat (optional) actual humidity measured by a sensor (default=-1.0f means not supported)
cause(optional) String reason why event is sent (default = "PERIODIC_POLL")
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

◆ sendThermostatModeEvent()

bool sendThermostatModeEvent ( String  thermostatMode,
String  cause = "PHYSICAL_INTERACTION" 
)
inherited

Send thermostatMode event to report a the new mode the device has been set to.

Parameters
thermostatModeString with actual mode (AUTO, COOL, HEAT) the device is set to
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