19#ifndef SRC_SUPLA_SENSOR_BINARY_BASE_H_
20#define SRC_SUPLA_SENSOR_BINARY_BASE_H_
22#include <supla/channels/binary_sensor_channel.h>
23#include <supla/element_with_channel_actions.h>
32struct BinarySensorConfig {
37 uint16_t filteringTimeMs;
43 BinarySensorConfig() : reserved{} {}
47class BinaryBase :
public ElementWithChannelActions {
50 virtual ~BinaryBase();
51 virtual bool getValue() = 0;
54 const Channel *getChannel()
const override;
57 bool local =
false)
override;
97 bool setTimeoutDs(uint16_t timeoutDs,
bool local =
true);
164 uint8_t configType)
override;
169 uint32_t lastReadTime = 0;
170 uint32_t readIntervalMs = 100;
172 BinarySensorConfig config;
Definition binary_sensor_channel.h:25
Definition SuplaDevice.h:97
bool setSensitivity(uint8_t sensitivity, bool local=true)
Set the sensitivity.
Definition binary_base.cpp:200
uint16_t getFilteringTimeMs() const
Get the filtering time in ms.
Definition binary_base.cpp:230
void purgeConfig() override
Purge the configuration.
Definition binary_base.cpp:97
bool isServerInvertLogic() const
Get the invert logic setting.
Definition binary_base.cpp:251
void iterateAlways() override
Method called on each SuplaDevice iteration.
Definition binary_base.cpp:173
void setReadIntervalMs(uint32_t intervalMs)
Set the read interval in ms.
Definition binary_base.cpp:255
uint8_t getSensitivity() const
Get the sensitivity.
Definition binary_base.cpp:213
bool setServerInvertLogic(bool invertLogic, bool local=true)
Set the invert logic.
Definition binary_base.cpp:188
uint16_t getTimeoutDs() const
Get the timeout in deciseconds (1 == 0.1 s).
Definition binary_base.cpp:247
bool setFilteringTimeMs(uint16_t filteringTimeMs, bool local=true)
Set the filtering time in ms.
Definition binary_base.cpp:217
void onLoadConfig(SuplaDeviceClass *) override
First method called on element in SuplaDevice.begin().
Definition binary_base.cpp:42
bool setTimeoutDs(uint16_t timeoutDs, bool local=true)
Set the timeout in deciseconds (1 == 0.1 s).
Definition binary_base.cpp:234
void fillChannelConfig(void *channelConfig, int *size, uint8_t configType) override
Fill the channel config.
Definition binary_base.cpp:262