SinricPro Library
Loading...
Searching...
No Matches
MotionSensor.h
1#pragma once
2
3#include "../EventLimiter.h"
4#include "../SinricProStrings.h"
5
6#include "../SinricProNamespace.h"
7namespace SINRICPRO_NAMESPACE {
8
9FSTR(MOTION, motion); // "motion"
10FSTR(MOTION, state); // "state"
11FSTR(MOTION, detected); // "detected"
12FSTR(MOTION, notDetected); // "notDetected"
13
18template <typename T>
20 public:
23 private:
24 EventLimiter event_limiter;
25};
26
27template <typename T>
29: event_limiter(EVENT_LIMIT_SENSOR_STATE) {}
30
40template <typename T>
42 if (event_limiter) return false;
43 T* device = static_cast<T*>(this);
44
48 return device->sendEvent(eventMessage);
49}
50
51} // SINRICPRO_NAMESPACE
52
53template <typename T>
54using MotionSensor = SINRICPRO_NAMESPACE::MotionSensor<T>;
AirQuality.
Definition AirQualitySensor.h:19
MotionSensor.
Definition MotionSensor.h:19
bool sendMotionEvent(bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Sending motion detection state to SinricPro server.
Definition MotionSensor.h:41