4#ifndef SRC_SUPLA_SENSOR_VIRTUAL_IMPULSE_COUNTER_H_
5#define SRC_SUPLA_SENSOR_VIRTUAL_IMPULSE_COUNTER_H_
7#include <supla-common/proto.h>
8#include <supla/action_handler.h>
9#include <supla/channel_element.h>
22 void handleAction(
int event,
int action)
override;
26 uint64_t getCounter()
const;
29 void setCounter(uint64_t value);
34 virtual void resetCounter();
36 void setForceStateSaveOnChange(
bool value);
37 void setDefaultImpulsesPerUnit(uint32_t impulsesPerUnit);
42 void fillChannelConfig(
void *channelConfig,
44 uint8_t configType)
override;
47 uint32_t lastReadTime = 0;
48 uint32_t defaultImpulsesPerUnit = 1000;
49 bool forceStateSaveOnChange =
false;
Definition action_handler.h:8
Definition channel_element.h:15
Definition virtual_impulse_counter.h:14
void onInit() override
Third method called on element in SuplaDevice.begin()
Definition virtual_impulse_counter.cpp:23
void onLoadState() override
Second method called on element in SuplaDevice.begin().
Definition virtual_impulse_counter.cpp:34
void iterateAlways() override
Method called on each SuplaDevice iteration.
Definition virtual_impulse_counter.cpp:56
int handleCalcfgFromServer(TSD_DeviceCalCfgRequest *request) override
Handles CALCFG requests from server.
Definition virtual_impulse_counter.cpp:84
void onSaveState() override
Method called periodically during SuplaDevice iteration.
Definition virtual_impulse_counter.cpp:30