19#ifndef SRC_SUPLA_SENSOR_GENERAL_PURPOSE_METER_H_
20#define SRC_SUPLA_SENSOR_GENERAL_PURPOSE_METER_H_
22#include "general_purpose_channel_base.h"
23#include <supla/action_handler.h>
28 public ActionHandler {
32 uint8_t counterType = 0;
33 uint8_t includeValueAddedInHistory = 0;
34 uint8_t fillMissingData = 0;
38 explicit GeneralPurposeMeter(MeasurementDriver *driver =
nullptr,
39 bool addMemoryVariableDriver =
true);
45 int *size, uint8_t configType)
override;
46 void handleAction(
int event,
int action)
override;
52 void setCounter(
double newValue);
54 void incCounter(
double incrementBy = 0);
56 void decCounter(
double decrementBy = 0);
57 void setValueStep(
double newValueStep);
58 void setResetToValue(
double newResetToValue);
60 void setCounterResetSupportFlag(
bool support);
62 void setKeepStateInStorage(
bool keep);
64 uint8_t getCounterType()
const;
65 uint8_t getIncludeValueAddedInHistory()
const;
66 uint8_t getFillMissingData()
const;
68 void setCounterType(uint8_t counterType,
bool local =
true);
69 void setIncludeValueAddedInHistory(uint8_t includeValueAddedInHistory,
71 void setFillMissingData(uint8_t fillMissingData,
bool local =
true);
74 void saveMeterSpecificConfig();
76 double resetToValue = 0;
77 bool isCounterResetSupported =
true;
78 bool keepStateInStorage =
false;
Definition SuplaDevice.h:93
GeneralPurposeChannelBase(MeasurementDriver *driver=nullptr, bool addMemoryVariableDriver=true)
Constructor.
Definition general_purpose_channel_base.cpp:34
void onLoadState() override
Second method called on element in SuplaDevice.begin().
Definition general_purpose_meter.cpp:307
void onLoadConfig(SuplaDeviceClass *sdc) override
Supla::Element::onLoadConfig() - called by SuplaDeviceClass::loadConfig() during initialization.
Definition general_purpose_meter.cpp:39
void onSaveState() override
Method called periodically during SuplaDevice iteration.
Definition general_purpose_meter.cpp:300
Supla::ApplyConfigResult applyChannelConfig(TSD_ChannelConfig *result, bool local) override
Applies new Channel Config (i.e.
Definition general_purpose_meter.cpp:58
int handleCalcfgFromServer(TSD_DeviceCalCfgRequest *request) override
Handles CALCFG requests from server.
Definition general_purpose_meter.cpp:248
void fillChannelConfig(void *channelConfig, int *size, uint8_t configType) override
Fills Channel Config.
Definition general_purpose_meter.cpp:119
Definition general_purpose_meter.h:31