Last active
July 31, 2023 03:53
-
-
Save reubano/2f3e3ab845b5d25ef3cdbb1af5cbee03 to your computer and use it in GitHub Desktop.
Ring Keypad Automations
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
blueprint: | |
name: Ring Keypad Automations (Alarm Panel) | |
description: Automations to use the Ring Keypad with an Alarm Panel integration. See https://github.com/ImSorryButWho/HomeAssistantNotes/blob/main/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 | |
trace: | |
stored_traces: 1 | |
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: "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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment