diff --git a/src/mqtt/MQTT.cpp b/src/mqtt/MQTT.cpp index 33e0ee7c..450c8441 100644 --- a/src/mqtt/MQTT.cpp +++ b/src/mqtt/MQTT.cpp @@ -62,7 +62,8 @@ 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:1883"; // default hostname + const char *serverAddr = "mqtt.meshtastic.org"; // default hostname + int serverPort = 1883; // default server port if (*radioConfig.preferences.mqtt_server) serverAddr = radioConfig.preferences.mqtt_server; // Override the default @@ -70,15 +71,16 @@ void MQTT::reconnect() String server = String(serverAddr); int delimIndex = server.indexOf(':'); if (delimIndex > 0) { - String host = server.substring(0, delimIndex); String port = server.substring(delimIndex+1, server.length()); - pubSub.setServer(host.c_str(), port.toInt()); + server[delimIndex] = 0; + serverPort = port.toInt(); + pubSub.setServer(server.c_str(), serverPort); } else { - pubSub.setServer(serverAddr, 1883); + pubSub.setServer(serverAddr, serverPort); } - DEBUG_MSG("Connecting to MQTT server\n", serverAddr); + DEBUG_MSG("Connecting to MQTT server %s, port: %d\n", server.c_str(), serverPort); auto myStatus = (statusTopic + owner.id); bool connected = pubSub.connect(owner.id, "meshdev", "large4cats", myStatus.c_str(), 1, true, "offline"); if (connected) {