3#include "../SinricProRequest.h"
4#include "../EventLimiter.h"
5#include "../SinricProStrings.h"
7#include "../SinricProNamespace.h"
8namespace SINRICPRO_NAMESPACE {
10FSTR(BRIGHTNESS, setBrightness);
11FSTR(BRIGHTNESS, brightness);
12FSTR(BRIGHTNESS, adjustBrightness);
13FSTR(BRIGHTNESS, brightnessDelta);
59 bool handleBrightnessController(SinricProRequest &
request);
62 EventLimiter event_limiter;
69: event_limiter (EVENT_LIMIT_STATE) {
70 T*
device =
static_cast<T*
>(
this);
83 brightnessCallback =
cb;
95 adjustBrightnessCallback =
cb;
109 if (event_limiter)
return false;
110 T*
device =
static_cast<T*
>(
this);
120 T*
device =
static_cast<T*
>(
this);
129 if (adjustBrightnessCallback && request.action == FSTR_BRIGHTNESS_adjustBrightness) {
130 int brightnessDelta = request.request_value[FSTR_BRIGHTNESS_brightnessDelta];
131 success = adjustBrightnessCallback(device->deviceId, brightnessDelta);
132 request.response_value[FSTR_BRIGHTNESS_brightness] = brightnessDelta;
141using BrightnessController = SINRICPRO_NAMESPACE::BrightnessController<T>;
AirQuality.
Definition AirQualitySensor.h:19
BrightnessController.
Definition BrightnessController.h:50
void onAdjustBrightness(AdjustBrightnessCallback cb)
Set callback function for adjustBrightness request.
Definition BrightnessController.h:94
bool sendBrightnessEvent(int brightness, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setBrightness event to SinricPro Server indicating actual brightness.
Definition BrightnessController.h:108
void onBrightness(BrightnessCallback cb)
Set callback function for setBrightness request.
Definition BrightnessController.h:82
std::function< bool(const String &, int &)> AdjustBrightnessCallback
Callback definition for onAdjustBrightness function.
Definition BrightnessController.h:43
std::function< bool(const String &, int &)> BrightnessCallback
Callback definition for onBrightness function.
Definition BrightnessController.h:28