Skip to content

Commit 89475c1

Browse files
committed
feat: Enhance MQTT topic handling and logging in setup process
1 parent c0bc217 commit 89475c1

2 files changed

Lines changed: 24 additions & 3 deletions

File tree

esp32-pit/backend_network.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,16 @@ bool fetchHardwareConfig(String macAddress, uint8_t* macBytes) {
488488
sysPref.begin("sys-config", false);
489489
sysPref.putString("topicSensors", topicSensors);
490490

491+
if (!data["mqttCommandTopic"].isNull()) {
492+
topicDeviceSub = data["mqttCommandTopic"].as<String>();
493+
fmtSerial.println("[BOOT] Tópico de Comandos definido: " + topicDeviceSub);
494+
}
495+
496+
if (!data["mqttConfigTopic"].isNull()) {
497+
topicConfigSub = data["mqttConfigTopic"].as<String>();
498+
fmtSerial.println("[BOOT] Tópico de Configuração definido: " + topicConfigSub);
499+
}
500+
491501
if (!data["modoAtual"].isNull()) {
492502
String modoStr = data["modoAtual"].as<String>();
493503
if (modoStr == "MISTO") opMode = 0;

esp32-pit/esp32-pit.ino

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ void setup() {
274274
// Topic defaults se fetch falhar
275275
String macDashes = String(macStr);
276276
macDashes.replace(":", "-");
277+
macDashes.toLowerCase(); // Backend usa minúsculas para tópicos
277278
topicDeviceSub = "campus/device/" + macDashes + "/#";
278279
topicConfigSub = "campus/config/" + macDashes + "/#";
279280

@@ -338,14 +339,24 @@ void setup() {
338339
}
339340

340341
if (connected) {
341-
client.subscribe(topicConfigSub.c_str());
342-
client.subscribe(topicDeviceSub.c_str());
342+
if (topicConfigSub.length() > 0) {
343+
client.subscribe(topicConfigSub.c_str());
344+
fmtSerial.println("[MQTT] Subscrito em: " + topicConfigSub);
345+
}
346+
if (topicDeviceSub.length() > 0) {
347+
client.subscribe(topicDeviceSub.c_str());
348+
fmtSerial.println("[MQTT] Subscrito em: " + topicDeviceSub);
349+
}
343350
long sala_id = preferences.getLong("salaId", 0);
344351
if (sala_id > 0) {
345-
client.subscribe((String("campus/sala/") + sala_id + "/admin/#").c_str());
352+
String roomSub = String("campus/sala/") + sala_id + "/admin/#";
353+
client.subscribe(roomSub.c_str());
354+
fmtSerial.println("[MQTT] Subscrito em: " + roomSub);
346355
}
347356
client.subscribe("campus/all/admin/#");
357+
fmtSerial.println("[MQTT] Subscrito em: campus/all/admin/#");
348358
client.subscribe("campus/config/all/#");
359+
fmtSerial.println("[MQTT] Subscrito em: campus/config/all/#");
349360
tft.fillRect(10, 140, 220, 30, ST77XX_BLACK); tft.setCursor(10, 140); tft.setTextColor(ST77XX_GREEN, ST77XX_BLACK); tft.print("MQTT: Ligado!");
350361
} else {
351362
tft.fillRect(10, 140, 220, 30, ST77XX_BLACK); tft.setCursor(10, 140); tft.setTextColor(ST77XX_RED, ST77XX_BLACK); tft.print("MQTT: Falhou");

0 commit comments

Comments
 (0)