36 lines
1000 B
C++

#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;
}
}
};