Reolink Türklingel, Integration in HA mit Gegensprechen

Hallo zusammen,

erst mal kurz, worum es geht in Stichpunkten:

· Reolink 5MP Video-Türklingel über WLAN ohne Akku (vorhanden)

· Xoro MegaPAD 1404 V7 (vorhanden)

· Integration Video in HA auf Tablet im Wohnzimmer (funktioniert)

· Türöffner (nicht vorhanden und nicht notwendig)

· Gegensprechen zwischen Klingel und Tablet erforderlich (FUNKTIONIERT NICHT)

Ich habe mich vor kurzem auch nach längerer Recherche für eine Reolink-Türkamera entschieden, zumal wir auch ansonsten einiges von Reolink nutzen. Da ich von meiner besseren Hälfte keine Akzeptanz für die ausschließliche Nutzung auf dem Smartphone erfahren konnte, habe ich mich an die Integration in HA gewagt. Mit KI-Unterstützung sieht das Ganze auf unsererm Xoro MegaPAD 1404 V7 14 Zoll Tablet auch ziemlich gut aus. Ich hab eine Oberfläche, die automatisch aktiviert wird, sobald eine Person erkannt oder der Klingeltaster betätigt wird. Diese zeigt das hochauflösende Bild und daneben den Taster zum Sprechen und zum Beenden des Gesprächs. Einen Türöffner haben wir nicht. Uns geht es primär darum, vorher zu sehen, wer da ist, um dann zu entscheiden, ob wir öffnen oder nicht. Man wird ja auch nicht jünger. Leider scheitert die finale Installation noch daran, dass ich es nicht schaffe die Sprache zu übertragen.

So sieht das Ganze erst mal aus und würde uns von den Bedienmöglichkeiten auch ausreichen:

Die Seite auf dem Dashboard wird hierdurch dargestellt:

cards: []
header: {}


- type: panel
  path: kamera_vollbild
  title: Kamera-Vollbild
  icon: “”
  cards:
  - type: custom:layout-card
    layout_type: custom:grid-layout
    layout:
    grid-template-columns: 3fr 1fr
    grid-template-rows: auto
    grid-gap: 15px
    cards:
    - type: custom:advanced-camera-card
      card_id: haustuer_vollbild_player
      cameras:
      - camera_entity: camera.klingel_hochauflosung
        live:
        preload: true
        controls:
        builtin: false
        view:
        default: live
    - type: vertical-stack
      cards:
      * type: heading
        heading: Haustür-Steuerung
        heading_style: title
      - type: custom:mushroom-template-card
        primary: Gegensprechen
        secondary: >
        {% if is_state(‘input_boolean.klingel_mikrofon_aktiv’, ‘on’)
        %}
        Verbindung aktiv
        {% else %}
        Bereit
        {% endif %}
        icon: mdi:microphone
        icon_color: >
        {% if is_state(‘input_boolean.klingel_mikrofon_aktiv’, ‘on’)
        %}
        green
        {% else %}
        red
        {% endif %}
        layout: vertical
        icon_type: icon
        card_mod:
        style:
        mushroom-state-item$: |
        .title {
        font-size: 24px !important;
        font-weight: bold !important;
        line-height: 32px !important;
        }
        .secondary {
        font-size: 16px !important;
        line-height: 24px !important;
        }
        .: |
        ha-state-icon {
        –mdc-icon-size: 45px !important;
        }
        .shape {
        –icon-shape-size: 80px !important;
        margin-bottom: 15px !important;
        }
        tap_action:
        action: fire-dom-event
        browser_mod:
        action: call-service
        service: input_boolean.toggle
        target:
        entity_id: input_boolean.klingel_mikrofon_aktiv
        advanced_camera_card_action:
        card_id: haustuer_vollbild_player
        action: microphone_toggle
      - type: custom:mushroom-template-card
        primary: Zurück
        secondary: Startseite
        icon: mdi:home
        icon_color: blue
        layout: vertical
        icon_type: icon
        card_mod:
        style:
        mushroom-state-item$: |
        .title {
        font-size: 24px !important;
        font-weight: bold !important;
        line-height: 32px !important;
        }
        .secondary {
        font-size: 16px !important;
        line-height: 24px !important;
        }
        .: |
        ha-state-icon {
        –mdc-icon-size: 45px !important;
        }
        .shape {
        –icon-shape-size: 80px !important;
        margin-bottom: 15px !important;
        }
        tap_action:
        action: navigate
        navigation_path: /tablet-wohnzimmer/startseite

Die Automation für die Aktivierung der Kamera und des Mikrofons sieht wie folgt aus:

alias: “Klingel: Dashboard-Vollbild via Browser Mod”
description: “”
triggers:

- trigger: state
  entity_id:
  - binary_sensor.klingelkamera_person
  - binary_sensor.klingelkamera_besucher
    to: “on”
    conditions: [ ]
    actions:
- action: switch.turn_on
  target:
  entity_id: switch.wohnzimmer_tablet_bildschirm
- action: input_boolean.turn_on
  target:
  entity_id: input_boolean.klingel_vollbild_aktiv
- delay: “00:00:02”
- action: browser_mod.navigate
  data:
  path: /tablet-wohnzimmer/kamera_vollbild
  browser_id: browser_mod_68079698_d8692586
- delay: “00:00:30”
* wait_template: |-
  {{ is_state(‘binary_sensor.klingelkamera_person’, ‘off’) and
  is_state(‘binary_sensor.klingelkamera_besucher’, ‘off’) }}
  timeout: “00:03:00”
- delay: “00:00:05”
- action: browser_mod.navigate
  data:
  path: /tablet-wohnzimmer/startseite
  browser_id: browser_mod_68079698_d8692586
- delay: “00:00:02”
- action: input_boolean.turn_off
  target:
  entity_id:
  - input_boolean.klingel_vollbild_aktiv
  - input_boolean.klingel_mikrofon_aktiv
- action: switch.turn_off
  target:
  entity_id: switch.wohnzimmer_tablet_bildschirm
  mode: restart

Leider funktioniert auf dieser Basis als letztes die Gegensprechfunktion zur Nutzung der Klingel noch nicht. Audio wird weder von der Kamera ins Wohnzimmer noch andersrum übertragen. Über konstruktive Vorschläge wären wir sehr dankbar, um die Kamera/Klingel auch demnächst draußen montieren zu können.
Danke,
Sandhase
p.s.: ich weiß nicht, ob ich das mit der Markierung der Postsnippets richtig gemacht habe, falls nein, bitte nochmal erklären :innocent:

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
s.a.: (Neues Update & Features - Hier in der Community 🫶)

Hallo sandhase,

ich wollte die Tage einen eigenen Beitrag online stellen wie ich es erfoolgreich gelöst habe, hatte aber noch nicht die Zeit ihn fertig zu machen. Da du nun nach Hilfe fragst, spare ich mir meinen eigenen Beitrag und veröffentliche es einfach hier :wink:

Mein angedachter Beitrag:

Hallo zusammen,

ich wollte meine Reolink Video Doorbell WiFi unhabhänig von der Reolink App und damit nur lokal in HA auch als Gegensprechanlage (2-way-audio) nutzen, bzw. über die Companion-App auch von unterwegs, aber die Kamera selbst eben nur lokal eingebunden.

Die gängigen Anleitungen, die meist auf Frigate, der Advanced Camera Card usw. aufbauen, haben einfach nicht wirklich funktioniert oder waren total instabil.

Habe das Thema dann lange ruhen lassen und mit der Standard Reolink Integration und einfacher Automation wenigstens das Kamerabild auf meinem Wandpanel und einen Snapshot auf unsere Smartphone geschickt, sobald jemand geklingelt hat, Gegensprechen ging aber halt nicht.

Dann habe ich doch nochmal gesucht und bin schlussendlich auf einen Reddit-Beitrag gestoßen, der verspricht das ganz einfach und mit wenigen zusätzlichen Apps/Integrationen hinzubekommen und das auch noch stabil.

Gefunden, implementiert und angepasst –> was soll ich sagen es hat dann relativ einfach funktioniert und läuft bisher auch stabil.

Vielleicht hat sich der eine oder andere auch mal damit beschäftigt und ist gescheitert, oder hat es mit viel ausprobieren an Frigate, Card-Mod und anderen System zum Laufen gebracht, aber ist trotzdem nicht richtig zufrieden, weil Frigate z.B. nur für diese Anwendung eigentlich over-powered ist und Leistung zieht.

Dann folgt einfach der beschrieben Anleitung, ist echt super.

Reolink Doorbell - 2 Way Audio. Working Solution

Im Reddit-Beitrag schreibt der User “insaim”, dass er das Kamerabild und die Audioausgabe/Gegensprechen separiert hat, sodass es beim Starten der Gegensprech-Funktion zu keiner Unterbrechung des Kamerastreams kommt wegen der Umschaltung. So habe ich es dann auch umgesetzt.

Meine dazugehörige Automation vom Wandpanel und Mediensteuerung wenn Musik / Film / TV läuft:

alias: Haustür Klingel
description: >-
  Start Tablet mit Kamera und Gegensprechanlage, Banachrichtigung Smartphones
  und Mediasteuerung leiser/pausiert
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.haustuer_besucher
    to:
      - 'on'
conditions: []
actions:
  - action: fully_kiosk.load_url
    metadata: {}
    data:
      device_id: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
      url: >-
        https://xxxxxxxxxxxxxxxxxx/ubersicht-tablet/haustur
    enabled: true
  - action: switch.turn_on
    metadata: {}
    target:
      entity_id: switch.tablet_bildschirm
    data: {}
    enabled: true
  - action: notify.all_devices
    data:
      message: Jemand ist an der Tür
      data:
        image: /api/camera_proxy/camera.haustuer_standardauflosung
        ttl: 0
        priority: high
        importance: high
        channel: Haustuer
        vibrationPattern: 100, 1000, 100, 1000, 100
        actions:
          - action: URI
            title: Kamera & Sprechanlage öffnen
            uri: /lovelace/haustur
  - alias: Musik leiser
    if:
      - condition: media_player.is_playing
        target:
          entity_id: media_player.volumio
        options:
          behavior: any
          for: '00:00:00'
    then:
      - action: media_player.volume_set
        metadata: {}
        target:
          entity_id: media_player.anthem_av
        data:
          volume_level: 0.4
      - if:
          - condition: media_player.is_on
            target:
              entity_id: media_player.zone_2
            options:
              behavior: any
              for: '00:00:00'
        then:
          - action: media_player.volume_set
            metadata: {}
            data:
              volume_level: 0.4
            target:
              entity_id: media_player.zone_2
  - if:
      - condition: media_player.is_playing
        target:
          entity_id: media_player.shield
        options:
          behavior: any
          for: '00:00:00'
    then:
      - action: media_player.media_pause
        metadata: {}
        data: {}
        target:
          entity_id: media_player.shield
    alias: Shield stopp
  - alias: SAT leise
    if:
      - condition: state
        entity_id: media_player.anthem_av
        state:
          - SAT
        attribute: source
    then:
      - action: media_player.volume_set
        metadata: {}
        target:
          entity_id: media_player.anthem_av
        data:
          volume_level: 0.4
  - delay:
      hours: 0
      minutes: 5
      seconds: 0
      milliseconds: 0
  - action: button.press
    metadata: {}
    target:
      entity_id: button.tablet_start_url_laden
    data: {}
mode: single

Die Konfig vom Dashboard “Gegensprechanlage” als eigene Ansicht:

type: sections
max_columns: 2
title: Haustür
path: haustur
icon: mdi:doorbell-video
sections:
  - type: grid
    cards:
      - type: custom:webrtc-camera
        url: camera.2way_audio_doorbell
        media: video
        ui: true
        muted: false
        visibility:
          - condition: state
            entity: input_boolean.haustuer_sprachen
            state: 'off'
        style: |
          .pictureinpicture {display: none} .fullscreen {display: none}
        grid_options:
          columns: 24
          rows: null
      - type: custom:webrtc-camera
        ui: true
        muted: false
        streams:
          - url: camera.2way_audio_doorbell
            mode: webrtc
            media: audio
            name: Hören
          - url: camera.2way_audio_doorbell
            mode: webrtc
            media: audio, microphone
            name: Gegensprechen
        style: >
          .controls { position: inherit; }  .volume { padding: 4px 6px; display:
          flex !important; align-items: center; } .stream { padding: 4px 8px;
          flex: 1 0 0; } .player { height: 0 } .space, .header, .fullscreen,
          .screenshot, .pictureinpicture { display: none }
        grid_options:
          columns: 24
    column_span: 2
cards: []

Hallo Trashonaut,
danke für die ausführliche Beschreibung. Das werde ich mir vermutlich am Wochenende mal angucken und den Part extrahieren, der für uns relevant ist. Den Mediaplayer brauchen wir tatsächlich (aktuell noch) nicht.
Da wir HA bisher nur intern nutzen, läuft dieser nicht mit https, was lt. andere Quellen für Audio evtl. ein Problem verursachen kann. Wie ist das denn bei dir, muss ich darauf wirklich achten?
Ich hab jetzt auch so nebenbei noch einen anderen Ansatz gefunden, den ich auch nicht sooo schlecht finde, falls deine Integration bei uns nicht funktioniert. Hier wird einfach zwischen HA und der Reolink-App hin- und wieder zurückgeschaltet: (Blueprint) Präsenzgesteuerte Tablet-Steuerung für Reolink-Klingeln mit Zwei-Wege-Audio - Showroom - simon42 Community
Ich melde mich in jedem Fall nochmal,
Sandhase

Ich benutze neben der lokalen Vebindung wenn ich daheim oder doch mal per VPN mit meinerm Heimnetzwerke verbunden bin, auch die Nabu Casa Cloud.

War mir daher unsicher, ob ich meine Gegensprechanlage bisher nur per Cloud und damit mittels https: benutzt habe. Aber eben getestet und mit der beschriebenen Lösung scheint es auch per http: zu funktionieren.

Gruß

Ich habe mich am Wochenende nochmal intensiver damit beschäftigt und feststellen müssen, dass Audio in dieser Kombination tatsächlich wohl nur bei vorhandenem SSL-Zertifikat funktioniert, aber ich probiere es gerne nochmal, wenn es wirlich sicher funktioniert. Somit bin ich umgeschwenkt und habe eine Automation erstellt, die von HA auf die Reolink-App umschaltet und hinterher wieder zurück. Das funktioniert auch grundsätzlich ziemlich problemlos. Leider ergibt sich aber ein dicker Haken: Im Gegensatz zur Reolink-App auf den Smartphones sind Bild- und Tonqualität einfach so schlecht, dass man es nicht nutzen kann. Nun stellt sich die Frage, ob jemand eine Idee hat, wie man die durch spezielle Parameter anpassen kann oder ob das einfach daran liegt, dass das Xoro-Megapad es nicht besser kann. Wenn dem so ist, würde es vermutlich mit der Variante über die HA-Integration vermutlich auch nicht besser werden, oder? Feuer frei?!?