From 3b6c529efbdc6ebe9a04d528b0fe5fcbced06dfd Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 7 Jun 2023 17:58:31 +0200 Subject: [PATCH] Fix: Do not publish leading blanks in MQTT payload Fixes #1011 --- src/MqttHandleInverter.cpp | 1 - src/MqttSettings.cpp | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/MqttHandleInverter.cpp b/src/MqttHandleInverter.cpp index ed620dc..a42803c 100644 --- a/src/MqttHandleInverter.cpp +++ b/src/MqttHandleInverter.cpp @@ -129,7 +129,6 @@ void MqttHandleInverterClass::publishField(std::shared_ptr inv String value = String( inv->Statistics()->getChannelFieldValue(type, channel, fieldId), static_cast(inv->Statistics()->getChannelFieldDigits(type, channel, fieldId))); - value.trim(); MqttSettings.publish(topic, value); } diff --git a/src/MqttSettings.cpp b/src/MqttSettings.cpp index da0363d..d5b29fa 100644 --- a/src/MqttSettings.cpp +++ b/src/MqttSettings.cpp @@ -159,7 +159,11 @@ void MqttSettingsClass::publish(const String& subtopic, const String& payload) { String topic = getPrefix(); topic += subtopic; - mqttClient->publish(topic.c_str(), 0, Configuration.get().Mqtt_Retain, payload.c_str()); + + String value = payload; + value.trim(); + + mqttClient->publish(topic.c_str(), 0, Configuration.get().Mqtt_Retain, value.c_str()); } void MqttSettingsClass::publishGeneric(const String& topic, const String& payload, bool retain, uint8_t qos)