diff --git a/esphome/components/binary_sensor/filter.h b/esphome/components/binary_sensor/filter.h index 7ee253ead5..c1c54709a9 100644 --- a/esphome/components/binary_sensor/filter.h +++ b/esphome/components/binary_sensor/filter.h @@ -118,14 +118,12 @@ class LambdaFilter : public Filter { */ class StatelessLambdaFilter : public Filter { public: - using stateless_lambda_filter_t = optional (*)(bool); - - explicit StatelessLambdaFilter(stateless_lambda_filter_t f) : f_(f) {} + explicit StatelessLambdaFilter(optional (*f)(bool)) : f_(f) {} optional new_value(bool value) override { return this->f_(value); } protected: - stateless_lambda_filter_t f_; + optional (*f_)(bool); }; class SettleFilter : public Filter, public Component { diff --git a/esphome/components/sensor/filter.h b/esphome/components/sensor/filter.h index 4f0840a75e..ebcdbb8cab 100644 --- a/esphome/components/sensor/filter.h +++ b/esphome/components/sensor/filter.h @@ -303,14 +303,12 @@ class LambdaFilter : public Filter { */ class StatelessLambdaFilter : public Filter { public: - using stateless_lambda_filter_t = optional (*)(float); - - explicit StatelessLambdaFilter(stateless_lambda_filter_t lambda_filter) : lambda_filter_(lambda_filter) {} + explicit StatelessLambdaFilter(optional (*lambda_filter)(float)) : lambda_filter_(lambda_filter) {} optional new_value(float value) override { return this->lambda_filter_(value); } protected: - stateless_lambda_filter_t lambda_filter_; + optional (*lambda_filter_)(float); }; /// A simple filter that adds `offset` to each value it receives. diff --git a/esphome/components/text_sensor/filter.h b/esphome/components/text_sensor/filter.h index d8c71379ad..dddf1b2b34 100644 --- a/esphome/components/text_sensor/filter.h +++ b/esphome/components/text_sensor/filter.h @@ -69,14 +69,12 @@ class LambdaFilter : public Filter { */ class StatelessLambdaFilter : public Filter { public: - using stateless_lambda_filter_t = optional (*)(std::string); - - explicit StatelessLambdaFilter(stateless_lambda_filter_t lambda_filter) : lambda_filter_(lambda_filter) {} + explicit StatelessLambdaFilter(optional (*lambda_filter)(std::string)) : lambda_filter_(lambda_filter) {} optional new_value(std::string value) override { return this->lambda_filter_(value); } protected: - stateless_lambda_filter_t lambda_filter_; + optional (*lambda_filter_)(std::string); }; /// A simple filter that converts all text to uppercase