From 8a3291855a313f51379413e37e913c5ab523a842 Mon Sep 17 00:00:00 2001 From: Niels <7136117+TheDutchDev@users.noreply.github.com> Date: Sun, 31 Dec 2023 16:44:07 +0100 Subject: [PATCH] Update mqttmanager.h improve filter --- src/mqttmanager.h | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/mqttmanager.h b/src/mqttmanager.h index a4fddbc..829f97f 100644 --- a/src/mqttmanager.h +++ b/src/mqttmanager.h @@ -141,12 +141,8 @@ void ParseCallback(JsonDocument &messageobject){ void mqttCallback(char *topic, byte *payload, unsigned int length){ DynamicJsonDocument messageobject(mqttdocument); - - // Create filter to only grab "print" part from MQTT payload - StaticJsonDocument<64> filter; - filter["print"] = true; - auto deserializeError = deserializeJson(messageobject, payload, length, DeserializationOption::Filter(filter)); + auto deserializeError = deserializeJson(messageobject, payload, length, DeserializationOption::Filter(getMqttPayloadFilter())); if (!deserializeError){ ParseCallback(messageobject); }else{ @@ -154,6 +150,17 @@ void mqttCallback(char *topic, byte *payload, unsigned int length){ } } +StaticJsonDocument<64> getMqttPayloadFilter() +{ + StaticJsonDocument<64> filter; + filter["print"]["stg_cur"] = true; + filter["print"]["gcode_state"] = true; + filter["print"]["lights_report"] = true; + filter["print"]["hms"] = true; + // Make sure to add more here when needed + return filter; +} + void setupMqtt(){ clientId += String(random(0xffff), HEX); Serial.println(F("Setting up MQTT with ip: "));