diff --git a/esphome/components/optolink/optolink_binary_sensor.h b/esphome/components/optolink/optolink_binary_sensor.h index a9446538db..6ec63cc855 100644 --- a/esphome/components/optolink/optolink_binary_sensor.h +++ b/esphome/components/optolink/optolink_binary_sensor.h @@ -23,7 +23,7 @@ class OptolinkBinarySensor : public OptolinkSensorBase, void setup() override { setup_datapoint_(); } void update() override { optolink_->read_value(datapoint_); } - const std::string &get_sensor_name() override { return get_name(); } + const StringRef &get_sensor_name() override { return get_name(); } void value_changed(float state) override { publish_state(state); }; }; } // namespace optolink diff --git a/esphome/components/optolink/optolink_device_info_sensor.h b/esphome/components/optolink/optolink_device_info_sensor.h index 5c00267fea..94ace35a25 100644 --- a/esphome/components/optolink/optolink_device_info_sensor.h +++ b/esphome/components/optolink/optolink_device_info_sensor.h @@ -14,7 +14,7 @@ class OptolinkDeviceInfoSensor : public esphome::text_sensor::TextSensor, public public: OptolinkDeviceInfoSensor(const std::string &name, Optolink *optolink) { optolink_ = optolink; - set_name(name); + set_name(name.c_str()); set_update_interval(1800000); set_entity_category(esphome::ENTITY_CATEGORY_DIAGNOSTIC); } diff --git a/esphome/components/optolink/optolink_number.h b/esphome/components/optolink/optolink_number.h index 13ca89041d..6b8409d539 100644 --- a/esphome/components/optolink/optolink_number.h +++ b/esphome/components/optolink/optolink_number.h @@ -18,7 +18,7 @@ class OptolinkNumber : public OptolinkSensorBase, public esphome::number::Number void setup() override { setup_datapoint_(); } void update() override { optolink_->read_value(datapoint_); } - const std::string &get_sensor_name() override { return get_name(); } + const StringRef &get_sensor_name() override { return get_name(); } void value_changed(float state) override { publish_state(state); }; void control(float value) override; diff --git a/esphome/components/optolink/optolink_select.h b/esphome/components/optolink/optolink_select.h index 017239f65f..995c9923f3 100644 --- a/esphome/components/optolink/optolink_select.h +++ b/esphome/components/optolink/optolink_select.h @@ -28,7 +28,7 @@ class OptolinkSelect : public OptolinkSensorBase, public esphome::select::Select void setup() override { setup_datapoint_(); } void update() override { optolink_->read_value(datapoint_); } - const std::string &get_sensor_name() override { return get_name(); } + const StringRef &get_sensor_name() override { return get_name(); } void value_changed(float state) override; void control(const std::string &value) override; diff --git a/esphome/components/optolink/optolink_sensor.h b/esphome/components/optolink/optolink_sensor.h index f51fd715f9..032af7a03e 100644 --- a/esphome/components/optolink/optolink_sensor.h +++ b/esphome/components/optolink/optolink_sensor.h @@ -20,7 +20,7 @@ class OptolinkSensor : public OptolinkSensorBase, public esphome::sensor::Sensor void setup() { setup_datapoint_(); } void update() override { optolink_->read_value(datapoint_); } - const std::string &get_sensor_name() override { return get_name(); } + const StringRef &get_sensor_name() override { return get_name(); } void value_changed(float state) override { publish_state(state); }; }; } // namespace optolink diff --git a/esphome/components/optolink/optolink_sensor_base.h b/esphome/components/optolink/optolink_sensor_base.h index 4ebaec463c..3c84de4d85 100644 --- a/esphome/components/optolink/optolink_sensor_base.h +++ b/esphome/components/optolink/optolink_sensor_base.h @@ -3,6 +3,7 @@ #ifdef USE_ARDUINO #include "esphome/core/log.h" +#include "esphome/core/string_ref.h" #include "VitoWiFi.h" namespace esphome { @@ -33,7 +34,7 @@ class OptolinkSensorBase { void set_div_ratio(int div_ratio) { div_ratio_ = div_ratio; } protected: - virtual const std::string &get_sensor_name() = 0; + virtual const StringRef &get_sensor_name() = 0; virtual void value_changed(float state) = 0; }; diff --git a/esphome/components/optolink/optolink_state_sensor.h b/esphome/components/optolink/optolink_state_sensor.h index 889a777d0a..9652bf2c61 100644 --- a/esphome/components/optolink/optolink_state_sensor.h +++ b/esphome/components/optolink/optolink_state_sensor.h @@ -14,7 +14,7 @@ class OptolinkStateSensor : public esphome::text_sensor::TextSensor, public esph public: OptolinkStateSensor(std::string name, Optolink *optolink) { optolink_ = optolink; - set_name(name); + set_name(name.c_str()); set_update_interval(1000); set_entity_category(esphome::ENTITY_CATEGORY_DIAGNOSTIC); } diff --git a/esphome/components/optolink/optolink_switch.h b/esphome/components/optolink/optolink_switch.h index 0e4c3d8319..970e7a1a67 100644 --- a/esphome/components/optolink/optolink_switch.h +++ b/esphome/components/optolink/optolink_switch.h @@ -21,7 +21,7 @@ class OptolinkSwitch : public OptolinkSensorBase, public esphome::switch_::Switc void setup() override { setup_datapoint_(); } void update() override { optolink_->read_value(datapoint_); } - const std::string &get_sensor_name() override { return get_name(); } + const StringRef &get_sensor_name() override { return get_name(); } void value_changed(float state) override { publish_state(state); }; void write_state(bool value) override; diff --git a/esphome/components/optolink/optolink_text_sensor.h b/esphome/components/optolink/optolink_text_sensor.h index 5d51e200ac..950b68f1cb 100644 --- a/esphome/components/optolink/optolink_text_sensor.h +++ b/esphome/components/optolink/optolink_text_sensor.h @@ -22,7 +22,7 @@ class OptolinkTextSensor : public OptolinkSensorBase, void setup() override; void update() override { optolink_->read_value(datapoint_); } - const std::string &get_sensor_name() override { return get_name(); } + const StringRef &get_sensor_name() override { return get_name(); } void value_changed(float state) override { publish_state(std::to_string(state)); }; private: