Introduce generic mqtt publish method

Allows publish of mqtt topics from other modules
This commit is contained in:
Thomas Basler 2022-12-14 20:58:57 +01:00
parent 13bae3a96d
commit 113caf510f
2 changed files with 6 additions and 0 deletions

View File

@ -15,6 +15,7 @@ public:
void performReconnect(); void performReconnect();
bool getConnected(); bool getConnected();
void publish(const String& subtopic, const String& payload); 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 publishHass(const String& subtopic, const String& payload);
void subscribe(const String& topic, uint8_t qos, const espMqttClientTypes::OnMessageCallback& cb); void subscribe(const String& topic, uint8_t qos, const espMqttClientTypes::OnMessageCallback& cb);

View File

@ -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()); 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) void MqttSettingsClass::publishHass(const String& subtopic, const String& payload)
{ {
String topic = Configuration.get().Mqtt_Hass_Topic; String topic = Configuration.get().Mqtt_Hass_Topic;