From 113caf510f9a57f569d301d19bf257bf5aa0e073 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 14 Dec 2022 20:58:57 +0100 Subject: [PATCH] Introduce generic mqtt publish method Allows publish of mqtt topics from other modules --- include/MqttSettings.h | 1 + src/MqttSettings.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/include/MqttSettings.h b/include/MqttSettings.h index a6b3bc14..8cedd315 100644 --- a/include/MqttSettings.h +++ b/include/MqttSettings.h @@ -15,6 +15,7 @@ public: void performReconnect(); bool getConnected(); void publish(const String& subtopic, const String& payload); + void publishGeneric(const String& topic, const String& payload, bool retain, uint8_t qos = 0); void publishHass(const String& subtopic, const String& payload); void subscribe(const String& topic, uint8_t qos, const espMqttClientTypes::OnMessageCallback& cb); diff --git a/src/MqttSettings.cpp b/src/MqttSettings.cpp index 06bc749b..8414bc6d 100644 --- a/src/MqttSettings.cpp +++ b/src/MqttSettings.cpp @@ -160,6 +160,11 @@ void MqttSettingsClass::publish(const String& subtopic, const String& payload) mqttClient->publish(topic.c_str(), 0, Configuration.get().Mqtt_Retain, payload.c_str()); } +void MqttSettingsClass::publishGeneric(const String& topic, const String& payload, bool retain, uint8_t qos) +{ + mqttClient->publish(topic.c_str(), qos, retain, payload.c_str()); +} + void MqttSettingsClass::publishHass(const String& subtopic, const String& payload) { String topic = Configuration.get().Mqtt_Hass_Topic;