update mqtt config setting on the fly

This commit is contained in:
proddy
2020-08-28 00:29:18 +02:00
parent b1e094293f
commit ae55789679
2 changed files with 9 additions and 3 deletions

View File

@@ -6,6 +6,7 @@ class EMSESP {
public:
static System system_;
static Mqtt mqtt_;
static Sensors sensors_;
};
} // namespace emsesp
@@ -112,6 +113,9 @@ void MqttSettingsService::onMqttDisconnect(AsyncMqttClientDisconnectReason reaso
void MqttSettingsService::onConfigUpdated() {
_reconfigureMqtt = true;
_disconnectedAt = 0;
// added by proddy
// reload EMS-ESP MQTT settings
}
#ifdef ESP32
@@ -164,6 +168,8 @@ void MqttSettingsService::configureMqtt() {
_mqttClient.setMaxTopicLength(_state.maxTopicLength);
_mqttClient.connect();
}
emsesp::EMSESP::sensors_.reload();
}
void MqttSettings::read(MqttSettings & settings, JsonObject & root) {
@@ -208,7 +214,6 @@ StateUpdateResult MqttSettings::update(JsonObject & root, MqttSettings & setting
if (newSettings.mqtt_qos != settings.mqtt_qos) {
emsesp::EMSESP::mqtt_.set_qos(newSettings.mqtt_qos);
emsesp::EMSESP::mqtt_.disconnect(); // force a disconnect & reconnect
}
if (newSettings.publish_time != settings.publish_time) {

View File

@@ -9,6 +9,7 @@
#include "../../src/system.h"
#include "../../src/mqtt.h"
#include "../../src/sensors.h"
#define MQTT_RECONNECTION_DELAY 5000