MQTT works

This commit is contained in:
2026-06-14 22:19:41 +02:00
parent 0e01b0a333
commit e20ef2ffbb

View File

@@ -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() {