SinricPro Library
ThermostatController< T >

ThermostatController. More...

Inheritance diagram for ThermostatController< T >:

Public Types

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 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...
 

Detailed Description

template<typename T>
class ThermostatController< T >

ThermostatController.

Member Typedef Documentation

◆ AdjustTargetTemperatureCallback

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

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

◆ SetTargetTemperatureCallback

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

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

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)

Set callback function for adjustTargetTemperature request.

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

◆ 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

◆ 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

◆ 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