Added changed field to alarm/state topic and sends alarm/state periodically

main
fbp 2 years ago
parent cd74010fb7
commit 991745ba80

@ -94,7 +94,8 @@
```json
{
"status": "Disarmed"
"status": "Disarmed",
"changed": true
}
```

@ -15,14 +15,14 @@ function insertEvent(deviceId, eventType) {
}
function triggerAlarm(deviceId) {
mqttClient.publish("alarm/state", JSON.stringify({ status: Triggered }));
mqttClient.publish("alarm/state", JSON.stringify({ status: Triggered, changed: true }));
StateManager.alarmStatus = Triggered;
console.log("Alarm has been triggered", deviceId);
insertEvent(deviceId, Triggered);
}
function disarmingAlarm(deviceId) {
mqttClient.publish("alarm/state", JSON.stringify({ status: Disarming }));
mqttClient.publish("alarm/state", JSON.stringify({ status: Disarming, changed: true }));
StateManager.alarmStatus = Disarming;
console.log("Alarm has been set to Disarming");
clearTimeout(timer);
@ -37,7 +37,7 @@ function disarmingTimerRunout(deviceId) {
}
function armAlarm(deviceId) {
mqttClient.publish("alarm/state", JSON.stringify({ status: Arming }));
mqttClient.publish("alarm/state", JSON.stringify({ status: Arming, changed: true }));
StateManager.alarmStatus = Arming;
console.log("Alarm has been set to Arming");
clearTimeout(timer);
@ -47,7 +47,7 @@ function armAlarm(deviceId) {
function armingTimerRunout(deviceId) {
if (StateManager.alarmStatus === Arming) {
mqttClient.publish("alarm/state", JSON.stringify({ status: Armed }));
mqttClient.publish("alarm/state", JSON.stringify({ status: Armed, changed: true }));
StateManager.alarmStatus = Armed;
console.log("Alarm has been set to Armed");
insertEvent(deviceId, Armed);
@ -55,7 +55,7 @@ function armingTimerRunout(deviceId) {
}
function disarmAlarm(deviceId) {
mqttClient.publish("alarm/state", JSON.stringify({ status: Disarmed }));
mqttClient.publish("alarm/state", JSON.stringify({ status: Disarmed, changed: true }));
StateManager.alarmStatus = Disarmed;
clearTimeout(timer);
console.log("Alarm has been set to Disarmed");

@ -24,12 +24,16 @@ mqttClient.on("connect", (a) => {
// }, 3000);
console.log(StateManager.alarmStatus);
mqttClient.publish("alarm/state", JSON.stringify({ status: StateManager.alarmStatus }));
mqttClient.publish("alarm/state", JSON.stringify({ status: StateManager.alarmStatus, changed: true }));
mqttClient.publish("door/lock", JSON.stringify({ deviceId: 2, lock: true }));
// mqttClient.publish("alarm/state", JSON.stringify({ status: "Triggered" }));
// setTimeout(() => {
// mqttClient.publish("alarm/state", JSON.stringify({ status: "Arming" }));
// }, 5000);
setInterval(() => {
mqttClient.publish("alarm/state", JSON.stringify({ status: StateManager.alarmStatus, changed: false }));
}, 2000);
});
mqttClient.subscribe("motion");

Loading…
Cancel
Save