From 9ac58c65f15a13a6d4abb1d7a9bc82b533e10e27 Mon Sep 17 00:00:00 2001 From: Filip B P Date: Wed, 30 Aug 2023 09:26:10 +0200 Subject: [PATCH] Check alarm/state change field --- src/main.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 6ba98d8..4315fdf 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -84,20 +84,22 @@ void callback(char* topic, byte* payload, unsigned int length) { } else if (strcmp(topic, "alarm/state") == 0) { - if (strcmp(doc["status"], "Armed") == 0) - { - if (bool reed = digitalRead(REED_ACTIVATION_PIN) == 1) + if (doc["changed"] == true) { + if (strcmp(doc["status"], "Armed") == 0) { - DynamicJsonDocument doc(1024); - - doc["deviceId"] = deviceId; - doc["open"] = reed; - - char buffer[1024]; - size_t n = serializeJson(doc, buffer); - - client.publish("door/status", buffer, n); - } + if (bool reed = digitalRead(REED_ACTIVATION_PIN) == 1) + { + DynamicJsonDocument doc(1024); + + doc["deviceId"] = deviceId; + doc["open"] = reed; + + char buffer[1024]; + size_t n = serializeJson(doc, buffer); + + client.publish("door/status", buffer, n); + } + } } }