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;
}
inline void unsetInitialized() {
initialized = false;
}
inline short getTickInterval() {
return tickInterval;
}

View File

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

View File

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