SinricPro Library
Loading...
Searching...
No Matches
TemperatureSensor.h
1
#pragma once
2
3
#include "../EventLimiter.h"
4
#include "../SinricProStrings.h"
5
6
#include "../SinricProNamespace.h"
7
namespace
SINRICPRO_NAMESPACE {
8
9
FSTR(TEMPERATURE, currentTemperature);
// "currentTemperature"
10
FSTR(TEMPERATURE, humidity);
// "humidity"
11
FSTR(TEMPERATURE, temperature);
// "temperature"
12
17
template
<
typename
T>
18
class
TemperatureSensor
{
19
public
:
20
TemperatureSensor
();
21
bool
sendTemperatureEvent
(
float
temperature
,
float
humidity
= -1, String
cause
=
FSTR_SINRICPRO_PERIODIC_POLL
);
22
private
:
23
EventLimiter event_limiter;
24
};
25
26
template
<
typename
T>
27
TemperatureSensor<T>::TemperatureSensor
()
28
: event_limiter(EVENT_LIMIT_SENSOR_VALUE) {}
29
40
template
<
typename
T>
41
bool
TemperatureSensor<T>::sendTemperatureEvent
(
float
temperature
,
float
humidity
, String
cause
) {
42
if
(event_limiter)
return
false
;
43
T*
device
=
static_cast<
T*
>
(
this
);
44
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
);
50
}
51
52
}
// SINRICPRO_NAMESPACE
53
54
template
<
typename
T>
55
using
TemperatureSensor = SINRICPRO_NAMESPACE::TemperatureSensor<T>;
SINRICPRO_3_5_0::AirQualitySensor
AirQuality.
Definition
AirQualitySensor.h:19
SINRICPRO_3_5_0::TemperatureSensor
TemperatureSensor.
Definition
TemperatureSensor.h:18
SINRICPRO_3_5_0::TemperatureSensor::sendTemperatureEvent
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
esp8266-esp32-sdk
src
Capabilities
TemperatureSensor.h
Generated by
1.9.8