deCONZ Simple Alarm Control Panel Blueprint [no longer supported]

I will keep the original post intact but this is no longer supported as the initial implementation in deCONZ has fundamentally changed, nearly everything is available directly from the keypad entity now rather than needing to combine the entity state with the alarm event.

This is a simple blueprint to combine Home Assistant automations with keypads paired to deCONZ. deCONZ Alarm control panel support in Home Assistant was introduced with release 2021.05, deCONZ support is still in alpha but will be released before summer 2021.

It works by making deconz_alarm_event interact with the alarm panel control entity. Validating the user input code before changing entity state.

Setting up an automation based on the blueprint the user will specify the device and one or more four digit code in a free form text field. When the user uses any arm/disarm command on the keypad the automation will validate the code and update the state of the alarm control panel entity. Other automations can then be used to do alarm logic based on the entity state.

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

blueprint:
  name: deCONZ Simple Alarm Control Panel
  description: |
    Provide a mechanism to validate user input code prior to setting entity state.

    The Automation will:
    1. Trigger on a ´deconz_alarm_event´.
    2. Verify code is an allowed code.
    3. Update device state to reflect event.
  domain: automation
  input:
    alarm_panel:
      name: Alarm control panel
      description: Alarm panel to control
      selector:
        device:
          entity:
            integration: deconz
            domain: alarm_control_panel
    allowed_codes:
      name: Allowed codes
      description: Four digit codes to allow with user input
      selector:
        text:
          multiline: true

mode: single

variables:
  alarm_panel_device_id: !input alarm_panel
  user_code: !input allowed_codes

trigger:
  platform: event
  event_type: deconz_alarm_event
  event_data:
    device_id: !input alarm_panel

condition:
  - condition: template
    value_template: '{{ trigger.event.data.code in user_code }}'

action:
  - variables:
      event: '{{ trigger.event.data.event }}'
  - choose:
      - conditions:
        - '{{ event == "armed_away" }}'
        sequence:
          - service: alarm_control_panel.alarm_arm_away
            target:
              device_id: '{{ alarm_panel_device_id }}'
      - conditions:
        - '{{ event == "armed_night" }}'
        sequence:
          - service: alarm_control_panel.alarm_arm_night
            target:
              device_id: '{{ alarm_panel_device_id }}'
      - conditions:
        - '{{ event == "armed_home" }}'
        sequence:
          - service: alarm_control_panel.alarm_arm_home
            target:
              device_id: '{{ alarm_panel_device_id }}'
      - conditions:
        - '{{ event == "disarmed" }}'
        sequence:
          - service: alarm_control_panel.alarm_disarm
            target:
              device_id: '{{ alarm_panel_device_id }}'
6 Likes

Interesting! Got any advice for good, preferably cheap, zigbee keypads? :slight_smile:

yes, i’m also interested in cheap zigbee alarm keypads
any links ?
Also for working with the standard HA ZHA integration (not deconz)

The Xfinity keypad is the first one out which should be merged shortly, support additional keypads have been requested on deCONZ GitHub but not yet added.

I used the Xfinity keypad with Node-RED and as it is a Zigbee-device, adding it to zigbee2mqtt is a walk in the park. Xfinity URC4450BC0-X-R control via MQTT | zigbee2mqtt.io
Never did bother with all the deCONZ, all automations etc. in Node-RED <–> MQTT.

I got my Iris 3405-L working with this blueprint. Thank you!

There are some work needed to be done on deConz still to support that keypad completely. More info: IRIS 3405-L Keypad · Issue #4845 · dresden-elektronik/deconz-rest-plugin · GitHub

@Robban how did you pair it with deconz? Cannot get it to pair in phoscon no matter what I do! I’m running 2.11.04 deconz

I don’t own a device myself :). You need to build deconz yourself to get the support atm. Check the link in the first post to get to the relevant github issue.

This is no longer supported, see top post for an explanation.

Thank you all for the information, it helped me figure it out eventually :slight_smile:

If you didn’t understand the top post like me: you need to read up on the alarmsystem functions of deconz here: Alarm Systems - deCONZ REST-API

It took me a long time to get my device, a frient keypad, added to the alarmsystem in deconz. in my case the thing was detected by deconz (after firmware updates) and it showed up as a sensor but it hadn’t been added to the alarmsystem object in deconz automatically (the documentation says it should though so maybe you’re lucky). My solution was to add the device to the alarmsystem, using curl in the terminal to interact with the rest api in deconz.

1 Like