23 "MultiClickTriggerEvent fields must all be uint32_t");
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.
const MultiClickTriggerEvent * timing_
void on_state_(bool state)
void set_invalid_cooldown(uint32_t invalid_cooldown)
void schedule_is_not_valid_(uint32_t max_length)
MultiClickTrigger(BinarySensor *parent, const MultiClickTriggerEvent *timing, uint8_t timing_count)
timing is a codegen PROGMEM table shared by triggers with the same timing.
uint32_t invalid_cooldown_
float get_setup_priority() const override
void schedule_is_valid_(uint32_t min_length)
MultiClickTrigger(const MultiClickTrigger &)=delete
MultiClickTrigger & operator=(const MultiClickTrigger &)=delete
void schedule_cooldown_()
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.
uint32_t IRAM_ATTR HOT millis()