From 3ea03dadb5ce9a96d8319ce1140c30bdff9d6863 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Thu, 1 Jul 2021 16:57:50 -0500 Subject: [PATCH 1/2] Convert MQTT server to hostname:port --- src/mqtt/MQTT.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mqtt/MQTT.cpp b/src/mqtt/MQTT.cpp index 8a2cb7607..f82f9940a 100644 --- a/src/mqtt/MQTT.cpp +++ b/src/mqtt/MQTT.cpp @@ -62,12 +62,17 @@ MQTT::MQTT() : concurrency::OSThread("mqtt"), pubSub(mqttClient) void MQTT::reconnect() { // pubSub.setServer("devsrv.ezdevice.net", 1883); or 192.168.10.188 - const char *serverAddr = "mqtt.meshtastic.org"; // default hostname + const char *serverAddr = "mqtt.meshtastic.org:1883"; // default hostname if (*radioConfig.preferences.mqtt_server) serverAddr = radioConfig.preferences.mqtt_server; // Override the default - pubSub.setServer(serverAddr, 1883); + String server = String(serverAddr); + int delimIndex = server.indexOf(':'); + String host = server.substring(0, delimIndex); + String port = server.substring(delimIndex+1, server.length()); + + pubSub.setServer(host.c_str(), port.toInt()); DEBUG_MSG("Connecting to MQTT server\n", serverAddr); auto myStatus = (statusTopic + owner.id); From 035f25190bd46b8d02bd967a6713bfc764b22ea1 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Fri, 2 Jul 2021 07:47:12 -0500 Subject: [PATCH 2/2] Handle MQTT host string with port omitted --- src/mqtt/MQTT.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/mqtt/MQTT.cpp b/src/mqtt/MQTT.cpp index f82f9940a..33e0ee7c3 100644 --- a/src/mqtt/MQTT.cpp +++ b/src/mqtt/MQTT.cpp @@ -69,10 +69,14 @@ void MQTT::reconnect() String server = String(serverAddr); int delimIndex = server.indexOf(':'); - String host = server.substring(0, delimIndex); - String port = server.substring(delimIndex+1, server.length()); - - pubSub.setServer(host.c_str(), port.toInt()); + if (delimIndex > 0) { + String host = server.substring(0, delimIndex); + String port = server.substring(delimIndex+1, server.length()); + pubSub.setServer(host.c_str(), port.toInt()); + } + else { + pubSub.setServer(serverAddr, 1883); + } DEBUG_MSG("Connecting to MQTT server\n", serverAddr); auto myStatus = (statusTopic + owner.id);