SinricPro Library
Loading...
Searching...
No Matches
Doorbell.h
1#pragma once
2
3#include "../EventLimiter.h"
4#include "../SinricProStrings.h"
5
6#include "../SinricProNamespace.h"
7namespace SINRICPRO_NAMESPACE {
8
9FSTR(DOORBELL, DoorbellPress); // "DoorbellPress"
10FSTR(DOORBELL, state); // "state"
11FSTR(DOORBELL, pressed); // "pressed"
12
17template <typename T>
18class Doorbell {
19 public:
20 Doorbell();
22 private:
23 EventLimiter event_limiter;
24};
25
26template <typename T>
28: event_limiter(EVENT_LIMIT_SENSOR_STATE) {}
29
38template <typename T>
40 if (event_limiter) return false;
41 T* device = static_cast<T*>(this);
42
46 return device->sendEvent(eventMessage);
47}
48
49} // SINRICPRO_NAMESPACE
50
51template <typename T>
52using Doorbell = SINRICPRO_NAMESPACE::Doorbell<T>;
AirQuality.
Definition AirQualitySensor.h:19
Dorbell.
Definition Doorbell.h:18
bool sendDoorbellEvent(String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send Doorbell event to SinricPro Server indicating someone pressed the doorbell button.
Definition Doorbell.h:39