98_FireTV: Fernbedienung eines Amazon FireTV per adb

Begonnen von nesges, 09 März 2017, 18:04:40

Vorheriges Thema - Nächstes Thema

Eistee

Also. Erstmal funktioniert das ganze ja über adb. Das heißt das das FireTV Modul zyklisch werte aus dem FireTV ausließt. Wie diese werte zustande kommen weiß nur Amazon. Der nächste nachteil ist das der FireTV kein Event in FHEM auslösen kann auf diesem weg. Es wird nur ein Event vom Modul generiert wenn ein wert beim auslesen der werte sich ändert. Daher ist das nicht wirklich zu gebrauchen um damit direkt sowas wie Lichtszenen zu steuern.

Ascos

Hi,

seit Neustem scheint es bei mir Probleme in der Verbindung zwischen FHEM und meinen FireTV Geräten (Box und Stick) zu geben.
Ich bekomme keinen korrekten Screen_State mehr (er wird immer als off angezeigt) und ich kann keine Befehle mehr absetzen.
Allerdings werden die Geräte noch als present erkannt.

Möglicherweise haben die Geräte mal wieder alleine ein Update gemacht, meine Version ist: 5.2.6.6

Hat jemand anderes da auch Probleme mit?

Viele Grüße
Ascos
1x RaspberryPi 3, HMUART, HMLAN
4x HM-CC-RT-DN, 4x HM-Sec-SCo, 4x HM-TC-IT-WM-W-EU, 1 Jeelink, 4 Lacrosse Fühler, 2 LD382A
1x ZBox mit Kodibuntu, mehrere schaltbare Steckdosen

87insane

Zitat von: Ascos am 02 September 2018, 14:38:24
Hi,

seit Neustem scheint es bei mir Probleme in der Verbindung zwischen FHEM und meinen FireTV Geräten (Box und Stick) zu geben.
Ich bekomme keinen korrekten Screen_State mehr (er wird immer als off angezeigt) und ich kann keine Befehle mehr absetzen.
Allerdings werden die Geräte noch als present erkannt.

Möglicherweise haben die Geräte mal wieder alleine ein Update gemacht, meine Version ist: 5.2.6.6

Hat jemand anderes da auch Probleme mit?

Viele Grüße
Ascos

Moin, moin...

hatte ich auch schon gemeldet. Direkt über deinem Post.
Da ich das Modul erst letzte Woche eingerichtet habe, kenne ich den Status davor natürlich nicht.
Aber um z.B. die Erlaubnisabfrage zu bekommen, die es erlaubt, dass ein Gerät per ADB auf den Stick/die Box zugreifen darf, musste ich auch manuell triggern.
Kannst du alles vor deinem Post lesen.

duke-f

Wollte auf meinem Nebensystem, auf dem nur Googlecast und FireTV laufen soll, die Tage mal ein Update machen. Da gibt's die Meldung


fhem
nothing to do...

nesges-fhem-modules
UPD FHEM/98_FireTV.pm
Got 66588 bytes for FHEM/98_FireTV.pm, expected 66587
aborting


und FireTV funktioniert nicht mehr. Ist das jemanden bekannt?
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

87insane

Zitat von: duke-f am 04 September 2018, 01:23:11
Wollte auf meinem Nebensystem, auf dem nur Googlecast und FireTV laufen soll, die Tage mal ein Update machen. Da gibt's die Meldung


fhem
nothing to do...

nesges-fhem-modules
UPD FHEM/98_FireTV.pm
Got 66588 bytes for FHEM/98_FireTV.pm, expected 66587
aborting


und FireTV funktioniert nicht mehr. Ist das jemanden bekannt?

Liegt an UPD / UPDATE.. Die txt die angefragt wird für das Update ist nicht aktuell und somit läuft das Update nicht durch...
Siehe Wiki:
Zum Aktualisieren einer Datei. Die Aktualisierung wird nur ausgeführt, wenn das Datum von der lokalen Datei unterschiedlich ist und die Dateigröße der heruntergeladenen Datei übereinstimmt:

UPD <Datum> <Dateigröße> <Datei inkl. Pfad>


Kannst es aber auch manuell machen indem du die Datei in den entsprechenden Ordner deines FHEM schiebst und die Dateirechte anpasst.

duke-f

Besten Dank. Habe also die Datei selber vom Eingangsthread heruntergeladen und in das FHEM-Verzeichnis gespielt, dann 98_FireTV.pm vom Update ausgeschlossen, um das Problem nicht wieder zu haben. Kann aber ja nicht die Dauerlösung sein.

Sehe ich das richtig, dass der Autor des Moduls die von Dir genannte Korrektur an der txt-Datei vornehmen müsste?
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

duke-f

Ich schließe mich dann hier an:
presence wird angezeigt und korrekt erkannt,  adb-Befehle werden nicht erkannt. Habe erst letzte Woche nach dem Sommer mal wieder das Modul und den FireTV in Betrieb genommen und da ging noch alles. Erst gestern abend jedoch nicht mehr. Allerdings hat mich da auch mein FireTV mit einer Änderungsmeldung beim Einschalten überrascht, die ich leider nicht wirklich zu verstehen versucht hatte.

Kurz und gut: Ich vermute eine Änderung in der FireTV-Software.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

87insane

Guten Morgen,

ggf. hilft dies dem Entwickler ja:
https://github.com/happyleavesaoc/python-firetv

Es scheint aktuell zu sein und hat die Probleme nicht.

Markus M.

Kümmert sich hier noch jemand aktiv drum?
Ich glaube meine modifizierte Version (im Anhang) funktioniert noch, könnt ihr ja mal ausprobieren.

adb funktioniert allgemein nur gut, wenn nur genau ein Device darauf zugreift. Also entweder FHEM oder z.B. ein Launcher auf dem FireTV.
Wenn sich die in die Quere kommen, gibt's Probleme.
Gab es ein Update auf dem FireTV? Meiner ist gerooted, bekomme ich also nicht mit.

Um irgendwas direkt zu steuern finde ich dieses Modul sowieso zu träge, dafür gibt's ja auch noch das Kodi Modul.
Damit habe ich z.B. Licht bei Play/Pause realisiert.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

87insane

Zitat von: Markus M. am 05 September 2018, 09:17:29
Kümmert sich hier noch jemand aktiv drum?
Ich glaube meine modifizierte Version (im Anhang) funktioniert noch, könnt ihr ja mal ausprobieren.

adb funktioniert allgemein nur gut, wenn nur genau ein Device darauf zugreift. Also entweder FHEM oder z.B. ein Launcher auf dem FireTV.
Wenn sich die in die Quere kommen, gibt's Probleme.
Gab es ein Update auf dem FireTV? Meiner ist gerooted, bekomme ich also nicht mit.

Um irgendwas direkt zu steuern finde ich dieses Modul sowieso zu träge, dafür gibt's ja auch noch das Kodi Modul.
Damit habe ich z.B. Licht bei Play/Pause realisiert.

Teste ich direkt nachher!

ADB an sich ist natürlich zu träge via LAN/WLAN. Ich habe einen FireTV Box und einen Stick. Die Box habe ich auch gerootet aber den Stick nicht. Bei beiden das gleiche Problem. ADB ist aber verbunden. (check über Console). Ich kenne den Versionsstand leider nicht aber es gab definitiv ein Update. Mich würde hier tatsächlich nur der ScreenState interessieren. Alles andere aus diesem Modul hier, ist mir egal. Im Quelltext konnte ich leider nicht auslesen wie der Entwickler es geschafft hat diesen aus zu lesen. Wenn ich das wüsste, würde ich ganz auf das Modul verzichten und mir ein DOIF / notify bauen.

Für das Kodi Modul muss Kodi auch an sein, korrekt? Würde dann für mich auch rauß fallen.

Markus M.

Zitat von: 87insane am 05 September 2018, 10:34:09
Mich würde hier tatsächlich nur der ScreenState interessieren. Alles andere aus diesem Modul hier, ist mir egal. Im Quelltext konnte ich leider nicht auslesen wie der Entwickler es geschafft hat diesen aus zu lesen.

Für das Kodi Modul muss Kodi auch an sein, korrekt? Würde dann für mich auch rauß fallen.
Der screenState läuft wie alles andere über Polling, wenn ich mich recht erinnere.
Ganz grosser Mist am FireTV Modul: Es arbeitet blockierend und läuft jedes mal wenn adb nicht erreichbar ist in einen 3s Timeout.
Zudem haut es gefühlt 4x so viele adb Aufrufe raus als eigentlich nötig sein sollten.

Kodi braucht auch ein Modul, das ist richtig. Und das ist in erster Linie dafür da, um den Play/Pause State dort auszulesen.
Wenn du teilweise Kodi auf dem FireTV nutzt, brauchst du eigentlich beide Module.
Auch hier wieder: Unschöne Reaktionen wenn Kodi nicht erreichbar ist.

Naja - spätestens wenn sich meine Frau ein paar mal beschwert dass das Licht wahllos erst nach einigen Sekunden angeht oder andere Dinge verzögert reagieren, schaffen es die Module garantiert auf meine Todo-Liste ;)
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

87insane

Zitat von: Markus M. am 05 September 2018, 11:21:35
Der screenState läuft wie alles andere über Polling, wenn ich mich recht erinnere.
Ganz grosser Mist am FireTV Modul: Es arbeitet blockierend und läuft jedes mal wenn adb nicht erreichbar ist in einen 3s Timeout.
Zudem haut es gefühlt 4x so viele adb Aufrufe raus als eigentlich nötig sein sollten.

Kodi braucht auch ein Modul, das ist richtig. Und das ist in erster Linie dafür da, um den Play/Pause State dort auszulesen.
Wenn du teilweise Kodi auf dem FireTV nutzt, brauchst du eigentlich beide Module.
Auch hier wieder: Unschöne Reaktionen wenn Kodi nicht erreichbar ist.

Naja - spätestens wenn sich meine Frau ein paar mal beschwert dass das Licht wahllos erst nach einigen Sekunden angeht oder andere Dinge verzögert reagieren, schaffen es die Module garantiert auf meine Todo-Liste ;)

Dann senden wir der Dame mal ein paar Blumen und einen leckeren Wein und der Rest regelt sich dann von alleine :-P


duke-f

Das mit dem Update kann ich leider nur soweit bestätigen, wie ich es oben  in meiner Beobachtung geschildert habe.

Ob die Kodi-Variante nun für mich die bessere sein würde, kann ich nicht sagen. Mein Modul soll alleinig FireTV in seiner offiziellen Form ansteuern, also nichts gerootetes. Ich muss auch nichts auslesen. Ich will alleinig beispielsweise eine Einknopfbedienung, wie ich sie bereits für andere Konstellationen arfolgreich nutze, erweitern. Beispiel:

FireTV hängt über einen HDMI-Verteiler im Schlafzimmer parallel zu den weiteren Geräten BD-Player und einen Raspberry Pi. Als Ausgänge sind im Schlafzimmer ein Beamer und über ein langes HDMI-Kabel der Fernseher im Wohnzimmer verbunden. Diesen Verteiler kann ich per Infrarot - und damit mittels FHEM - ansteuern. Das Einschalten einer Funktion kann dann schon mal knapp eine Minute dauern, das lässt sich aber auch nicht wirklich vermeiden und ich kann damit leben.

Typisch ist eben jetzt die Situation, dass wir im Wohnzimmer sitzen und einen Film beginnen zusehen. Einer kommt auf die Idee: Das könnten wir doch auch im Bett fertig sehen. Also am Tablet die Taste in FHEM "BD -> Beamer" gedrückt und es werden nacheinander die dafür notwendigen Geräte gestartet: Beamer, BD-Player, Surround-Anlage und der HDMI-Verteiler. dann werden die Komponenten jeweils auf die korrekten Kanäle für Eingang und Ausgang geschalten. Wie gesagt, das funktioniert bisher durchaus zufriedenstellend. Entsprechende Schaltungen gibt es dann auch beispielsweise um das BD-Signal auf den Fernseher zu übertragen usw.

Dass jetzt Anfang des Jahres der FireTV für das Schlafzimmer dazu kam, stellte die nächste Stufe der Herausforderung dar, die ich mittels des Moduls bewältigen wollte (im Wohnzimmer wird normalerweise ein Chromecast genutzt, der FireTV bisher nur selten).

Und da genau kommt der Punkt: Das Modul soll einfach mal die rudimentären Funktionen der FireTV-Fernbedienung ersetzen, weil diese im Regelfall eben im Schlafzimmer liegt. Gut, das könnte man auch mit einer anderen App bewerkstelligen, aber schön in FHEM integriert sollte eben doch sein. Zudem kommt die Herausforderung der Verknüpfungen, bei eingehendem Anruf auch die FireTV-Wiedergabe genauso wie TV oder Chromecast auf Pause zu stellen.

Ist recht lang geworden, entschuldigt. Aber mir geht es wirklich nur darum, FireTV ansprechen zu können, ich muss nichts auslesen. Ist dann dieses Modul wirklich geeignet? Wäre dann Kodi überhaupt anwendbar? gäbe es etwas ganz anderes? Ich habe die beiden Module für Chromecast und FireTV extra auf einem Nebensystem, um mein Hauptsystem nicht zu blockieren, beide haben immer noch so ihre Schwächen.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

duke-f

Habe die oben verlinkte modifizierte Version probiert - geht genauso wenig.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

duke-f

http://www.aftvnews.com/how-to-remotely-control-an-amazon-fire-tv-or-fire-tv-stick-via-adb/

Hab's immerhin soweit, dass mein FireTV auf diese Terminaleingaben reagiert. Ein Problem war, dass ich die Berechtigung auf den Stick zugreifen zu dürfen für den entsprechenden Raspberry wiederholen musste.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite