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.
- 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.