[RELEASE] AutoRemote

  • Moin,

    ich bin zwar schon ne ganze Weile hier im Forum angemeldet, habe aber noch nicht wirklich viele Beiträge veröffentlicht.

    Im letzten Jahr hatte ich mich an meinem ersten Addon versucht. Jetzt habe ich noch ein bisschen daran rum-gewerkelt und dachte mir dann, dass möglicherweise jemand hier eine Verwendung dafür haben könnte.

    Die erfahrenen Coder hier würden mein Addon wahrscheinlich als "dilettantisch geschrieben" bezeichnen ;) , aber es erfüllt seinen Zweck (für mich).
    Dazu muss ich sagen, meine Erfahrung mit Python oder sonstigen Programmiersprachen sind sehr gering. Ich habe einfach mal so nach dem Trial and Error -Prinzip losgelegt.

    Doch jetzt zum Addon:


    AutoRemote

    Das Addon ermöglicht es dem Benutzer, Tasks/Aktionen in Tasker mittels AutoRemote (Android) oder EventGhost (Windows) zu triggern.

    Ein Beispiel könnte eine Sprachsteuerung von Kodi sein. So würde man mit meinem Addon ein Triggerwort zur AutoRemote Android-App senden. Siehe dazu Beitrag #4:
    https://www.kodinerds.net/index.php/Thre…9680#post429680

    Theoretisch lässt sich mit Tasker inklusive Plugins so ziemlich alles realisieren - Einarbeitungszeit vorrausgesetzt.

    Installation

    Herunterladen könnt ihr das Addon ab jetzt im Kodinerds Repo (Danke an L0RE)
    https://github.com/kodinerds/repo…y.kodinerds.zip

    Mein Repo:
    https://github.com/steff75/script.autoremote

    Nach der Installation müssen erst mal die Addoneinstellungen vorgenommen werden. Das Addon kann sowohl über das lokale Netzwerk, als auch über das Internet mittels Google Cloud Messaging zum Empfänger senden. Falls man lokal zu einem Android Empfangsgerät senden will, muss auf diesem der AutoRemote Wifi Service aktiviert sein.
    Außerdem müssen die IP-Adresse des Empfängers, als auch der Port angegeben werden. Bei Android-Geräten ist das der Port "1817" und bei EventGhost oder der AutoRemote Chrome Extension lautet der Standardport "1818".

    Den Key zum Senden über Internet erhält man, wenn man die in der AutoRemote Android App bereitgestellte persönliche http://goo.gl/xxxxx Kurz-URL im Browser öffnet und in der Browseradresszeile den Teil hinter key= kopiert. Die Chrome Extension bietet auch eine solche URL an.

    Man kann in den Message-Einstellungen 2 Arten von Messages vordefinieren. Was unter Message eingetragen ist, ist quasi das Triggerwort in Tasker oder Eventghost, um eine Aktion einzuleiten. Zum einen kann man die Message alleine senden und zum anderen erlaubt die zweite Möglichkeit noch eine zusätzliche Benutzereingabe, die getrennt von einem definierten Splitter an die Message angehangen wird. Das kann man dafür benutzen, um zusätzliche Parameter mit an Tasker oder EventGhost zu übergeben.

    Wer noch nie mit Tasker oder EventGhost herumgespielt hat, ist vermutlich erst mal überfordert. Hier sind noch ein paar nützliche Links:
    https://joaoapps.com/autoremote/what-it-is/
    http://www.notenoughtech.com/tasker/autoremote-tasker-plugin/
    https://plus.google.com/communities/110193399489813640793

    3 Mal editiert, zuletzt von steff (18. Dezember 2017 um 10:58) aus folgendem Grund: Link hinzugefügt, Downloadlink geändert

  • Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Hier mal das Beispiel mit der Sprachsteuerung vom ersten Beitrag in umgesetzter Form.

    Was passiert?

    • Das AutoRemote Addon ist zu den Favoriten hinzugefügt. Dieses kann man mittels eines Keyboard Shortcuts jederzeit aufrufen.
    • Kodi sendet mit dem AutoRemote Addon die Message "voiceSearch" zu AutoRemote Android auf meinem Handy
    • Tasker triggert ausgelöst durch "voiceSearch" einen Task, um mit AutoVoice eine "Natural Language" Spracheingabe entgegenzunehmen
    • Ich sage "Spiele den Film XYZ mit Kodi im Büro"
    • AutoVoice "Natural Language" kann meine Spracheingabe in Variabeln übergeben, wenn ich das vorher so einrichte. In dem Fall ist "Spiele" die Variable "action", "Film" ist "contenttype", "XYZ" ist "contentname", "Kodi" ist "application" und "Büro" ist "room".
    • Tasker löst durch diese Spracheingabe einen weiteren Task aus in dem es die vorliegenden Variabeln verwendet.
    • Mit AutoWeb wird mit der Kodi API der Film "XYZ" aus der Datenbank erfragt, um dessen ID zubekommen
    • Ebenfalls mit AutoWeb wird nun an mein Kodi im Büro der Befehl gesendet, den Film mit der zuvor abgefragten ID abzuspielen
    • Fertig

    Nebenbei bemerkt. Man kann eine Sprachsteuerung auch direkt mit dem für den Echo und Google Home erhältlichen Autovoice Skill realisieren. Falls man jedoch ein altes Smartphone in der Schublade liegen hat, wäre mein Beispiel eine Möglichkeit, dieses zu reaktivieren.

  • @steff

    danke für die Kodi Integration von Autoremote! 2,5 Jahre her, funktioniert nach wie vor. Hab extra Kodi 18 noch mal installiert ums zu testen.

    Zwei Fragen:

    1. Ist eine Python 3 Version geplant? Hab zwar in der xml Python 3.0.0 eingetragen funktioniert u.a. wegen urllib2 trotzdem nicht.

    2. Welchen Teil vom Code brauche ich wenn ich eine Message vom Typ 1 - also ganz normal ohne Parameter versenden möchte - ohne das Add-on. Ich brauch's als Teil eines eigenständigen Python Scripts.

    Vielen Dank für die Arbeit bisher & für deine Antwort!

  • Danke. Ich benutze das Addon selbst nicht mehr, aber versuche mal, für Python3 folgende Zeilen auszutauschen

    import urllib2
    urllib2.urlopen(req)

    mit

    import urllib.request, urllib.error, urllib.parse
    urllib.request.urlopen(req)

    Ansonsten könnte man das ganze auch so umschreiben, dass stattdessen das Requests Modul für den Aufruf benutzt wird. Ich bin aber gerade nur mit dem Handy unterwegs und könnte das frühestens am Freitag selbst ausprobieren. Ich muss gestehen, dass ich nach wie vor selbst nur Anfänger mit Python bin :)

    Gruß, Stefan.

  • Ich habe das mal eben mit Python 3 auf'm Desktop (nicht mit Kodi) ausprobiert. Der Request ist bei Autoremote angekommen, also hat funktioniert.

    Als eigenständiges Python 3 Script, welches du dann zum Ausführen einer Taste deiner Fernbedienung/Tastatur zuweisen kannst (z.B.: <p>RunScript(special://profile/scripts/myscript.py)</p> ), sollte dann sowas funktionieren:

    Python: myscript.py
    import urllib.request, urllib.error, urllib.parse
    req = 'https://autoremotejoaomgcd.appspot.com/sendmessage?key=xxxxxxx&message=12345&sender=zwodrei'
    urllib.request.urlopen(req)
  • @steff

    SUPER :)
    So klappt es nun einwandfrei mit Python 3.

    Ich habe eine Shield und einen Windows HTPC. Und damit bin ich meinem Ziel einen entscheidenden Schritt näher gekommen:

    Fifa, Assassin's Creed und all meine anderen PC Spiele von Kodi/Shield aus zu starten und in Windows zu spielen. Input Wechsel von Shield zum HTPC, Bild- und Toneinstellungen alles mit nur einem Knopfdruck.

    Coole Sache. Recht herzlichen Dank!

  • Danke. Schön zu hören, dass es funktioniert und dass jemand eine Verwendung für AutoRemote hat. Am HTPC gehen die AutoRemote Messages dann über EventGhost ein, wo du damit die Geräte dann steuerst, nehme ich an?

    Ich habe mittlerweile das meiste auf Node-Red ausgelagert, da mein NAS eh 24/7 läuft. Dazu habe ich noch eine Harmony Companion mit Hub. Damit kann ich dann so ziemlich alles per Knopfdruck bedienen.

  • @steff

    Ist echt ein Mehrwert wenn man gewisse Dinge automatisiert!

    Genau. Das wird Eventghost durchgereicht. Hab die Spiele in Kodi hinzugefügt mit Fanarts etc...

    Werde mich jetzt darum kümmern, dass das Python Script genau dann gestartet wird wenn ich auf ein bestimmtes Spiel drücke und muss dann nur den Controller in die Hand nehmen und kann sofort loslegen - ohne mich um die nervigen Einstellungen jedes Mal kümmern zu müssen. Wenn ich zur Shield zurückkehre fährt der PC dann automatisch herunter.

    Bin mal gespannt ob ich ähnliches auch für die PlayStation hinkriege. Not too sure...

    Aber genial was man damit alles anstellen kann. :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!