supla-device
Loading...
Searching...
No Matches
pressure.h
1// SPDX-FileCopyrightText: AC SOFTWARE SP. Z O.O.
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#ifndef SRC_SUPLA_SENSOR_PRESSURE_H_
5#define SRC_SUPLA_SENSOR_PRESSURE_H_
6
7#include <supla/channel_element.h>
8#include <supla/time.h>
9
10#define PRESSURE_NOT_AVAILABLE -1.0
11
12namespace Supla {
13namespace Sensor {
14class Pressure : public ChannelElement {
15 public:
16 Pressure() : lastReadTime(0) {
17 channel.setType(SUPLA_CHANNELTYPE_PRESSURESENSOR);
18 channel.setDefaultFunction(SUPLA_CHANNELFNC_PRESSURESENSOR);
19 channel.setNewValue(PRESSURE_NOT_AVAILABLE);
20 }
21
22 virtual double getValue() {
23 return PRESSURE_NOT_AVAILABLE;
24 }
25
27 if (millis() - lastReadTime > 10000) {
28 lastReadTime = millis();
29 channel.setNewValue(getValue());
30 }
31 }
32
33 protected:
34 uint32_t lastReadTime;
35};
36
37}; // namespace Sensor
38}; // namespace Supla
39
40#endif // SRC_SUPLA_SENSOR_PRESSURE_H_
Definition channel_element.h:15
void setDefaultFunction(uint32_t function)
Set default function.
Definition channel.cpp:324
Definition pressure.h:14
void iterateAlways()
Method called on each SuplaDevice iteration.
Definition pressure.h:26