Ankündigung

Einklappen
Keine Ankündigung bisher.

LINKNX PHP Frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    LINKNX PHP Frage

    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>



    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);
    ?>

    #2
    Soweit ich das sehe, brauchst Du "if-true" bei der Actionlist in der Linknx config. Hier ist das diskutiert worden und sehr gut erklärt.

    Gruß

    Micha

    Kommentar


      #3
      Danke

      Wenn man weiss, wonach man suchen musst ist es einfach

      Habs so gemacht .... scheint zu funktionieren

      Code:
       
      <object id="Strom_Aus" gad="0/0/1" type="1.001" flags="cwtus" log="true" init="persist">Strom_Aus</object>
      Code:
       
      <rule id="Power_Off">
      <condition type="object" id="Strom_Aus" value="off" trigger="true" />
      <actionlist type="if-false"> 
      <action type="set-value" id="Strom_Aus" value="off" />
      </actionlist> 
      </rule>

      Kommentar

      Lädt...
      X