mqttbutton: Fix MQTT disconnect handler

When the MQTT disconnect handler is called, it would crash the
microcontroller because it was attempting to call `close` on a nil value
`client`. This was supposed to have been `mqtt_client`.

Immediately calling the WiFi timer callback is also a problem, as it
effectively puts the microcontroller into a busy loop if the WiFi is
already connected but the MQTT broker is unavailable. Adding a 1 second
delay here should prevent crashing in this case.
master
Dustin 2019-03-28 19:19:49 -05:00
parent 877bb0b0a0
commit f99c9b5ac6
1 changed files with 2 additions and 2 deletions

View File

@ -43,8 +43,8 @@ end
function on_mqtt_disconnected(client)
print("MQTT Disconnected")
client:close()
on_wifi_timer()
mqtt_client:close()
tmr.alarm(WIFI_TIMER_ID, 1000, 0, on_wifi_timer)
end
function on_wifi_connected()