Amazon Fire TV

Begonnen von Pythonf, 06 November 2014, 18:16:47

Vorheriges Thema - Nächstes Thema

nesges

Alternativ kannst du auch per adb und ein bisschen Perl starten, Debugging muss auf dem FireTV aktiv sein:

sub ftv_adb($$) {
    my $cmd = shift;
    my $host = shift;

    # aufs wesentliche gekürzt...
    system("adb disconnect");
    system("adb connect ".$host);
    system("adb $cmd");
}

sub ftv_key($;$) {
    my $key = shift;
    my $host = shift;
    ftv_adb("shell input keyevent $key", $host);
}

sub ftv_wakeup(;$) {
    ftv_key("KEYCODE_WAKEUP", shift);
}

sub ftv_app($;$$) {
    my $app = shift;
    my $action = shift || 'start';
    my $host = shift;
   
    ftv_wakeup($host);
    if($action eq 'start') {
        ftv_adb("shell monkey -p $app -c android.intent.category.LAUNCHER 1", $host);
    } elsif($action eq 'stop') {
        ftv_adb("shell am force-stop $app", $host);
    }
}

sub ftv_kodi(;$$) {
    my $action = shift || 'start';
    my $host = shift;
   
    ftv_app('org.xbmc.kodi', $action, $host);
}


Die ftv_kodi startet das Package org.xbmc.kodi. Das müsstest du entsprechend für deine App anpassen. Liste der installierten Packages per adb shell pm list packages -f -3

Hauswart

@nesges die ADB-Variante muss ich mir mal zu Gemüte führen, dann ich damit auch den FireTV aufwecken und in den Schlaf schicken? Bei mir geht nämlich leider CEC scheinbar nicht.

@all wenn jemand eine Automagic Version als URL hat, bin ich sehr daran interessiert (PN).
Oder installiert ihr die kostenlose Testversion (http://automagic4android.com/de/testversion APK: http://automagic4android.com/automagic/eval/Automagic_1_32_0.apk ) und diese kann man InApp als Vollversion freischalten?
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

nesges

Zitat von: Hauswart am 15 Februar 2017, 15:40:54
@nesges die ADB-Variante muss ich mir mal zu Gemüte führen, dann ich damit auch den FireTV aufwecken und in den Schlaf schicken? Bei mir geht nämlich leider CEC scheinbar nicht.

Ja, das geht: KEYCODE_WAKEUP weckt auf, KEYCODE_POWER toggelt Schlaf oder Wach, KEYCODE_WAKEUP+KEYCODE_POWER legt ihn demnach schlafen. Unter http://developer.android.com/reference/android/view/KeyEvent.html findest du eine generelle gültige Liste von Android-Keycodes. Nicht alle sind auf dem FireTV sinnvoll oder möglich, ich hab bei mir folgende implementiert um die Funktionen der Fernbedienung abzubilden:

sub ftv_up(;$) {
    ftv_key("KEYCODE_DPAD_UP", shift);
}

sub ftv_left(;$) {
    ftv_key("KEYCODE_DPAD_LEFT", shift);
}
sub ftv_enter(;$) {
    ftv_key("KEYCODE_DPAD_CENTER", shift);
}
sub ftv_right(;$) {
    ftv_key("KEYCODE_DPAD_RIGHT", shift);
}

sub ftv_down(;$) {
    ftv_key("KEYCODE_DPAD_DOWN", shift);
}

sub ftv_back(;$) {
    ftv_key("KEYCODE_BACK", shift);
}
sub ftv_home(;$) {
    ftv_key("KEYCODE_HOME", shift);
}
sub ftv_menu(;$) {
    ftv_key("KEYCODE_MENU", shift);
}

sub ftv_prev(;$) {
    ftv_key("KEYCODE_MEDIA_PREVIOUS", shift);
}
sub ftv_playpause(;$) {
    ftv_key("KEYCODE_MEDIA_PLAY_PAUSE", shift);
}
sub ftv_next(;$) {
    ftv_key("KEYCODE_MEDIA_FAST_FORWARD", shift);
}


sub ftv_wakeup(;$) {
    # wakeup from daydream
    ftv_key("KEYCODE_WAKEUP", shift);
}
sub ftv_power(;$) {
    # press power button -> go to sleep or wakeup
    ftv_key("KEYCODE_POWER", shift);
}


(ftv_key aus https://forum.fhem.de/index.php/topic,28770.msg585657.html#msg585657)

Bisher habe ich leider noch keine Möglichkeit gefunden vom FireTV zu lesen ("was läuft grade?"), die über "läuft das Package X?" hinaus geht, von daher reicht mir die lose Funktionssammlung. Wenn Interesse an einem reinen Remotecontrol-Modul besteht, würd ich das aber vielleicht mal ordentlich verpacken.

Hauswart

Zitat von: nesges am 15 Februar 2017, 16:43:37
Wenn Interesse an einem reinen Remotecontrol-Modul besteht, würd ich das aber vielleicht mal ordentlich verpacken.
Von meiner Seite ja :) Suche schon lange eine Möglichkeit den FireTV zu steuern. Eine Funktion wie ich sehr vermisse "Sleeptimer" mit FHEM wäre dies dann machbar. Der Fernseher (da CEC scheinbar bei mir nicht läuft) hat auch ein Sleeptimer.

Hier: https://forum.fhem.de/index.php/topic,28770.msg335420.html#msg335420 hattest du schon mal etwas gepostet, aber ich weiss nicht, ob dies noch aktuell ist.
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

nesges

Zitat von: Hauswart am 15 Februar 2017, 17:08:03
Eine Funktion wie ich sehr vermisse "Sleeptimer" mit FHEM wäre dies dann machbar.

Prinzipiell wäre das ja mit at lösbar: define FTVSLEEP at +01:30:00 {ftv_wakeup('192.168.178.41') && ftv_power('192.168.178.41')}

ZitatHier: https://forum.fhem.de/index.php/topic,28770.msg335420.html#msg335420 hattest du schon mal etwas gepostet, aber ich weiss nicht, ob dies noch aktuell ist.

Ist halbwegs aktuell. Ein bisschen was ist dazu gekommen und ftv_apps geht geschickter:

sub ftv_apps(;$) {
    my $host = shift;
    ftv_wakeup($host);
    ftv_adb("shell am start -n com.amazon.tv.settings/.tv.AllApplicationsSettingsActivity", $host);
}


In meiner lokalen 99_Utils_FireTV.pm sind ein paar Sachen drin, die spezifisch für meine Installation sind, daher grade kein volles Update.

Hauswart

#50
Kurze Nebenfrage wieso Aufwachen und dann schlafen schicken? Geht nicht direkt schlafen schicken?
Bei Gelegenheit wäre ich natürlich trotzdem über ein komplettes aktualisiertes File froh. Auch wenn ich glaube mit dem Infos schon sehr viel umsetzen zu können.




Edit: Ein coole FireTV-Modul wäre sicherlich auch etwas :)
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

nesges

Zitat von: Hauswart am 15 Februar 2017, 22:40:41
Kurze Nebenfrage wieso Aufwachen und dann schlafen schicken? Geht nicht direkt schlafen schicken?

Weil du nur in Kombination sicher bist, dass FireTV danach auch schläft, denn KEYCODE_POWER ist kein Sleep-Befehl, sondern KEYCODE_POWER toggelt. Und Fhem kennt den aktuellen Zustand nicht. Also sorgst du mit KEYCODE_WAKEUP erstmal dafür, dass der Zustand definiert ist und toggelst dann:

FireTV ist wach: KEYCODE_POWER -> FireTV schläft
FireTV ist schläft: KEYCODE_POWER -> FireTV ist wach

FireTV ist wach: KEYCODE_WAKEUP+KEYCODE_POWER -> FireTV schläft
FireTV ist schläft: KEYCODE_WAKEUP+KEYCODE_POWER -> FireTV schläft

AmunRe

Zitat von: Borstel am 15 Februar 2017, 13:30:54
das hatte ich schon vermutet, aber bleibt denn das automagic bei dir am laufen oder wird das auch beendet wie mein sb player?
Das tool lässt sich übrigens via apps2fire sehr leicht auf den stick transferieren. Besser als mit downloader.


Automagig läuft solang der Fire an ist immer.
4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue + OSRAM Plugs

nesges

Ich habe die hier verstreuten Funktionen in ein Modul gepackt: https://forum.fhem.de/index.php/topic,68748.0.html