SinricPro Library
SinricProThermostat

Device to control Thermostat. More...

Inheritance diagram for SinricProThermostat:
SinricProDevice

Public Types

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

Public Member Functions

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

Support

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

Member Typedef Documentation

◆ AdjustTargetTemperatureCallback

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

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
}

◆ 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
}

◆ SetTargetTemperatureCallback

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

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
}

◆ ThermostatModeCallback

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

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
}

Member Function Documentation

◆ onAdjustTargetTemperature()

void onAdjustTargetTemperature ( AdjustTargetTemperatureCallback  cb)

Set callback function for adjustTargetTemperature request.

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

◆ onPowerState()

void onPowerState ( PowerStateCallback  cb)
virtualinherited

Set callback function for powerState request.

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

◆ onTargetTemperature()

void onTargetTemperature ( SetTargetTemperatureCallback  cb)

Set callback function for targetTemperature request.

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

◆ onThermostatMode()

void onThermostatMode ( ThermostatModeCallback  cb)

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

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

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

Parameters
temperatureFloat with actual temperature measured by a sensor
humidity(optional) Float with 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" 
)

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
SinricProThermostat::onAdjustTargetTemperature
void onAdjustTargetTemperature(AdjustTargetTemperatureCallback cb)
Set callback function for adjustTargetTemperature request.
Definition: SinricProThermostat.h:152
SinricProThermostat::onThermostatMode
void onThermostatMode(ThermostatModeCallback cb)
Set callback function for setThermostatMode request.
Definition: SinricProThermostat.h:163
SinricProThermostat::onTargetTemperature
void onTargetTemperature(SetTargetTemperatureCallback cb)
Set callback function for targetTemperature request.
Definition: SinricProThermostat.h:141
SinricProDevice::onPowerState
virtual void onPowerState(PowerStateCallback cb)
Set callback function for powerState request.
Definition: SinricProDevice.h:139