diff --git a/esphome/components/binary_sensor/automation.h b/esphome/components/binary_sensor/automation.h index 4154cfd31e..1875910aff 100644 --- a/esphome/components/binary_sensor/automation.h +++ b/esphome/components/binary_sensor/automation.h @@ -105,10 +105,10 @@ class MultiClickTriggerBase : public Trigger<>, public Component { void set_invalid_cooldown(uint32_t invalid_cooldown) { this->invalid_cooldown_ = invalid_cooldown; } void cancel(); - - protected: MultiClickTriggerBase(const MultiClickTriggerBase &) = delete; MultiClickTriggerBase &operator=(const MultiClickTriggerBase &) = delete; + + protected: void on_state_(bool state); void schedule_cooldown_(); void schedule_is_valid_(uint32_t min_length); @@ -131,12 +131,7 @@ template class MultiClickTrigger : public MultiClickTriggerBase { public: MultiClickTrigger(BinarySensor *parent, std::initializer_list timing) : MultiClickTriggerBase(parent) { - size_t i = 0; - for (const auto &t : timing) { - if (i >= N) - break; - this->timing_storage_[i++] = t; - } + init_array_from(this->timing_storage_, timing); this->timing_ = this->timing_storage_.data(); this->timing_count_ = N; }