void add_on_state_callback(F &&callback)
T get_state_default(T default_value) const
Return the current state if available, otherwise return the provided default.
void trigger(const Ts &...x) ESPHOME_ALWAYS_INLINE
Base class for all binary_sensor-type classes.
uint32_t min_length_
The millis() time when the click started.
uint32_t max_length_
Minimum length of click. 0 means no minimum.
ClickTrigger(BinarySensor *parent, uint32_t min_length, uint32_t max_length)
DoubleClickTrigger(BinarySensor *parent, uint32_t min_length, uint32_t max_length)
uint32_t max_length_
Minimum length of click. 0 means no minimum.
Non-template base for MultiClickTrigger (keeps large method bodies out of the header).
MultiClickTriggerBase & operator=(const MultiClickTriggerBase &)=delete
void set_invalid_cooldown(uint32_t invalid_cooldown)
void schedule_is_not_valid_(uint32_t max_length)
const MultiClickTriggerEvent * timing_
void schedule_is_valid_(uint32_t min_length)
float get_setup_priority() const override
MultiClickTriggerBase(BinarySensor *parent)
MultiClickTriggerBase(const MultiClickTriggerBase &)=delete
void schedule_cooldown_()
optional< size_t > at_index_
void on_state_(bool state)
uint32_t invalid_cooldown_
Template wrapper that provides inline std::array storage for timing events.
std::array< MultiClickTriggerEvent, N > timing_storage_
MultiClickTrigger(BinarySensor *parent, std::initializer_list< MultiClickTriggerEvent > timing)
bool match_interval(uint32_t min_length, uint32_t max_length, uint32_t length)
constexpr float HARDWARE
For components that deal with hardware and are very important like GPIO switch.
void init_array_from(std::array< T, N > &dest, std::initializer_list< T > src)
Initialize a std::array from an initializer_list.
uint32_t IRAM_ATTR HOT millis()