Wenn in der Schnittstellenbeschreibung angegeben ist, dass Daten mittels POST (statt GET) übertragen werden müssen, wird das folgendermaßen in Loxone konfiguriert:
Schnittstellenbeschreibung: https://www.simplecontrol.com/wp-content/uploads/2016/05/HTTPCommandInterface.pdf
Hier die HTTP-Adresse inklusive Port angeben. Der Port ist meist ganz oben in der Schnittstellenbeschreibung angegeben, oder am Gerät direkt konfigurierbar.
Das RunActivity-Beispiel in der Spezifikation wird mit der Syntax von cURL angegeben:
Der virtuelle Ausgangsbefehl muss für dieses Beispiel dann folgendermaßen angelegt sein:
Wichtig:
/api/v1/runactivity
.-d
und kein -X POST
.Die Rückgabewerte des Aufrufs können nicht in Loxone weiterverwendet werden. Das heißt in dem Beispiel, die Antwort "status" : "success"
kann nicht verarbeitet werden. Loxone bietet keine bidirektionale Kommunikation.
Das Script zeigt die eingehenden POST- und GET-Variablen an, und kann z.B. am LoxBerry eingesetzt werden, um zu sehen, was der Miniserver sendet.
Erstelle am LoxBerry dieses Script als /opt/loxberry/webfrontend/legacy/post.php
<?php echo "------" . date("H:i:s") . "-----<br>"; $outstr = "-----" . date("H:i:s") . "-----\n"; $post = file_get_contents('php://input'); echo "POST: " . $post . "<br>"; $outstr .= "POST: " . $post . "\n"; $get = print_r($_GET, true); echo "GET: " . $get . "<br>"; $outstr .= "GET: " . $get . "\n"; file_put_contents ( "/tmp/post.txt", $outstr, FILE_APPEND ); ?> |
Die Datei als Download: post.php
Über den Webbrowser kann das Script dann aufgerufen werden mit http://loxberry/legacy/post.php
Es erzeugt eine Datei /tmp/post.txt. Mit diesem Shellbefehl kannst du mitschauen, was in der Datei passiert:
tail -f /tmp/post.txt
Die Ausgabe sieht dann so aus:
Der erste Aufruf wurde aus dem Webbrowser mit Query-Parameter post.php?browser=test durchgeführt.
Die beiden weiteren Aufrufe kommen vom Miniserver mit POST-Daten