From 22519f33b3624610271e2577107a213f44a7068e Mon Sep 17 00:00:00 2001 From: Chicagoland Mesh Date: Fri, 24 Apr 2026 14:03:54 -0500 Subject: [PATCH 1/3] fix mqtt path for chimesh preset --- src/helpers/MQTTPresets.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/MQTTPresets.h b/src/helpers/MQTTPresets.h index bdf25f0d..4f70928c 100644 --- a/src/helpers/MQTTPresets.h +++ b/src/helpers/MQTTPresets.h @@ -112,7 +112,7 @@ static const MQTTPresetDef MQTT_PRESETS[MQTT_PRESET_COUNT] = { { "cascadiamesh", "wss://mqtt-v1.cascadiamesh.org:443/mqtt", "mqtt-v1.cascadiamesh.org", ISRG_ROOT_X1, MQTT_AUTH_JWT, MQTT_TOPIC_MESHCORE, 0, true, 55, nullptr, nullptr }, { "tennmesh", "mqtt://mqtt.tennmesh.com:1883", nullptr, nullptr, MQTT_AUTH_USERPASS, MQTT_TOPIC_MESHCORE, 0, true, 55, "mqttfeed", "tc2live" }, { "nashmesh", "mqtt://mqtt.nashme.sh:1883", nullptr, nullptr, MQTT_AUTH_USERPASS, MQTT_TOPIC_MESHCORE, 0, true, 55, "meshdev", "large4cats" }, - { "chimesh", "wss://mqtt.chimesh.org:443/mqtt", "mqtt.chimesh.org", ISRG_ROOT_X1, MQTT_AUTH_JWT, MQTT_TOPIC_MESHCORE, 0, true, 55, nullptr, nullptr }, + { "chimesh", "wss://mqtt.chimesh.org:443", "mqtt.chimesh.org", ISRG_ROOT_X1, MQTT_AUTH_JWT, MQTT_TOPIC_MESHCORE, 0, true, 55, nullptr, nullptr }, { "meshat.se", "mqtts://mqtt.meshat.se:8883", nullptr, ISRG_ROOT_X1, MQTT_AUTH_USERPASS, MQTT_TOPIC_MESHCORE, 0, true, 55, "msh", "msh" }, }; From e5225a14d3b6efdcaea37bc851d15321a505cf2d Mon Sep 17 00:00:00 2001 From: Chicagoland Mesh Date: Fri, 24 Apr 2026 14:06:44 -0500 Subject: [PATCH 2/3] add new presets to error message in cli --- src/helpers/CommonCLI.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/CommonCLI.cpp b/src/helpers/CommonCLI.cpp index 6e50ab2d..e5f04b6f 100644 --- a/src/helpers/CommonCLI.cpp +++ b/src/helpers/CommonCLI.cpp @@ -1333,7 +1333,7 @@ void CommonCLI::handleSetCmd(uint32_t sender_timestamp, char* command, char* rep } } } else { - strcpy(reply, "Error: valid presets are: analyzer-us, analyzer-eu, meshmapper, meshrank, waev, meshomatic, cascadiamesh, tennmesh, nashmesh, custom, none"); + strcpy(reply, "Error: valid presets are: analyzer-us, analyzer-eu, meshmapper, meshrank, waev, meshomatic, cascadiamesh, tennmesh, nashmesh, chimesh, meshat.se, custom, none"); } } else if (memcmp(subcmd, "server ", 7) == 0) { StrHelper::strncpy(_prefs->mqtt_slot_host[slot], &subcmd[7], sizeof(_prefs->mqtt_slot_host[slot])); From 7f8d13ff07c8ddc25f317783d85c2f4904cc9b89 Mon Sep 17 00:00:00 2001 From: Chicagoland Mesh Date: Fri, 24 Apr 2026 14:13:47 -0500 Subject: [PATCH 3/3] add missing mqtt presets in docs --- MQTT_IMPLEMENTATION.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/MQTT_IMPLEMENTATION.md b/MQTT_IMPLEMENTATION.md index bb7c3129..e4c0d338 100644 --- a/MQTT_IMPLEMENTATION.md +++ b/MQTT_IMPLEMENTATION.md @@ -104,6 +104,9 @@ The MQTT bridge uses a slot-based architecture with up to 6 concurrent connectio | `meshomatic` | us-east.meshomatic.net:443 | JWT (Ed25519) | WSS | | `cascadiamesh` | mqtt-v1.cascadiamesh.org:443 | JWT (Ed25519) | WSS | | `tennmesh` | mqtt.tennmesh.com:1883 | Username/password (fixed in firmware) | Plain MQTT | +| `nashmesh` | mqtt://mqtt.nashme.sh:1883 | Username/password (fixed in firmware) | Plain MQTT | +| `chimesh` | wss://mqtt.chimesh.org:443 | JWT (Ed25519) | WSS | +| `meshat.se` | mqtts://mqtt.meshat.se:8883 | Username/password (fixed in firmware) | MQTT over TLS | | `custom` | User-configured | Username/Password | MQTT or WSS | | `none` | (disabled) | — | — | @@ -231,6 +234,9 @@ Each slot (1-6) supports the following commands: - `set mqttN.preset meshomatic` - Set slot N to Meshomatic - `set mqttN.preset cascadiamesh` - Set slot N to CascadiaMesh - `set mqttN.preset tennmesh` - Set slot N to TennMesh (plain MQTT; same `meshcore/{iata}/...` topics as Analyzer US) +- `set mqttN.preset nashmesh` - Set slot N to NashMesh +- `set mqttN.preset chimesh` - Set slot N to ChicagolandMesh +- `set mqttN.preset meshat.se` - Set slot N to Meshat.se - `set mqttN.preset custom` - Set slot N to custom broker (configure server/port/username/password) - `set mqttN.preset none` - Disable slot N - `set mqttN.server ` - Set custom server hostname for slot N