From bb52d24c2539a6c2fc91321cd5e0231151c15713 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 18 Jul 2022 19:08:38 +0200 Subject: [PATCH] Implemented public getPrefix method to get the mqtt topic prefix --- include/MqttSettings.h | 2 ++ src/MqttSettings.cpp | 9 +++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/include/MqttSettings.h b/include/MqttSettings.h index 59b0677..c89d523 100644 --- a/include/MqttSettings.h +++ b/include/MqttSettings.h @@ -15,6 +15,8 @@ public: bool getConnected(); void publish(String subtopic, String payload); + String getPrefix(); + private: void WiFiEvent(WiFiEvent_t event); diff --git a/src/MqttSettings.cpp b/src/MqttSettings.cpp index 5f099d3..d66f80a 100644 --- a/src/MqttSettings.cpp +++ b/src/MqttSettings.cpp @@ -51,7 +51,7 @@ void MqttSettingsClass::performConnect() mqttClient.setServer(config.Mqtt_Hostname, config.Mqtt_Port); mqttClient.setCredentials(config.Mqtt_Username, config.Mqtt_Password); - willTopic = String(config.Mqtt_Topic) + config.Mqtt_LwtTopic; + willTopic = getPrefix() + config.Mqtt_LwtTopic; mqttClient.setWill(willTopic.c_str(), 2, config.Mqtt_Retain, config.Mqtt_LwtValue_Offline); clientId = WiFiSettings.getApName(); @@ -81,9 +81,14 @@ bool MqttSettingsClass::getConnected() return mqttClient.connected(); } +String MqttSettingsClass::getPrefix() +{ + return Configuration.get().Mqtt_Topic; +} + void MqttSettingsClass::publish(String subtopic, String payload) { - String topic = Configuration.get().Mqtt_Topic; + String topic = getPrefix(); topic += subtopic; mqttClient.publish(topic.c_str(), 0, Configuration.get().Mqtt_Retain, payload.c_str()); }