ESPHome 2026.11.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
 Base class for filters that compare sensor values against a fixed list of configured values. More...
 
class  esphome::sensor::FilterOutValueFilter
 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
 Same as 'throttle' but will immediately publish values contained in value_to_prioritize. More...
 
class  esphome::sensor::ThrottleWithPriorityNanFilter
 Specialization of ThrottleWithPriorityFilter for the common "prioritize NaN" case: skips the TemplatableFn<float> array + lambda and inlines the check. More...
 
class  esphome::sensor::TimeoutFilterBase
 
class  esphome::sensor::TimeoutFilterLast
 
class  esphome::sensor::TimeoutFilterConfigured
 
class  esphome::sensor::TimeoutThrottleFilter
 Codegen use only: timeout (value last) followed by throttle_with_priority (NaN only) with the same period, as one object. More...
 
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
 Piecewise linear calibration; the segments are a PROGMEM table shared by filters with the same data. More...
 
class  esphome::sensor::CalibratePolynomialFilter
 Polynomial calibration; the coefficients are a PROGMEM table shared by filters with the same data. More...
 
class  esphome::sensor::ClampFilter
 
class  esphome::sensor::RoundFilter
 
class  esphome::sensor::RoundMultipleFilter
 
class  esphome::sensor::RoundSignificantDigitsFilter< Digits >
 
class  esphome::sensor::ToNTCResistanceFilter
 
class  esphome::sensor::ToNTCTemperatureFilter
 
class  esphome::sensor::RHCorrectionFilter
 RH Temperature correction filter. More...
 
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
 
namespace  esphome::sensor
 

Typedefs

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

Functions

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)