diff --git a/esphome/components/sensor/filter.h b/esphome/components/sensor/filter.h index 896c5314c4..e289f997f2 100644 --- a/esphome/components/sensor/filter.h +++ b/esphome/components/sensor/filter.h @@ -500,14 +500,7 @@ optional or_filter_new_value(Filter **filters, size_t count, float value, /// N is set by code generation to match the exact number of filters configured in YAML. template class OrFilter : public Filter { public: - explicit OrFilter(std::initializer_list filters) { - size_t i = 0; - for (auto *f : filters) { - if (i >= N) - break; - this->filters_[i++] = f; - } - } + explicit OrFilter(std::initializer_list filters) { init_array_from(this->filters_, filters); } void initialize(Sensor *parent, Filter *next) override { Filter::initialize(parent, next);