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);
44 void handleAction(
int event,
int action)
override;
50 void setCounter(
double newValue);
52 void incCounter(
double incrementBy = 0);
54 void decCounter(
double decrementBy = 0);
55 void setValueStep(
double newValueStep);
56 void setResetToValue(
double newResetToValue);
58 void setCounterResetSupportFlag(
bool support);
60 void setKeepStateInStorage(
bool keep);
62 uint8_t getCounterType()
const;
63 uint8_t getIncludeValueAddedInHistory()
const;
64 uint8_t getFillMissingData()
const;
66 void setCounterType(uint8_t counterType,
bool local =
true);
67 void setIncludeValueAddedInHistory(uint8_t includeValueAddedInHistory,
69 void setFillMissingData(uint8_t fillMissingData,
bool local =
true);
72 void saveMeterSpecificConfig();
74 double resetToValue = 0;
75 bool isCounterResetSupported =
true;
76 bool keepStateInStorage =
false;
Definition SuplaDevice.h:93
GeneralPurposeChannelBase(MeasurementDriver *driver=nullptr, bool addMemoryVariableDriver=true)
Constructor.
Definition general_purpose_channel_base.cpp:33
void onLoadState() override
Second method called on element in SuplaDevice.begin().
Definition general_purpose_meter.cpp:304
void fillChannelConfig(void *channelConfig, int *size) override
Fills Channel Config.
Definition general_purpose_meter.cpp:121
uint8_t applyChannelConfig(TSD_ChannelConfig *result, bool local) override
Applies new Channel Config (i.e.
Definition general_purpose_meter.cpp:57
void onLoadConfig(SuplaDeviceClass *sdc) override
Supla::Element::onLoadConfig() - called by SuplaDeviceClass::loadConfig() during initialization.
Definition general_purpose_meter.cpp:38
void onSaveState() override
Method called periodically during SuplaDevice iteration.
Definition general_purpose_meter.cpp:297
int handleCalcfgFromServer(TSD_DeviceCalCfgRequest *request) override
Handles CALCFG requests from server.
Definition general_purpose_meter.cpp:245
Definition general_purpose_meter.h:31