Чтобы не изобретать велосипед с конечным автоматом, для автоматического реконнекта к Wi-Fi и брокеру MQTT рекомендую библиотеку: github.com/marvinroger/async-mqtt-client
Она полностью асинхронная на колбеках, цикл loop пустой, посмотрите пример в examples.
Опять про BLE, температуру и датчики Xiaomi — часть 2 — MQTT