diff --git a/devicetypes/smartthings/aeotec-doorbell-siren-6.src/aeotec-doorbell-siren-6.groovy b/devicetypes/smartthings/aeotec-doorbell-siren-6.src/aeotec-doorbell-siren-6.groovy index 099ebce9159..5a0e53ee343 100644 --- a/devicetypes/smartthings/aeotec-doorbell-siren-6.src/aeotec-doorbell-siren-6.groovy +++ b/devicetypes/smartthings/aeotec-doorbell-siren-6.src/aeotec-doorbell-siren-6.groovy @@ -142,6 +142,10 @@ def both() { on() } +def chime() { + on() +} + def ping() { def cmds = [ encap(zwave.basicV1.basicGet()) @@ -201,26 +205,30 @@ def zwaveEvent(physicalgraph.zwave.commands.notificationv3.NotificationReport cm switch (cmd.event) { case 0x09: //TAMPER sendEvent(name: "tamper", value: "detected") - runIn(10, "clearTamper") + sendEvent(name: "alarm", value: "both") + runIn(2, "clearTamperAndAlarm") break case 0x01: //ON if (state.lastTriggeredSound == 1) { - createEvent([name: "alarm", value: "both"]) - createEvent([name: "chime", value: "chime"]) + sendEvent(name: "chime", value: "chime") + sendEvent(name: "alarm", value: "both") } else { setActiveSound(state.lastTriggeredSound) } break case 0x00: //OFF resetActiveSound() - createEvent([name: "tamper", value: "clear"]) + sendEvent(name: "tamper", value: "clear") + sendEvent(name: "alarm", value: "off") + sendEvent(name: "chime", value: "off") break } } } -def clearTamper() { +def clearTamperAndAlarm() { sendEvent(name: "tamper", value: "clear") + sendEvent(name: "alarm", value: "off") } def setOnChild(deviceDni) { @@ -252,7 +260,7 @@ def resetActiveSound() { def setActiveSound(soundId) { String childDni = "${device.deviceNetworkId}:${soundId}" def child = childDevices.find { it.deviceNetworkId == childDni } - child?.sendEvent(name: "chime", value: "on") + child?.sendEvent(name: "chime", value: "chime") child?.sendEvent(name: "alarm", value: "both") } diff --git a/devicetypes/smartthings/zigbee-multi-button.src/zigbee-multi-button.groovy b/devicetypes/smartthings/zigbee-multi-button.src/zigbee-multi-button.groovy index 1c1ece30a0a..317bab3c551 100644 --- a/devicetypes/smartthings/zigbee-multi-button.src/zigbee-multi-button.groovy +++ b/devicetypes/smartthings/zigbee-multi-button.src/zigbee-multi-button.groovy @@ -279,7 +279,13 @@ private getButtonName() { private Map parseAduroSmartButtonMessage(Map descMap){ def buttonState = "pushed" def buttonNumber = 0 - if (descMap.clusterInt == ADUROSMART_SPECIFIC_CLUSTER) { + if (descMap.clusterInt == zigbee.ONOFF_CLUSTER) { + if (descMap.command == "01") { + buttonNumber = 1 + } else if (descMap.command == "00") { + buttonNumber = 4 + } + } else if (descMap.clusterInt == ADUROSMART_SPECIFIC_CLUSTER) { def list2 = descMap.data buttonNumber = (list2[1] as int) + 1 }