From 223caa1b789e24ecbe95c25edf8c3546941fb804 Mon Sep 17 00:00:00 2001 From: Bill Wall Date: Tue, 24 Nov 2020 19:24:59 -0600 Subject: [PATCH] Fix multi-activation bug Fixed repeated triggering of the SHM virtual switches anytime a zone changed. --- .../honeywell-security.groovy | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/smartapps/redloro-smartthings/honeywell-security.src/honeywell-security.groovy b/smartapps/redloro-smartthings/honeywell-security.src/honeywell-security.groovy index 0ff3e9c..ce489af 100644 --- a/smartapps/redloro-smartthings/honeywell-security.src/honeywell-security.groovy +++ b/smartapps/redloro-smartthings/honeywell-security.src/honeywell-security.groovy @@ -368,26 +368,32 @@ private updateAlarmSystemStatus(partitionstatus) { def lastAlarmSystemStatus = state.alarmSystemStatus if (partitionstatus == "armedstay" || partitionstatus == "armedinstant") { //state.alarmSystemStatus = "stay" - if (armStaySHM.latestState("switch").value == "off") { - armStaySHM.on() + if (armStaySHM.latestState("switch").value == "on") { + //already armed } else { - armStaySHM.off() + armStaySHM.on() + armAwaySHM.off() + disarmSHM.off() } } if (partitionstatus == "armedaway" || partitionstatus == "armedmax") { //state.alarmSystemStatus = "away" - if (armAwaySHM.latestState("switch").value == "off") { - armAwaySHM.on() + if (armAwaySHM.latestState("switch").value == "on") { + //already armed } else { - armAwaySHM.off() + armStaySHM.off() + armAwaySHM.on() + disarmSHM.off() } } if (partitionstatus == "ready") { //state.alarmSystemStatus = "off" - if (disarmSHM.latestState("switch").value == "off") { - disarmSHM.on() + if (disarmSHM.latestState("switch").value == "on") { + //already disarmed } else { - disarmSHM.off() + armStaySHM.off() + armAwaySHM.off() + disarmSHM.on() } }