Zum Inhalt springen

Fritz!Box Telefonbuch

In diesem Beitrag zeige ich dir, wie du das Fritz!Box Telefonbuch in Home Assistant integrieren kannst. Nachdem du dieses Tutorial durchgeführt hast, werden dir alle Gespräche und verpassten Anrufe im Dashboard angezeigt.

Ein Schritt für Schritt Video findest du auf meinem Youtube Kanal.

Sie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen

Benutzer einrichten

Im ersten Schritt musst du einen Benutzer in deiner Fritz!Box einrichten. Hierzu klickst du, nach der Anmeldung unter fritz.box, auf System -> Fritz!Box-Benutzer. Anschließend fügst du unter Benutzer hinzufügen einen Benutzer hinzu und vergibst diesem Benutzer die Berechtigung „Sprachnachrichten, Faxnachrichten, Fritz!App Fon und Anrufliste“. Außerdem kannst du diesem Benutzer auch die Berechtigung für die Fritz!Box Einstellungen und das SmartHome geben. Der Zugang sollte aus dem Internet erlaubt sein.

Benutzerkonto einrichten
Benutzerkonto in der Fritz!Box einrichten

Außerdem ist noch der Callmonitor in der Fritz!Box zu aktivieren. Um den Callmonitor zu aktivieren, musst du auf einem angeschlossenen Telefon die folgende Nummer eingeben und anrufen:

  • #96*5* – Callmonitor einschalten
  • #96*4* – Callmonitor ausschalten
Fritz!Box 5690 proFritz!Repeater 6000Fritz!DECT Repeater 100Fritz!Fon X6Fritz!Box 5590 Fiber
FRITZ!Box 5690 Pro | DSL- & Glasfaser-Router | Wi-Fi 7 bis zu 18,5 GBit/s
FRITZ!Box 5690 Pro | DSL- & Glasfaser-Router | Wi-Fi 7 bis zu 18,5 GBit/s*
von FRITZ!
  • Innovatives 4x4-Wi-Fi 7 (WLAN BE) mit 11.530 MBit/s (6GHz) + 5.760 MBit/s (5 GHz) + 1.200 MBits (2,4 GHz) für ultraschnelles, stabiles und effizientes WLAN sowie Höchstleistungen im Heimnetz mit einer Vielzahl an WLAN-Endgeräten
  • Premium-Router mit Flexibilität am Anschluss: unterstützt die Glasfaserstandards GPON bis 2,5 GBit/s und AON bis 1 GBit/s sowie DSL inklusive Supervectoring 35b bis 300 MBit/s
  • Leistungsstarke WLAN-Mesh Zentrale: automatische Zusammenlegung eingesetzter FRITZ!-Produkte zu einem intelligenten WLAN-Netz mit optimaler Leistung; DECT ULE und Zigbee Integration für die einfache Einbindung von Smart Home Geräten unterschiedlicher Hersteller ins Heimnetz, u. a. FRITZ!DECT 302 und FRITZ!DECT 200
  • Gigabit-LAN-Anschlüsse und integrierter Mediaserver (USB, NAS) für anspruchsvolle Breitbandanwendungen, Virtual Reality, Cloud Computing und Gaming; Telefonanlage für IP-basierte Anschlüsse sowie ein analoger Telefon-Anschluss (bis zu 6 Schnurlostelefone, 5 integrierte Anrufbeantworter inkl. Voice-to-Mail)
  • Lieferumfang: FRITZ!Box 5690 Pro, 4 m Glasfaserkabel (LC/APC-LC/APC), 4 m DSL-Kabel, 1,5 m LAN-Kabel, 1 x Netzteil, 1x FRITZ!SFP AON, 1x FRITZ!SFP GPON, Kurzanleitung, FRITZ!-Notiz
 Preis: € 333,28 Jetzt auf Amazon kaufen*
Preis inkl. MwSt., zzgl. Versandkosten
Zuletzt aktualisiert am 2. Oktober 2026 um 6:00 . Ich weise darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.
FRITZ!Repeater 6000 | WLAN Mesh Erweiterung | Wi-Fi 6 bis zu 6 GBit/s
FRITZ!Repeater 6000 | WLAN Mesh Erweiterung | Wi-Fi 6 bis zu 6 GBit/s*
von FRITZ!
  • Innovatives und schnelles WiFi 6 ausgelegt für ein anspruchsvolles Heimnetz mit einer Vielzahl an gleichzeitig verwendeten WLAN-Endgeräten
  • Intelligente und automatische Bandauswahl im laufenden Betrieb: Drei Funkeinheiten für ein High-End WLAN mit bis zu 6.000 MBit/s (WLAN AX)
  • Ultraschneller Gigabit-LAN-Anschluss für den Aufbau einer LAN-Brücke oder für Netzwerkgeräte ohne WLAN-Funktion
  • WLAN Mesh: Mehrere WLAN-Zugangspunkte werden zu einem WLAN-Netz mit optimaler Leistung zusammengefasst, kompatibel zu allen gängigen WLAN-Routern, einfache und sichere WLAN-Einrichtung per Knopfdrucküber WPS
  • Lieferumfang: FRITZ!Repeater 6000, Installationsanleitung, 1x Netzwerkkabel und 1x Netzteil
Unverb. Preisempf.: € 259,00 Du sparst: € 23,11 (-9%)  Preis: € 235,89 Jetzt auf Amazon kaufen*
Preis inkl. MwSt., zzgl. Versandkosten
Zuletzt aktualisiert am 2. Oktober 2026 um 6:00 . Ich weise darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.
FRITZ!DECT Repeater 100 (Erhöht DECT-Reichweite) deutschsprachige Version
FRITZ!DECT Repeater 100 (Erhöht DECT-Reichweite) deutschsprachige Version*
von FRITZ!
  • Erhöht schnell und einfach die DECT-Reichweite, ideal für alle FRITZ!Box-Modelle mit integrierter DECT-Basis
  • Mit FRITZ!Box als Basisstation DECT-Repeating auch für HD-Telefonie, Internetradio, Podcasts und RSS sowie abhörsicheres Telefonieren
  • Mehrere Telefonate gleichzeitig über große Distanzen, Reichweite durch Einsatz weiterer Repeater in jede Richtung erweiterbar
  • Kompatibel zu DECT-Basisstationen anderer Hersteller (GAP-Standard) mit aktivierter Repeater-Funktion
  • Lieferumfang: FRITZ!DECT Repeater 100, Installationsanleitung
 Preis: € 77,99 Jetzt auf Amazon kaufen*
Preis inkl. MwSt., zzgl. Versandkosten
Zuletzt aktualisiert am 1. Oktober 2026 um 21:00 . Ich weise darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.
FRITZ!Fon X6 schwarz | DECT-Komforttelefon | HD-Telefonie mit Farbdisplay
FRITZ!Fon X6 schwarz | DECT-Komforttelefon | HD-Telefonie mit Farbdisplay*
von FRITZ!
  • Komfort-Schnurlostelefon mit Full-Duplex-Freisprechen und intuitiver Menüführung für alle FRITZ!Box-Modelle mit DECT-Basisstation
  • Übersichtliche Menüs auf hochwertigem Farbdisplay (2,4“), Telefonbücher für bis zu 300 Einträge, mehrere Anrufbeantworter mit Fernabfrage, bis zu 16 Stunden Gesprächsdauer, bis zu 10 Tage Stand-by
  • Nutzung von Internetdiensten: E-Mails, Webradio, Feeds, Podcasts sowie Live Bild von Webcams, Komfortdienste wie Weckruf, Rufumleitung und Babyfon
  • Steuerung von FRITZ!Box-Funktionen, z. B. WLAN-Schaltung, Smarthome-Anwendungen, Wiedergabefunktion des Mediaservers, sowie Taste für Schnellzugriff auf frei belegbare Favoriten
  • Regelmäßig, kostenfreie Updates per Tastendruck für höchste Sicherheit und neue Funktionen sowie Eco-Funktionen, wie Helligkeits- und Bewegungssensor für energieeffizienten Display-Betrieb und Funkabschaltung im Stand-by-Betrieb
  • Lieferumfang: FRITZ!Fon X6 Black, Ladestation mit integriertem Netzteil zum Anschluss an das 230-Volt-Stromnetz, Li-ion Akku Pack, gedruckte deutschsprachige Kurzanleitung
Unverb. Preisempf.: € 99,00 Du sparst: € 15,01 (-15%)  Preis: € 83,99 Jetzt auf Amazon kaufen*
Preis inkl. MwSt., zzgl. Versandkosten
Zuletzt aktualisiert am 1. Oktober 2026 um 21:00 . Ich weise darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.
FRITZ!Box 5590 Fiber | Glasfaser-Router | Wi-Fi 6 bis zu 3,6 GBit/s
FRITZ!Box 5590 Fiber | Glasfaser-Router | Wi-Fi 6 bis zu 3,6 GBit/s*
von FRITZ!
  • WLAN-Router mit integriertem Glasfasermodem für einen direkten Anschluss an alle in Deutschland gängigen Glasfaseranschlüsse, die passenden FRITZ!SFP-Module AON und GPON sind im Lieferumfang enthalten
  • Mehr Performance, Flexibilität und stabilste Verbindungen mit modernem Wi-Fi 6: WLAN (4x4) mit bis zu 2.400 MBit/s (5 GHz) und 1.200 MBit/s (2,4 GHz) für eine Vielzahl an Endgeräten und parallelen Anwendungen
  • Mesh Master-Funktion: die FRITZ!Box fasst verteilte WLAN-Zugangspunkte (z. B. mehrere FRITZ!Repeater) zu einem intelligenten WLAN-Netz zusammen und steuert sie so, dass die genutzten Endgeräte im Heimnetz immer am Zugangspunkt mit der besten Verbindung angemeldet sind
  • VoIP-Telefonanlage mit vielseitigen Komfortfunktionen für alle Telefone (Analog-, DECT- und IP-Telefone) sowie DECT-Basis für bis zu sechs Schnurlos-Telefone und zur Steuerung von Smarthome-Geräten, z. B. die schaltbaren Steckdosen FRITZ!DECT 200/210 oder der Heizkörperregler FRITZ!DECT 302
  • 4 ultraschnelle Gigabit-LAN-Anschlüsse für Computer, Fernseher und andere Netzwerk-Geräte, 1x 2,5 Gigabit-WAN-Anschluss, 2x USB 3.0-Anschluss für Drucker und Speicher im Netz, SFP-Cage für ein FRITZ!SFP Modul
  • Lieferumfang: FRITZ!Box 5590 Fiber, 1x FRITZ!SFP AON, 1x FRITZ!SFP GPON, 1x Netzteil, 4m Glasfaserkabel (LC/APC - LC/APC), 1,5m LAN-Kabel, Installationsanleitung
Unverb. Preisempf.: € 279,00 Du sparst: € 49,01 (-18%)  Preis: € 229,99 Jetzt auf Amazon kaufen*
Preis inkl. MwSt., zzgl. Versandkosten
Zuletzt aktualisiert am 2. Oktober 2026 um 6:00 . Ich weise darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.

Callmonitor hinzufügen

Im nächsten Schritt fügst du in Home Assistant unter Einstellungen -> Geräte & Dienste die Integration AVM FRITZ!Box Call Monitor hinzu.

Callmonitor hinzufügen
Callmonitor einrichten

Du trägst hier den Host deiner Fritz!Box ein. Außerdem trägst du deinen angelegten Benutzernamen und das Passwort ein.

Helfer hinzufügen

Nun erstellst du unter Einstellungen -> Geräte & Dienste einen Helfer. Hierzu wählst du einen Text Helfer aus. Die maximale Länge erhöhst du auf 250 Zeichen. Danach wird dieser Helfer angelegt.

Helfer einrichten

Automatisierung erstellen

Nun klickst du auf Einstellungen -> Automatisierungen & Szenen. Du erstellst eine leere Automatisierung. Als Yaml Code (drei Punkte oben rechts – als yaml Code) fügst du folgenden Code ein.

alias: Telefonbuch
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.fritz_box_7490_call_monitor_telefonbuch
    to: talking
    id: "1"
    alias: Gespräche
  - platform: state
    entity_id:
      - sensor.fritz_box_7490_call_monitor_telefonbuch
    id: "2"
    alias: Anrufe in Abwesenheit
    to: ringing
condition: []
action:
  - if:
      - condition: trigger
        id: "1"
    then:
      - service: input_text.set_value
        data:
          value: >-
            Gespräch mit {{
            state_attr("sensor.fritz_box_7490_call_monitor_telefonbuch","with")}}
            ({{ state_attr("sensor.fritz_box_7490_call_monitor_telefonbuch",    
            "with_name")}})
        target:
          entity_id: input_text.telefonbuch
    alias: Gespräche
  - if:
      - condition: trigger
        id: "2"
    then:
      - service: input_text.set_value
        data:
          value: >-
            Verpasster Anruf von {{
            state_attr("sensor.fritz_box_7490_call_monitor_telefonbuch","from")}}
            ({{ state_attr("sensor.fritz_box_7490_call_monitor_telefonbuch",    
            "from_name")}})
        target:
          entity_id: input_text.telefonbuch
    alias: Verpasste Anrufe
mode: single

Home Feed Karte

Um die Anrufe in einem Dashboard anzuzeigen, verwende ich die Karte Home Feed Karte (Home Feed Card) aus dem HACS. Diese installierst du über HACS -> Frontend -> Durchsuchen und Herunterladen von Repositories.

Anschließend klickst du in deinem Dashboard auf die Drei Punkte oben rechts -> Benutzeroberfläche konfigurieren. Nun klickst du auf Karte hinzufügen und wählst eine manuelle Karte aus. Hier fügst du folgenden Code ein.

type: custom:home-feed-card
title: Telefonbuch
card_id: main_feed
show_empty: false
id_filter: ^home_feed_.*
state_color: true
history_days_back: 10
entities:
  - entity: input_text.telefonbuch
    name: Fritz Box
    include_history: true
    more_info_on_tap: true
    max_history: 5
    content_template: '{{state}}'

Herzlichen Glückwunsch. Deine Anrufliste in Home Assistant ist eingerichtet. Hast du Fragen oder Anregungen zu diesem Beitrag? Dann kannst du gerne einen Kommentar hier verfassen.

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 4.9 / 5. Anzahl Bewertungen: 12

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

45 Kommentare zu „Fritz!Box Telefonbuch“

      1. Hallo, habe Dein Automation in HA eingebaut mit dem Erfolg dass ich pro Anruf zwei Einträge mit Namen und Nummer angezeigt bekomme. Einmal mit dem Zusatz „Gespräch mit“ und einmal “ Verpasster Anruf“

        Habe alles schon mehrfach überprüft und keinen Fehler gefunden.
        Mfg

  1. Hi.
    Super Anleitung, hab selten so eine Anleitung gesehen.
    Ich als Neuling hab zum Glück noch gemerkt das ich die Sensornamen umändern muss.
    Ich habe alles befolgt, Karte gespeichert, es wird aber nichts angezeigt. „Kein visueller Editor für Karte verfügbar“

  2. Ist ja schon mächtig schlau, den angelegten Account auch von „aussen“ erreichbar zu machen, wenn sowieso nur von innen zugegriffen wird. Bitte noch mehr Sicherheitslücken aufreissen, besser geht es ja kaum noch (für die Gegenseite)! …………

  3. Hallo,
    danke für deine Anleitung. Ich habbe alles 1 zu 1 übernommen auch mit den Einrückungen.
    Bei mir erscheint nur Telefonbuch und darin steht vor 35 minuten…..
    Aber ich kann leider keine Anrufe sehen.
    Bei mir steht auch “ Kein visueller Editor für Typ „custom:home-feed-card“ verfügbar.“
    Was zum teufel mache ich denn falsch?

  4. Hallo ,
    ich habe gestern mir Dein Video angeschaut und auch gleich so eingebunden.
    Funktioniert Super.
    Jetzt habe ich da eine Frage und zwar möchte ich mir wenn das Telefon Klingelt das ganze auch mein NSPanel anzeigen lassen.
    Das funktioniert auch so Teilweise.
    Auf dem Display bekomme ich schon eine nitification ESPHome: nspanel_notification_show
    Und mit dem vordefinierten Text. Ich hätte es aber ganz gerne so das dort die Telefonnummer und der Name steht wer Anruft. und wer angerufen hat.
    Hättest du da vielleicht ein Tip ?
    Lg Patrick

  5. Hallo Herr Dirks,

    erstmal recht vielen Dank für das Tutoriell. Genau das habe ich gesucht. Habe da aber leider ein Problem. habe alle Schritte durchgeführt. Wenn ich aber das letzte Script einbinde sehe ich auf dem Dashboard leider nichts. Ich sehe nur im Bearbeitungsmodus den Punkt 1 und den Bearbeitungsbutton. Haben Sie hier noch einen Tipp für micht?
    Danke im Voraus.
    Gruß, Winfried Hüster

  6. Danke für diese überaus tolle und vor allem funktionierende Anleitung. Ich bin noch relativ neu in Home Assistant und hiermit hat es nun im x-ten Anlauf auf Anhieb geklappt.
    Sollte die erstellte Karte auf dem Dashboard leer sein, so könnte es hilfreich sein sich selbst mal anzurufen. Scheinbar werden nur neue und nicht historische Anrufe in der Karte angezeigt.

    Vielen lieben Dank

    Gruß Michael

  7. Hallo, danke für die super Anleitung. Hat funktioniert. Nur bekomme ich leider auf dem Dashboard die Anrufe nicht angezeigt, muss mal suchen 🙂
    Aber meine Grundidee war, ich wollte mit einem Anruft (eine freie Nummer in der Fritzbox) mein Garagentor öffnen und schließen. Das sollte doch machbar sein, wenn man die Anrufe der Fritzbox mit dem Callmonitor auswerten kann?

  8. @Walter, das Vorhaben klingt kompliziert, aber du wirst dafür deine Gründe haben um mit einem Telefonanruf das Garagentor zu öffnen. Viel Erfolg dabei.

    Allgemeine Info, falls das Anzeigen der Anrufe im Dashboard nicht geht:
    evtl. ist die Text-Entität (input_text.xxx) im HA-Recoder exkludiert, dann wird nichts mehr angezeigt.
    Dies war bei mir der Fall (configuration.yaml,
    „recorder“, „exclude“ Eintrag) ?

  9. Hallo,
    hat alles soweit geklappt, allerdings zeigt er bei mir hinter der Telefonnummer das hier:

    Verpasster Anruf von 015xxxxxx (unknown)
    kann man da den Namen anzeigen lassen oder liegt es am Telefonbuch in der FritzBox, dass ich da bei der Telefonnummern +49 eingetragen habe?

    Über eine Nachricht würde ich mich freuen. Vielen Dank.

  10. Moin,
    wie müsste man die yaml der Automation anpassen um lediglich die verpassten Anrufe zu sehen?
    Die Gespräche die stattgefunden haben interessieren mich auf dem Dashboard nicht.

    Vielen Dank im voraus

    LG Sebastian

  11. Hallo,
    die Custom-Karte im Dashboard funktioniert bei mir nicht. Ich erhalte die Fehlermeldung:

    Custom element doesn’t exist: home-feed-card.

    Ich habe die aktuelle Lovelace Home Feed Card 0.6.5 runtergeladen.
    Auf dem Homeassistant sehe ich diese entsprechenden Dateien:

    ~ ls homeassistant/www/community/lovelace-home-feed-card
    lovelace-home-feed-card.js lovelace-home-feed-card.js.gz webpack.config.js webpack.config.js.gz

    Haben sich eventuell die Pfade geändert oder wo liegt das Problem?

    Vielen Dank!

      1. Der Fehler ist jetzt weg und könnte am Cache gelegen haben.
        Dennoch bleibt die Karte leer. Setze ich show_empty auf true, sehe ich nur den Titel Telefonbuch.
        Ich vermute, der id_filter ^home_feed_.* findet nichts. Woher kommt home_feed bzw wo kann ich mir ansehen, was dort ankommen sollte?
        Den Sensor habe ich natürlich mit meinem eigenen Fritzbox Sensor ausgetauscht.
        Die Automatisierung löst aber auch nicht aus, wenn ich mich selbst anrufe. Ich nehme an, das sollte sie schon?!
        Dann habe ich in der Geräteübersichtsseite des Fritzbox Call Monitors geguckt und den Sensor Anrufmonitor hinzugefügt. Dieser ändert nicht seinen Status und bleibt beim Anruf auf „untätig“.
        Ich habe das Gerät mit anderen User-Accounts und vollen Rechten neu hinzugefügt, aber keine Änderung. Hast du da eine Idee?

  12. Hallo,

    wie bekomme ich den letzten Eintrag aus der Liste?
    „[icon vom inputtext helper] vor 1 Stunde“
    oder gibt es eine Möglichkeit dieses Icon zu ändern?
    In der Anrufliste (Einträge) wird das Icon verwendet welches ich bei dem Text Helper angegeben habe.

    Danke und Gruß
    Gunter

  13. Hallo,
    habe gerade alles eingebaut und es funktioniert leider nur fast. Die Karte gibt nur einen Eintrag (den ersten) aus. Die Automatisierung löst bei Anruf aus, aber die zusätzlichen Anrufe erscheinen nicht auf der Karte.
    Hast du eine Idee wo ich suchen soll?

  14. Hallo,
    besten Dank für die Anleitung. Ich habe gerade alles eingebaut und es funktioniert fast gut. Die Automatisierung löst bei Anruf aus, es wird allerdings nur der erste Anruf auf der Karte angezeigt. Alle folgenden Anrufe erscheinen leider nicht.
    Hast du eine Idee wo ich suchen könnte?

    Vielen Dank
    Thorsten

  15. Hallo,
    habe den Fehler gefunden. Wenn mehrfach dieselbe Nummer anruft, wird nur der erste Anruf angezeigt. Die folgenden Anrufe erscheinen nicht auf der Karte, obwohl die Automatisierung auslöst.
    Kann du das ändern, so dass alle Anrufe angezeigt werden?

    Thorsten

    1. Hallo Ben , danke fürs Bereitstellen.
      in der custom:home-feed-card musste ich
      input_text.telefon_anrufer
      statt
      input_text.telefon_feed
      angeben, damit überhaupt was angezeigt wird.
      dann musste ich noch einen text helper „telefon_anrufer“ anlegen.
      Statt dem Anrufer wird mir die angerufene nummer angezeigt.
      gruss ms1958

  16. Hi, super Tooltip. Könntest du auch zeigen, wie ich z.b. auf einem Gerät eine Nachricht angezeigt bekommen kann, wenn jemand anruft? Also Status „Klingelt“ – zeige Nachricht „Es ruft an: xx xxxxxxx“
    gruß

  17. Hi,

    Danke für die schöne Erklärung.
    Wie kann ich die Liste filtern, bzw. so erstellen, dass diese nur für eine Telefonnumer gefüllt wird?
    Wir haben in unserer Fritz!Box 4 Telefonnummern über VoIP. Nun möchte ich die Telefonate nur für eine anzeigen lassen, für die drei anderen nicht.
    Ich habe schon herausgefunden, dass im state_attr(„sensor.fritz_box_7490_call_monitor_telefonbuch“, „to“) die Telefonnumer steht. Nur wo baue ich Abfrage ein?

    (Nutze die Automatisierung von Ben (der8en))

    Gruß

    Heiko

  18. Hi,
    schöne Anleitung, habe Deinen Code kopiert und die Karte erstellt. Es erscheint auch die Rufnummer in der Karte. Allerding nicht der Name des Anrufers? Ich habe in meiner Fritzbox mein Google-Adressbuch ausgewählt, so dass an sich alle Namen vorhanden sein müssten? Oder heißen ggf. die von der Fritzbox übergebenen Felder nicht einfach „Name“?
    Hat jemand einen Tipp?
    Grüße

  19. Hallo, für alle, die die Home-Feed-Karte genutzt haben: Ich habe eine alternative Lösung entwickelt, da die Home-Feed-Karte ab Home Assistant 2026 nicht mehr funktioniert.

    Dafür nutze ich die bereits in Home Assistant integrierte Markdown-Karte. Für die Anzeige der letzten fünf Anrufe – angenommene und verpasste – habe ich fünf Helper eingerichtet.

    Zusätzlich habe ich eine Ampelfunktion integriert sowie Filter eingebaut, damit die Ansicht übersichtlich bleibt.

    Hier ist mein Code

    Markdown Karte:
    {%- set raw = [
    states(‚input_text.google‘),
    states(‚input_text.google1‘),
    states(‚input_text.google2‘),
    states(‚input_text.google3‘),
    states(‚input_text.google4‘)
    ] | reject(‚in‘, [“, ‚unknown‘, ‚unavailable‘, ’none‘, ‚None‘])
    | join(‚\n‘)
    | replace(‚\r\n‘, ‚\n‘)
    | replace(‚\r‘, ‚\n‘)
    -%}

    {%- set lines = raw.splitlines() | map(‚trim‘) | reject(‚equalto‘, “) | list -%}
    {%- set gesehen = namespace(namen=[], unterdrueckt=0) -%}
    {%- set ausgabe = namespace(zeilen=[]) -%}

    {%- for line in lines -%}
    {%- set lower_line = line | lower -%}
    {%- set datum_roh = line.split(‚ – ‚)[0] | trim -%}

    {%- if ‚-‚ in datum_roh and ‚ ‚ in datum_roh -%}
    {%- set teile = datum_roh.split(‚ ‚) -%}
    {%- set datum_teile = teile[0].split(‚-‚) -%}
    {%- set zeit_teile = teile[1].split(‚:‘) -%}
    {%- set datum = datum_teile[2] ~ ‚.‘ ~ datum_teile[1] ~ ‚ ‚ ~ zeit_teile[0] ~ ‚:‘ ~ zeit_teile[1] -%}

    {%- elif ‚.‘ in datum_roh and ‚ ‚ in datum_roh -%}
    {%- set teile = datum_roh.split(‚ ‚) -%}
    {%- set datum_teile = teile[0].split(‚.‘) -%}
    {%- set zeit_teile = teile[1].split(‚:‘) -%}
    {%- set datum = datum_teile[0] ~ ‚.‘ ~ datum_teile[1] ~ ‚ ‚ ~ zeit_teile[0] ~ ‚:‘ ~ zeit_teile[1] -%}

    {%- else -%}
    {%- set datum = datum_roh -%}
    {%- endif -%}

    {%- if ‚ – ‚ in line -%}
    {%- set inhalt = line.split(‚ – ‚, 1)[1] | trim -%}
    {%- else -%}
    {%- set inhalt = line | trim -%}
    {%- endif -%}

    {%- if ‚(‚ in inhalt and ‚)‘ in inhalt -%}
    {%- set klammer = inhalt.split(‚(‚, 1)[1].split(‚)‘, 1)[0] | trim -%}

    {%- if ’nicht im telefonbuch‘ in (klammer | lower) -%}
    {%- set name = inhalt.split(‚(‚, 1)[0] | trim -%}
    {%- else -%}
    {%- set name = klammer -%}
    {%- endif -%}
    {%- else -%}
    {%- set name = inhalt -%}
    {%- endif -%}

    {%- set name = name
    | replace(‚Verpasster Anruf von ‚, “)
    | replace(‚Verpasster Anruf ‚, “)
    | replace(‚Angenommener Anruf von ‚, “)
    | replace(‚Angenommener Anruf ‚, “)
    | replace(‚Gespräch mit ‚, “)
    | replace(‚+49 ‚, ‚0‘)
    | replace(‚+49‘, ‚0‘)
    | trim
    -%}

    {%- if name not in [“, ‚unknown‘, ‚unavailable‘, ’none‘, ‚None‘] -%}

    {%- if ‚unterdrückte nummer‘ in lower_line or ‚unbekannt‘ in lower_line or ‚privat‘ in lower_line -%}
    {%- set gesehen.unterdrueckt = gesehen.unterdrueckt + 1 -%}
    {%- set name = ‚unterdrückte Nummer‘ -%}
    {%- set name_key = ‚unterdrueckte_nummer_‘ ~ gesehen.unterdrueckt -%}
    {%- else -%}
    {%- set name_key = name | lower -%}
    {%- endif -%}

    {%- if name_key not in gesehen.namen and gesehen.namen | length < 5 -%}
    {%- set gesehen.namen = gesehen.namen + [name_key] -%}

    {%- if 'gespräch mit' in lower_line or 'angenommener anruf' in lower_line -%}
    {%- set ampel = '🟢' -%}
    {%- elif 'verpasster anruf' in lower_line -%}
    {%- set ampel = '🔴' -%}
    {%- else -%}
    {%- set ampel = '🟢' -%}
    {%- endif -%}

    {%- set ausgabe.zeilen = ausgabe.zeilen + [ampel ~ ' ' ~ datum ~ ' ' ~ name] -%}
    {%- endif -%}
    {%- endif -%}
    {%- endfor -%}

    {{ ausgabe.zeilen | join('‘) }}

    Automatition:
    alias: Telefonbuch mit Benachrichtigung test
    description: „“
    triggers:
    – trigger: state
    entity_id: sensor.fritz_box_7590_anrufmonitor_google_2
    to: ringing
    id: eingehend
    – trigger: state
    entity_id: sensor.fritz_box_7590_anrufmonitor_google_2
    to: talking
    id: ausgehend
    conditions: []
    actions:
    – choose:
    – conditions:
    – condition: trigger
    id: eingehend
    sequence:
    – variables:
    nummer: „{{ trigger.to_state.attributes.get(‚from‘, “) }}“
    name: „{{ trigger.to_state.attributes.get(‚from_name‘, “) }}“
    – wait_for_trigger:
    – trigger: state
    entity_id: sensor.fritz_box_7590_anrufmonitor_google_2
    to: talking
    id: angenommen
    – trigger: state
    entity_id: sensor.fritz_box_7590_anrufmonitor_google_2
    to: idle
    id: beendet
    timeout: „02:00:00“
    continue_on_timeout: false
    – choose:
    – conditions:
    – condition: template
    value_template: „{{ wait.trigger.id == ‚beendet‘ }}“
    sequence:
    – variables:
    kontakt: >-
    {% set nr = nummer | string | trim %} {% set kontaktname
    = name | string | trim %} {% set ungueltig = [“,
    ‚unknown‘, ‚unbekannt‘, ’none‘, ’null‘] %} {% if
    kontaktname | lower not in ungueltig %}
    {{ nr }} ({{ kontaktname }})
    {% elif nr | lower not in ungueltig %}
    {{ nr }} (nicht im Telefonbuch)
    {% else %}
    unterdrückte Nummer
    {% endif %}
    neuer_eintrag: >-
    {{ now().strftime(‚%d.%m.%Y %H:%M:%S‘) }} – Verpasster
    Anruf von {{ kontakt | trim }}
    – action: input_text.set_value
    target:
    entity_id: input_text.google4
    data:
    value: „{{ states(‚input_text.google3‘) }}“
    – action: input_text.set_value
    target:
    entity_id: input_text.google3
    data:
    value: „{{ states(‚input_text.google2‘) }}“
    – action: input_text.set_value
    target:
    entity_id: input_text.google2
    data:
    value: „{{ states(‚input_text.google1‘) }}“
    – action: input_text.set_value
    target:
    entity_id: input_text.google1
    data:
    value: „{{ states(‚input_text.google‘) }}“
    – action: input_text.set_value
    target:
    entity_id: input_text.google
    data:
    value: „{{ neuer_eintrag | trim }}“
    – parallel:
    – action: notify.mobile_app_bm_sindy
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_mitarbeiter01
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_mitarbeiter02
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_mitarbeiter03
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_mitarbeiter04
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_bm_tablet
    data:
    message: „{{ neuer_eintrag | trim }}“
    – conditions:
    – condition: template
    value_template: „{{ wait.trigger.id == ‚angenommen‘ }}“
    sequence:
    – variables:
    kontakt: >-
    {% set nr = nummer | string | trim %} {% set kontaktname
    = name | string | trim %} {% set ungueltig = [“,
    ‚unknown‘, ‚unbekannt‘, ’none‘, ’null‘] %} {% if
    kontaktname | lower not in ungueltig %}
    {{ nr }} ({{ kontaktname }})
    {% elif nr | lower not in ungueltig %}
    {{ nr }} (nicht im Telefonbuch)
    {% else %}
    unterdrückte Nummer
    {% endif %}
    neuer_eintrag: >-
    {{ now().strftime(‚%d.%m.%Y %H:%M:%S‘) }} – Angenommener
    Anruf von {{ kontakt | trim }}
    – action: input_text.set_value
    target:
    entity_id: input_text.google4
    data:
    value: „{{ states(‚input_text.google3‘) }}“
    – action: input_text.set_value
    target:
    entity_id: input_text.google3
    data:
    value: „{{ states(‚input_text.google2‘) }}“
    – action: input_text.set_value
    target:
    entity_id: input_text.google2
    data:
    value: „{{ states(‚input_text.google1‘) }}“
    – action: input_text.set_value
    target:
    entity_id: input_text.google1
    data:
    value: „{{ states(‚input_text.google‘) }}“
    – action: input_text.set_value
    target:
    entity_id: input_text.google
    data:
    value: „{{ neuer_eintrag | trim }}“
    – parallel:
    – action: notify.mobile_app_bm_sindy
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_mitarbeiter01
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_mitarbeiter02
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_mitarbeiter03
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_mitarbeiter04
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_bm_tablet
    data:
    message: „{{ neuer_eintrag | trim }}“
    – conditions:
    – condition: trigger
    id: ausgehend
    – condition: template
    value_template: |-
    {{ trigger.from_state is not none and
    trigger.from_state.state not in [‚ringing‘] }}
    sequence:
    – variables:
    nummer: „{{ trigger.to_state.attributes.get(‚with‘, “) }}“
    name: „{{ trigger.to_state.attributes.get(‚with_name‘, “) }}“
    kontakt: >-
    {% set nr = nummer | string | trim %} {% set kontaktname = name
    | string | trim %} {% set ungueltig = [“, ‚unknown‘,
    ‚unbekannt‘, ’none‘, ’null‘] %} {% if kontaktname | lower not in
    ungueltig %}
    {{ nr }} ({{ kontaktname }})
    {% elif nr | lower not in ungueltig %}
    {{ nr }} (nicht im Telefonbuch)
    {% else %}
    unterdrückte Nummer
    {% endif %}
    neuer_eintrag: >-
    {{ now().strftime(‚%d.%m.%Y %H:%M:%S‘) }} – Gespräch mit {{
    kontakt | trim }}
    – action: input_text.set_value
    target:
    entity_id: input_text.google4
    data:
    value: „{{ states(‚input_text.google3‘) }}“
    – action: input_text.set_value
    target:
    entity_id: input_text.google3
    data:
    value: „{{ states(‚input_text.google2‘) }}“
    – action: input_text.set_value
    target:
    entity_id: input_text.google2
    data:
    value: „{{ states(‚input_text.google1‘) }}“
    – action: input_text.set_value
    target:
    entity_id: input_text.google1
    data:
    value: „{{ states(‚input_text.google‘) }}“
    – action: input_text.set_value
    target:
    entity_id: input_text.google
    data:
    value: „{{ neuer_eintrag | trim }}“
    – parallel:
    – action: notify.mobile_app_bm_sindy
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_mitarbeiter01
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_mitarbeiter02
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_mitarbeiter03
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_mitarbeiter04
    data:
    message: „{{ neuer_eintrag | trim }}“
    – action: notify.mobile_app_bm_tablet
    data:
    message: „{{ neuer_eintrag | trim }}“
    mode: parallel
    max: 20

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

The maximum upload file size: 5 MB. You can upload: image. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here