diff --git a/src/mqtt.cpp b/src/mqtt.cpp index 8a4081a..c9eb127 100644 --- a/src/mqtt.cpp +++ b/src/mqtt.cpp @@ -12,12 +12,15 @@ MySerialClass MySerial(mqtt); unsigned long mqttFailureMillis = 0; +// ReSharper disable once CppUseAuto +const char* LOG_TOPIC = (String("log/") + HOSTNAME).c_str(); + void mqttLoop() { if (!mqtt.loop() && isWifiConnected() && (mqttFailureMillis == 0 || millis() - mqttFailureMillis >= 3000)) { mqtt.setServer("10.0.0.50", 1883); - if (mqtt.connect(HOSTNAME, HOSTNAME, 0, false, "disconnected\n")) { + if (mqtt.connect(HOSTNAME, LOG_TOPIC, 0, false, "disconnected\n")) { yield(); - mqttPublish(HOSTNAME, "connected\n"); + mqttPublish(LOG_TOPIC, "connected\n"); MySerial.printf("MQTT connected as \"%s\"\n", HOSTNAME); mqttFailureMillis = 0; } else { diff --git a/src/mqtt.h b/src/mqtt.h index d55dcbc..0e536c2 100644 --- a/src/mqtt.h +++ b/src/mqtt.h @@ -5,6 +5,8 @@ #include "PubSubClient.h" #include "wifi.h" +extern const char* LOG_TOPIC; + void mqttLoop(); void mqttPublish(const char *topic, int32_t value, const char *unit); @@ -47,10 +49,10 @@ public: due = true; if (mqtt.connected()) { if (overflow > 0) { - mqtt.publish(HOSTNAME, "\n### LOG BUFFER OVERFLOW BY %d BYTES ###\n"); + mqtt.publish(LOG_TOPIC, "\n### LOG BUFFER OVERFLOW BY %d BYTES ###\n"); overflow = 0; } - mqtt.publish(HOSTNAME, reinterpret_cast(buffer)); + mqtt.publish(LOG_TOPIC, reinterpret_cast(buffer)); bufferWrite = buffer; *bufferWrite = 0; due = false;