MQTT works
This commit is contained in:
10
src/main.cpp
10
src/main.cpp
@@ -206,14 +206,19 @@ static bool mqttConnect() {
|
|||||||
snprintf(clientId, sizeof(clientId), "m1730-%02x%02x%02x", mac[3], mac[4], mac[5]);
|
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.setServer(mqttCfg.host, mqttCfg.port);
|
||||||
mqttClient.setCallback(mqttCallback);
|
mqttClient.setCallback(mqttCallback);
|
||||||
|
|
||||||
Serial.printf("[MQTT] connecting to %s:%d as %s\n", mqttCfg.host, mqttCfg.port, clientId);
|
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) {
|
if (ok) {
|
||||||
Serial.printf("[MQTT] connected to %s:%d\n", mqttCfg.host, mqttCfg.port);
|
Serial.printf("[MQTT] connected to %s:%d\n", mqttCfg.host, mqttCfg.port);
|
||||||
|
mqttClient.publish(statusTopic, "online: true", true);
|
||||||
mqttSubscribe();
|
mqttSubscribe();
|
||||||
} else {
|
} else {
|
||||||
Serial.printf("[MQTT] failed rc=%d\n", mqttClient.state());
|
Serial.printf("[MQTT] failed rc=%d\n", mqttClient.state());
|
||||||
@@ -444,8 +449,7 @@ static void handleConfig() {
|
|||||||
if (mqttClient.connected()) mqttClient.disconnect();
|
if (mqttClient.connected()) mqttClient.disconnect();
|
||||||
mqttReconnectAt = 0;
|
mqttReconnectAt = 0;
|
||||||
|
|
||||||
server.sendHeader("Location", "/");
|
handleRoot();
|
||||||
server.send(303);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void handleSet() {
|
static void handleSet() {
|
||||||
|
|||||||
Reference in New Issue
Block a user