GET REQUEST in OPENHAB auf KODI API

  • Hallo,

    ich versuche einen GET Request auf die Kodi API zu machen, aber erhalte immer einen error.


    Code
    val output = sendHttpGetRequest("http://kodi:1234@192.168.0.164:8023/jsonrpc", "application/json", "{\"jsonrpc\":\"2.0\",\"method\":\"Player.GetItem\",\"params\":{\"properties\":\"[\"title\"]\",\"playerid\":\"1\"},\"id\":\"VideoGetItem\"}")


    und der error

    [errorbox]Script execution of rule with UID 'meinscript-1' failed: An error occurred during the script execution: Could not invoke method: org.openhab.core.model.script.actions.HTTP.sendHttpGetRequest(java.lang.String,java.util.Map,int) on instance: null in meinscript[/errorbox]


    hat da vielleicht jemand einen hinweis?

  • Kodi akzeptiert nur post, sendHttpPostRequest zur kompletten Steuerung sollte dir bessere Dienste leisten.

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

    Einmal editiert, zuletzt von SkyBird1980 (21. März 2021 um 06:47) aus folgendem Grund: - Aussage angepasst -

  • @DaVu mein Englisch ist wohl verstaubt, direkt in dem Beitrag steht:
    To make any data modifications you will need to use HTTP POST.

    Der Pull Request heißt
    [network] CHTTPJsonRpcHandler: limit any other request method than POST to ReadData permissions on the JSON-RPC API #12281

    In meinem fall hole ich ja Infos, und möchte nix ausführen.

    Kann nachher mal ein beispiel posten, bin nur gerade am handy.

    Okay dafür reichts natürlich :)
    Hab mich nur mit der selben Steuerung bei Node-Red befasst um die Infos zu holen und an zu zeigen und da hat sich gezeigt das man gleich für alles Post nutzt und damit dann nicht auf die Funktion achten muss.

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

    Einmal editiert, zuletzt von SkyBird1980 (21. März 2021 um 06:51)

  • da ihr euch auch einwenig damit auskennt, gibts ne möglichkeit über die Json RPC zu überwachen ob bzw wann etwas gestartet und beendet wird?


    der Hintergrund ist, das Kodi Binding funktioniert einfach nicht richtig, bei mir bleiben sporadisch die werte für den type des abgespieltem Films oder Serie leer. Also baue ich mir da selber was.

    Nur nun die Frage was ich am besten überwachen kann damit er mir das sofort triggert wenn etwas abgespielt wird, denn dann müsste ich ja meine Json abfrage mit den Infos machen.

    DAnke

  • Ich schick alle 5 Sekunden einen Ping zum Server. Ist der Ping unter 5 Sekunden wird eine JSON Abfrage zum Server geschickt und entscheide aufgrund der Antwort ob ich weitere Infos haben möchte.
    '{"jsonrpc": "2.0", "method": "Player.GetActivePlayers", "id": 1}';
    und wenn das result größer 0 ist wird weiter gemacht.
    Aber das ist halt Node-Red..

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

  • Ich schick alle 5 Sekunden einen Ping zum Server. Ist der Ping unter 5 Sekunden wird eine JSON Abfrage zum Server geschickt und entscheide aufgrund der Antwort ob ich weitere Infos haben möchte.
    '{"jsonrpc": "2.0", "method": "Player.GetActivePlayers", "id": 1}';
    und wenn das result größer 0 ist wird weiter gemacht.
    Aber das ist halt Node-Red..

    das macht sinn, ich glaube das http binding könnte da hilfreich sein, muss ich mich mal rein fuchsen, ich weiss halt nicht wie ressourcen hungrig ein Json call ist, sonst lasse ich den alle 5 sekunden laufen.

  • vernachlässigbar, nodered liegt bei 0,16% Prozessorauslastung (der ganze Container) und da läuft noch viel viel mehr drüber..

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

  • vernachlässigbar, nodered liegt bei 0,16% Prozessorauslastung (der ganze Container) und da läuft noch viel viel mehr drüber..

    habe ich gehofft, aber irgendwie kriege ich den cron nicht unter einer Minute ans laufen, dann führt er die rule einfach nicht aus.

     Time cron "0/10 0 0 ? * * *"

    EDIT

    habs.

Jetzt mitmachen!

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