#pragma once #include "Protocol.h" #include "TinyComponent.h" class Protocol_2 : public Protocol { public: Protocol_2() : Protocol(2) { } void toJson(const RcData& rcData, JsonDocument& jsonDoc) override { switch (rcData.value) { case 637541753L: case 771759481L: { JsonObject motion = jsonDoc.createNestedObject("motion"); motion["kitchen"] = rcData.value == 637541753L ? "on" : "off"; break; } case 1879048230L: case 1879048198L: { JsonObject motion = jsonDoc.createNestedObject("motion"); motion["basement"] = rcData.value == 1879048230L ? "on" : "off"; break; } default: StaticJsonDocument<200> jsonSensor; if (buildSensorJson(rcData.value, jsonSensor)) { jsonDoc.set(jsonSensor); } else { Protocol::toJson(rcData, jsonDoc); } break; } } };