We’re in the progress of setting up our smart office and we just got the integration for our doorbird video doorbells set up.
After some internal deliberations we came up with the following requirements:
Upon ringing, push the live camera picture to the frontend and allow users to open the door or ignore the ring
Support multiple door cameras (we have multiple entrence doors to the building)
Do not store any images in the cloud or have dependencies on the cloud
Remove the live camera image upon action or after 3 minutes with no action
We decided to use Home Assistant to sit at the center of the Gordian Knot that will be our IOT installation.
Of course, I wanted to share the early progress with the community:
The configuration is as follows:
# Setup of the Doorbird integration
doorbird:
token: !secret doorbird_west_entrance_token
devices:
- host: !secret doorbird_west_entrance_ip
username: !secret doorbird_west_entrance_user
password: !secret doorbird_west_entrance_password
hass_url_override: !secret doorbird_west_entrance_url_override
name: Doorbell West Entrance
monitored_conditions:
- doorbell
- motion
- relay
camera:
- platform: doorbird
switch:
- platform: doorbird
# Input_boolean is used for conditional card in lovelace frontend to only show camera entity
# and door opening buttons after a visitor presses the ring button
input_boolean:
visitor_ring:
name: Visitor at West entrance!
initial: off
automation:
# Event Catcher Automation to trigger showing Door UI in frontend via conditional card
- alias: Doorbird Ring
initial_state: 'true'
trigger:
platform: event
event_type: doorbird_doorbell_west_entrance_button
action:
- service: homeassistant.turn_on
data:
entity_id: input_boolean.visitor_ring
- service: persistent_notification.create
data:
message: "Visitor at the West Entrance"
title: Doorbell Ringing
# Cancel Automation to reset input_boolean when no action was taken for 3 minutes
- alias: Cancel Ring after 30 seconds
initial_state: 'true'
trigger:
platform: state
entity_id: input_boolean.visitor_ring
from: "off"
to: "on"
for: '00:03:00'
action:
- service: homeassistant.turn_off
data_template:
entity_id: input_boolean.visitor_ring
script:
# Script for opening the door and resetting input_boolean when door was opened via frontend
open_west_door:
sequence:
- service: homeassistant.toggle
data_template:
entity_id: switch.doorbell_west_entrance_relay_1
- service: homeassistant.turn_off
data_template:
entity_id: input_boolean.visitor_ring
# Lovelace frontend setup:
# card:
# cards:
# - entity: camera.doorbell_west_entrance_live
# type: picture-entity
# - cards:
# - entity: switch.doorbell_west_entrance_relay_1
# hold_action:
# action: none
# icon: 'mdi:door-open'
# name: Open Door
# tap_action:
# action: call-service
# service: script.turn_on
# service_data:
# entity_id: script.open_west_door
# theme: Backend-selected
# type: entity-button
# - entity: input_boolean.visitor_ring
# hold_action:
# action: none
# icon: 'mdi:cancel'
# name: Ignore
# tap_action:
# action: toggle
# theme: Backend-selected
# type: entity-button
# type: horizontal-stack
# type: vertical-stack
# conditions:
# - entity: input_boolean.visitor_ring
# state: 'on'
# type: conditional
The video doesn’t show me hitting the door button and I waited for the camera to pan back to the screen before hitting it. The latency is as close to instantaneous as to be indistinguishable for a human.
Components used:
Home Assistant 0.90.2 running on HassOS on an Intel NUC i3 box
Doorbird D2101V
Raspberry Pi 3b+ and Iiyama T2454MSC Touchscreen running Raspbian with Chromium in Kiosk mode
We’ll have further updates as there’s quite a bit more we need to set up.
So back for a quick update: We’re close to done with this project now. So there will be a couple of posts coming soon with added setup.
As this post is only about the Doorbird setup, we have now fully installed two Doorbirds for the two main building entrances as well as set up multiple Doorbird Chimes throughout the building. Any visitors ringing also trigger a call via SIP to a group of people responsible for accepting packages or guiding visitors. Not surprisingly the most difficult task was pulling cable to where we needed it.
I see you also mention that a doorbird bell push triggers a SIP group call.
Could I ask which platform you use - Asterisk, 3CX etc?
I am doing similar to you and also triggering a sip call on doorbell push to 3CX hosted on AWS.
I can get the doorbird to register ok and have been through the various setups in the Doorbird app.
A ddorbell push triggers a sip call which I can receive and answer, however I can’t seem to get audio working.
Would be great if you can share which SIP platform you are using?
I’ve used an Asterisk based on prem PBX. Just added the doorbirds as regular sip endpoints and have them call a hunt group that forwards the call to the people who do the door stuff. We didn’t have any issues there.
This is really great info, thanks for sharing, I’m always interested in doorbell projects because the devil is in the details and you don’t find out the limitations until long after you invested.
I have one question for you. When you are using the SIP integration, can you still use the Doorbird mobile app to view the feed and answer the door, or would you have to use Hass or another SIP endpoint on mobile to do that?
Also do you have a way to get the 2 way audio to where your hass UI shown in the video is?
Hass doesn’t do audio and we rarely use the audio to be honest.
The doorbirds are also very underpowered, you cannot have more than a single stream off them so we use HA to restream to multiple endpoints. We do not allow anyone to use the doorbird app so that’s easy.
We’ve found that for the vast majority of uses the actionable notifications that get sent to html5 push and mobile apps are sufficient and they also work quicker than the doorbird chime, meaning from the moment someone presses the button HA gets the REST call, the automation takes a snapshot off the video stream and sends notifications out which travel via firebase messaging, apple push notifications and down to clients is quicker than whatever doorbird does to also let the chimes ring - which are in the same subnet as themselves… go figure.
Bummer, this is always where I get tripped up in thinking about doorbells… I want the video displayed in hass as I want hass tablets displaying the video at each floor of my house by the audio stations, but I also want the audio to go to mobile. I don’t really want to buy some proprietary video station for each floor in the house when a hass dashboard is so much more useful. Audio is really a requirement for us.
Why not use the sip feature then? The doorbirds can call any phone number you like so that takes care of the audio. It works very well. Our use case just doesn’t have it be used very often as usually someone has hit the “open door” button on the notifications after glancing at the picture quicker than the doorbird can establish the voip call…
Yes that’s what I’m thinking, but I’m not sure how that interfaces with mobile phones… I don’t want to buy an expensive doorbird system and then realize that I need to use a SIP client that doesn’t allow me to open the door, for instance.
You need a sip number / provider for the doorbirds - I don’t know about you but I get that for free with my internet connection. A small asterisk setup also helps.
From the point of view of the mobile phone what comes in is a very regular phone call that you answer like any other. You can then enter a pin code on your phone to open the door.
Well you can only ever talk from one endpoint but you can ring SIP, app, chimes and whatever takes your fancy. Only one video stream from doorbird to either app or HA though. And I believe except for some Snom VoIP deskphones no video streams to SIP endpoints.
Okay, now we are getting somewhere. I wouldn’t want to talk on multiple devices simultaneously. A few questions though:
If someone rang the doorbell, it would simultaneously ring all SIP devices as well as all apps, is that correct? And then whoever picked up would get the audio?
What about the video? Can it be shown on homeassistant before someone picks up?
And then if someone picks up by app can it go to the app?
What about if someone picks up on audio only SIP endpoint, is the video still shown on hass?
Wow, I’m surprised it’s so flexible. Now I just have to decide whether I’m willing to spend that much on a doorbell, thanks for answering all my questions.