I’ve adapted @ImSorryButWho excellent blueprint to work with the manual alarm card, which then triggers the Aqara M1S security controls.
Does anyone know how to make the keypad work without using the manual alarm card?
If I have to use the manual alarm card, how can i get the keypad to turn the away button red and to get the keypad to display the arming count down?
blueprint:
name: Ring Keypad Automations
description: Automations to use the Ring Keypad with an Alarm Panel integration. See https://github.com/ImSorryButWho/HomeAssistantNotes/blob/c9727e2d2d4e863ac58f61b23939bab9532e4fef/RingKeypadV2.md for more information.
domain: automation
input:
keypad:
name: Keypad Device
description: The device entry for the Ring keypad
selector:
device:
manufacturer: Ring
integration: zwave_js
alarm:
name: Alarm Control Panel entity
description: The Alarm Control Panel to synchronize the keypad with
selector:
entity:
domain: alarm_control_panel
selected_action_police:
name: Selected Action Police
description: Select the action for Police Button
default: []
selector:
action:
selected_action_fire:
name: Selected Action Fire
description: Select the action for Fire Button
default: []
selector:
action:
selected_action_medical:
name: Selected Action Medical
description: Select the action for Medical Button
default: []
selector:
action:
variables:
alarm: !input alarm
mode: parallel
max: 10
trigger:
- platform: event
event_type: "zwave_js_notification"
event_data:
command_class: 111
device_id: !input keypad
event_type: 2
id: code_entered
- platform: event
event_type: "zwave_js_notification"
event_data:
command_class: 111
device_id: !input keypad
event_type: 3
id: keypad_disarm
- platform: event
event_type: "zwave_js_notification"
event_data:
command_class: 111
device_id: !input keypad
event_type: 5
id: keypad_arm_away
- platform: event
event_type: "zwave_js_notification"
event_data:
command_class: 111
device_id: !input keypad
event_type: 6
id: keypad_arm_home
- platform: event
event_type: zwave_js_notification
event_data:
command_class: 111
device_id: !input 'keypad'
event_type: 16
id: keypad_fire
- platform: event
event_type: zwave_js_notification
event_data:
command_class: 111
device_id: !input 'keypad'
event_type: 17
id: keypad_police
- platform: event
event_type: zwave_js_notification
event_data:
command_class: 111
device_id: !input 'keypad'
event_type: 19
id: keypad_medical
- platform: event
event_type: "alarmo_failed_to_arm"
event_data:
reason: "invalid_code"
id: invalid_code
- platform: event
event_type: "alarmo_failed_to_arm"
event_data:
reason: "open_sensors"
id: need_bypass
- platform: state
entity_id: !input alarm
to: disarmed
id: alarm_disarmed
- platform: state
entity_id: !input alarm
to: arming
id: alarm_arming
- platform: state
entity_id: !input alarm
to: armed_away
id: alarm_armed_away
- platform: state
entity_id: !input alarm
to: armed_home
id: alarm_armed_home
- platform: state
entity_id: !input alarm
to: pending
id: alarm_pending
- platform: state
entity_id: !input alarm
to: triggered
id: alarm_triggered
action:
choose:
- conditions:
- condition: trigger
id:
- code_entered
- keypad_disarm
sequence:
- service: alarm_control_panel.alarm_disarm
entity_id: !input alarm
data:
code: "{{ trigger.event.data.event_data }}"
- conditions:
- condition: and
conditions:
- condition: trigger
id: keypad_arm_away
- condition: state
entity_id: !input alarm
state: "disarmed"
sequence:
- service: alarm_control_panel.alarm_arm_away
entity_id: !input alarm
- conditions:
- condition: and
conditions:
- condition: trigger
id: keypad_arm_home
- condition: state
entity_id: !input alarm
state: disarmed
sequence:
- service: alarm_control_panel.alarm_arm_home
entity_id: !input alarm
- conditions:
- condition: trigger
id: invalid_code
sequence:
- service: zwave_js.set_value
target:
device_id: !input keypad
data:
command_class: "135"
endpoint: "0"
property: "9"
property_key: "1"
value: 1
- conditions:
- condition: trigger
id: need_bypass
sequence:
- service: zwave_js.set_value
target:
device_id: !input keypad
data:
command_class: "135"
endpoint: "0"
property: "16"
property_key: "1"
value: 1
- conditions:
- condition: trigger
id: alarm_disarmed
sequence:
- service: zwave_js.set_value
target:
device_id: !input keypad
data:
command_class: "135"
endpoint: "0"
property: "2"
property_key: "1"
value: 1
- conditions:
- condition: trigger
id: alarm_armed_away
sequence:
- service: zwave_js.set_value
target:
device_id: !input keypad
data:
command_class: "135"
endpoint: "0"
property: "11"
property_key: "1"
value: 1
- conditions:
- condition: trigger
id: alarm_armed_home
sequence:
- service: zwave_js.set_value
target:
device_id: !input keypad
data:
command_class: "135"
endpoint: "0"
property: "10"
property_key: "1"
value: 1
- conditions:
- condition: trigger
id: alarm_arming
sequence:
- service: zwave_js.set_value
target:
device_id: !input keypad
data:
command_class: "135"
endpoint: "0"
property: "18"
property_key: "7"
value: "{{ state_attr(alarm, 'delay')}}"
- conditions:
- condition: trigger
id: alarm_pending
sequence:
- service: zwave_js.set_value
target:
device_id: !input keypad
data:
command_class: "135"
endpoint: "0"
property: "17"
property_key: "7"
value: "{{ state_attr(alarm, 'delay')}}"
- conditions:
- condition: trigger
id: alarm_triggered
sequence:
- service: zwave_js.set_value
target:
device_id: !input keypad
data:
command_class: "135"
endpoint: "0"
property: "13"
property_key: "1"
value: 1
- conditions:
- condition: trigger
id: keypad_fire
sequence: !input selected_action_fire
- conditions:
- condition: trigger
id: keypad_police
sequence: !input selected_action_police
- conditions:
- condition: trigger
id: keypad_medical
sequence: !input selected_action_medical