19#ifndef SRC_SUPLA_CONTROL_VALVE_BASE_H_
20#define SRC_SUPLA_CONTROL_VALVE_BASE_H_
22#include <supla/channel_element.h>
23#include <supla-common/proto.h>
24#include <supla/action_handler.h>
32 uint8_t sensorData[20];
33 uint8_t reserved[32] = {};
49 explicit ValveBase(
bool openClose =
true);
57 bool local =
false)
override;
58 void fillChannelConfig(
void *channelConfig,
int *size)
override;
165 uint32_t lastSensorsCheckTimestamp = 0;
166 uint32_t lastUpdateTimestamp = 0;
167 uint32_t lastCmdTimestamp = 0;
168 uint32_t ignoreManuallyOpenedTimeMs = 30000;
169 uint8_t lastOpenLevelState = 0;
Definition SuplaDevice.h:93
Definition action_handler.h:21
void closeValve()
Close valve.
Definition valve_base.cpp:293
bool isFloodDetected() const
Check all sensors and return true if flood is detected.
Definition valve_base.cpp:85
bool removeSensor(uint8_t channelNumber)
Remove sensor from the channel's configuration.
Definition valve_base.cpp:391
void printConfig() const
Print current configuration in logs (for debug purpose)
Definition valve_base.cpp:160
void iterateAlways() override
Method called on each SuplaDevice iteration.
Definition valve_base.cpp:51
void onLoadConfig(SuplaDeviceClass *) override
First method called on element in SuplaDevice.begin().
Definition valve_base.cpp:135
void onLoadState() override
Second method called on element in SuplaDevice.begin().
Definition valve_base.cpp:169
virtual uint8_t getValueOpenStateFromDevice()
Get value from device or any other interface.
Definition valve_base.cpp:413
bool addSensor(uint8_t channelNumber)
Add sensor to the channel's configuration.
Definition valve_base.cpp:348
void setIgnoreManuallyOpenedTimeMs(uint32_t timeMs)
Set ignore manually opened time in milliseconds.
Definition valve_base.cpp:426
void onSaveState() override
Method called periodically during SuplaDevice iteration.
Definition valve_base.cpp:196
void setValve(uint8_t openLevel)
Set valve.
Definition valve_base.cpp:301
void handleAction(int event, int action) override
Implementation of ActionHandler::handleAction.
Definition valve_base.cpp:430
void purgeConfig() override
Removes all configration data related to the element from Storage::Config.
Definition valve_base.cpp:150
void saveConfig(bool local=true)
Save current configuration to Config.
Definition valve_base.cpp:320
int32_t handleNewValueFromServer(TSD_SuplaChannelNewValue *newValue) override
Handles "new value" request from server.
Definition valve_base.cpp:112
void openValve()
Open valve.
Definition valve_base.cpp:297
void onInit() override
Third method called on element in SuplaDevice.begin()
Definition valve_base.cpp:47
ValveBase(bool openClose=true)
Constructor.
Definition valve_base.cpp:35
virtual void setValueOnDevice(uint8_t openLevel)
Set value on device or any other interface.
Definition valve_base.cpp:420
Definition valve_base.h:30