Hallo,
leider funktioniert das php-Program "setze_Text" bei mir leider nicht. Ich bekomme beim direkten Aufruf im Browser (Firefox) den Fehler "400 Bad Request" zurück. Die Variable "$status" habe ich dabei manuell einen Wert gegeben.
Mein angepasstes Script sieht normal so aus:
Code: Alles auswählen
<?php
$CCU_IP = "192.168.168.24";
$status = $_POST['daten'];
$HM_Script = 'dom.GetObject("AQ-Wassertemp-Soll").State('.$status.')';
echo $HM_Script;
echo HMRS_HTTP_Post($CCU_IP, $HM_Script);
function HMRS_HTTP_Post($CCU_IP, $HM_Script)
{
// Initialisieren der Socket-Verbindung
$fp = fsockopen ($CCU_IP, 8181, $errno, $errstr, 2);
$res = "";
if (!$fp)
{
$res = "$errstr ($errno)<br />\n";
}
else
{
// Zusammenstellen des Header für HTTP-Post
fputs($fp, "POST /rega.exe HTTP/1.1\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($HM_Script) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $HM_Script);
while(!feof($fp))
{
$res .= fgets($fp, 500);
}
fclose($fp);
}
return $res;
}
?>
Allerdings passiert beim Eingeben des Textes und clicken des Buttons nichts.
Hier der Code, um die Datei "setze_Text" manuell auf zurufen:
Code: Alles auswählen
<?php
$CCU_IP = "192.168.168.24";
$status = "25"; //$_POST['daten'];
$HM_Script = 'dom.GetObject("AQ-Wassertemp-Soll").State('.$status.')';
echo $HM_Script;
echo HMRS_HTTP_Post($CCU_IP, $HM_Script);
function HMRS_HTTP_Post($CCU_IP, $HM_Script)
{
// Initialisieren der Socket-Verbindung
$fp = fsockopen ($CCU_IP, 8181, $errno, $errstr, 2);
$res = "";
if (!$fp)
{
$res = "$errstr ($errno)<br />\n";
}
else
{
// Zusammenstellen des Header für HTTP-Post
fputs($fp, "POST /rega.exe HTTP/1.1\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($HM_Script) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $HM_Script);
while(!feof($fp))
{
$res .= fgets($fp, 500);
}
fclose($fp);
}
return $res;
}
?>
Wie gesagt, hier bekomme ich den Fehler "400 Bad Request" zurück.
Ich benutze den Appache2 auf einen Raspi als Webserver.
Hier die Fehlermeldung dazu:
"dom.GetObject("AQ-Wassertemp-Soll").State(25)HTTP/1.1 400 Bad Request Content-Type: text/html Content-Length: 349 Connection: close Date: Sun, 04 Feb 2018 10:09:09 GMT Server: lighttpd/1.4.31
400 - Bad Request"
Was ich dazu sagen muß, ich möchte eine CCU2-Variable vomTyp Integer beschreiben. Deshalb ist die 25 nicht in Anführungszeichen.
Ich sitze schon seit Tagen (mit Hilfe von Google usw.) dran, eine Lösung zu finden. Zu meinem Bedauern komme ich nicht weiter.
Ich hoffe, dass von Euch vielleicht jemand eine Idee hat.
Ich habe in einen anderen Tread gelesen, das dort der Http-Aufruf "
http://192.168.168.24:8181/rega.exe?sta ... .State(25)" in eine php-Variable gespeichert wurde. Allerdings fehlt mit hier die Kenntnis, wie ich dann diese php-Variable weiter verwende, um diese per http in php zu senden.
Ich hoffe, ihr könnt mir helfen....
Grüße
skiworker