diff --git a/esphome/components/mqtt/mqtt_sensor.cpp b/esphome/components/mqtt/mqtt_sensor.cpp index 032dd3b6c6..6c77404767 100644 --- a/esphome/components/mqtt/mqtt_sensor.cpp +++ b/esphome/components/mqtt/mqtt_sensor.cpp @@ -59,10 +59,11 @@ void MQTTSensorComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryCon root[MQTT_FORCE_UPDATE] = true; if (this->sensor_->get_state_class() != STATE_CLASS_NONE) { + auto state_class_s = state_class_to_string(this->sensor_->get_state_class()); #ifdef USE_STORE_LOG_STR_IN_FLASH - root[MQTT_STATE_CLASS] = (const __FlashStringHelper *) state_class_to_string(this->sensor_->get_state_class()); + root[MQTT_STATE_CLASS] = (const __FlashStringHelper *) state_class_s; #else - root[MQTT_STATE_CLASS] = state_class_to_string(this->sensor_->get_state_class()); + root[MQTT_STATE_CLASS] = LOG_STR_ARG(state_class_s); #endif }