Du sitzt vorm Fernseher, und unten rechts erscheint für ein paar Sekunden: „Es klingelt“ – mit Livebild der Türkamera. Oder: „Waschmaschine fertig“. Oder oben in der Ecke ein kleines Icon, solange die Terrassentür offen steht. Kein Umschalten, kein Handy suchen, keine App – die Info kommt einfach über den Film. Das ist TvOverlay, und wenn dein Fernseher Google TV oder Android TV hat, kannst du das in einer halben Stunde nachbauen.
Ich nutze das seit Monaten auf einem 70-Zoll-TCL mit Google TV, und es ist eines der Dinge, die Besuch am häufigsten fragt: „Wie geht das?“ Hier ist die Antwort – Schritt für Schritt, mit den fünf Automationen, die bei uns laufen.
Was TvOverlay kann
- Benachrichtigungen als Einblendung in einer Bildschirmecke: Titel, Text, Icon, Bild oder Live-Video (RTSP/HLS – also direkt der Kamerastream), einstellbare Dauer und Position. Drei Layouts: Standard, Minimal, nur Icon.
- Feste Widgets („Fixed Notifications“): kleine Dauer-Icons in der Ecke, z. B. „Tür offen“, Handy-Akku, Wetter, Waschmaschine läuft – bleiben, bis du sie löschst oder sie ablaufen.
- Uhr in der Ecke, dezent durchscheinend.
- Hintergrund-Overlay: eine halbtransparente Schicht über dem TV-Bild – abends automatisch „dunkler“, ohne im TV-Menü zu wühlen.
- Steuerbar per Home Assistant (REST oder MQTT), per Handy-App „TvOverlay Remote“ (die spiegelt auch Handy-Benachrichtigungen auf den TV) und per Presets.
Die TV-App ist kostenlos. Die Remote-App hat einen einmaligen Premium-Kauf (eigene Layouts, Farben, mehrere TVs) – für die Home-Assistant-Nutzung nicht nötig.
Was du brauchst
- Fernseher oder Streaming-Box mit Google TV / Android TV (TCL, Sony, Philips, Hisense, Nvidia Shield, Google TV Streamer, Fire TV mit Sideload). LG (webOS) und Samsung (Tizen) gehen nicht – dort hilft ein Google TV Streamer am HDMI-Eingang.
- Home Assistant mit HACS.
- TV und Home Assistant im selben Netz; dem TV am besten im Router eine feste IP geben.
Der Google TV Streamer hängt am HDMI-Eingang und bringt TvOverlay auf jeden Fernseher – auch LG und Samsung. Nebenbei bekommst du eine schnellere Oberfläche als die meisten TV-eigenen Systeme und Chromecast für Home-Assistant-Ansagen.
Schritt 1: TvOverlay auf dem Fernseher installieren
- Auf dem TV den Play Store öffnen, „TvOverlay“ suchen (Entwickler: tabdeveloper), installieren, starten.
- Die App führt durch zwei Berechtigungen:
- „Über anderen Apps anzeigen“ – Pflicht, sonst gibt es kein Overlay. Bei vielen Google-TV-Geräten ist dieser Menüpunkt versteckt; dann führt der Weg über ADB (siehe Kasten).
- Akku-Optimierung deaktivieren – optional, verhindert, dass Android die App im Hintergrund beendet. Empfehlung: machen.
- Auf dem Startbildschirm der App siehst du IP-Adresse und Port (Standard
5001) – die brauchst du gleich.
adb connect 192.168.1.50
adb shell appops set com.tabdeveloper.tvoverlay SYSTEM_ALERT_WINDOW allow
adb shell dumpsys deviceidle whitelist +com.tabdeveloper.tvoverlaySchritt 2: Home Assistant verbinden (ohne YAML)
Früher brauchte man REST-Notify-Blöcke in der configuration.yaml. Inzwischen gibt es die Integration „TvOverlay UI“ in HACS – komplett über die Oberfläche:
- HACS → Suche „TvOverlay UI“ → Herunterladen → Home Assistant neu starten.
- Einstellungen → Geräte & Dienste → Integration hinzufügen → „TvOverlay UI“.
- IP des Fernsehers, Port
5001, Name (z. B. „Wohnzimmer TV“) eintragen. Unter Device Identifier einen festen Kurznamen vergeben, z. B.wohnzimmer_tv– damit deine Automationen auch nach einem Neu-Einrichten weiterlaufen.
Danach hast du in Home Assistant ein neues Gerät mit Schaltern (Uhr an/aus, Benachrichtigungen an/aus, Pixel-Shift), Reglern (Sichtbarkeit von Uhr, Overlay und Widgets, Standard-Dauer), einer Auswahl für die Ecke („Hot Corner“) und einem Online-Sensor. Und drei neue Aktionen: tvoverlay_ui.notify, tvoverlay_ui.notify_fixed und tvoverlay_ui.clear_fixed.
Erster Test: Entwicklerwerkzeuge → Aktionen → tvoverlay_ui.notify:
action: tvoverlay_ui.notify
data:
target: wohnzimmer_tv
title: "Hallo vom Smart Home"
message: "Wenn du das siehst, funktioniert alles."
small_icon: mdi:home-assistant
small_icon_color: "#22d3ee"
corner: bottom_end
duration: 8Erscheint die Einblendung unten rechts, bist du durch. Die Ecken heißen top_start, top_end, bottom_start, bottom_end; lässt du corner weg, gilt die Hot Corner aus den Einstellungen.
Die fünf Automationen, die bei uns laufen
1. Es klingelt → Livebild der Türkamera auf dem TV
Der Klassiker, und der Grund, warum die meisten TvOverlay installieren. Voraussetzung: eine Kamera mit RTSP-Stream (Reolink, Tapo, die meisten IP-Kameras) oder ein Standbild aus Home Assistant. Video ist eindrucksvoller, Bild robuster – ich zeige beides.
alias: Klingel → TV-Einblendung mit Kamera
description: Livebild der Türkamera 15 Sekunden auf dem Fernseher
triggers:
- trigger: state
entity_id: binary_sensor.tuerklingel_visitor # Reolink Doorbell: "Besucher"-Sensor
to: "on"
conditions:
- condition: state
entity_id: media_player.wohnzimmer_tv # nur wenn der TV läuft
state: "on"
actions:
- action: tvoverlay_ui.notify
data:
target: wohnzimmer_tv
title: "Es klingelt"
message: "Jemand steht vor der Tür"
small_icon: mdi:doorbell-video
small_icon_color: "#f87171"
media_type: video
media_url: "rtsp://benutzer:passwort@192.168.1.60:554/h264Preview_01_sub"
corner: bottom_end
duration: 15
mode: singleVariante mit Standbild (wenn RTSP zickt oder die Kamera keinen Stream liefert): media_type: image und als media_url das Kamerabild aus Home Assistant – mit vollständiger URL, lokale Pfade funktionieren nicht:
media_type: image
media_url: "http://192.168.1.10:8123{{ state_attr('camera.haustuer', 'entity_picture') }}&t={{ now().timestamp() | int }}"Der Zeitstempel am Ende verhindert, dass der TV ein altes, gecachtes Bild zeigt. Für Reolink-Doorbells nimm den Sub-Stream (h264Preview_01_sub) – der Hauptstream in 4K bringt manche Fernseher ins Stottern.
Die Reolink Video Doorbell (PoE oder WLAN) liefert einen sauberen RTSP-Stream und einen „Besucher“-Sensor in Home Assistant – genau die zwei Dinge, die die Klingel-Automation oben braucht. Kein Cloud-Abo, Aufzeichnung lokal.
2. Waschmaschine fertig
Wenn du meinen Live-Activities-Guide nachgebaut hast, hast du den Waschmaschinen-Status schon. Dieselbe Automation bekommt einfach eine zweite Aktion:
- action: tvoverlay_ui.notify
data:
target: wohnzimmer_tv
title: "Waschmaschine fertig"
message: "Wäsche kann raus – bevor sie muffelt."
small_icon: mdi:washing-machine
small_icon_color: "#a3e635"
corner: top_end
duration: 20Tipp: Für Dinge, die jemand tun soll, die Dauer länger stellen (20–30 s) und eine andere Ecke als für die Klingel – dann erkennt man am Ort der Einblendung schon, worum es geht.
3. „Fenster offen“ als Dauer-Icon
Das ist die Königsdisziplin: ein kleines Icon in der Ecke, solange ein Zustand gilt. Perfekt für offene Fenster oder Türen – man sieht es den ganzen Film über, ohne dass es nervt. Eine Automation, die auf jede Änderung reagiert und das Widget ein- oder ausblendet:
alias: TV-Widget → Fenster offen
triggers:
- trigger: state
entity_id:
- binary_sensor.fenster_wohnzimmer
- binary_sensor.terrassentuer
- binary_sensor.fenster_kueche
actions:
- variables:
offen: >-
{{ ['binary_sensor.fenster_wohnzimmer','binary_sensor.terrassentuer','binary_sensor.fenster_kueche']
| select('is_state','on') | list | count }}
- if:
- condition: template
value_template: "{{ offen | int > 0 }}"
then:
- action: tvoverlay_ui.notify_fixed
data:
target: wohnzimmer_tv
id: fenster_offen
icon: mdi:window-open-variant
message: "{{ offen }}"
icon_color: "#fbbf24"
border_color: "#fbbf24"
shape: circle
else:
- action: tvoverlay_ui.clear_fixed
data:
target: wohnzimmer_tv
id: fenster_offen
mode: queuedDie Zahl im Kreis zeigt, wie viele Fenster offen sind. Die id ist wichtig – über sie wird das Widget später wieder gelöscht statt ein zweites zu erzeugen. Nach demselben Muster: Haustür nicht abgeschlossen, Garage offen, Saugroboter unterwegs, Handy-Akku unter 20 %.
4. Jemand kommt nach Hause
alias: TV → Ankunft
triggers:
- trigger: state
entity_id:
- person.torsten
- person.partnerin
from: not_home
to: home
actions:
- action: tvoverlay_ui.notify
data:
target: wohnzimmer_tv
title: "{{ trigger.to_state.name }} ist zu Hause"
message: "Gerade angekommen"
large_icon: "http://192.168.1.10:8123{{ trigger.to_state.attributes.entity_picture }}"
small_icon: mdi:home-import-outline
small_icon_color: "#22d3ee"
duration: 10
mode: queuedMit large_icon erscheint das Profilbild der Person – wieder als komplette URL. Für die Kinder ist das die Lieblings-Automation: Wer nach Hause kommt, wird auf dem Fernseher „angesagt“.
5. Abends automatisch dunkler
Fernseher sind abends oft zu hell, aber jedes Mal ins Bildmenü? Die Integration liefert einen Regler „Overlay Visibility“ – eine halbtransparente schwarze Schicht über dem Bild. Bei Sonnenuntergang auf 30–40 %, morgens zurück auf 0:
alias: TV-Overlay → abends dunkler
triggers:
- trigger: sun
event: sunset
id: abend
- trigger: sun
event: sunrise
id: morgen
actions:
- action: number.set_value
target:
entity_id: number.wohnzimmer_tv_overlay_visibility
data:
value: "{{ 35 if trigger.id == 'abend' else 0 }}"
mode: singleDen genauen Entitätsnamen findest du im Gerät der Integration. Wer es perfekt will, koppelt den Wert an einen Helligkeitssensor im Raum.
Feinschliff
- Nur wenn der TV läuft: Die Bedingung aus Automation 1 lohnt überall – sonst gehen Einblendungen ins Leere, und bei „Fixed“-Widgets bleibt der Zustand trotzdem korrekt, weil sie beim nächsten Einschalten noch da sind.
- Pixel-Shift in den Einstellungen anlassen: Das Overlay verschiebt sich alle zwei Minuten um ein paar Pixel – wichtig bei OLED gegen Einbrennen.
- Ecken-Logik: Ich nutze unten rechts für „jetzt reagieren“ (Klingel, Alarm), oben rechts für „Info“ (Waschmaschine, Ankunft) und oben links für Dauer-Widgets. So lernt die Familie die Bedeutung, ohne zu lesen.
- Zwei Fernseher? Integration zweimal hinzufügen, unterschiedliche Identifier, in der Automation beide Ziele nacheinander aufrufen.
- Icons: Alle Material-Design-Icons (
mdi:…) funktionieren – oder eine Bild-URL, z. B. das Logo deines Lieferdienstes bei „Paket ist da“.
Fehlerbehebung
- Nichts erscheint, aber Home Assistant meldet keinen Fehler: Overlay-Berechtigung fehlt (Schritt 1) – die App bestätigt das auf ihrem Startbildschirm mit einem roten Hinweis.
- Funktioniert eine Weile, dann nicht mehr: Android hat die App beendet → Akku-Optimierung deaktivieren (ADB-Befehl oben). Nach einem TV-Neustart startet TvOverlay automatisch, braucht aber ein paar Sekunden.
- „Connection refused“: falsche IP oder der TV hat vom Router eine neue bekommen → feste IP vergeben. Port ist standardmäßig 5001; in der App unter Einstellungen prüfen.
- Bild wird nicht angezeigt: Die URL muss vom Fernseher aus erreichbar sein – also die lokale IP von Home Assistant, kein
/local/…und kein Nabu-Casa-Link, wenn der TV kein Internet hat. Test: URL im Browser auf einem Gerät im selben WLAN öffnen. - Video ruckelt oder bleibt schwarz: Sub-Stream der Kamera nehmen, kein MP4 (nur RTSP, HLS, DASH), und den Stream ohne Sonderzeichen im Passwort – manche Zeichen müssen URL-kodiert werden (
@→%40). - Einblendung wird von einer App verdeckt: Manche Player (Netflix in einigen Versionen) zeichnen über Overlays. Dann hilft nur die Uhr-/Widget-Position wechseln; die meisten Apps (YouTube, Disney+, Live-TV) sind unproblematisch.
Häufige Fragen
Geht das auch mit Fire TV? Ja, TvOverlay lässt sich auf Fire TV per Sideload (Downloader-App) installieren; Berechtigungen dann per ADB.
Und mit LG oder Samsung? Nein – webOS und Tizen erlauben keine Overlays. Ein Google TV Streamer (ca. 100 €) am HDMI löst das und bringt nebenbei ein besseres Betriebssystem als die meisten TV-eigenen.
Unterschied zur eingebauten Integration „Notifications for Android TV“? Die kann nur einfache Text-Popups. TvOverlay kann Video, Dauer-Widgets, Hintergrund-Dimmen und lässt sich komplett aus Home Assistant steuern.
Kostet die Remote-App etwas? Die Basis ist gratis; Premium (einmalig) schaltet eigene Layouts, Farben und Mehrgeräte-Steuerung frei. Für alles hier im Guide nicht nötig.
Fazit
TvOverlay ist eines der Smart-Home-Features mit dem besten Verhältnis von Aufwand zu Wow: Eine App, eine Integration, und dein Fernseher wird zur Anzeige für alles, was im Haus passiert – ohne dass jemand aufs Handy schauen muss. Fang mit der Klingel an, das ist der Moment, in dem alle im Raum verstehen, wofür ein Smart Home gut ist.
Passende Fortsetzungen: Live Activities auf dem Sperrbildschirm für unterwegs, und der Smart-Home-Planer, wenn Türkamera und Fenstersensoren erst noch angeschafft werden sollen.


