FireTV Modul [Testversion]

FireTV Modul

Anbei ein kleines simples Modul mit dem sich über ADB (Android Debug Bridge) Befehle an den FireTV aus IP-Symcon heraus verschicken lassen.

Dokumentation

1. Funktionsumfang

Mit dem Modul lassen sich Remote Befehle über ADB (Android Debug Bridge) an ein Amazon FireTV in IP-Symcon (ab Version 4) senden.

Befehle an FireTV senden:
Up, Down, Left, Right, Enter, Back, Home, Menu, Media Play/Pause, Media Previous, Media Next

2. Voraussetzungen

[ul]
[li]IPS 4.x[/li][li]Installiertes ADB (Android Debug Bridge) auf dem Betriebssystem.[/li][/ul]

3. Installation

a. Installation von ADB, Vorbereitung FireTV

Auf dem FireTV die IP Adresse aufschreiben und im FireTV ADB debugging aktivieren. ADB auf dem gleichen Rechner installieren auf dem auch IP-Symcon läuft und starten.

Beispiel Anleitung zur Konfiguration:
How to connect to a fire tv or fire tv stick via adb

Beispiel Konfiguration auf einem Raspberry:

ADB Installieren:


sudo apt-get install android-tools-adb

ADB Starten


adb start-server

Mit FireTV Adresse verbinden (192.168.X.X mit IP Adresse des FireTV ersetzen)


adb connect 192.168.X.X

Nachschauen ob das Verbinden geklappt hat


adb devices

b. Laden des Moduls

Über das ‚Modul Control‘ in IP-Symcon (Ver. 4.x) folgende URL hinzufügen:

https://github.com/Wolbolar/IPSymconFireTV

c. Einrichtung in IPS

In IP-Symcon Instanz hinzufügen auswählen unter der Kategorie
unter der man den FireTV hinzufügen will und Amazon FireTV auswählen.
Die IP Adresse vom FireTV ist im Konfigurationsformular zu ergänzen.
Nach Übernehmen auf Server starten drücken, wenn dieser bereits im Hintergrund läuft ist dies überflüssig.
Es wird eine Instanz mit einer Variable anlegt über die sich im Webfront in IP-Symcon der FireTV schalten lässt. Alternative ist das Nutzen der Funktionen um einen Befehl von IP-Symcon abzusetzen.

4. Funktionsreferenz

FireTV:

Sendet die Befehle über Funktionen oder den Webfront von IP-Symcon an den FireTV.
Verfügbare Befehle:
Up, Down, Left, Right, Enter, Back, Home, Menu, Media Play/Pause, Media Previous, Media Next

FireTV:

FireTV_Up(integer $InstanceID)

Up

FireTV_Down(integer $InstanceID)

Down

FireTV_Left(integer $InstanceID)

Left

FireTV_Right(integer $InstanceID)

Right

FireTV_Enter(integer $InstanceID)

Enter

FireTV_Back(integer $InstanceID)

Back

FireTV_Home(integer $InstanceID)

Home

FireTV_Menu(integer $InstanceID)

Menu

FireTV_Play(integer $InstanceID)

Media Play / Pause

FireTV_Previous(integer $InstanceID)

Previous

FireTV_Next(integer $InstanceID)

Next

Getestet habe ich das bisher nur auf einem Raspberry.

Hy!

Bin gerade am verzweifeln!
Probiere gerade das Modul aus auf einem Windows 7 Rechner und es will einfach nicht laufen!
Hat es schon jemand auf win 7 laufen?
adb läuft! ADB debugging eingeschaltet auf der Box!

Ich hab eine ganz neue Box Amazon Fire TV mit 4K Ultra HD! Kann das das Problem sein?

Mfg
Maxx

Ich habe noch eine „alte“ FireTV kann also nicht sagen ob das geht. Auch nutzte ich kein Windows.

Passiert denn was wenn Du direkt was in die ADB Shell eingibst?

z.B. für Up


adb shell input keyevent 19

Das Modul setzt von IP-Symcon einfach diese Befehle ab
http://www.aftvnews.com/how-to-remotely-control-an-amazon-fire-tv-or-fire-tv-stick-via-adb/

Hy!
So ist der Stand der Dinge!

connect 192.168.1.32
Dann kommt die Meldung connected to 192.168.1.32:5555
Wenn ich dann eingebe: adb shell input keyevent 19 oder eine andere Zahl Passiert leider nix!

Tja, das ist blöd. Aber wenn es schon von der shell nicht geht dann mit dem Modul logischerweise auch nicht.
Mit dem alten FireTV geht das noch, keine Ahnung ob da was beim neuen geändert worden ist. Kannst ja mal googlen ob Du was dazu findest ob man den neuen FireTV noch über adb remote steuern kann. Wenn Du fündig werden solltest kann das ja noch im Modul ergänzt werden. Ansonsten fällt mir aber jetzt nix ein wie man den FireTV noch fernbedienen kann außer über die Remote App von Amazon.

Hy!

Bin schon weitergekommen!

Mit Amazon FireTV Utility App

Jetzt kann ich über adb shell input keyevent 21 schon mal was steuern!

Dann mach mal ein Skript in IP-Symcon und schreibe da


shell_exec("adb shell input keyevent 19");  //Up

rein. Mehr macht das Modul auch nicht. Falls das nicht gehen sollte dann liegt das wahrscheinlich an shell_exec und Windows, dann muss man da eine Alternative suchen. Eventuell funktioniert es dann mit IPS_Execute.

Danke für deine Hilfe!

Leider ist der Fernseher derzeit besetzt! Werde ich heute noch, sonst morgen testen!

Mfg
Maxx

Wie lautet der genaue Befehl?
Bekomme immer eine Fehlermeldung!

IPS_Execute(„C:\adb-tools\adb shell input keyevent 22"“, false, false);
bei
IPS_Execute(„C:\adb-tools“, „adb shell input keyevent 22“, false, false); läuft das skript 30 sec.

???

Mfg
Maxx

Das weis ich nicht genau weil ich es nicht unter Windows nutze. Ich gehe aber davon aus das das wahrscheinlich eine exe ist die Du starten willst. Dann muss im ersten Parameter die exe stehen und im zweiten Parameter der Funktion übergibst Du die Parameter (also den Tastendruck) an die exe.
Also irgendwie so was in der Richtung, musst Du mal rumspielen.


IPS_Execute("C:\adb-tools\adb.exe" "input keyevent 22", false, false);

Wenn das so funktionieren sollte dann kann ich das noch schnell ins Modul einbasteln.

Was gibst Du denn genau ein wenn es funktioniert in den adbtools? Wahrscheinlich muss das dann auch im 2. Parameter stehen.

Hy!

shell_exec(„C:\adb-tools\adb shell input keyevent 22“);

so lautet der richtige Befehl!
Morgen werde ich weiterbastel´n!

Mfg
Maxx

Ich aktualisiere dann mal das Modul dann kannst Du mit den Einstellungen testen.

Konntest Du schon testen ob es jetzt auch mit dem Modul funktioniert unter Windows?

Morgen!

Modul habe ich getestet!
ADB manuell über cmd gestartet, Befehle werden über dein Modul nicht ausgeführt!
Ich habe mir einfach die paar Skrips erstellt und funktioniert super!

Mfg
Maxx

Danke für die Info. Das Modul sind ja auch nur die paar Zeilen Skripte. Das erspart es dann demjenigen der das nutzen will die Scipte per Hand anzulegen.

Ich hatte im Modul folgendes entsprechend Deinen Angaben ergänzt:


$folder = "C:\\adb-tools\\";
shell_exec($folder."adb shell input keyevent 19");

Geht das so bei Dir im Skript oder hast Du da was anderes stehen? Ansonsten wüste ich gerade nicht warum das aus dem Modul nicht gehen sollte, hast Du Windows oben in der Auswahl selektiert?

Hy!

Ich muß nochmal testen!
Ich muß dir leider bescheid geben das es am haupt IPS nicht ganz funktioniert am Testrechner ging alles super!
Werde mir es in ruhe mal ansehen, derzeit geht es nicht!
Dauert aber sicher 6-8 Wochen bis ich weitermachen kann!
Mfg
Maxx

Ich habe ein kleines Problem! Keyevent 66 (OK-Entertaste funktioniert nicht mehr!

Ich schaue nachher mal bei mir ob da das gleiche Problem auftritt.

Hallo Fonzo,

vorab, das FireTV Modul ist echt klasse. Doch ich habe ein Problem mit einem Befehl.
Der Befehl: „Menu“ klappt bei mir nicht. Habe nur ich das Problem oder steckt hier ein kleiner Bug dahinter?

FireTV_Menu(integer $InstanceID)

Wäre es möglich, an der Verzögerungszeit, bis der nächste Befehl gesendet wird, was zu machen?
Wäre es möglich diese Zeit ein wenig zu verkürzen?

System:
IP-Symcon 4.10 vom 21.11.2016, b722c6df0013
Läuft auf einem Raspberry Pi 3 / Jessie
FireTV: (1.Gen) Fire OS 5.2.1.1 (551203220)

MfG
Luggi

So ich kam jetzt mal bei mir zum Schauen. Also bei mir geht Enter. Geht das bei Dir in einem bestimmten Kontext nicht oder funktioniert Enter prinzipiell gar nicht mehr?