From 43cff7adc9497a551390e1913f247312470ea3b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Fri, 7 Apr 2023 14:52:23 +0200 Subject: [PATCH] Implement #2380 (#2418) --- bin/regen-protos.bat | 6 +----- src/mqtt/MQTT.cpp | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/bin/regen-protos.bat b/bin/regen-protos.bat index aa2a2684..1422f791 100644 --- a/bin/regen-protos.bat +++ b/bin/regen-protos.bat @@ -1,5 +1 @@ -cd protobufs && ..\nanopb-0.4.7\generator-bin\protoc.exe --nanopb_out=-v:..\src\mesh\generated -I=..\protobufs ..\protobufs\meshtastic\*.proto - -@REM cd ../src/mesh/generated/meshtastic -@REM sed -i 's/#include "meshtastic/#include "./g' * -@REM sed -i 's/meshtastic_//g' * +cd protobufs && ..\nanopb-0.4.7\generator-bin\protoc.exe --experimental_allow_proto3_optional --nanopb_out=-v:..\src\mesh\generated -I=..\protobufs ..\protobufs\meshtastic\*.proto diff --git a/src/mqtt/MQTT.cpp b/src/mqtt/MQTT.cpp index 260a70c3..c0758019 100644 --- a/src/mqtt/MQTT.cpp +++ b/src/mqtt/MQTT.cpp @@ -19,9 +19,9 @@ const int reconnectMax = 5; MQTT *mqtt; -std::string statusTopic = "msh/2/stat/"; -std::string cryptTopic = "msh/2/c/"; // msh/2/c/CHANNELID/NODEID -std::string jsonTopic = "msh/2/json/"; // msh/2/json/CHANNELID/NODEID +std::string statusTopic = "/2/stat/"; +std::string cryptTopic = "/2/c/"; // msh/2/c/CHANNELID/NODEID +std::string jsonTopic = "/2/json/"; // msh/2/json/CHANNELID/NODEID static MemoryDynamic staticMqttPool; @@ -164,6 +164,16 @@ MQTT::MQTT() : concurrency::OSThread("mqtt"), pubSub(mqttClient), mqttQueue(MAX_ assert(!mqtt); mqtt = this; + if (moduleConfig.mqtt.root) { + statusTopic = moduleConfig.mqtt.root + statusTopic; + cryptTopic = moduleConfig.mqtt.root + cryptTopic; + jsonTopic = moduleConfig.mqtt.root + jsonTopic; + } else { + statusTopic = "msh" + statusTopic; + cryptTopic = "msh" + cryptTopic; + jsonTopic = "msh" + jsonTopic; + } + pubSub.setCallback(mqttCallback); // preflightSleepObserver.observe(&preflightSleep);