From e20ef2ffbb3cbc2bf1166e852fae7a62a7d78795 Mon Sep 17 00:00:00 2001 From: "Adrian A. Baumann" Date: Sun, 14 Jun 2026 22:19:41 +0200 Subject: [PATCH] MQTT works --- src/main.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index e81b731..ead50bd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -206,14 +206,19 @@ static bool mqttConnect() { snprintf(clientId, sizeof(clientId), "m1730-%02x%02x%02x", mac[3], mac[4], mac[5]); } + char statusTopic[128]; + snprintf(statusTopic, sizeof(statusTopic), "%s/status", mqttCfg.prefix); + mqttClient.setServer(mqttCfg.host, mqttCfg.port); mqttClient.setCallback(mqttCallback); Serial.printf("[MQTT] connecting to %s:%d as %s\n", mqttCfg.host, mqttCfg.port, clientId); - bool ok = mqttClient.connect(clientId, mqttCfg.user, mqttCfg.pass); + bool ok = mqttClient.connect(clientId, mqttCfg.user, mqttCfg.pass, + statusTopic, 0, true, "online: false"); if (ok) { Serial.printf("[MQTT] connected to %s:%d\n", mqttCfg.host, mqttCfg.port); + mqttClient.publish(statusTopic, "online: true", true); mqttSubscribe(); } else { Serial.printf("[MQTT] failed rc=%d\n", mqttClient.state()); @@ -444,8 +449,7 @@ static void handleConfig() { if (mqttClient.connected()) mqttClient.disconnect(); mqttReconnectAt = 0; - server.sendHeader("Location", "/"); - server.send(303); + handleRoot(); } static void handleSet() {