Reolink Video Türsprechanlage: So funktioniert es!

  • Beitrags-Kommentare:0 Kommentare

Mit der Reolink Video-Türklingel lässt sich in Home Assistant deutlich mehr machen als nur ein Kamerabild anzeigen. In diesem Setup bauen wir eine lokale Reolink Video Türsprechanlage per Klingel-Popup mit echter Zwei Wege Kommunikation, vorgefertigten Sprachnachrichten und optionaler Türöffnung direkt im Dashboard und ohne Cloud-Umweg für die eigentliche Kommunikation.

Der zentrale Trick ist die Kombination aus go2rtc, der WebRTC Kamera Karte und Bubble Card. Damit wird aus der Reolink Türklingel eine echte Video-Türsprechanlage, die auf PC, Tablets, Smartphones oder Wandpanels im Home Assistant Dashboard funktioniert.

Vorschau: Was das neue Klingel-Popup kann

Wenn jemand klingelt öffnet sich im Dashboard automatisch ein Popup mit dem Livebild der Reolink Türklingel. Standardmäßig bleibt das Mikrofon zunächst deaktiviert, damit wir erst sehen können, wer vor der Tür steht.

Im Popup stehen dann mehrere Funktionen zur Verfügung:

  • Livebild der Türklingel direkt im Home Assistant Dashboard
  • Mikrofon aktivieren, um mit der Person vor der Tür zu sprechen
  • Vorgefertigte Sprachnachrichten per Knopfdruck abspielen, zum Beispiel für Paketboten
  • Tür öffnen, falls ein Smart Lock oder Türöffner integriert ist
  • Automatisches Schließen des Popups nach einer definierten Zeit

Der große Unterschied zur früheren Lösung: Das Popup läuft nicht mehr über Browser Mod, sondern über Bubble Card. Dadurch wird das Setup zuverlässiger, reaktiver und funktioniert unabhängig davon, ob ein einzelner Browser vorher in Browser Mod registriert wurde.

🚨 Wichtiger Hinweis: Das Zwei-Wege-Audio über ONVIF/RTSP funktioniert nicht bei allen Reolink-Türklingeln gleich zuverlässig – es hängt vom Modell und der Firmware-Version ab (bei mir getestet mit der Reolink Video Doorbell WiFi, Firmware 1859+). Die Akku-Doorbell (2. Gen.) läuft z. B. nur über den Home Hub. Am besten testest du selbst über die go2rtc-Web UI mit „probe“, ob deine Kamera einen Audio-Rückkanal anbietet.

Voraussetzungen für die Reolink Video Türsprechanlage in Home Assistant

Damit das Setup funktioniert brauchst du einige Komponenten in Home Assistant. go2rtc ist seit Home Assistant 2024.11 grundsätzlich bereits integriert. Für unsere erweiterte Konfiguration legen wir aber zusätzlich eine eigene YAML-Konfiguration an.

Diese Bestandteile kommen im Setup zum Einsatz:

  • Home Assistant, idealerweise in einer aktuellen Version
  • Reolink Video-Türklingel mit aktiviertem RTSP-Zugriff
  • go2rtc Custom YAML für den Kamerastream und die Zwei-Wege-Audio-Weiterleitung
  • WebRTC Kamera Karte für die Darstellung und Mikrofon-Funktion im Dashboard
  • Bubble Card für das reaktive Popup
  • Custom Feature Card, Button Card und Card Mod für Layout und Bedienoberfläche
  • Optional: Reolink Talk für vorgefertigte Sprachnachrichten
  • Optional: ein Tablet mit Fully Kiosk Browser als Wandpanel

Die relevanten GitHub-Projekte findest du hier:

WebRTC installieren und in Home Assistant einrichten

Die WebRTC Kamera Karte ist der wichtigste Baustein für die spätere Gegensprechfunktion. Sie definiert, welche Medientypen im Stream verwendet werden, also Video, Audio und später auch das Mikrofon.

Die Installation läuft über HACS:

  1. Öffne in Home Assistant den Home Assistant Community Store.
  2. Suche nach WebRTC.
  3. Lade die Integration in der aktuellen Version herunter.
  4. Starte Home Assistant neu.
  5. Gehe danach zu Einstellungen > Geräte & Dienste.
  6. Klicke auf Integration hinzufügen und suche erneut nach WebRTC.
  7. Füge die Integration hinzu. Eine zusätzliche URL musst du an dieser Stelle normalerweise nicht eintragen.

Nach der Einrichtung kannst du die go2rtc-Weboberfläche über den Port 1984 erreichen, also zum Beispiel über http://deine-home-assistant-ip:1984. Diese Oberfläche ist später sehr hilfreich, um Streams und Verbindungen zu prüfen.

go2rtc konfigurieren: Der Kern der Zwei-Wege-Kommunikation

Auch wenn go2rtc inzwischen in Home Assistant integriert ist, brauchen wir für dieses Setup eine eigene Konfigurationsdatei. Diese Datei existiert in vielen Installationen noch nicht und muss manuell angelegt werden.

Lege im Home Assistant Konfigurationsverzeichnis eine Datei mit folgendem Namen an:

go2rtc.yaml

Darin wird der Stream der Reolink Türklingel definiert. Der Zugriff erfolgt bei Reolink typischerweise per RTSP. Wichtig ist, dass du in den erweiterten Einstellungen der Türklingel den RTSP-Port aktiviert hast. Standardmäßig wird Port 554 verwendet.

Das Schema für die RTSP-Adresse sieht grundsätzlich so aus:

rtsp://BENUTZER:PASSWORT@IP-ADRESSE:554/h264Preview_01_sub

Je nach gewünschter Qualität kannst du den Substream oder Mainstream verwenden. Für ein Dashboard-Popup reicht oft der Substream, weil er schneller lädt und weniger Last verursacht.

Wichtig: Sonderzeichen im Passwort richtig codieren

Ein häufiger Stolperstein sind Sonderzeichen im Kamerapasswort. Wenn dein Passwort zum Beispiel ein Fragezeichen enthält, kann die RTSP-URL fehlschlagen, weil ein Fragezeichen in URLs normalerweise Parameter einleitet.

In diesem Fall musst du Sonderzeichen URL-codieren. Aus einem Fragezeichen wird zum Beispiel:

%3F

Wenn der Stream trotz korrekter IP-Adresse und Zugangsdaten nicht startet, solltest du diesen Punkt unbedingt prüfen. Gerade bei sicheren Passwörtern mit Sonderzeichen ist das eine typische Fehlerquelle.

Warum go2rtc für Kameras so sinnvoll ist

go2rtc baut im Idealfall nur eine Verbindung zur Kamera auf und verteilt den Stream intern weiter. Das ist besonders bei günstigeren Kameras hilfreich, die bei mehreren parallelen Zugriffen schnell instabil werden können.

Statt dass Dashboard, Automationen und andere Komponenten jeweils direkt auf die Kamera zugreifen, läuft die Kommunikation zentral über go2rtc. Für die Zwei-Wege-Kommunikation wird zusätzlich FFmpeg genutzt, um das Mikrofonsignal passend umzuwandeln und an die Klingel weiterzugeben.

Wenn du die go2rtc-Weboberfläche öffnest, kannst du unter anderem sehen, welche Geräte gerade auf den Stream zugreifen. Der Bereich Probe ist besonders nützlich, wenn du Probleme mit dem Mikrofon oder mit einzelnen Clients analysieren möchtest.

go2rtc absichern

Standardmäßig ist die go2rtc-Oberfläche nicht zwingend mit Benutzername und Passwort geschützt. Wenn dein Home Assistant von außen erreichbar ist, solltest du den Zugriff auf diese Schnittstelle zusätzlich absichern.

Dazu kannst du in der go2rtc-Konfiguration Zugangsdaten für die API setzen. Wenn du Benutzername und Passwort verwendest, achte darauf, dass diese auch im RTSP-Abschnitt berücksichtigt werden. Nach Änderungen an der Datei solltest du Home Assistant neu starten oder die Konfiguration neu laden.

go2rtc Demo YAML
# go2rtc.yaml – Demo-Konfiguration für die Reolink-Türklingel
# mit Zwei-Wege-Audio

# Absicherung der WebUI (Port 1984) – optional, aber empfohlen
api:
  username: mein_webui_user
  password: MeinSicheresPasswort123

# Interner RTSP-Server von go2rtc selbst – ebenfalls mit denselben
# Zugangsdaten abgesichert, sobald du sie im Einrichtungsdialog gesetzt hast
rtsp:
  listen: 127.0.0.1:8554
  username: mein_webui_user
  password: MeinSicheresPasswort123

# Der eigentliche Kamera-Stream: Video/Audio-Empfang + Audio-Rückkanal
streams:
  camera.klingel_2wege:
    - rtsp://admin:DeinPasswort%21@192.168.x.x:554/h264Preview_01_sub
    - "ffmpeg:camera.klingel_2wege#audio=opus#audio=copy"

Mikrofon-Stolpersteine: Berechtigungen und HTTPS

Der Teil, der in der Praxis am meisten Nerven kosten kann, ist der Mikrofonzugriff. Das liegt weniger an Home Assistant selbst, sondern an Browser- und Betriebssystem-Berechtigungen.

Wenn du ein Android-Tablet mit Fully Kiosk Browser nutzt, solltest du folgende Punkte prüfen:

  1. Öffne die Einstellungen des Fully Kiosk Browsers.
  2. Gehe in die Web Content Settings.
  3. Aktiviere Enable Microphone Access. Dafür wird die Plus-Version beziehungsweise eine Lizenz benötigt.
  4. Öffne zusätzlich die Android-App-Berechtigungen.
  5. Erlaube dort ebenfalls den Mikrofonzugriff für den Fully Kiosk Browser.

Ein weiterer wichtiger Punkt: Der Mikrofonzugriff im Browser funktioniert zuverlässig nur über HTTPS. Wenn du Home Assistant auf einem Tablet verwendest, solltest du den Zugriff daher verschlüsselt bereitstellen – zum Beispiel über Home Assistant Cloud, Tailscale, einen Reverse Proxy oder eine andere HTTPS-Lösungen.

Helfer anlegen: Steuerung für Mikrofon und Sprachnachrichten

Für das Popup werden einfache Schalter-Helfer (input_boolean) benötigt. Diese Input Booleans steuern, welche Ansicht im Popup aktiv ist und ob das Mikrofon zugeschaltet werden soll.

Im Setup kommen zwei Helfer zum Einsatz:

  • Helfer für Sprachnachrichten: Steuert die Ansicht mit den vorgefertigten Antworten.
  • Helfer für Gegensprechen: Schaltet zwischen normalem Kamerastream und Stream mit aktivem Mikrofon um.

Wenn du nur echtes Zwei-Wege-Audio nutzen möchtest, reicht der Helfer für das Gegensprechen. Wenn du zusätzlich automatische Antworten wie „Bitte das Paket abstellen“ oder „Ich bin gerade nicht zu Hause“ integrieren möchtest, brauchst du zusätzlich den Helfer für die Sprachnachrichten.

Angebot
Reolink 5MP Video-Türklingel mit Chime, 2,4/5GHz WLAN, 180° Ultraweitwinkel
  • 5MP Super HD Tag & Nacht: Wunderbare 5MP HD, mit...
  • Schnellere Antwort für Besucher: Mit dem...
  • Präzise Warnungen: Sie können einstellen, dass...
  • Flexible Speicheroptionen: Sie unterstützt...
  • 2.4/5GHz Dual-Band WiFi: Keine Angst vor...

Skripte für Reolink-Sprachnachrichten

Die vorgefertigten Antworten werden nicht mehr direkt in die Popup-Automation geschrieben. Stattdessen ist es sauberer, für jede Nachricht ein eigenes Home Assistant Skript anzulegen.

Das Prinzip ist einfach:

  • Jede Sprachnachricht ist ein eigenes Skript.
  • Das Skript erzeugt eine TTS-Nachricht.
  • Die Ausgabe erfolgt über die Media-Player-Entität der Reolink Türklingel. (Benötigt Reolink Talk Integration, Video hier)
  • Im Bubble Card Popup wird dann nur noch das passende Skript aufgerufen.
Skript Paket abstellen
alias: 'Sprachnachricht: Paket abstellen'
sequence:
  - action: tts.cloud_say
    data:
      cache: true
      entity_id: media_player.reolink_talk_klingel
      message: Bitte das Paket vor der Tür abstellen, danke!
  - action: input_boolean.turn_off
    target:
      entity_id: input_boolean.freisprechen
mode: single

Das macht die Konfiguration übersichtlicher und deutlich leichter wartbar. Wenn du später eine Nachricht ändern möchtest, passt du nur das entsprechende Skript an und musst nicht den kompletten Dashboard-Code anfassen. Ein Skript kannst du darüber hinaus einfacher in anderen Automatisierungen wieder verwenden.

Einfache Automation: Was passiert, wenn jemand klingelt?

Die Automation ist durch den Umstieg auf Bubble Card deutlich schlanker geworden. Sie muss nicht mehr das komplette Popup über Browser Mod erzeugen, sondern bereitet nur noch den Zustand vor.

Die Automation übernimmt im Wesentlichen diese Aufgaben:

  1. Sie reagiert auf den Klingel-Sensor der Reolink Türklingel.
  2. Sie setzt die Helfer für Mikrofon und Sprachnachrichten zurück.
  3. Sie stellt sicher, dass das Mikrofon beim Öffnen des Popups deaktiviert ist.
  4. Sie schaltet bei Bedarf die Displays der Tablets ein.
  5. Das eigentliche Popup erscheint reaktiv über Bubble Card im Dashboard.

Zum Testen kannst du den Klingelstatus auch über die Entwicklerwerkzeuge simulieren. Dazu wählst du den passenden Sensor für den Türklingelstatus aus und setzt ihn testweise auf on. Danach sollte sich im Dashboard das Popup öffnen.

Demo Automation Tablet und Helfer steuern

Tablet steuern
alias: "Tablet: Bildschirm einschalten beim klingeln"
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.tuerklingel_besucher
    to: "on"
    enabled: true
conditions: []
actions:
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.tuerklingel_sprechen
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.tuerklingel_sprachmenue
  - action: switch.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: switch.tablet_bildschirm
mode: single

Bubble Card statt Browser Mod: Das neue Popup

Der wichtigste Teil des Setups ist die Bubble Card Konfiguration. Sie sorgt dafür, dass das Popup zuverlässig erscheint und die verschiedenen Ansichten sauber gesteuert werden.

Für die Gegensprechfunktion werden zwei Zustände benötigt:

  • Ansicht ohne Mikrofon: Standardansicht mit Kamerabild und Audio.
  • Ansicht mit Mikrofon: Neu geladener WebRTC-Stream inklusive Mikrofon-Medientyp.

Der Grund dafür ist eine technische Einschränkung: In eine bereits aufgebaute WebRTC-Verbindung kann nicht einfach nachträglich ein zusätzlicher Medientyp eingebunden werden. Wenn das Mikrofon aktiviert werden soll, muss der Stream kurz neu aufgebaut werden, diesmal mit Mikrofon.

Genau das übernimmt der Helfer für das Gegensprechen. Klickst du auf den Mikrofon-Button, wird der Helfer aktiviert und Bubble Card zeigt die zweite Stream-Variante an. Visuell sollte dabei klar erkennbar sein, dass das Mikrofon jetzt aktiv ist, zum Beispiel über einen grünen Button.

Auto-Close und Sicherheit: Mikrofon wieder deaktivieren

Ein wichtiger Sicherheitsaspekt ist das automatische Deaktivieren des Mikrofons. Wenn das Popup geschlossen wird oder nach einer bestimmten Zeit automatisch verschwindet, sollte das Mikrofon zuverlässig wieder ausgeschaltet werden.

Im Setup ist deshalb ein Auto-Close nach etwa 60 Sekunden vorgesehen. Zusätzlich wird über eine Close Action der Mikrofon-Helfer zurückgesetzt. So stellen wir sicher, dass draußen niemand weiter mithören kann, wenn das Gespräch eigentlich beendet ist.

Bubble Card Konfiguration
type: custom:bubble-card
card_type: pop-up
hash: '#klingel'
name: Es klingelt
icon: mdi:bell-ring
cards:
  - type: custom:webrtc-camera
    url: camera.tuerklingel_2wege
    media: video,audio
    ui: true
    visibility:
      - condition: state
        entity: input_boolean.tuerklingel_sprechen
        state: 'off'
  - type: custom:webrtc-camera
    url: camera.tuerklingel_2wege
    media: video,audio,microphone
    ui: true
    visibility:
      - condition: state
        entity: input_boolean.tuerklingel_sprechen
        state: 'on'
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        name: Tür öffnen
        icon: mdi:door-open
        size: 25%
        styles:
          card:
            - padding: 6px
            - height: 60px
          name:
            - font-size: 12px
        tap_action:
          action: call-service
          service: lock.open
          target:
            entity_id: lock.haustuer
        hold_action:
          action: none
        double_tap_action:
          action: none
      - type: custom:custom-features-card
        features:
          - type: custom:service-call
            styles: |-
              :host {
                --feature-height: 60px;
                justify-content: center;
              }
            entries:
              - type: button
                entity_id: input_boolean.tuerklingel_sprechen
                value_attribute: state
                icon: >-
                  {{ 'mdi:microphone' if is_state(config.entity, 'on') else
                  'mdi:microphone-off' }}
                tap_action:
                  action: toggle
                  target:
                    entity_id: input_boolean.tuerklingel_sprechen
                haptics: true
                styles: |-
                  :host {
                    width: 60px !important;
                    height: 60px !important;
                    border-radius: 50%;
                    flex: none;
                  }
                  .background {
                    {% if is_state(config.entity, 'on') %}
                    background: #00ff00 !important;
                    {% endif %}
                  }
                  .icon {
                    {% if is_state(config.entity, 'on') %}
                    --icon-color: black;
                    {% endif %}
                  }
      - type: custom:button-card
        name: Sprachansage
        icon: mdi:bullhorn-outline
        size: 25%
        styles:
          card:
            - padding: 6px
            - height: 60px
          name:
            - font-size: 12px
        tap_action:
          action: call-service
          service: input_boolean.toggle
          target:
            entity_id: input_boolean.tuerklingel_sprachmenue
        hold_action:
          action: none
        double_tap_action:
          action: none
button_type: name
sub_button:
  main: []
  bottom: []
trigger:
  - condition: state
    entity: binary_sensor.tuerklingel_besucher
    state: 'on'
auto_close: '60000'
trigger_close: false
close_action:
  action: call-service
  service: input_boolean.turn_off
  target:
    entity_id: input_boolean.tuerklingel_sprechen

Zweites Popup für Sprachnachrichten

Neben der Gegensprechansicht kann es ein zweites Bubble Card Popup für Sprachnachrichten geben. Darin werden mehrere Buttons angezeigt, die jeweils ein Skript aufrufen.

Typische Beispiele sind:

  • „Bitte das Paket abstellen.“
  • „Ich bin gerade nicht zu Hause.“
  • „Einen Moment bitte.“

Die Gestaltung der Buttons ist flexibel. Über Button Card, Custom Feature Card und Card Mod kannst du Farben, Abstände, Icons und Layout an dein Dashboard anpassen.

Sprachnachrichten PopUp
type: custom:bubble-card
card_type: pop-up
hash: '#sprachauswahl'
name: Sprachnachricht wählen
icon: mdi:message-text-outline
trigger_close: false
cards:
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        name: Bin gleich da
        icon: mdi:message-text-outline
        size: 40%
        styles:
          card:
            - padding: 10px
          name:
            - font-size: 14px
        tap_action:
          action: call-service
          service: script.turn_on
          target:
            entity_id: script.tuerklingel_nachricht_bin_gleich_da
        hold_action:
          action: none
        double_tap_action:
          action: none
      - type: custom:button-card
        name: Paket abstellen
        icon: mdi:package-variant
        size: 40%
        styles:
          card:
            - padding: 10px
          name:
            - font-size: 14px
        tap_action:
          action: call-service
          service: script.turn_on
          target:
            entity_id: script.tuerklingel_nachricht_paket_abstellen
        hold_action:
          action: none
        double_tap_action:
          action: none
      - type: custom:button-card
        name: Nicht zuhause
        icon: mdi:home-remove-outline
        size: 40%
        styles:
          card:
            - padding: 10px
          name:
            - font-size: 14px
        tap_action:
          action: call-service
          service: script.turn_on
          target:
            entity_id: script.tuerklingel_nachricht_nicht_zuhause
        hold_action:
          action: none
        double_tap_action:
          action: none
button_type: name
sub_button:
  main: []
  bottom: []
trigger:
  - condition: state
    entity: input_boolean.tuerklingel_sprachmenue
    state: 'on'
auto_close: '30000'

Praxis-Test: Reolink Gegensprechen direkt aus Home Assistant

Im Live-Test funktioniert der Ablauf wie gewünscht: Beim Klingeln öffnet sich das Popup mit deaktiviertem Mikrofon. Erst wenn wir bewusst auf den Mikrofon-Button klicken, wird der Stream neu aufgebaut und das Gegensprechen aktiviert.

Damit lässt sich direkt über Home Assistant mit der Person vor der Tür sprechen. Gleichzeitig bleiben die zusätzlichen Optionen erhalten: Sprachnachrichten senden, Tür öffnen oder das Popup automatisch schließen lassen.

Fazit

Mit go2rtc, WebRTC und Bubble Card wird die Reolink Türklingel in Home Assistant zu einer echten lokalen Video-Türsprechanlage. Das Setup ist zwar etwas aufwendiger als eine normale Kameraeinbindung, löst aber genau das Problem, nach dem viele lange gesucht haben: echte Zwei-Wege Kommunikation direkt aus dem Home Assistant Dashboard.

Besonders wichtig sind die Details: RTSP korrekt aktivieren, Sonderzeichen im Passwort URL-codieren, Mikrofon-Berechtigungen setzen und HTTPS für den Browserzugriff nutzen. Wenn diese Punkte passen, bekommst du ein sehr starkes Klingel-Popup mit Livebild, Gegensprechen, Sprachnachrichten und optionaler Türöffnung ohne Umweg über die Reolink App!

Weitere Home Assistant Beiträge findest du hier!

Schreibe einen Kommentar