NEWS
Gelöst - PHP Aufruf der Simple-Api URL - wie?
-
Moin zusammen,
ich möchte gern aus einem PHP Script mit Hilfe von Simple-Api einen Datenpunkt aktuellisieren.
iobroker : 192.168.1.3
PHP Server : 192.168.1.11Der iobroker ist vom Internet nicht erreichbar aber mein Webserver. Daher der Aufruf des PHP Scriptes, welches dann mit Hilfe von Simple-Api den relevanten Datenpunkt anpassen soll.
Wenn ich folgende URL in meinem Heimnetzwerk direkt in den Browser eingebe, wird der Datenpunkt aktualisiert.
https://192.168.1.3:8087/set/0_userdata.0.presence.atHome?value=true&user=ganz&pass=geheim
Funktioniert super.Leider bekomme ich es nicht hin, die URL aus einem PHP Script auszuführen. Der Datenpunkt wird nicht aktualisiert.
Hier mein PHP Script auf dem Webserver.
<?php $user = $_GET['user']; $location = $_GET['location']; switch ($location) { case 0: echo "Hallo $user - akt. Lokation : Zuhause"; $url="https://192.168.1.3:8087/set/0_userdata.0.presence.atHome?value=true&user=ganz&pass=geheim"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable curl_setopt($ch, CURLOPT_TIMEOUT, 10); $result = curl_exec($ch); curl_close($ch); break; case 1: echo "Hallo $user - akt. Lokation : Unterwegs"; $url="https://192.168.1.3:8087/set/0_userdata.0.presence.atHome?value=false&user=ganz&pass=geheim"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable curl_setopt($ch, CURLOPT_TIMEOUT, 10); $result = curl_exec($ch); curl_close($ch); break; } echo "<br/><br/> Result : $result"; ?>
Beispiel Aufrufe:
https://192.168.1.11/api-geofence.php?user=sven&location=0
oder
https://192.168.1.11/api-geofence.php?user=sven&location=1
Kommt folgende Ausgabe aber der Datenpunkt wird nicht aktualisiert.
Die Variablen werden alle ordentlich verarbeitet aber irgendwie hat der Aufruf der URL von Simple-Api keinen Effekt bzw. die Variable result ist leer.
Der Datenpunkt ändert sich nicht.Ich habe auch file_get_contents versucht. Leider auch ohne Erfolg. Was mich wundert, ist die Tatsache, dass $result immer leer ist.
Hat einer ne Idee, wie ich aus meinem PHP Script, die Simple Api Schnittstelle ansprechen muss, damit die URL korrekt aufgerufen wird, um den Datenpunkt zu aktualisieren?
Vielen Dank im Voraus.
Sven -
@piro sagte in PHP Aufruf der Simple-Api URL - wie?:
PHP Server
Gehe mal dort in die Console ( Putty ) vom PHP Server und mache da :
curl https://192.168.1.3:8087/set/0_userdata.0.presence.atHome?value=false&user=ganz&pass=geheim
wird dann der Datenpunkt geschaltet .
.
Was mich wundert, ist die Tatsache, dass $result immer leer ist.
hier die Info dazu : Link Text
-
Wenn ich es direkt vom Server ausführe, kommt folgendes.
Das erklärt es. Werde nur nicht ganz schlau aus der genannten Seite. Mein Server hat ein Let's Encrypt Zertifikat und meine Nextcloud Instanz kommt gut damit klar. Mmmh.
-
Dank deines Hinweise bekomme ich jetzt schon mal ein response zurück.
Jetzt werden die Parameter noch nicht sauber erkannt.
-
-
Freut mich , das es funktioniert .
Setze dann bitte das Thema auf gelöst . -
sorry aber wo mache ich das?
-
Bei den 3 Punkten am Startthread ,Titel bearbeiten
[Gelöst] PHP Aufruf der Simple-Api URL - wie?