3#include "../SinricProRequest.h"
4#include "../EventLimiter.h"
5#include "../SinricProStrings.h"
7#include "../SinricProNamespace.h"
8namespace SINRICPRO_NAMESPACE {
10FSTR(PERCENTAGE, setPercentage);
11FSTR(PERCENTAGE, percentage);
12FSTR(PERCENTAGE, adjustPercentage);
62 bool handlePercentageController(SinricProRequest &
request);
65 EventLimiter event_limiter;
72: event_limiter(EVENT_LIMIT_STATE) {
73 T*
device =
static_cast<T*
>(
this);
108 if (event_limiter)
return false;
109 T*
device =
static_cast<T*
>(
this);
119 T*
device =
static_cast<T*
>(
this);
130 if (adjustPercentageCallback && request.action == FSTR_PERCENTAGE_adjustPercentage) {
131 int percentage = request.request_value[FSTR_PERCENTAGE_percentage];
132 success = adjustPercentageCallback(device->deviceId, percentage);
133 request.response_value[FSTR_PERCENTAGE_percentage] = percentage;
142using PercentageController = SINRICPRO_NAMESPACE::PercentageController<T>;
AirQuality.
Definition AirQualitySensor.h:19
PercentageController.
Definition PercentageController.h:52
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:29