ESPHome 2025.12.0-dev
Loading...
Searching...
No Matches
esphome::sensor::MedianFilter Class Reference

Simple median filter. More...

#include <filter.h>

Inheritance diagram for esphome::sensor::MedianFilter:
esphome::sensor::SortedWindowFilter esphome::sensor::SlidingWindowFilter esphome::sensor::Filter

Protected Member Functions

float compute_result () override
 
- Protected Member Functions inherited from esphome::sensor::SortedWindowFilter
FixedVector< float > get_window_values_ ()
 Helper to get non-NaN values from the window (not sorted - caller will use nth_element) Returns empty FixedVector if all values are NaN.
 
- Protected Member Functions inherited from esphome::sensor::SlidingWindowFilter

Additional Inherited Members

- Public Member Functions inherited from esphome::sensor::SortedWindowFilter
 SlidingWindowFilter (size_t window_size, size_t send_every, size_t send_first_at)
 
- Public Member Functions inherited from esphome::sensor::SlidingWindowFilter
 SlidingWindowFilter (size_t window_size, size_t send_every, 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 Attributes inherited from esphome::sensor::SlidingWindowFilter
FixedVector< float > window_
 Access the sliding window values (ring buffer implementation) Use: for (size_t i = 0; i < window_count_; i++) { float val = window_[i]; }.
 
size_t window_head_ {0}
 Index where next value will be written.
 
size_t window_count_ {0}
 Number of valid values in window (0 to window_size_)
 
size_t window_size_
 Maximum window size.
 
size_t send_every_
 Send result every N values.
 
size_t send_at_
 Counter for send_every.
 
- Protected Attributes inherited from esphome::sensor::Filter
friend Sensor
 
Filternext_ {nullptr}
 
Sensorparent_ {nullptr}
 

Detailed Description

Simple median filter.

Takes the median of the last <window_size> values and pushes it out every <send_every>.

Definition at line 139 of file filter.h.

Member Function Documentation

◆ compute_result()

float esphome::sensor::MedianFilter::compute_result ( )
overrideprotectedvirtual

Implements esphome::sensor::SlidingWindowFilter.

Definition at line 83 of file filter.cpp.


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