use blue led to indicate status of MQTT connectivity

This commit is contained in:
Nicu Hodos 2024-06-01 13:10:50 +02:00
parent 348e2694db
commit b02c731e95
2 changed files with 10 additions and 4 deletions

View File

@ -28,10 +28,9 @@ namespace Devices {
.addSecondary(Builder<PressureSensor>::instance(SENSOR_ID).withValueTemplate("{{ value_json.pressure }}").build())
.build();
Switch* ledMqtt = Builder<Switch>::instance(new Switch{ "Led", "led",
auto ledMqtt = Builder<Switch>::instance(new Switch{ "Led", "led",
[](const char* msg) {
strcmp("ON", msg) == 0 ? digitalWrite(LED_BUILTIN, LOW) : digitalWrite(LED_BUILTIN, HIGH);
ledMqtt->updateState(!digitalRead(LED_BUILTIN));
turnLed(strcmp("ON", msg) == 0);
}
}).withStateTopic().restoreFromState().build();

View File

@ -14,6 +14,10 @@ Scheduler ts;
Task tCheckWifi(5 * TASK_MINUTE, TASK_ONCE, checkWifiCallback, &ts);
Task tWifiConnected(TASK_IMMEDIATE, TASK_ONCE, onWifiConnected, &ts);
void turnLed(bool on = true) {
on ? digitalWrite(LED_BUILTIN, LOW) : digitalWrite(LED_BUILTIN, HIGH);
}
#include "bme.h"
#include "ntp_time.h"
#include "wifi.h"
@ -56,7 +60,10 @@ void setup() {
Ota::setup();
Ntp::setup();
Bme::setup();
Mqtt::setup(&ts);
Mqtt::setup(&ts,
[] {turnLed(false);},
[] {turnLed();}
);
Devices::setup();
Wifi::setup();