HTTP-Control-Kommandos für Kodi 20.1?

  • Hallo zusammen,


    ich nutze für mein Heimkino eine RTI-Steuerung und würde über diese gerne auch Kodi steuern.


    Aktuell nutze ich dafür Flirc, was auch sehr gut funktioniert.
    Bis auf eine Sache:
    Tasten Gedrückt-Halten funktioniert nur sehr eingeschränkt.

    Das ist bei Play/Pause/usw. kein Problem.
    Wenn ich aber in der Medienliste bin und rauf/runterscrollen will schon.
    Da scrollt's mit Flirc, wenn ich den virtuellen Button auf der RTI gedrückt halte, nur 5-10 Zeilen weit und stoppt dann.
    Man muss loslassen, den Button erneut gedrückt halten und kommt wieder nur 5-10 Zeilen weiter.
    Das nervt.
    Mit den Wiederholungs- und Hold-Zeiten der IR-Befehle in RTI habe ich natürlich schon experimentiert, brachte jedoch keine Besserung.
    Es muss also anders gehen.
    Ich möchte auf dem Sofa dafür ungern immer noch eine PC-Tastatur neben mir liegen haben:
    Auch möchte ich nicht über das Kodi-Web-Interface gehen müssen.


    Bei früheren Kodi-Versionen konnte man wohl JSON-RPC-Steuerungs-Kommandos per HTTP schicken:
    Wurde aber wohl vor ein paar Jahren eingestellt/verändert, so dass diese bei neueren Kodi-Versionen nun nicht mehr funktionieren.


    Hat jemand von Euch einen Tipp, wie das sonst klappen könnte?

    Danke schonmal im Voraus!


    Gruß

    SkyCyberguy

  • Bei früheren Kodi-Versionen konnte man wohl JSON-RPC-Steuerungs-Kommandos per HTTP schicken:
    Wurde aber wohl vor ein paar Jahren eingestellt/verändert, so dass diese bei neueren Kodi-Versionen nun nicht mehr funktionieren.

    Das funktioniert nach wie vor noch.

    Hier der Link zur aktuellen Doku von Kodi 20 (Nexus): JSON-RPC API/v13

    "A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila." - Mitch Ratcliffe

  • Okay, das ist ja schonmal gut.
    Da ich allerdings keine Ahnung vom Coden habe:
    Könntest Du (oder jemand der sich auskennt) mal einen Blick auf eines meiner Kommandos werfen, um zu sehen, ob Syntax, usw. korrekt sind?
    Ich bekomme nämlich immer die Meldung "Parse Error":


    http://192.168.178.2:8080/jsonrpc?request={\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"input.right\"}


    Das Kommando für Pfeiltaste rechts.

    Wo liegt der Fehler?

    Passwort habe ich in Kodi keines gesetzt.

  • Wo liegt der Fehler?

    So wie es aussieht, muss der Befehl als POST versendet werden.

    Auf der Seite gibt es eine Tabelle im Abschnitt "API versions". Da ist bei HTTP GET ab Version 10 bzw Kodi 18 eine Bemerkung. Die besagt, dass Actions einen POST brauchen. Anscheinend ist "Input.Right" eine Action.


    Wenn man einen POST auf http://<kodi-ip>:<port>/jsonrpc macht und diesen Body nimmt, geht es:
    {"jsonrpc":"2.0","id":1,"method":"Input.Right"}


    Dann muss man sich auch nicht mit irgendwelchen Escape-Zeichen rummachen :zwinker2:

    "A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila." - Mitch Ratcliffe

  • Mit Worten wie "Post" und "Body" kann ich in diesem Zusammenhang nur bedingt etwas anfangen, aber ich würde daraus schließen, dass sich bei mir daraus folgendes Kommando ergibt:


    http://192.168.178.2:8080/jsonrpc{"jsonrpc":"2.0","id":1,"method":"Input.Right"}


    Korrekt oder habe ich etwas vergessen?
    Damit funktioniert's nämlich leider auch nicht, es kommt die Meldung "File not found!". :sad:

  • Ja, weil du damit anscheinend einen GET-Aufruf machst. Der funktioniert für einen "Input.Right" Befehl nicht mehr.


    Mit was rufst du die URL auf?
    Im einem Browser kannst du das schwer testen, weil der beim manuellen Aufruf einer URL eigentlich immer einen GET ausführt.

    Oder rufst du das über die RTI-Steuerung auf. Die kenne ich leider nicht. Sie müsste dir aber die Auswahl zwischen GET und POST an der Stelle bieten, sonst wird es leider nichts.


    Bei einem POST Aufruf sind die Daten dann nicht Teil der URL, sondern müssen separat mitgegeben werden.

    Die URL wäre dann einfach http://192.168.178.2:8080/jsonrpc

    Der Teil dahinter kommt ins Body-Feld, was dir RTI oder sonstiges anbieten müsste.

    "A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila." - Mitch Ratcliffe

  • Ja, damit ist es kein Problem:

    curl http://<server>:<port>/jsonrpc -H 'Content-Type: application/json' -d '{"jsonrpc": "2.0", "method": "input.right", "id": "1"}'


    Zum testen und ausprobieren per Kommandozeile eine feine Sache.

    Ob das in der Software in der es letztlich abgeschickt wird möglich ist, bezweifle ich eher.

    "A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila." - Mitch Ratcliffe

  • Hatte es zuerst mit dem Browser getestet, dann auch mit dem besagten "HTTP Request"-Treiber in RTI.
    Beides funktioniert nicht.
    In RTI kann ich nur die URL in die jeweilige Macrofunktion eingeben ("HTTP Request"), sowas wie "GET" oder "POST" kann ich nirgendwo auswählen...

  • Okay, ich hab mir jetzt mal die Trial von dem o.g. Kodi-Treiber runtergeladen und in RTI integriert.
    Allerdings erschließt sich mir nicht, wo ich dort nun die Network-Settings eintragen kann, damit das Ding Kodi auch findet.

    Unter "Source Properties" ist alles ausgegraut.
    Oder hat das mit der Trial zu tun, ist es nur in der Kaufversion zugänglich?'
    Das würde bedeuten, dass man die Trial nicht wirklich testen kann.
    Wenn's funktioniert wärs mir Geld wert.
    Wenn nicht (weil z.B. nur kompatibel zu älteren Kodi-Versionen) wär's rausgeschmissen... :beated:

  • In RTI kann ich nur die URL in die jeweilige Macrofunktion eingeben ("HTTP Request"), sowas wie "GET" oder "POST" kann ich nirgendwo auswählen...

    Ja, das hatte ich befürchtet.

    So wird es dann wohl leider nix mit dem Aufruf.

    "A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila." - Mitch Ratcliffe

  • Okay, habs nun gefunden, der Treiber geht.
    Zwar entweder "Button 1x drücken" oder "Sustain" (= beim winzigsten Druck scrollt er gefühlte 100 Zeilen.

    Aber daraus kann ich mir das so basteln wie ich möchte.
    Danke an alle hier für die Tipps - werd mir dann mal den Treiber holen! :zwinker2::thumbup:

Jetzt mitmachen!

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