From ae3bbb7321e1a7b5439c3a286eae3deb14c08a10 Mon Sep 17 00:00:00 2001 From: Florian <1technophile@users.noreply.github.com> Date: Fri, 9 Nov 2018 22:40:53 +0100 Subject: [PATCH] correct double variable declaration and use arduino json implicit cast --- OpenMQTTGateway.ino | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/OpenMQTTGateway.ino b/OpenMQTTGateway.ino index dc2c69a..2a45a62 100644 --- a/OpenMQTTGateway.ino +++ b/OpenMQTTGateway.ino @@ -830,22 +830,22 @@ void receivingMQTT(char * topicOri, char * datacallback) { if (strstr(topicOri, subjectMultiGTWKey) != NULL) // storing received value so as to avoid publishing this value if it has been already sent by this or another OpenMQTTGateway { trc(F("Storing signal")); + unsigned long data = 0; #ifdef jsonPublishing - trc(F("Creating Json buffer")); - StaticJsonBuffer jsonBuffer; - JsonObject& jsondata = jsonBuffer.parseObject(datacallback); - unsigned long data = strtoul(jsondata["value"], NULL, 10); // we will not be able to pass values > 4294967295 - storeValue(data); - trc(F("Data from JSON stored")); + trc(F("Creating Json buffer")); + StaticJsonBuffer jsonBuffer; + JsonObject& jsondata = jsonBuffer.parseObject(datacallback); + if (jsondata.success()) data = jsondata["value"]; #endif - #ifdef simplePublishing - unsigned long data = strtoul(datacallback, NULL, 10); // we will not be able to pass values > 4294967295 - storeValue(data); - trc(F("Data stored")); + data = strtoul(datacallback, NULL, 10); // we will not be able to pass values > 4294967295 #endif + if (data != 0) { + storeValue(data); + trc(F("Data from JSON stored")); + } } //YELLOW ON digitalWrite(led_send, LOW);