mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 00:09:51 +03:00
update mqtt config setting on the fly
This commit is contained in:
@@ -6,6 +6,7 @@ class EMSESP {
|
|||||||
public:
|
public:
|
||||||
static System system_;
|
static System system_;
|
||||||
static Mqtt mqtt_;
|
static Mqtt mqtt_;
|
||||||
|
static Sensors sensors_;
|
||||||
};
|
};
|
||||||
} // namespace emsesp
|
} // namespace emsesp
|
||||||
|
|
||||||
@@ -112,6 +113,9 @@ void MqttSettingsService::onMqttDisconnect(AsyncMqttClientDisconnectReason reaso
|
|||||||
void MqttSettingsService::onConfigUpdated() {
|
void MqttSettingsService::onConfigUpdated() {
|
||||||
_reconfigureMqtt = true;
|
_reconfigureMqtt = true;
|
||||||
_disconnectedAt = 0;
|
_disconnectedAt = 0;
|
||||||
|
|
||||||
|
// added by proddy
|
||||||
|
// reload EMS-ESP MQTT settings
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
@@ -164,6 +168,8 @@ void MqttSettingsService::configureMqtt() {
|
|||||||
_mqttClient.setMaxTopicLength(_state.maxTopicLength);
|
_mqttClient.setMaxTopicLength(_state.maxTopicLength);
|
||||||
_mqttClient.connect();
|
_mqttClient.connect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
emsesp::EMSESP::sensors_.reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MqttSettings::read(MqttSettings & settings, JsonObject & root) {
|
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) {
|
if (newSettings.mqtt_qos != settings.mqtt_qos) {
|
||||||
emsesp::EMSESP::mqtt_.set_qos(newSettings.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) {
|
if (newSettings.publish_time != settings.publish_time) {
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
#include "../../src/system.h"
|
#include "../../src/system.h"
|
||||||
#include "../../src/mqtt.h"
|
#include "../../src/mqtt.h"
|
||||||
|
#include "../../src/sensors.h"
|
||||||
|
|
||||||
#define MQTT_RECONNECTION_DELAY 5000
|
#define MQTT_RECONNECTION_DELAY 5000
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user