Anrufansage auf Alexa bei eingehenden Fritzbox-Anrufen

Home Assistant 2. Sep. 2025

Einleitung
Die Integration von Smart-Home-Geräten in ein einheitliches System ist für viele Nutzer von großer Bedeutung. Insbesondere die Kombination von Telefonanlagen wie der Fritzbox mit Sprachassistenten wie Amazon Alexa ermöglicht eine komfortable und benutzerfreundliche Kommunikation. In diesem Artikel wird erläutert, wie eingehende Anrufe auf einer Fritzbox über Alexa angesagt werden können.

Problem
Ein Nutzer möchte, dass bei eingehenden Anrufen auf seiner Fritzbox eine Ansage über Alexa erfolgt. Diese Ansage soll den Namen des Anrufers aus dem Fritzbox-Telefonbuch oder die Telefonnummer ausgeben, falls der Anrufer nicht im Telefonbuch verzeichnet ist. Zudem soll bei anonymen Anrufen "Anruf von Unbekannt" angesagt werden. Der Nutzer hat bereits den Callmonitor in Home Assistant (HA) installiert, jedoch funktioniert die Ansage nicht wie gewünscht.

Lösung
Die Lösung besteht darin, ein YAML-Skript in Home Assistant zu erstellen, das die Anrufbenachrichtigung über Alexa steuert. Das Skript muss so konfiguriert werden, dass es den Status des Anrufes überwacht und die entsprechenden Ansagen ausgibt.

Hier ist das funktionierende YAML-Skript:

alias: "Anruf Benachrichtigung Alexa"
description: ""
triggers:
  - entity_id: sensor.fritz_box_5590_fiber_call_monitor_telefonbuch
    to: ringing
    trigger: state
conditions:
  - condition: or
    conditions:
      - condition: state
        entity_id: person.kai
        state: home
      - condition: state
        entity_id: person.ute
        state: home
actions:
  - variables:
      caller_name: >
        {% set name = state_attr("sensor.fritz_box_5590_fiber_call_monitor_telefonbuch", "from_name") %} 
        {% if name == "unknown" or name == none %}
          Anruf von Unbekannt
        {% elif name %}
          Anruf von {{ name | trim }}
        {% else %}
          Anruf von {{ state_attr("sensor.fritz_box_5590_fiber_call_monitor_telefonbuch", "from") }}
        {% endif %}
  - data:
      entity_id: input_number.echo_show8_flur_volume
      value: "{{ state_attr('media_player.echo_show8_flur', 'volume_level') | float }}"
    action: input_number.set_value
  - data:
      entity_id: input_number.echo_show8_bad_volume
      value: "{{ state_attr('media_player.echo_show8_bad', 'volume_level') | float }}"
    action: input_number.set_value
  - repeat:
      while:
        - condition: state
          entity_id: sensor.fritz_box_5590_fiber_call_monitor_telefonbuch
          state: ringing
      sequence:
        - data:
            entity_id: media_player.echo_show8_flur
            volume_level: 0.8
          action: media_player.volume_set
        - data:
            message: "{{ caller_name }}"
            target: media_player.echo_show8_flur
          action: notify.alexa_media
        - delay:
            seconds: 5
        - data:
            entity_id: media_player.echo_show8_bad
            volume_level: 0.5
          action: media_player.volume_set
        - data:
            message: "{{ caller_name }}"
            target: media_player.echo_show8_bad
          action: notify.alexa_media
        - delay:
            seconds: 5
  - data:
      entity_id: media_player.echo_show8_flur
      volume_level: "{{ states('input_number.echo_show8_flur_volume') | float }}"
    action: media_player.volume_set
  - data:
      entity_id: media_player.echo_show8_bad
      volume_level: "{{ states('input_number.echo_show8_bad_volume') | float }}"
    action: media_player.volume_set
mode: single

Schritte zur Umsetzung
1. Callmonitor installieren: Stelle sicher, dass der Callmonitor für die Fritzbox in Home Assistant installiert und konfiguriert ist.
2. YAML-Skript erstellen: Erstelle ein neues Automatisierungsskript in Home Assistant und füge den oben genannten YAML-Code ein.
3. Personen definieren: Stelle sicher, dass die Personen, die in den Bedingungen verwendet werden (z.B. person.kai und person.ute), korrekt in Home Assistant definiert sind.
4. Testen: Teste die Automatisierung, indem du einen Anruf an die Fritzbox tätigst und überprüfe, ob die Ansage korrekt über Alexa ausgegeben wird.

Hintergrundwissen
Die Automatisierung in Home Assistant basiert auf Triggern, Bedingungen und Aktionen. In diesem Fall wird ein Trigger verwendet, der auf den Status "ringing" des Callmonitors reagiert. Die Bedingungen stellen sicher, dass die Ansage nur erfolgt, wenn sich bestimmte Personen im Haus befinden. Die Verwendung von Variablen ermöglicht eine dynamische Ansage, die den Namen des Anrufers anzeigt.

Zusätzliche Infos

FunktionErklärung
`sensor.fritz_box_5590_fiber_call_monitor_telefonbuch`Überwacht eingehende Anrufe und gibt den Status zurück.
`notify.alexa_media`Sendet eine Nachricht an ein Alexa-Gerät.
`media_player.volume_set`Setzt die Lautstärke eines Alexa-Geräts.
`input_number.set_value`Speichert die aktuelle Lautstärke vor der Ansage.

Hinweise & Best Practices
- Testen der Automatisierung: Führe mehrere Tests durch, um sicherzustellen, dass die Ansagen korrekt ausgegeben werden und keine unerwünschten Wiederholungen auftreten.
- Lautstärke anpassen: Stelle sicher, dass die Lautstärke der Alexa-Geräte vor der Ansage angepasst wird, um eine klare Verständlichkeit zu gewährleisten.
- Backup der Konfiguration: Sichere deine Home Assistant-Konfiguration regelmäßig, um im Falle von Fehlern oder Problemen eine Wiederherstellung zu ermöglichen.