1 #ifndef _PERCENTAGECONTROLLER_H_
2 #define _PERCENTAGECONTROLLER_H_
4 #include "SinricProRequest.h"
52 bool handlePercentageController(SinricProRequest &request);
90 T& device =
static_cast<T&
>(*this);
92 DynamicJsonDocument eventMessage = device.prepareEvent(
"setPercentage", cause.c_str());
93 JsonObject event_value = eventMessage[
"payload"][
"value"];
94 event_value[
"percentage"] = percentage;
95 return device.sendEvent(eventMessage);
100 T &device =
static_cast<T &
>(*this);
102 bool success =
false;
104 if (percentageCallback && request.action ==
"setPercentage") {
105 int percentage = request.request_value[
"percentage"];
106 success = percentageCallback(device.deviceId, percentage);
107 request.response_value[
"percentage"] = percentage;
111 if (adjustPercentageCallback && request.action ==
"adjustPercentage") {
112 int percentage = request.request_value[
"percentage"];
113 success = adjustPercentageCallback(device.deviceId, percentage);
114 request.response_value[
"percentage"] = percentage;
PercentageController.
Definition: PercentageController.h:11
std::function< bool(const String &, int &)> AdjustPercentageCallback
Callback definition for onAdjustPercentage function.
Definition: PercentageController.h:44
std::function< bool(const String &, int &)> SetPercentageCallback
Callback definition for onSetPercentage function.
Definition: PercentageController.h:28
void onAdjustPercentage(AdjustPercentageCallback cb)
Set callback function for adjustPercentage request.
Definition: PercentageController.h:77
bool sendSetPercentageEvent(int percentage, String cause="PHYSICAL_INTERACTION")
Send setPercentage event to SinricPro Server indicating actual percentage has changed.
Definition: PercentageController.h:89
void onSetPercentage(SetPercentageCallback cb)
Set callback function for setPercentage request.
Definition: PercentageController.h:67