Ring Intercom + Home Assistant: Open door after double ring

Hi everyone, I’m new here. I have a Ring Intercom and I’m trying to set up an automation: I’d like the front door to unlock when my kids ring the bell twice in a row. I’ve successfully set up Home Assistant and Ring-MQTT.

I’ve read that Ring sends a new “Ding” notification every 20 seconds. Is there any way to count the number of times the doorbell button is pressed within a short time frame? I’d really appreciate any tips or advice.

alias: Open the door
description: ""
triggers:
  - type: turned_on
    device_id: 1dd0dea1ee91523ab6caed089c9a4c60
    entity_id: eded6d2b6bc93d874caad80ee4595ff7
    domain: binary_sensor
    metadata:
      secondary: false
    trigger: device
    for:
      hours: 0
      minutes: 0
      seconds: 5
conditions: []
actions:
  - device_id: 1dd0dea1ee91523ab6caed089c9a4c60
    domain: lock
    entity_id: adbbf679b964b2b972a9b5096b0aba38
    type: unlock
mode: single

You can require a sequence of events to happen by using a Wait for Trigger action

Before you put this automation into production, make sure you really think about and implement conditions to stop the actions from executing when they shouldn’t… you don’t want to have random people able to open your door just by ringing the bell twice.

2 Likes

heh yeah this seems like such a bad idea, might as well just leave the door open.

The trigger action idea sounds interesting. Unfortunately, it’s been confirmed that the doorbell “Ding” notification is only pushed every 20 seconds, so I can’t think of a reliable way to trigger the action.

No need to worry about the door itself — it’s just the main entrance to an apartment building. It’s usually open during the day, but not always, so my kids can’t always get in. Each apartment has its own separate door.

I have this blueprint, it requires 5 actions as written, but you can tweak it any way you want.
I do not suggest the same action 2 times in a row though, as said, why lock the door.

🧯 Keypad cipher code for 5 button presses before you turn on an input_boolean.