From 95dd0f771f4d234ab1dbea6ac8034933d81a60b4 Mon Sep 17 00:00:00 2001 From: Nicu Hodos Date: Wed, 26 Oct 2022 23:30:05 +0200 Subject: [PATCH] separate sensor from generic in protocol 2 --- gateway/include/Protocol.h | 4 ++-- gateway/include/Protocol_1.h | 4 ++-- gateway/include/Protocol_2.h | 9 ++++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/gateway/include/Protocol.h b/gateway/include/Protocol.h index c5af972..a20e0c1 100644 --- a/gateway/include/Protocol.h +++ b/gateway/include/Protocol.h @@ -1,9 +1,9 @@ -# pragma once +#pragma once #include #include class Protocol { - +protected: unsigned int protocol; public: diff --git a/gateway/include/Protocol_1.h b/gateway/include/Protocol_1.h index c549fc0..740e61b 100644 --- a/gateway/include/Protocol_1.h +++ b/gateway/include/Protocol_1.h @@ -1,4 +1,4 @@ -# pragma once +#pragma once #include "Protocol.h" #define RC_STATE(value) value & 0x1 @@ -21,7 +21,7 @@ public: void toJson(unsigned long value, JsonDocument& jsonDoc) override { JsonObject rcSwitch = jsonDoc.createNestedObject("rcSwitch"); - rcSwitch["protocol"] = 1; + rcSwitch["protocol"] = protocol; Decoder decoder; decoder.decode(value); rcSwitch["state"] = decoder.state; diff --git a/gateway/include/Protocol_2.h b/gateway/include/Protocol_2.h index 34229b8..4820c09 100644 --- a/gateway/include/Protocol_2.h +++ b/gateway/include/Protocol_2.h @@ -1,4 +1,4 @@ -# pragma once +#pragma once #include "Protocol.h" #include "Tiny.h" @@ -23,7 +23,10 @@ public: break; } default: - if (!buildSensorJson(jsonDoc, value)) { + StaticJsonDocument<200> jsonSensor; + if (buildSensorJson(value, jsonSensor)) { + jsonDoc.add(jsonSensor); + } else { Protocol::toJson(value, jsonDoc); } break; @@ -31,7 +34,7 @@ public: } private: - bool buildSensorJson(JsonDocument& jsonDoc, unsigned long value) { + bool buildSensorJson(unsigned long value, JsonDocument& jsonDoc) { JsonObject sensor = jsonDoc.createNestedObject("sensor"); sensor["id"] = ID(value);