NEWS
SOLVED Fire TV Adapter
-
@markus-2
Kann Dir nur sagen, geht hier mit FireTV Stick auch nicht.
Also, vermutlich "normal". -
@padrino Ohhh jeee. Gibt es einen Workaround über den Alexa2 Adapter o.ä.?
-
@markus-2
Über Alexa2 wird da wohl leider nix gehen...Weiß auch nicht, wie das mit "aus" beim Cube ist...
Der Stick hat ja nur einen "Ruhemodus", den erreicht man ja über das "lange home drücken"-Menü.
Dahin kommt man zumindest mit einem Eintrag bei "shell"input keyevent --longpress 3
-
Hat mich jetzt alles irgendwie neugierig gemacht...
Guck mal hier
https://www.reddit.com/r/fireTV/comments/9d0v0a/standbysleeppower_off_from_adb/Status abfragen geht beim Stick hier, keyevent 26 leider nicht...
-
@padrino Interessant! Wie nutze ich das in ioBroker? Geht das über einen Datenpunkt, bzw. für das Ergebnis der Anfrage zwei Datenpunkte, vom Adapter? Oder muss ich das irgendwie in Javascript schreiben?
-
Also, Du kannst natürlich die Datenpunkte des FireTV Adapters nutzen und diese dann (wie gewohnt) verarbeiten, also Blockly, JavaScript...
in
firetv.0.xxx_xxx_xxx_xxx.shell
scheibste
dumpsys activity | grep -c "mWakefulness=Asleep"
und in
firetv.0.xxx_xxx_xxx_xxx.result
prüfst Du, ob danach "0" oder "1" drin steht.
-
Übrigens, der DP "online" gibt wohl an, ob der Adapter eine Verbindung zum Stick hat (egal, ob dieser im Ruhemodus ist oder nicht).
Wenn dieser auf "false" geht ist ein Neustart des Adapters nötig... -
@padrino
Vielen Dank! Hab's gerade probiert (shell+result). Leider keine Reaktion. Was ich erfolgreich getestet habe:- Alle Datenpunkte unter "keys"
- "reboot" und der Status "online" (Adapterverbindung)
- "startApp", "stopApp"
Das ist schonmal gut. Keine Reaktion (nicht einmal eine Fehlermeldung, Instanz läuft auf "debug") sehe ich für:
- "on" (Einschaltstatus)
- "swapPower" (Ein-/Ausschalten)
- "shell" und "result"
Ich brauche am Besten "on" um den Status zu bekommen und "shell", wenn ich damit explizit Ein-, bzw. Ausschalten kann. "swapPower" wäre auch möglich, ist halt immer so ne Sache, wenn der angenommene Zustand nicht stimmt.
Gibt es einen Entwickler der Zeit hat sich diese 4 Datenpunkte explizit anzuschauen? Ich wäre super Dankbar!!!
-
@markus-2
Also, ich bin leider kein Entwickler aber ich finde, der Adapter ist etwas unausgereift...Mir scheint, dass "shell" z.B. nur funktioniert, wenn man dessen Inhalt ändert, zweimal das gleiche ergibt kein "result".
Gib dort mal XXX ein, dann müsste/sollte eigentlich in result stehen "/system/bin/sh: XXX: not found"
-
@padrino
Hatte ich auch vermutet. Leider gar keine Reaktion, egal was ich eingeben. Es kommt auch keine Fehlermeldung im Log. Ich nutze Version 1.0.0 Funktioniert es bei Dir mit dieser Version? -
@markus-2
Ja, nutze auch 1.0.0, allerdings, wie gesagt mit Stick.
Das log ist hier übrigens auch meist leer, also auch bei Fehlern, es sei denn ser Adapter hat keine Verbindung... -
@padrino
Ahh, ok. Dann sieht bei mir das Log ebenfalls leer aus
Bzgl. "shell" versuche ich zu verstehen was bei Dir der Unterschied sein könnte. Hast Du noch mehr getan, damit es läuft? Ich hatte tlw. von manuellen Änderungen gelesen. Ich habe den Adapter wie folgt in Betrieb genommen:- Adapter installiert
- Terminal: $ "sudo apt-get install android-tools-adb android-tools-fastboot"
3 Adapter-Konfig
- Pfad zur ADB.EXE: "/usr/lib/android-sdk/platform-tools/adb"
- Runterscrollen und mit "+" neues Gerät hinzufügen mit Aktiviert = Haken, Bezeichnung = <Meine Bezeichnung>, IP = <Meine IP-Adresse für den Fire TV Cube>
Hast Du noch was gemacht oder ist der Unterschied wirklich "nur" zw. unserer Fire TV HW/SW?
-
@markus-2
Uff, sorry, aber die Installation ist so lang her...
Ich war froh, dass es irgendwann einigermaßen lief.
Aber, soweit ich das verstehe, wird doch für alles adb genutzt, also auch die keys. Es müsste dann doch alles oder nix gehen.
Also, wenn Du in shell einträgtinput keyevent 3
passiert auch nix (gut vermutlich, da bei "Unsinn" ja auch nix passiert)?
Von wo steuerst Du denn?
Hab' iobroker auf einem PI.
Evtl. mal dort einloggen und adb von Hand probieren? -
@padrino
Bei mir läuft ioBroker in einem Docker-Container auf meiner NAS.
Ich habe es jetzt mal über die Console (mit meine bescheidenen Kenntnissen) probiert. Hierzu einen Befehl, welcher in jedem Fall über den Adapter mittels Datenpunkt unter "firetv.0\192_168_168_52\keys\right" geht.
Ich habe gesehen, dass meine Beleuchtung über die Console (HDMI SyncBox reagiert, also irgendwas geht schon, jedoch wird der Befehl nicht ausgeführt (Bewegungs nach Rechts). Irgendwas fehlt noch und ist ein Unterschied zum Adapter-Aufruf, welcher geht. Irgendeine Idee? Ich poste im Folgenden meinen Versuch über Console.../opt/iobroker$ adb devices List of devices attached 192.168.168.52:5555 device emulator-5556 offline /opt/iobroker$ adb -s 192.168.168.52:5555 shell input keyevent 2 /opt/iobroker$
Nachtrag: Während ich Netflix schaue hat MEDIA_PLAY_PAUSE geklappt...
/opt/iobroker$ adb -s 192.168.168.52:5555 shell input keyevent 85
Leider geht POWER (26) nicht
Nachtrag 2: Statusabfrage hat geklappt ...
/opt/iobroker$ adb -s 192.168.168.52:5555 shell dumpsys activity | grep -c "mWakefulness=Asleep" 0 /opt/iobroker$
Hab inzw. auch rausgefunden wie ich das in einem Blockly verwenden kann (exec). Damit kann ich den Status über Skript pollen.
Damit verbleibt letztlich noch das Problem es ein- und ausschalten.
Nachtrag 3: Hab jetzt mal adb auf meinem Windows-Rechner probiert. Dort geht es ebenfalls nicht. Daher habe ich jetzt eher den Fire TV Cube im Verdacht.
Immerhin klappt Folgendes um den Status zu erhaltenadb -s 192.168.168.52:5555 shell dumpsys activity | grep -c "mWakefulness=Awake"
Gibt es eine Alternative um über adb ein Gerät ein-/auszuschalten?
-
@markus-2
Kann man denn den Cube wirklich ausschalten oder hat er nur den Ruhemodus wie mein/die stick/s?Schaltest Du ihn mit der FB?
Wenn es nur um den Ruhemodus geht, könntest Du evtl.
Home (long), right, right, enter
simulieren...
-
@padrino
Alsooooo... ich mache es jetzt ohne den Adapter, da es schneller, bzw. tlw. geschickter geht (bspw. das result direkt verarbeiten und nicht auf einen extra Datenpunkt warten bis der geschrieben wurde). Umgesetzt habe ich es wie folgt:Meine Konfiguration:
- Synology NAS Docker
- Image: buanet/iobroker:v5.1.0
Einmalig musste ich adb installieren über:
- sudo apt-get install android-tools-adb android-tools-fastboot
Initialisierung:
- adb start-server
- adb connect <Fire TV Cube IP-Adresse>
Zyklisch frage ich den Einschaltstatus ab:
- adb -s <Fire TV Cube IP-Adresse> shell dumpsys activity | grep -c "mWakefulness=Awake"
Einschalten über:
- adb -s <Fire TV Cube IP-Adresse> shell input keyevent KEYCODE_HOME
Auschalten über (das einzig nicht soo tolle an dem Ganzen):
- adb -s <Fire TV Cube IP-Adresse> shell input keyevent KEYCODE_HOME
(Anmerkung: Dieser Befehl nur, falls ich schon in Home (long) drin bin, damit es immer geht) - Warten 300ms
- adb -s <Fire TV Cube IP-Adresse> shell input keyevent --longpress KEYCODE_HOME
- Warten 300ms
- adb -s <Fire TV Cube IP-Adresse> shell input keyevent KEYCODE_DPAD_RIGHT
- Warten 300ms
- adb -s <Fire TV Cube IP-Adresse> shell input keyevent KEYCODE_DPAD_RIGHT
- Warten 300ms
- adb -s <Fire TV Cube IP-Adresse> shell input keyevent KEYCODE_ENTER
Ich lass den Adapter mal drauf und hoffe auf kommende Updates, er läuft bei mir bis zu einem "guten" Update erstmal nicht.
Ich denke dass KEYCODE_POWER nicht geht ist weniger ein Problem des Adapters, denn ich konnte auch manuell über adb das Ein-/Ausschalten oder auch Schlafengehen nicht kontrollieren. Vermutlich liegt das eher am Fire TV Cube.
Falls jemand hier noch ne Idee hat, gerne her damit...
Ansonsten erstmal speziellen Dank auch an @padrino . Deine Hinweise haben mir bis hierhin geholfen!!!
-
@markus-2 sagte in Fire TV Adapter:
Ich lass den Adapter mal drauf und hoffe auf kommende Updates, er läuft
Ich fürchte ja, da wird (so schnell) nix mehr kommen.
Ansonsten erstmal speziellen Dank auch an @padrino . Deine Hinweise haben mir bis hierhin geholfen!!!
Freut mich, wenn's was gebracht hat, auch wenn die Lösung anders als anfangs erhofft ist.
-
@markus-2
Übrigens, gerade gesehen, dass die neueste FireTV app jetzt sogar den Ruhemodus direkt auslösen kann.
Falls also mal irgendjemand sich die Mühe macht, heraus zu finden, was die App da genau macht, könnte in Zukunft mehr drin sein (ähnlich wie bei der Alexa app). -
@padrino
Hab gerade gemerkt, dass der Ruhemodus über CEC nicht komplett abschaltet. Daher bleibt meine Hue Sync Box an und die Lichter sind blockiert Damit ist das Ausschalten doch noch nicht komplett gelöst. Mal schauen ob ich das adb auch auf meinen LG-Fernseher anwenden kann, der dann über CEC das Ausschalten kontrolliert... -
@markus-2
Ich glaube fast, dass Du damit leben musst, oder (ich frage gerne wieder ), kannst Du sonst den Cube irgendwie richtig abschalten?
Im Netz findet man einiges darüber, dass die Fire Produkte nicht wirklich abschalten und immer auch das HDMI Signal (wenn auch nur schwarz) anliegt.
Das Problem habe ich auch z.B. mit dem Switch (ganz CEC).