Kodi fernsteuern

  • Hallo,

    ich möchte von Openhab aus in Kodi ein Addon starten. Vom Kodi-Binding in Openhab heraus klappt es wohl nicht.
    Hier beschreibt der Autor des Plaugins, dass der Channel inputaction dazu nicht geeignet ist. Sein Alternativvorschlag, Addon zu Favoriten hinzufügen und es dann anwählen, startet das Plugin ebenfalls nicht. Die im weiteren Verlauf genannte Alternative es über JSON umzusetzten, ist ebenfalls nicht geeignet, da in neueren Kodiversionen darüber aus Sicherheitsgründen nur Datenabrufe gestattet sind.
    Ich habe mir danach angeschaut, wie das Starten eines Addons über die Weboberfläche geschieht. Das ist sehr einfach:

    "http://ip:port/#addon/execute/addonname"

    Wenn ich es im Browser aufrufe, klappt es auch einwandfrei. Nicht aber von Openhab heraus mittels http-action. Meine Anfrage dazu im Openhabforum hat leider noch keine Ergebnisse gebracht.

    Langer Rede kurzer Sinn: Gibt es noch andere Möglichkeiten, remote ein Addon auszuführen?

    Viele Grüße

  • Über JSON geht es, du musst die Anweisung nur per POST senden anstatt per Get.


    Hier ist z.B. das Json um YT zu starten:


    JavaScript
    {
    "jsonrpc":"2.0",
    "method":"Addons.ExecuteAddon",
    "params":{
    "addonid":"plugin.video.youtube"
    },
    "id":1}

    Ich habs leider nur unter Node-Red sonst könnt ich das gesammte Binding posten.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

    2 Mal editiert, zuletzt von SkyBird1980 (23. März 2021 um 15:15)

  • Dank Dir.
    Leider kann ich es nicht ausprobieren. Wenn ich

    http://192.168.2.5:8008/jsonrpc?request={jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"plugin.video.youtube"},"id":1}

    im Browser eingebe, kommt ein "Bad Request", weil es wohl ein Get ist. Die Syntax ist aber ok und reine Datenabfragen funktionieren auch.

    Setze ich ihn in Openhab ein, so bekomme ich ein "Illegal character" am Gleichheitszeichen. Blöd :(

  • Dank Dir.
    Leider kann ich es nicht ausprobieren. Wenn ich

    http://192.168.2.5:8008/jsonrpc?request={jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"plugin.video.youtube"},"id":1}

    im Browser eingebe, kommt ein "Bad Request", weil es wohl ein Get ist. Die Syntax ist aber ok und reine Datenabfragen funktionieren auch.

    Setze ich ihn in Openhab ein, so bekomme ich ein "Illegal character" am Gleichheitszeichen. Blöd :(

    Du musst das noch escapen

  • bumblebee: Danke für den Tipp, aber es wird trotzdem schon beim "=" gemeckert. Und das wird doch nicht escaped oder?
    SkyBird1980: Wenn ich Dein Beispiel mit einem HTTPTool (PostMan) mit POST abschicke, bekomme ich einen Parse Error. Wüsste aber nicht, was daran falsch sein sollte.
    Es sieht für mich so aus, als wenn Kodi das einfach nicht akzeptiert. Wenn ich eine Abfrage mit GET sende und diese beantwortet wird, so gibt es mit derselben URL bei POST auch einen Parse Error.

  • bumblebee: Danke für den Tipp, aber es wird trotzdem schon beim "=" gemeckert. Und das wird doch nicht escaped oder?
    SkyBird1980: Wenn ich Dein Beispiel mit einem HTTPTool (PostMan) mit POST abschicke, bekomme ich einen Parse Error. Wüsste aber nicht, was daran falsch sein sollte.
    Es sieht für mich so aus, als wenn Kodi das einfach nicht akzeptiert. Wenn ich eine Abfrage mit GET sende und diese beantwortet wird, so gibt es mit derselben URL bei POST auch einen Parse Error.

    das mit dem parse error habe ich auch, das muss irgendwas mit dem header sein, aber in openhab geht es wunderbar.
    und du kannst eine GET abfrage nicht einfach durch ein POST ersetzen.

    hier mal ein beispiel

    Code
    sendHttpPostRequest("http://kodi:1234@192.168.0.115:8090/jsonrpc", "application/json", "{\"jsonrpc\":\"2.0\",\"method\":\"Addons.ExecuteAddon\",\"params\":{\"addonid\":\"script.custom.window\",\"params\":{\"searchstring\":\"" + newValue + "\"}},\"id\":1}")
  • Das hier

    Code
    sendHttpPostRequest("http://kodi:1234@192.168.2.5:8008/jsonrpc", "application/json", "{\"jsonrpc\":\"2.0\",\"method\":\"Addons.ExecuteAddon\",\"params\":{\"addonid\":\"plugin.video.youtube\"},\"id\":1}}")

    läuft zwar ohne Fehler durch. Aber leider auch ohne Wirkung :(
    Hatte oben übrigens nicht erwähnt, dass ich Matrix benutze.

  • Das hier

    Code
    sendHttpPostRequest("http://kodi:1234@192.168.2.5:8008/jsonrpc", "application/json", "{\"jsonrpc\":\"2.0\",\"method\":\"Addons.ExecuteAddon\",\"params\":{\"addonid\":\"plugin.video.youtube\"},\"id\":1}}")

    läuft zwar ohne Fehler durch. Aber leider auch ohne Wirkung :(
    Hatte oben übrigens nicht erwähnt, dass ich Matrix benutze.

    Dein Nutzer für http Zugriff ist auch" kodi" und dein Passwort "1234"?

  • Die ID stimmt, ich hab den Aufruf getestet bevor ich ihn weitergegeben habe.

    achso, geht der so bei dir also?

    ging denn überhaupt schon eine abfrage? ich glaube du hast gesagt das eine GET abfrage geht ne?
    hast du das http binding in openhab installiert?


    ich habe auch einen addon aufruf drin, der geht bei mir

    Code
    sendHttpPostRequest("http://kodi:1234@192.168.0.166:8023/jsonrpc", "application/json", "{\"jsonrpc\":\"2.0\",\"method\":\"Addons.ExecuteAddon\",\"params\":{\"addonid\":\"script.securitycam\"},\"id\":1}")

Jetzt mitmachen!

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