From cd74010fb79d1c652741f184491c46c78da62531 Mon Sep 17 00:00:00 2001 From: fbp Date: Wed, 30 Aug 2023 08:49:57 +0200 Subject: [PATCH] Added display/passwordEntered topic --- index.js | 26 ++++++++++++++++++++++++++ mqtt.js | 1 + 2 files changed, 27 insertions(+) diff --git a/index.js b/index.js index d215736..4d81e20 100644 --- a/index.js +++ b/index.js @@ -113,6 +113,32 @@ mqttClient.on("message", (topic, message, packet) => { } break; } + case "display/passwordEntered": { + const data = JSON.parse(message); + console.log(data); + + const pins = ["1234", "112233"]; + if (pins.includes(data.password.join(""))) { + mqttClient.emit("display/passwordResponse", { + deviceId: data.deviceId, + correct: true, + password: data.password + }); + if (StateManager.alarmStatus != Disarmed) { + disarmAlarm(); + } else { + armAlarm(); + } + unlockDoor(); + } else { + mqttClient.emit("display/passwordResponse", { + deviceId: data.deviceId, + correct: false, + password: data.password + }); + } + break; + } default: console.log("Unsupported topic received: " + topic); break; diff --git a/mqtt.js b/mqtt.js index f1cf42c..096d847 100644 --- a/mqtt.js +++ b/mqtt.js @@ -39,6 +39,7 @@ mqttClient.subscribe("light"); mqttClient.subscribe("door/status"); mqttClient.subscribe("display/arm"); mqttClient.subscribe("display/disarm"); +mqttClient.subscribe("display/passwordEntered"); mqttClient.subscribe("card/read"); module.exports = mqttClient; \ No newline at end of file