Opening or Closing Garage door with fingerprint scan

I have a Ubiquiti G4 Pro Doorbell (the PoE one), and they recently enabled the fingerprint sensor. You can add your fingerprint to the camera using the Protect App on your phone and placing your finger on the sensor.

Once that is done you can add an entry in Alarm Manager to post a fingerprint scan to a webhook. Then in Home Assistant you can listen for that webhook and set up an automation to open or close the garage depending on it’s state.

Any trigger would work though, and for me this eliminates the external keypad on the garage door.

In addition, if you keep a hotel key from your next hotel visit you can read that into the Doorbell as an NFC card and perform the same trigger and give that keycard to someone who needs access but you don’t want to go through the trouble of getting their fingerprint in the system.

alias: Toggle Garage Door
description: Toggles the garage door state based on its current status
trigger:
  - platform: webhook
    webhook_id: "XXXXXXX"  # Use your webhook ID here
action:
  - choose:
      - conditions:
          - condition: state
            entity_id: cover.garage_door  # Your garage door entity
            state: 'open'
        sequence:
          - service: cover.close_cover
            target:
              entity_id: cover.garage_door
      - conditions:
          - condition: state
            entity_id: cover.garage_door
            state: 'closed'
        sequence:
          - service: cover.open_cover
            target:
              entity_id: cover.garage_door
      - conditions:
          - condition: state
            entity_id: cover.garage_door
            state: 'opening'
        sequence:
          - service: cover.stop_cover
            target:
              entity_id: cover.garage_door
      - conditions:
          - condition: state
            entity_id: cover.garage_door
            state: 'closing'
        sequence:
          - service: cover.stop_cover
            target:
              entity_id: cover.garage_door

The additional step of also disarming the alarm is also nice, if the garage door is closed it will check the alarm status and disarm it. For this step I created a new alarm pin that no human knows and is 6 digits as opposed to the standard 4. And lastly a short delay to allow the alarm to disarm.

I have a konnected.io alarm panel since my home was hard wired for an alarm and use Alarmo in Home Assistant as the alarm.

alias: Toggle Garage Door and Disarm Alarm
description: Toggles the garage door state and disarms the alarm if necessary
trigger:
  - platform: webhook
    webhook_id: "XXXXXXX"  # Use your webhook ID here
action:
  - choose:
      # Condition for when the garage door is open
      - conditions:
          - condition: state
            entity_id: cover.garage_door
            state: 'open'
        sequence:
          - service: cover.close_cover
            target:
              entity_id: cover.garage_door
      # Condition for when the garage door is closed
      - conditions:
          - condition: state
            entity_id: cover.garage_door
            state: 'closed'
        sequence:
          - choose:
              - conditions:
                  - condition: or
                    conditions:
                      - condition: state
                        entity_id: alarm_control_panel.alarmo
                        state: 'armed_away'
                      - condition: state
                        entity_id: alarm_control_panel.alarmo
                        state: 'armed_home'
                sequence:
                  - service: alarm_control_panel.alarm_disarm
                    target:
                      entity_id: alarm_control_panel.alarmo
                    data:
                      code: "123456"  # Replace with your disarm code
                  - delay: 00:00:05  # Pause for 5 seconds
          - service: cover.open_cover
            target:
              entity_id: cover.garage_door
      # Condition for when the garage door is opening
      - conditions:
          - condition: state
            entity_id: cover.garage_door
            state: 'opening'
        sequence:
          - service: cover.stop_cover
            target:
              entity_id: cover.garage_door
      # Condition for when the garage door is closing
      - conditions:
          - condition: state
            entity_id: cover.garage_door
            state: 'closing'
        sequence:
          - service: cover.stop_cover
            target:
              entity_id: cover.garage_door