Hallo zusammen
Ich sende eine Befehl mit PHP über Linknx auf den Bus:
Das funktioniert ganz gut.
Wenn ich jetzt aber den selben Befehl an ein Gruppe sende, dass alles Licht/Strom im Haus ausmacht, funktiniert das auch noch ... wenn ich den Befehl aber ein zweites mal schicke, passiert nichts mehr. Die Lichter bleiben an. Wenn ich jetzt den Befehl umkehre anstelle von 0 die 1 verwende gehen alle Lichter an und erst jetzt kann den Befehl zum löschen der Lichter erneut gesendet werden.
Wiso habe ich das Problem nicht, wenn ich diesen Befehl nur an eine Objekt zum Beispiel Bürolampe sende? Dort kann ich immer wider "Licht aus" senden und es funktioniert problemlos ohne zwischendurch das Licht per Web wieder einzuschalten.
<write><object id='Licht_Buero' value='0'/></write>
Ich sende eine Befehl mit PHP über Linknx auf den Bus:
Das funktioniert ganz gut.
Wenn ich jetzt aber den selben Befehl an ein Gruppe sende, dass alles Licht/Strom im Haus ausmacht, funktiniert das auch noch ... wenn ich den Befehl aber ein zweites mal schicke, passiert nichts mehr. Die Lichter bleiben an. Wenn ich jetzt den Befehl umkehre anstelle von 0 die 1 verwende gehen alle Lichter an und erst jetzt kann den Befehl zum löschen der Lichter erneut gesendet werden.
Wiso habe ich das Problem nicht, wenn ich diesen Befehl nur an eine Objekt zum Beispiel Bürolampe sende? Dort kann ich immer wider "Licht aus" senden und es funktioniert problemlos ohne zwischendurch das Licht per Web wieder einzuschalten.
<write><object id='Licht_Buero' value='0'/></write>
HTML-Code:
<?php
error_reporting(0);
$linknx_host = "127.0.0.1";
$linknx_port = 1028;
$max_result_lines = 1000;
header('Content-Type: application/xml; charset=iso-8859-1');
$sock = fsockopen($linknx_host, $linknx_port, $errno, $errstr, 30);
if (!$sock)
$result = "<response status='error'>Unable to connect to linknx</response>\n";
else {
fwrite($sock, "<write><object id='Licht_Buero' value='0'/></write>" . chr(4));
$result = '';
$cnt = 0;
while ($cnt < $max_result_lines && $sock && !feof($sock)) {
$result .= fgets($sock, 128);
$c = fgetc($sock);
if ($c == "\4") break;
$result .= $c;
$cnt++;
}
fclose($sock);
}
print($result);
?>
Kommentar