|
ESPHome 2026.5.0
|
Simple sliding window moving average filter. More...
#include <filter.h>
Public Member Functions | |
| SlidingWindowFilter (uint16_t window_size, uint16_t send_every, uint16_t send_first_at) | |
| Construct a SlidingWindowMovingAverageFilter. | |
Public Member Functions inherited from esphome::sensor::SlidingWindowFilter | |
| SlidingWindowFilter (uint16_t window_size, uint16_t send_every, uint16_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 | |
| float | compute_result () override |
Protected Member Functions inherited from esphome::sensor::SlidingWindowFilter | |
Additional Inherited Members | |
Protected Attributes inherited from esphome::sensor::SlidingWindowFilter | |
| FixedRingBuffer< float > | window_ |
| Sliding window ring buffer - automatically overwrites oldest values when full. | |
| uint16_t | send_every_ |
| Send result every N values. | |
| uint16_t | send_at_ |
| Counter for send_every. | |
Protected Attributes inherited from esphome::sensor::Filter | |
| friend | Sensor |
| Filter * | next_ {nullptr} |
| Sensor * | parent_ {nullptr} |
Simple sliding window moving average filter.
Essentially just takes takes the average of the last window_size values and pushes them out every send_every.
|
overrideprotectedvirtual |
Implements esphome::sensor::SlidingWindowFilter.
Definition at line 132 of file filter.cpp.
| esphome::sensor::SlidingWindowFilter::SlidingWindowFilter | ( | uint16_t | window_size, |
| uint16_t | send_every, | ||
| uint16_t | send_first_at ) |
Construct a SlidingWindowMovingAverageFilter.
| window_size | The number of values that should be averaged. |
| send_every | After how many sensor values should a new one be pushed out. |
| send_first_at | After how many values to forward the very first value. Defaults to the first value on startup being published on the first raw value, so with no filter applied. Must be less than or equal to send_every. |
Definition at line 56 of file filter.cpp.