ESPHome 2026.3.2
Loading...
Searching...
No Matches
esphome::sensor::StreamingMaxFilter Class Reference

Streaming max filter for batch windows (window_size == send_every). More...

#include <filter.h>

Inheritance diagram for esphome::sensor::StreamingMaxFilter:
esphome::sensor::StreamingFilter esphome::sensor::Filter

Public Member Functions

 StreamingFilter (size_t window_size, size_t send_first_at)
 
- Public Member Functions inherited from esphome::sensor::StreamingFilter
 StreamingFilter (size_t window_size, size_t send_first_at)
 
optional< float > new_value (float value) final
 
- Public Member Functions inherited from esphome::sensor::Filter
virtual void initialize (Sensor *parent, Filter *next)
 Initialize this filter, please note this can be called more than once.
 
void input (float value)
 
void output (float value)
 

Protected Member Functions

void process_value (float value) override
 
float compute_batch_result () override
 
void reset_batch () override
 
- Protected Member Functions inherited from esphome::sensor::StreamingFilter

Protected Attributes

float current_max_ {NAN}
 
- Protected Attributes inherited from esphome::sensor::StreamingFilter
size_t window_size_
 
size_t count_ {0}
 
size_t send_first_at_
 
bool first_send_ {true}
 
- Protected Attributes inherited from esphome::sensor::Filter
friend Sensor
 
Filternext_ {nullptr}
 
Sensorparent_ {nullptr}
 

Detailed Description

Streaming max filter for batch windows (window_size == send_every).

Uses O(1) memory instead of O(n) by tracking only the maximum value.

Definition at line 613 of file filter.h.

Member Function Documentation

◆ compute_batch_result()

float esphome::sensor::StreamingMaxFilter::compute_batch_result ( )
overrideprotectedvirtual

Implements esphome::sensor::StreamingFilter.

Definition at line 564 of file filter.cpp.

◆ process_value()

void esphome::sensor::StreamingMaxFilter::process_value ( float value)
overrideprotectedvirtual

Implements esphome::sensor::StreamingFilter.

Definition at line 557 of file filter.cpp.

◆ reset_batch()

void esphome::sensor::StreamingMaxFilter::reset_batch ( )
overrideprotectedvirtual

Implements esphome::sensor::StreamingFilter.

Definition at line 566 of file filter.cpp.

◆ StreamingFilter()

esphome::sensor::StreamingFilter::StreamingFilter ( size_t window_size,
size_t send_first_at )

Definition at line 573 of file filter.cpp.

Field Documentation

◆ current_max_

float esphome::sensor::StreamingMaxFilter::current_max_ {NAN}
protected

Definition at line 622 of file filter.h.


The documentation for this class was generated from the following files: