Zum Hauptinhalt springen

Android TV / Fire TV (ADB) Smart-Home-Integration, kostenlos und Open Source

Android TV / Fire TV (ADB)-Integration für Gladys Assistant

Steuere Android TV, Google TV, Shield und Fire TV per Netzwerk-ADB: Ein/Aus, Apps, Medien, Tasten.

Steuere deine Android TV, Google TV, NVIDIA SHIELD, Android-Boxen und Amazon Fire TV aus Gladys über das lokale Netzwerk, per ADB (Android Debug Bridge): Ein/Aus, die App auf dem Bildschirm, Wiedergabe, Lautstärke und die Tasten der Fernbedienung, dazu Szenen-Auslöser, Szenen-Aktionen und ein Dashboard-Widget.

Ohne die Hardware entwickelt: Rückmeldungen sind willkommen. Die Integration ist mit simulierten Geräten getestet, die auf echten Ausgaben beruhen, aber noch nicht mit jedem Modell. Erzähl uns im Forum, was bei dir funktioniert.

Diese Integration steht in keiner Verbindung zu Google, Amazon oder NVIDIA (not affiliated with Google, Amazon or NVIDIA). Android, Google TV, Fire TV und SHIELD sind Marken ihrer Inhaber.

Überblick​

Jeder Fernseher und jede Box wird ein Gerät in Gladys, erkannt an der Seriennummer (nicht an der IP-Adresse). Gladys verbindet sich mit dem Netzwerk-Debugging-Port des Geräts (5555), mit einem eigenen Schlüssel, den du einmal auf dem Bildschirm erlaubst. Auf dem Gerät wird nichts installiert, keine Cloud ist beteiligt.

Was du bekommst:

  • den Bildschirm ein- und ausschalten und wissen, ob er an ist, im Standby oder im Bildschirmschoner;
  • die App auf dem Bildschirm mit ihrem Namen (Netflix, YouTube, Prime Video, myCANAL…), und jede installierte App aus Gladys öffnen;
  • den Wiedergabestatus (Wiedergabe, Pause, gestoppt) der App auf dem Bildschirm;
  • die Lautstärke, wenn das Gerät sie meldet, und die Tasten der Fernbedienung (Startseite, Zurück, Pfeile, OK, Wiedergabe, Lautstärke);
  • Szenen-Auslöser („Eine App kommt in den Vordergrund“, „Wiedergabe startet, pausiert oder stoppt“) und Szenen-Aktionen („App öffnen“, „Taste drücken“, „Adresse öffnen“).

Ergänzung zu Android TV Remote​

Die Integration Android TV Remote nutzt das Protokoll der Google-TV-Fernbedienungs-App (Remote v2). Beide lassen sich zusammen installieren:

BedarfAndroid TV RemoteDiese Integration (ADB)
Amazon Fire TVneinja
Jede installierte App öffnenaus einer Listeja
Wissen, welche App auf dem Bildschirm istneinja
Wiedergabestatus für Szenenteilweiseja
Ohne Entwickleroptionenjanein
KopplungPIN-Code„Debugging zulassen?“

Voraussetzungen​

  • Gladys Assistant 5.1.0 oder neuer.
  • Das Gerät und Gladys im selben lokalen Netzwerk, das Gerät mit fester IP-Adresse (eine DHCP-Reservierung in deinem Router).
  • Entwickleroptionen und Netzwerk-Debugging auf dem Gerät aktiviert (siehe unten). Das ist nur einmal nötig.

Android TV, Google TV, NVIDIA SHIELD​

  1. Einstellungen → Geräteeinstellungen → Info: Klicke siebenmal auf Build. „Du bist jetzt Entwickler“ erscheint.
  2. Einstellungen → Geräteeinstellungen → Entwickleroptionen: Aktiviere USB-Debugging.
  3. Auf einer NVIDIA SHIELD aktivierst du im selben Menü auch Netzwerk-Debugging: Es zeigt die zu nutzende Adresse. Bei einem Chromecast mit Google TV und den meisten Boxen öffnet USB-Debugging den Port 5555 im Netzwerk.

Manche Geräte mit Android 11+ bieten nur „Kabelloses Debugging“ (Kopplungscode, zufälliger Port): Dieser Modus wird nicht unterstützt. Auf so einem Gerät führst du einmal adb tcpip 5555 von einem damit verbundenen Computer aus (gültig bis zum nächsten Neustart des Geräts).

Amazon Fire TV​

  1. Einstellungen → Mein Fire TV → Info: Klicke siebenmal auf den Namen des Geräts.
  2. Einstellungen → Mein Fire TV → Entwickleroptionen: Aktiviere ADB-Debugging.

Konfiguration​

In Gladys: Integrationen → Android TV / Fire TV (ADB) → Konfiguration.

  • IP-Adressen der Geräte: eine Adresse pro Fernseher oder Box, durch Kommas getrennt, zum Beispiel 192.168.1.50, 192.168.1.51. Der Port ist 5555, außer du hängst einen anderen an (192.168.1.50:5556).
  • Aktualisierung im Betrieb: wie oft ein eingeschaltetes Gerät gelesen wird, 5 bis 60 Sekunden (standardmäßig 10). Ein Gerät im Standby wird einmal pro Minute gelesen.
  • Sprache der Funktionsnamen: die Namen der Funktionen beim Hinzufügen eines Geräts (sie ändern sich danach nicht mehr) und die App-Namen in den Szenen-Ereignissen. Standardmäßig Französisch.

Speichere und füge die Geräte dann im Reiter Entdecken hinzu.

Gladys auf dem Gerät erlauben​

Bei der ersten Verbindung fragt der Bildschirm des Geräts „USB-Debugging zulassen?“ mit dem Fingerabdruck des Schlüssels von Gladys. Kreuze „Von diesem Computer immer zulassen“ an und bestätige. Ohne das Kreuz kommt die Frage bei jeder Verbindung wieder.

Gladys fragt einmal von selbst, direkt nachdem du die Adresse gespeichert hast. Wenn du die Frage verpasst hast (Bildschirm aus, niemand vor dem Fernseher), schalte den Fernseher ein und starte unten in der Konfiguration die Aktion Geräte verbinden: Die Frage erscheint erneut, und das Ergebnis zeigt für jede Adresse, ob Gladys verbunden ist. Es zeigt auch den Fingerabdruck des Schlüssels, zum Vergleich mit dem auf dem Bildschirm.

Geräte​

Jeder Fernseher und jede Box ist ein Gerät, benannt nach dem Modell (du kannst es umbenennen). Seine Funktionen:

FunktionTypWas sie tut
Ein/AusTV Ein/Aus1, wenn der Bildschirm an ist (Bildschirmschoner inbegriffen), 0 im Standby; Umschalten weckt oder legt schlafen
AppAuswahldie App auf dem Bildschirm; eine andere wählen öffnet sie
WiedergabestatusAuswahl (lesen)Wiedergabe läuft, pausiert, gestoppt, keine Wiedergabe, Bildschirmschoner, Standby
LautstärkeTV-Lautstärke (%)die Medienlautstärke, wenn das Gerät sie meldet; Einstellen ändert sie
Startseite, Zurück, Pfeile, OKTV-Tastendie Navigationstasten
Menü, Wiedergabe, Pause, StoppTV-Tastendie Menü- und Wiedergabetasten
Weiter, Zurück (Titel), Zurückspulen, VorspulenTV-Tastendie Medientasten
Lauter, Leiser, StummTV-Tastendie Lautstärketasten (an einer Box per HDMI-CEC an den Fernseher weitergegeben)

Die Liste App enthält die installierten Apps, die sich vom Startbildschirm öffnen lassen, mit ihrem Namen für die gängigen (Netflix, YouTube, Prime Video, Disney+, myCANAL, Molotov, france.tv, Arte, Spotify, Deezer, Plex, Kodi, VLC…) und dem Paketnamen für die anderen. Die Liste wird alle sechs Stunden neu gelesen.

Aktualisierung​

Gladys liest jedes Gerät selbst (es verlässt sich nicht auf die Abfrage des Kerns): alle 10 Sekunden (deine Einstellung), solange der Bildschirm an ist, über eine offen gehaltene Verbindung, damit die Tasten sofort reagieren; einmal pro Minute im Standby, wobei die Verbindung nach jedem Lesen geschlossen wird. Ein Lesen ist ein einziger Befehl auf dem Gerät (Strom, Aktivität, Mediensitzung und Audiostatus): Die Last ist gering. Nur Werte, die sich ändern, werden an Gladys gesendet, dazu eine Auffrischung alle sechs Stunden. Kein Konto, keine Cloud, kein Kontingent.

Widget​

Dashboard → Bearbeiten → füge das Widget ADB-Fernbedienung hinzu und wähle das Gerät. Es zeigt den Zustand (an, Bildschirmschoner, Standby, nicht erreichbar), die App auf dem Bildschirm, den Wiedergabestatus und die Lautstärke, und vier Tasten deiner Wahl (Einstellungen „Taste 1“ bis „Taste 4“: standardmäßig Zurück, Startseite, Wiedergabe/Pause und Ein/Aus). Vier ist die Zahl der Tasten, die Gladys pro Widget erlaubt: Füge für andere Tasten ein zweites Widget hinzu.

Szenen-Auslöser​

  • Eine App kommt in den Vordergrund: Die App im Vordergrund hat gewechselt. Filter: das Gerät, eine bekannte App oder ein beliebiger Paketname (z. B. org.videolan.vlc). Die Szene kann den App-Namen, den Paketnamen und den Gerätenamen verwenden.
  • Wiedergabe startet, pausiert oder stoppt: Die Mediensitzung der App auf dem Bildschirm hat ihren Zustand gewechselt. Filter: das Gerät und der Zustand. Die Szene kann den Zustand, die App und den Gerätenamen verwenden.

Beide werden im Takt der Aktualisierung gelesen (standardmäßig 10 Sekunden), und nur bei eingeschaltetem Bildschirm. Manche Apps veröffentlichen ihren Wiedergabestatus nicht: Die Wiedergabe-Auslöser bleiben dann für sie stumm.

Szenen-Aktionen​

  • App auf dem Fernseher öffnen: eine bekannte App aus der Liste (auf einem Fire TV wird die Fire-TV-Version gewählt) oder ein beliebiger Paketname.
  • Fernbedienungstaste drücken: Startseite, Zurück, Pfeile, OK, Menü, Wiedergabe/Pause, Wiedergabe, Pause, Stopp, Weiter, Zurück (Titel), Zurückspulen, Vorspulen, Lautstärke, Stumm, Ein/Aus, Einstellungen, Suche; ein bis zwanzig Mal.
  • Adresse auf dem Fernseher öffnen: eine http-, https-, rtsp- oder rtmp-Adresse, geöffnet von der passenden App (ein YouTube-Link öffnet YouTube) oder vom angegebenen Paket (z. B. org.videolan.vlc für den Stream einer Kamera).

Eine Aktion „Shell-Befehl ausführen“ gibt es absichtlich nicht: Eine ADB-Shell kann alles auf dem Gerät installieren, entfernen oder lesen, und eine Szene kann jeder Gladys-Administrator bearbeiten. Home Assistant bietet eine an; diese Integration nicht.

Szenen-Beispiele​

  • Kinomodus: Wenn Netflix, Prime Video oder Disney+ nach 20 Uhr in den Vordergrund kommt, dimme das Licht im Wohnzimmer auf 20 %.
  • Pause, Licht an: Wenn die Wiedergabe am Wohnzimmerfernseher pausiert, stelle das Licht auf 60 %; wenn sie weiterläuft, zurück auf 20 %.
  • Morgennachrichten: Werktags um 7:30 Uhr schaltest du den Küchenfernseher ein und öffnest die Adresse eines Nachrichten-Livestreams auf YouTube.
  • Schlafenszeit der Kinder: Wenn YouTube Kids nach 21 Uhr auf dem Fernseher der Kinder in den Vordergrund kommt, schicke den Eltern eine Nachricht oder schalte den Fernseher in den Standby.

Fehlerbehebung​

  • „Nie erreicht“: Prüfe die Adresse, ob das Gerät eingeschaltet und das Netzwerk-Debugging aktiv ist. Manche Fernseher (Philips) akzeptieren die erste Erlaubnis nur über WLAN: Erlaube einmal über WLAN, danach funktioniert auch die Kabelverbindung.
  • „Noch nicht erlaubt“: Bestätige die Frage auf dem Bildschirm mit „Immer zulassen“ oder starte Geräte verbinden bei eingeschaltetem Bildschirm. Android 11+ vergisst eine sieben Tage lang ungenutzte Erlaubnis: Entwickleroptionen → „Zeitlimit für ADB-Autorisierung deaktivieren“.
  • „Port für kabelloses Debugging (Kopplung)“: Die Adresse zeigt auf den Port des kabellosen Debuggings von Android 11, nicht auf das Netzwerk-Debugging auf 5555 (siehe Voraussetzungen).
  • Die Lautstärke zeigt immer 100 %: An einer per HDMI verbundenen Box ist die Lautstärke die des Fernsehers (HDMI-CEC), und die Box gibt eine feste Lautstärke aus. Nutze die Tasten Lauter/Leiser, die die Box an den Fernseher weitergibt.
  • Eine App fehlt in der Liste: Diese App hat keinen Eintrag auf dem Startbildschirm (ein Dienst, ein Eingang). Nutze die Aktion „App öffnen“ mit ihrem Paketnamen.
  • Ein anderer ADB-Client verbindet sich nicht: Manche Geräte akzeptieren nur eine ADB-Verbindung gleichzeitig. Bei eingeschaltetem Bildschirm hält Gladys eine offen.
  • Das Gerät wacht nicht aus dem Standby auf: Im tiefen Standby schalten manche Fernseher ihr Netzwerk ab, dann erreicht sie nichts mehr. Aktiviere die Netzwerk-Standby-Option des Fernsehers („Über Netzwerk einschalten“, „Schnellstart“).
  • Mehr Details: Setze LOG_LEVEL=debug für die Integration, um jedes Lesen in ihren Protokollen zu sehen.

Um Gladys die Erlaubnis auf einem Gerät zu entziehen: Entwickleroptionen → „USB-Debugging-Autorisierungen aufheben“.

Grenzen​

  • Ohne die Hardware entwickelt: Die Formate der Geräteantworten stammen aus den Bibliotheken von Home Assistant und den Android-Quellen und unterscheiden sich je nach Modell und Version. Rückmeldungen sind willkommen.
  • Keine automatische Erkennung: Die Geräte kündigen ihren Netzwerk-Debugging-Port nicht zuverlässig an, und die Integration kann das lokale Netzwerk nicht selbst abhören. Gib die Adressen ein.
  • Ein Gerät, dessen Netzwerk im Standby schläft, kann Gladys nicht einschalten.
  • Der Wiedergabestatus hängt davon ab, ob die App ihn veröffentlicht (Netflix, YouTube, Plex, Spotify, VLC ja; manche nicht).
  • Kein Umschalten der HDMI-Eingänge, keine Sender, kein Bildschirmfoto, kein freier Shell-Befehl.
  • Kabelloses Debugging von Android 11+ (Kopplungscode) wird nicht unterstützt.

Sicherheit und Datenschutz​

  • Der Schlüssel von Gladys (ein RSA-Schlüssel wie der des Werkzeugs adb) wird beim ersten Start erstellt und im Datenvolume der Integration gespeichert (/data/adbkey). Er verlässt es nie und erscheint nie in den Protokollen. Wer ihn besitzt und das Gerät im Netzwerk erreicht, kann das Gerät steuern: Halte deine Gladys-Sicherungen privat.
  • /data/androidtv-adb.json speichert die erkannten Geräte: Adresse, Seriennummer oder MAC-Adresse, Modell, Android-Version, installierte Apps.
  • Die Integration sendet nur die hier beschriebenen festen Befehle, liest den Zustand des Geräts und liest nie deine Dateien. Der gesamte Verkehr bleibt in deinem lokalen Netzwerk.

Konfigurationseinstellungen​

Diese Einstellungen fragt Android TV / Fire TV (ADB) in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Bevor du anfängstsectionNeinAm Fernseher oder an der Box: Aktiviere die Entwickleroptionen (7-mal auf die Build-Nummer klicken), dann das Netzwerk-Debugging (Fire TV: ADB-Debugging). Gib unten die IP-Adresse ein und speichere: Der Bildschirm fragt „Debugging zulassen?“. Kreuze „Immer zulassen“ an und bestätige. Ergänzt die Integration Android TV Remote: ADB funktioniert auch mit Fire TV, öffnet jede App und liest die App auf dem Bildschirm.
IP-Adressen der GerätestringNeinEine Adresse pro Fernseher oder Box, durch Kommas getrennt. Standardport 5555 (sonst :Port anhängen). Gib jedem Gerät eine feste Adresse in deinem Router.
Aktualisierung im Betrieb (Sekunden)numberNeinWie oft ein eingeschaltetes Gerät gelesen wird (5 bis 60 s). Im Standby einmal pro Minute.
Sprache der FunktionsnamenselectNeinNamen der Funktionen beim Hinzufügen eines Geräts und Texte der Szenen-Ereignisse.

So installierst du Android TV / Fire TV (ADB) in Gladys​

  1. Öffne in Gladys Integrationen: Android TV / Fire TV (ADB) erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-androidtv-adb:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-androidtv-adb.

Android TV / Fire TV (ADB) benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Android TV / Fire TV (ADB) ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂