Fix: Do not publish leading blanks in MQTT payload

Fixes #1011
This commit is contained in:
Thomas Basler 2023-06-07 17:58:31 +02:00
parent 82b0272ceb
commit 3b6c529efb
2 changed files with 5 additions and 2 deletions

View File

@ -129,7 +129,6 @@ void MqttHandleInverterClass::publishField(std::shared_ptr<InverterAbstract> inv
String value = String( String value = String(
inv->Statistics()->getChannelFieldValue(type, channel, fieldId), inv->Statistics()->getChannelFieldValue(type, channel, fieldId),
static_cast<unsigned int>(inv->Statistics()->getChannelFieldDigits(type, channel, fieldId))); static_cast<unsigned int>(inv->Statistics()->getChannelFieldDigits(type, channel, fieldId)));
value.trim();
MqttSettings.publish(topic, value); MqttSettings.publish(topic, value);
} }

View File

@ -159,7 +159,11 @@ void MqttSettingsClass::publish(const String& subtopic, const String& payload)
{ {
String topic = getPrefix(); String topic = getPrefix();
topic += subtopic; 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) void MqttSettingsClass::publishGeneric(const String& topic, const String& payload, bool retain, uint8_t qos)