Frigate (card) no two-way audio to unifi doorbell

Hey all,

Short problem, I’ve got a Unifi G4 doorbell pro. I’ve setup Frigate and a Frigate card. But when I press the microphone button on the card you don’t hear anything at the doorbell.

I’ve read and searched many days now and combined many sources, so my setup could be a bit messy by now.

To the technical outline.
• Unifi Dreammachine Pro
• Synology NAS with docker
• Home Assistant in Docker
• Frigate in Docker
• Unifi G4 Doorbell Pro via POE and enabled RSTP(S)

On the Unifi Dream machine
• Forwarded ports 80 and 443 to Synology NAS with Docker

On the Synology NAS
• Created custom domain via External Access → DDNS → Add Synology.me domain.
• Reverse Proxy via Login portal → Advanced → Reverse Proxy ( custom sub domain port 443 to HA Docker IP and port 8123)
• Created Let’s Encrypt Certificate via Security → Certificate → mirrored custom sub domain to cert.

  • So, Im able to visite HA through HTTPS (without warning). Also working through the companion app.
  • Now, I can stream the Frigate card well in the HA app. Here the image is smooth and the sound/microphone button show up. (In desktop browser it sometimes does not show, then it shows a preview image and refreshes each second.)
  • In the companion app I can press the microphone button and it turns red. Also (on my android device) I see the green microphone in use notification in my top right corner.
  • When standing next to the doorbell no sound/voice comes out.

Below are all the settings. What part am I missing :slight_smile: I’ve got a feeling I made a mistake in the Frigate config. But I’m not sure how to fix it.
Also, I don’t know how to debug Frigate or what to look for. Any pointers?

This is my docker-compose.yaml

version: '3'
services:
  #--------------------------------------------------------#
  homeassistant_latest:
    container_name: Home_Assistant_latest_1
    image: ghcr.io/home-assistant/home-assistant:latest
    volumes:
      - /volume2/docker/home_assistant/config:/config
      - /etc/localtime:/etc/localtime:ro
    environment:
      - TZ=Europe/Amsterdam
    restart: always
    privileged: true
    network_mode: host
  #--------------------------------------------------------#
   frigate:
    container_name: frigate
    privileged: true
    restart: unless-stopped
    image: ghcr.io/blakeblackshear/frigate:stable
    shm_size: "64mb" # update for your cameras based on calculation above
    devices:
      - /dev/bus/usb:/dev/bus/usb # Passes the USB Coral, needs to be modified for other versions
#      - /dev/apex_0:/dev/apex_0 # Passes a PCIe Coral, follow driver instructions here https://coral.ai/docs/m2/get-started/#2a-on-linux
#      - /dev/video11:/dev/video11 # For Raspberry Pi 4B
#      - /dev/dri/renderD128:/dev/dri/renderD128 # For intel hwaccel, needs to be updated for your hardware
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /volume2/docker/frigate/config:/config
      - /volume2/docker/frigate/storage:/media/frigate
      - type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    ports:
      - "8971:8971"
      - "5002:5000" # Internal unauthenticated access. Expose carefully.
      - "8554:8554" # RTSP feeds
      - "8555:8555/tcp" # WebRTC over tcp
      - "8555:8555/udp" # WebRTC over udp
#    network_mode: host
  #--------------------------------------------------------#

Note, would it be better if they shared a network?

In the HA configuration.yaml I’ve added:

media_source: # one tutorial said to add this. 

http:
  use_x_forwarded_for: true
  trusted_proxies:
    -  192.168.0.200

This is the Frigate config.yaml


mqtt:
  enabled: true
  host: 192.168.0.200
  port: 1883
  client_id: frigate

#################

go2rtc:
  streams:
    frigate_voordeur:
      - rtspx://192.168.0.1:7441/SznJFbzrx0tARE0C?video&audio
      - "ffmpeg:frigate_voordeur#audio=opus"
  webrtc:
    candidates:
      - 192.168.0.200:8555
      - stun:8555
  ffmpeg:
    bin: ffmpeg
    volume: -af "volume=30dB"
    output_args:
      record: preset-record-ubiquiti
#################
cameras:
  frigate_voordeur2:
    ffmpeg:
      output_args:
        record: preset-record-ubiquiti
        rtmp: preset-rtmp-ubiquiti # recommend using go2rtc instead
      inputs:
        - path: rtsp://127.0.0.1:8554/frigate_voordeur?video&audio
          input_args: preset-rtsp-restream
#################

detect:
  enabled: False
record:
  enabled: False
birdseye:
  enabled: False
logger:
  default: debug

The Frigate Card Yaml

type: custom:frigate-card
cameras:
  - live_provider: go2rtc
    go2rtc:
      modes:
        - webrtc
    camera_entity: camera.frigate_voordeur
    title: Voordeur
menu:
  buttons:
    microphone:
      enabled: true
      alignment: opposing
      type: toggle
    timeline:
      enabled: false
    cameras:
      enabled: false
    frigate:
      enabled: false
    download:
      enabled: false
    media_player:
      enabled: false
    mute:
      enabled: true
      alignment: opposing
    camera_ui:
      enabled: false
    snapshots:
      enabled: false
    clips:
      enabled: false
  style: overlay
  position: left
  button_size: 80
live:
  controls:
    thumbnails:
      mode: none
  auto_mute: all
  preload: false
dimensions: {}
media_gallery:
  controls:
    thumbnails:
      size: 140
      show_favorite_control: false
      show_timeline_control: false
      show_download_control: false
    filter:
      mode: none
performance:
  style:
    box_shadow: false
    border_radius: false

I don’t think unifi supports two way talk over rtsp backchannel

That might explain a lot. Too bad. Thanks.
Than I’ll have to switch to Scrypted.