sendCommandLine + curl(REST API) in Rule klappt nicht
Verfasst: 21. Okt 2019 00:58
Hallo,
ich bin gerade dabei mit REST API zu "spielen/lernen". Dazu habe ich mir eine kleine Regel erstellt, die allerdings nicht so ganz will, wie ich mir das vorstelle.
Die Regel sieht so aus:
Aber irgendwie komme ich mit der Syntaxaufbereitung des "curl" für den "executeCommandLine-Befehl nicht zurecht. Die Aufbereitung und Transformierung mit "sendHttpGetRequest" dagegen klappt ohne Probleme.
Die Logs sehen so aus:
Der curl Befehl klappt via Shell einwandfrei. Nur bei der Umsetzung hapert's
Habe trotz suche in den Foren nichts passendes gefunden.
Bin für jede Hilfe dankbar.
ich bin gerade dabei mit REST API zu "spielen/lernen". Dazu habe ich mir eine kleine Regel erstellt, die allerdings nicht so ganz will, wie ich mir das vorstelle.
Die Regel sieht so aus:
Code: Alles auswählen
// curl -X GET --header "Accept: application/json" "http://localhost:8080/rest/things/avmfritz%3AComet_DECT%3AFritz-Box-7490%3A119600949320" // Original aus REST API
// Transformation : https://www.openhab.org/docs/configuration/transformations.html#usage
rule "curl_http test"
when
Item Dummy4 changed to ON
then
// ----------------------------------> curl Aufbereitung klappt nicht <----------------------------------------------------------------------
var vString1 = executeCommandLine("curl@@-X@@GET@@--header@@[Accept: application/json]@@http://localhost:8080/rest/things/avmfritz%3AComet_DECT%3AFritz-Box-7490%3A119600949320")
logInfo("curl_http"," vString1 curl ist: {}", vString1)
//
var vString2 = transform("JSONPATH", "$.channels[3].configuration.offset", sendHttpGetRequest("http://localhost:8080/rest/things/avmfritz%3AComet_DECT%3AFritz-Box-7490%3A119600949320"))
logInfo("curl_http"," Thermostat-Offset ist: {}", vString2)
end
Die Logs sehen so aus:
Code: Alles auswählen
2019-10-20 23:41:26.724 [INFO ] [lipse.smarthome.io.net.exec.ExecUtil] - executed commandLine '[curl, -X, GET, --header, [Accept: application/json], http://localhost:8080/rest/things/avmfritz%3AComet_DECT%3AFritz-Box-7490%3A119600949320]'
2019-10-20 23:41:26.729 [INFO ] [pse.smarthome.model.script.curl_http] - vString1 curl ist: {}
2019-10-20 23:41:26.772 [INFO ] [pse.smarthome.model.script.curl_http] - Thermostat-Offset ist: 1.0


Bin für jede Hilfe dankbar.