10namespace integration {
28 void setup()
override;
40 switch (this->
time_) {
44 return 1.0f / 1000.0f;
46 return 1.0f / 60000.0f;
48 return 1.0f / 3600000.0f;
50 return 1.0f / 86400000.0f;
59 float result_f = result;
84 void play(
const Ts &...
x)
override { this->
parent_->set_value(this->value_.value(
x...)); }
virtual void play(const Ts &...x)=0
Helper class to easily give an object a parent of type T.
IntegrationSensor * parent_
void process_sensor_value_(float value)
IntegrationMethod method_
void publish_and_save_(double result)
IntegrationSensorTime time_
void set_value(float value)
void set_time(IntegrationSensorTime time)
void set_restore(bool restore)
void dump_config() override
void set_method(IntegrationMethod method)
ESPPreferenceObject pref_
void set_sensor(Sensor *sensor)
void play(const Ts &...x) override
TEMPLATABLE_VALUE(float, value) void play(const Ts &...x) override
Base-class for all sensors.
void publish_state(float state)
Publish a new state to the front-end.
@ INTEGRATION_METHOD_TRAPEZOID
@ INTEGRATION_METHOD_LEFT
@ INTEGRATION_METHOD_RIGHT
@ INTEGRATION_SENSOR_TIME_DAY
@ INTEGRATION_SENSOR_TIME_MINUTE
@ INTEGRATION_SENSOR_TIME_MILLISECOND
@ INTEGRATION_SENSOR_TIME_HOUR
@ INTEGRATION_SENSOR_TIME_SECOND
Providing packet encoding functions for exchanging data with a remote host.