3 #include "../EventLimiter.h"
4 #include "../SinricProStrings.h"
6 #include "../SinricProNamespace.h"
7 namespace SINRICPRO_NAMESPACE {
9 FSTR(TEMPERATURE, currentTemperature);
10 FSTR(TEMPERATURE, humidity);
11 FSTR(TEMPERATURE, temperature);
21 bool sendTemperatureEvent(
float temperature,
float humidity = -1, String cause = FSTR_SINRICPRO_PERIODIC_POLL);
23 EventLimiter event_limiter;
28 : event_limiter(EVENT_LIMIT_SENSOR_VALUE) {}
42 if (event_limiter)
return false;
43 T* device =
static_cast<T*
>(
this);
45 JsonDocument eventMessage = device->prepareEvent(FSTR_TEMPERATURE_currentTemperature, cause.c_str());
46 JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
47 event_value[FSTR_TEMPERATURE_humidity] = roundf(humidity * 100) / 100.0;
48 event_value[FSTR_TEMPERATURE_temperature] = roundf(temperature * 10) / 10.0;
49 return device->sendEvent(eventMessage);
55 using TemperatureSensor = SINRICPRO_NAMESPACE::TemperatureSensor<T>;
TemperatureSensor.
Definition: TemperatureSensor.h:18
bool sendTemperatureEvent(float temperature, float humidity=-1, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
Send currentTemperature event to report actual temperature (measured by a sensor)
Definition: TemperatureSensor.h:41