3#include "../SinricProRequest.h"
4#include "../EventLimiter.h"
5#include "../SinricProStrings.h"
7#include "../SinricProNamespace.h"
8namespace SINRICPRO_NAMESPACE {
10FSTR(POWERSTATE, state);
13FSTR(POWERSTATE, setPowerState);
44 bool handlePowerStateController(SinricProRequest &
request);
47 EventLimiter event_limiter;
53: event_limiter(EVENT_LIMIT_STATE) {
54 T*
device =
static_cast<T*
>(
this);
67 powerStateCallback =
cb;
81 if (event_limiter)
return false;
82 T*
device =
static_cast<T*
>(
this);
92 T*
device =
static_cast<T*
>(
this);
108using PowerStateController = SINRICPRO_NAMESPACE::PowerStateController<T>;
AirQuality.
Definition AirQualitySensor.h:19
PowerStateController.
Definition PowerStateController.h:36
void onPowerState(PowerStateCallback cb)
Set callback function for powerState request.
Definition PowerStateController.h:66
bool sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setPowerState event to SinricPro Server indicating actual power state.
Definition PowerStateController.h:80
std::function< bool(const String &, bool &)> PowerStateCallback
Callback definition for onPowerState function.
Definition PowerStateController.h:28