Probleme beim cURL Aufruf von IPS_RunScriptEx

Hallo.

Irgendwie stehe ich gerade auf dem Schlauch und bräuchte etwas Hilfe.
Ich versuche via cURL ein Skript inkl. Parameterübergabe zu starten. Prinzipiell funktionieren cURL Aufrufe, aber mit dem Array als Übergabeparametern und den diversen "-Maskierungen komme ich gerade irgendwie durcheinander.

U.a. folgende Syntax habe ich schon versucht.


curl -i -X POST -H "Content-Type: application/json" -d "{\"jsonrpc\": \"2.0\", \"id\": \"0\", \"method\": \"IPS_RunScriptEx\", \"params\": [51919,array(\"Raum\"=>\"ABC\",\"Status\"=>\"Aus\")]}" http://Email:Passwort@IP:3777/api/
--> Parse Error

curl -i -X POST -H "Content-Type: application/json" -d "{\"jsonrpc\": \"2.0\", \"id\": \"0\", \"method\": \"IPS_RunScriptEx\", \"params\": [51919,\"Array('Raum'=>'ABC','Status'=>'Aus')\"]}" http://Email:Passwort@IP:3777/api/
--> Parameter type of Parameters does not match

curl -i -X POST -H "Content-Type: application/json" -d "{\"jsonrpc\": \"2.0\", \"id\": \"0\", \"method\": \"IPS_RunScriptEx\", \"params\": [51919,Array('Raum'=>'ABC','Status'=>'Aus')]}" http://Email:Passwort@IP:3777/api/
--> Parse error

curl -i -X POST -H "Content-Type: application/json" -d "{\"jsonrpc\": \"2.0\", \"id\": \"0\", \"method\": \"IPS_RunScriptEx\", \"params\": [51919,Array(\"\"Raum\"\"=>\"\"ABC\"\",\"\"Status\"\"=>\"\"Aus\"\")]}" http://Email:Passwort@IP:3777/api/
--> Parse error

Das aufgerufene Skript sieht aktuell noch so aus.

<?
$Raum = $_IPS['Raum'];
$Status = $_IPS['Status'];

IPS_LogMessage("CURL","SKRIPT AUFGERUFEN");

?>

Auch Versuche eine erzeugte JSON Datei zu übergeben mit -d @DATEI.json waren leider nicht erfolgreich.
Könnt ihr mir sagen wo mein Denkfehler liegt :confused:.

Danke & Gruß
Thorsten

Du musst schon gültiges Json übergeben und nicht versuchen die Schreibweise von PHP da einzubringen.
Hab es jetzt nicht getestet aber sollte passen:
„params“: [51919, {„Raum“: „ABC“,„Status“: „Aus“)]
Michael

Guten Morgen Michael.

Vielen Dank - das war genau der Hinweis den ich gebraucht hatte :D.
Ich hatte mich in die PHP Schreibweise verrannt. Auf die Idee nach einem JSON Array zu suchen bin ich nicht gekommen.
Nachdem ich die schließende runde Klammer noch in eine geschweifte Klammer geändert hatte lief es natürlich problemlos.

Vielen Dank nochmal und einen schönen Sonntag :slight_smile:

Gruß
Thorsten

Habe das am Handy geschrieben… Da passiert so etwas wie die falsche Klammer :smiley:
Michael