2#ifndef SENSESP_TRANSFORMS_TIME_COUNTER_H_
3#define SENSESP_TRANSFORMS_TIME_COUNTER_H_
7static const char kTimeCounterSchema[] = R
"({
12 "title": "Total Duration",
13 "description": "Total accumulated duration while the input state is non-zero or true, in seconds"
16 "required": ["duration"]
75 debugD(
"Setting TimeCounter configuration");
76 if (!
config.containsKey(
"duration")) {
86 return kTimeCounterSchema;
virtual void save_configuration()
virtual void load_configuration()
A transform that outputs the duration of the input value being true or non-null.
virtual void get_configuration(JsonObject &root) override
virtual String get_config_schema() override
unsigned long start_time_
virtual bool set_configuration(const JsonObject &config) override
unsigned long duration_at_start_
TimeCounter(String config_path)
virtual void set_input(T input, uint8_t input_channel=0) override