ESPHome 2026.5.0-dev
Loading...
Searching...
No Matches
filter.h File Reference

Go to the source code of this file.

Data Structures

class  esphome::sensor::Filter
 Apply a filter to sensor values such as moving average. More...
 
class  esphome::sensor::SlidingWindowFilter
 Base class for filters that use a sliding window of values. More...
 
class  esphome::sensor::MinMaxFilter
 Base class for Min/Max filters. More...
 
class  esphome::sensor::SortedWindowFilter
 Base class for filters that need a sorted window (Median, Quantile). More...
 
class  esphome::sensor::QuantileFilter
 Simple quantile filter. More...
 
class  esphome::sensor::MedianFilter
 Simple median filter. More...
 
class  esphome::sensor::SkipInitialFilter
 Simple skip filter. More...
 
class  esphome::sensor::MinFilter
 Simple min filter. More...
 
class  esphome::sensor::MaxFilter
 Simple max filter. More...
 
class  esphome::sensor::SlidingWindowMovingAverageFilter
 Simple sliding window moving average filter. More...
 
class  esphome::sensor::ExponentialMovingAverageFilter
 Simple exponential moving average filter. More...
 
class  esphome::sensor::ThrottleAverageFilter
 Simple throttle average filter. More...
 
class  esphome::sensor::LambdaFilter
 This class allows for creation of simple template filters. More...
 
class  esphome::sensor::StatelessLambdaFilter
 Optimized lambda filter for stateless lambdas (no capture). More...
 
class  esphome::sensor::OffsetFilter
 A simple filter that adds offset to each value it receives. More...
 
class  esphome::sensor::MultiplyFilter
 A simple filter that multiplies to each value it receives by multiplier. More...
 
class  esphome::sensor::ValueListFilter< N >
 Base class for filters that compare sensor values against a fixed list of configured values. More...
 
class  esphome::sensor::FilterOutValueFilter< N >
 A simple filter that only forwards the filter chain if it doesn't receive value_to_filter_out. More...
 
class  esphome::sensor::ThrottleFilter
 
class  esphome::sensor::ThrottleWithPriorityFilter< N >
 Same as 'throttle' but will immediately publish values contained in value_to_prioritize. More...
 
class  esphome::sensor::TimeoutFilterBase
 
class  esphome::sensor::TimeoutFilterLast
 
class  esphome::sensor::TimeoutFilterConfigured
 
class  esphome::sensor::DebounceFilter
 
class  esphome::sensor::HeartbeatFilter
 
class  esphome::sensor::DeltaFilter
 
class  esphome::sensor::OrFilter< N >
 N is set by code generation to match the exact number of filters configured in YAML. More...
 
class  esphome::sensor::OrFilter< N >::PhiNode
 
class  esphome::sensor::CalibrateLinearFilter< N >
 N is set by code generation to match the exact number of calibration segments. More...
 
class  esphome::sensor::CalibratePolynomialFilter< N >
 N is set by code generation to match the exact number of polynomial coefficients. More...
 
class  esphome::sensor::ClampFilter
 
class  esphome::sensor::RoundFilter
 
class  esphome::sensor::RoundMultipleFilter
 
class  esphome::sensor::ToNTCResistanceFilter
 
class  esphome::sensor::ToNTCTemperatureFilter
 
class  esphome::sensor::StreamingFilter
 Base class for streaming filters (batch windows where window_size == send_every). More...
 
class  esphome::sensor::StreamingMinFilter
 Streaming min filter for batch windows (window_size == send_every). More...
 
class  esphome::sensor::StreamingMaxFilter
 Streaming max filter for batch windows (window_size == send_every). More...
 
class  esphome::sensor::StreamingMovingAverageFilter
 Streaming moving average filter for batch windows (window_size == send_every). More...
 

Namespaces

namespace  esphome
 Providing packet encoding functions for exchanging data with a remote host.
 
namespace  esphome::sensor
 

Typedefs

using esphome::sensor::lambda_filter_t = std::function<optional<float>(float)>
 

Functions

bool esphome::sensor::value_list_matches_any (Sensor *parent, float sensor_value, const TemplatableFn< float > *values, size_t count)
 Non-template helper for value matching (implementation in filter.cpp)
 
optional< float > esphome::sensor::throttle_with_priority_new_value (Sensor *parent, float value, const TemplatableFn< float > *values, size_t count, uint32_t &last_input, uint32_t min_time_between_inputs)
 Non-template helper for ThrottleWithPriorityFilter (implementation in filter.cpp)
 
void esphome::sensor::or_filter_initialize (Filter **filters, size_t count, Sensor *parent, Filter *phi)
 Non-template helpers for OrFilter (implementation in filter.cpp)
 
optional< float > esphome::sensor::or_filter_new_value (Filter **filters, size_t count, float value, bool &has_value)
 
optional< float > esphome::sensor::calibrate_linear_compute (const std::array< float, 3 > *functions, size_t count, float value)
 Non-template helper for linear calibration (implementation in filter.cpp)
 
optional< float > esphome::sensor::calibrate_polynomial_compute (const float *coefficients, size_t count, float value)
 Non-template helper for polynomial calibration (implementation in filter.cpp)