ESPHome 2026.8.2
Loading...
Searching...
No Matches
esphome::binary_sensor::AutorepeatFilterBase Class Reference

Non-template base for AutorepeatFilter — all methods in filter.cpp. More...

#include <filter.h>

Inheritance diagram for esphome::binary_sensor::AutorepeatFilterBase:
esphome::binary_sensor::Filter esphome::binary_sensor::AutorepeatFilter< N >

Public Member Functions

optional< bool > new_value (bool value) override
 
 AutorepeatFilterBase (const AutorepeatFilterBase &)=delete
 
AutorepeatFilterBaseoperator= (const AutorepeatFilterBase &)=delete
 
- Public Member Functions inherited from esphome::binary_sensor::Filter
virtual void input (bool value)
 
void output (bool value)
 

Protected Member Functions

 AutorepeatFilterBase ()=default
 
void next_timing_ ()
 
void next_value_ (bool val)
 

Protected Attributes

const AutorepeatFilterTimingtimings_ {nullptr}
 
uint8_t timings_count_ {0}
 
uint8_t active_timing_ {0}
 
- Protected Attributes inherited from esphome::binary_sensor::Filter
friend BinarySensor
 
Filternext_ {nullptr}
 
BinarySensorparent_ {nullptr}
 
Deduplicator< bool > dedup_
 

Detailed Description

Non-template base for AutorepeatFilter — all methods in filter.cpp.

Lambdas capture this base pointer, so set_timeout/cancel_timeout are instantiated once. The two scheduled timers are keyed off this and &active_timing_; since the address of active_timing_ is taken as a scheduler key, the class must not be copied or moved.

Definition at line 89 of file filter.h.

Constructor & Destructor Documentation

◆ AutorepeatFilterBase() [1/2]

esphome::binary_sensor::AutorepeatFilterBase::AutorepeatFilterBase ( const AutorepeatFilterBase & )
delete

◆ AutorepeatFilterBase() [2/2]

esphome::binary_sensor::AutorepeatFilterBase::AutorepeatFilterBase ( )
protecteddefault

Member Function Documentation

◆ new_value()

optional< bool > esphome::binary_sensor::AutorepeatFilterBase::new_value ( bool value)
overridevirtual

Implements esphome::binary_sensor::Filter.

Definition at line 71 of file filter.cpp.

◆ next_timing_()

void esphome::binary_sensor::AutorepeatFilterBase::next_timing_ ( )
protected

Definition at line 85 of file filter.cpp.

◆ next_value_()

void esphome::binary_sensor::AutorepeatFilterBase::next_value_ ( bool val)
protected

Definition at line 96 of file filter.cpp.

◆ operator=()

AutorepeatFilterBase & esphome::binary_sensor::AutorepeatFilterBase::operator= ( const AutorepeatFilterBase & )
delete

Field Documentation

◆ active_timing_

uint8_t esphome::binary_sensor::AutorepeatFilterBase::active_timing_ {0}
protected

Definition at line 102 of file filter.h.

◆ timings_

const AutorepeatFilterTiming* esphome::binary_sensor::AutorepeatFilterBase::timings_ {nullptr}
protected

Definition at line 100 of file filter.h.

◆ timings_count_

uint8_t esphome::binary_sensor::AutorepeatFilterBase::timings_count_ {0}
protected

Definition at line 101 of file filter.h.


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