Externe Integration - Android TV / Fire TV (ADB)

Hallo zusammen! :waving_hand:

Meine Android TV Remote-Integration funktioniert bereits als Fernbedienung, hat aber zwei Lücken: Sie funktioniert nicht auf Fire TV-Geräten und kann nicht erkennen, welche App gerade geöffnet ist, oder eine beliebige App starten. Bei Home Assistant ist es die andere Android TV-Integration, ADB, die das kann. Hier ist sie für Gladys: Android TV / Fire TV (ADB), das Komplement zur ersten (beide können parallel laufen).

Was sie kann

  • Für Android TV, Google TV, NVIDIA SHIELD, Android-Boxen und Amazon Fire TV:
    • Ein-/Ausschalten (Standby und Aufwecken);
    • die gerade aktive App und die Möglichkeit, sie aus einer Liste auszuwählen, um sie zu starten;
    • den Wiedergabestatus (Wiedergabe, Pause, Stopp);
    • die Lautstärke, wenn das Gerät sie bereitstellt;
    • 18 Fernbedienungstasten.
  • Zwei Szenarien-Trigger: „App X wird angezeigt“ und „Wiedergabe startet / wird pausiert“.
  • Drei Szenarien-Aktionen: eine App starten, eine Taste senden, eine Adresse öffnen (ein YouTube-Video, ein Stream).
  • Ein Widget „ADB-Fernbedienung“: Status, aktuelle App, Wiedergabe, Lautstärke und 4 Tasten Ihrer Wahl.
  • Auf Französisch, Englisch, Deutsch und Spanisch.

Absichtlich kein freies Shell-Kommando (Home Assistant hat eines): nur feste und geprüfte Befehle. Jeder beliebige Befehl auf dem TV von einem Szenario aus zu öffnen, ist nicht mein Ding.

Das coole Feature

Netflix wird am Abend angezeigt → das Licht im Wohnzimmer dimmt sich
Die Wiedergabe wird pausiert → das Licht geht wieder an
20:30 Uhr → die Box wacht direkt auf der TV-App auf

Installation

:warning: Mindestens Gladys 5.1.

Sie kommt im Store beim nächsten Indexer-Lauf. In der Zwischenzeit: Integrationen → Von GitHub installieren, mit GitHub - guim31/gladys-androidtv-adb: Android TV and Fire TV over ADB for Gladys Assistant: current app, launch apps, keys, power, local · GitHub

  1. Auf dem Gerät, einmalig: Einstellungen → Geräteeinstellungen → Info, klicken Sie sieben Mal auf Build, dann in Entwickleroptionen USB-Debugging aktivieren (und Netzwerk-Debugging auf einer SHIELD). Auf Fire TV: Meine Fire TV → Entwickleroptionen → ADB-Debugging.
  2. In Gladys: die IP-Adresse des Geräts, dann Geräte verbinden.
  3. Der TV fragt „Debugging zulassen?“: „Immer zulassen“ ankreuzen und akzeptieren.
  4. Reiter Entdeckung: hinzufügen.

Kleine, ehrliche Vorbehalte

  • Getestet auf meiner NVIDIA SHIELD: Modell, Bildschirm an, aktive App, Lautstärke und App-Liste funktionieren. Die Befehle und Fire TV wurden jedoch noch nicht auf einem echten Gerät getestet: Ihr Feedback ist willkommen.
  • Das „drahtlose Debugging“ mit Pairing-Code von Android 11+ wird nicht unterstützt: Es ist das klassische Netzwerk-Debugging (Port 5555) erforderlich.
  • Bei einer Box, die per HDMI angeschlossen ist, ist die Lautstärke oft die des TVs oder des Verstärkers: Die Box zeigt dann 100 % an.

Wie die vorherigen, entwickelt mit Claude Code. Unabhängiges Projekt, nicht mit Google, Amazon oder NVIDIA verbunden.

Repository: GitHub - guim31/gladys-androidtv-adb: Android TV and Fire TV over ADB for Gladys Assistant: current app, launch apps, keys, power, local · GitHub

Wird der Wecker per WOL aktiviert? :innocent:

Nein, kein Wake-on-LAN in diesem Fall: Das Aufwecken erfolgt über ADB, Gladys sendet den Aufweckbefehl an die Box über das Netzwerk. Das funktioniert, solange das Gerät im Standby erreichbar bleibt, was bei den meisten Boxen und der SHIELD der Fall ist.

Für einen Fernseher, der das Netzwerk im Tiefschlaf abschaltet, gibt es zwei Möglichkeiten:

  • die Option „Netzwerkaufweckung“ oder „Schnellstart“ am Fernseher aktivieren, damit er erreichbar bleibt;
  • ansonsten ist WoL in meiner Integration Ping & Wake-on-LAN enthalten: In einer Szene wird der Fernseher damit aufgeweckt, und dann wird die App mit der ADB-Integration gestartet, sobald er antwortet.

Beides kann zusammen laufen, sag mir, ob es bei dir funktioniert :slight_smile: