mqtt fix in esp8266 code

This commit is contained in:
Evgeny Zinoviev 2023-06-06 17:19:24 +03:00
parent ea5cc50729
commit 940d88d301
3 changed files with 12 additions and 7 deletions

View File

@ -39,6 +39,10 @@ public:
initialized = true; initialized = true;
} }
inline void unsetInitialized() {
initialized = false;
}
inline short getTickInterval() { inline short getTickInterval() {
return tickInterval; return tickInterval;
} }

View File

@ -53,11 +53,12 @@ Mqtt::Mqtt() {
if (module->receiveOnDisconnect) { if (module->receiveOnDisconnect) {
module->handleOnDisconnect(reason); module->handleOnDisconnect(reason);
} }
module->unsetInitialized();
} }
reconnectTimer.once(2, [&]() { reconnectTimer.once(2, [&]() {
reconnect(); reconnect();
}); });
}); });
client.onSubscribe([&](uint16_t packetId, const SubscribeReturncode* returncodes, size_t len) { client.onSubscribe([&](uint16_t packetId, const SubscribeReturncode* returncodes, size_t len) {
@ -126,8 +127,8 @@ void Mqtt::disconnect() {
void Mqtt::loop() { void Mqtt::loop() {
client.loop(); client.loop();
for (auto& module: modules) { for (auto& module: modules) {
if (module->getTickInterval() != 0) if (module->getTickInterval() != 0)
module->tick(*this); module->tick(*this);
} }
} }
@ -157,7 +158,7 @@ void Mqtt::addModule(MqttModule* module) {
void Mqtt::subscribeModule(String& topic, MqttModule* module, uint8_t qos) { void Mqtt::subscribeModule(String& topic, MqttModule* module, uint8_t qos) {
moduleSubscriptions[topic] = module; moduleSubscriptions[topic] = module;
subscribe(topic, qos); subscribe(topic, qos);
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "homekit_mqtt", "name": "homekit_mqtt",
"version": "1.0.9", "version": "1.0.10",
"build": { "build": {
"flags": "-I../../include" "flags": "-I../../include"
} }