Problem beim Aufruf einer JSON-API mit Curl?

Nutzung von XML RPC, Remote Script, JSON RPC, XMLAPI

Moderator: Co-Administratoren

Antworten
0URuwboeqSXB1TYP
Beiträge: 49
Registriert: 07.12.2015, 09:53

Problem beim Aufruf einer JSON-API mit Curl?

Beitrag von 0URuwboeqSXB1TYP » 08.01.2017, 20:24

Hallo,

ich bin gerade etwas am verzweifeln...
Ich möchte die JSON-API des MediaCenters KODI ansprechen und eine einfache Benachrichtigung auf dem Bildschirm anzeigen (-> Post war da z.B.).
Dafür habe ich mir aus ein paar Examples ein auf der Shell der CCU2 funktionierendes Script zurechtgeschnitten:

Code: Alles auswählen

LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl  -X POST -H "Content-Type: application/json" -d "{\"jsonrpc\":\"2.0\",\"method\":\"GUI.ShowNotification\",\"params\":{\"title\":\"add you title here\",\"message\":\"add your message here\"},\"id\":1}" http://kodi:kodi@192.168.x.101:8080/jsonrpc
Beim Versuch dieses in einen (aus einem Pushover-Script übernommenen) CURL-Aufruf zu integrieren bekomme ich Probleme mit ... keine Ahnung? Dem Escapen?
Aufruf aus dem Homematic-Script:

Code: Alles auswählen

dom.GetObject('CUxD.CUX2801001:1.CMD_EXEC').State('LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -X POST -H "Content-Type: application/json" -d "{\"jsonrpc\":\"2.0\",\"method\":\"GUI.ShowNotification\",\"params\":{\"title\":\"add you title here\",\"message\":\"add your message here\"},\"id\":1}" http://kodi:kodi@192.168.x.101:8080/jsonrpc');
Also... der JSON-Aufruf über Curl funktioniert NICHT, wenn ich statt der " einfache ' verwende. Warum, weiß ich nicht - da erwartet die CCU via SSH weitere Befehlseingaben; Befehl ist 1:1 - nur ' durch " ersetzt.
Die Krux: Anscheinend frisst jetzt die CCU2 den Befehlsaufruf von Curl durch die ' nicht, ich bekomme folgenden Fehler im Editor:

Code: Alles auswählen

Error 1 at row 1 col 394 near ^/local/addons/cuxd /usr/local/addons/cuxd/curl -X POST -H "Content-Type: applica
Parse following code failed:
dom.GetObject('CUxD.CUX2801001:1.CMD_EXEC').State('LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -X POST -H "Content-Type: application/json" -d "{\"jsonrpc\":\"2.0\",\"method\":\"GUI.ShowNotification\",\"params\":{\"title\":\"add you title here\",\"message\":\"add your message here\"},\"id\":1}" http://kodi:kodi@192.168.x.101:8080/jsonrpc');
Ich zerbreche mir jetzt schon seit 1h den Kopf darüber und finde den Fehler nicht... könnte mir kurz jemand unter die Arme greifen? :-/

0URuwboeqSXB1TYP
Beiträge: 49
Registriert: 07.12.2015, 09:53

Re: Problem beim Aufruf einer JSON-API mit Curl?

Beitrag von 0URuwboeqSXB1TYP » 14.01.2017, 19:20

Hallo,

ich habe gerade eine Lösung auf einem anderen Weg gefunden - Kodi hat eine Web-JSON-Schnittstelle, die ich mit einem zweckentfremdeten Pr0wl-Script ansprechen kann:

Code: Alles auswählen

string stdout;
string stderr;
string title;
string text;
title = "WARNUNG";
text = "Wasser im Keller";
system.Exec("wget -q -O /dev/null 'http://192.168.x.xx:8080/jsonrpc?request={%22jsonrpc%22:%222.0%22,%22method%22:%22GUI.ShowNotification%22,%22params%22:{%22title%22:%22" # title # "%22,%22message%22:%22" # text # "%22},%22id%22:1} '", &stdout, &stderr);

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“