+ Antworten
Ergebnis 1 bis 1 von 1
  1. #1
    Registriert seit
    Feb 2005
    Ort
    Sarkwitz
    Beiträge
    3,673

    Standard Praxis – Variablen & Timer

    Das folgende Beispiel zeigt, wie eine Variable nach einer bestimmten Zeit zurücksetzt wird.

    Aufgabe:
    Per Handsender wird eine Variable auf „TRUE“ gesetzt; diese soll nach 5 Minuten
    automatisch wieder auf „FALSE“ gesetzt werden.
    (In unserer Sauna wird beim Duschen (21KW Duschlauferhitzer) der Saunaofen (Regelung)
    für 5 Minuten ausgeschaltet, da dort nur ein 3 * 16A Anschluss zur Verfügung steht)

    Lösung:
    Im folgenden Skript wird der dazugehöriger Timer auf 5 Minuten gesetzt,
    wenn die Variable "SCEN_Sauna_Dusche", auf die auch getriggert wird, „TRUE“ wird und
    der Timer den Wert Null hat.
    Nach Ablauf von der Zeit wird das Skript erneut ausgeführt und nun sind beide Bedingungen
    erfüllt: die Variable ist „TRUE“ und der Timer ist gesetzt. Jetzt wird unsere Variable „FASLE“
    und der Timer auf Null gesetzt - fertig.

    Hinweis:
    Durch den Befehl: SetValueBoolean("SCEN_Sauna_Dusche", False);
    wird das Skript nach Ablauf der Timer-Zeit erneut aufgerufen;
    da aber die 1. IF-Bedingung nicht erfüllt ist, wird dann nichts mehr „abgearbeitet“.


    PHP-Code:
    <?
    /*
    *******************************
     IP-SYNCOM Event Scripting
    *******************************
    */
    //File: SCEN_Sauna_Dusche.ips.php
    // Trigger: SCEN_Sauna_Dusche

    if(GetValueBoolean("SCEN_Sauna_Dusche")) {
       if (
    IPS_GetScriptTimer("SCEN_Sauna_Dusche") == 0) {
          
    IPS_SetScriptTimer("SCEN_Sauna_Dusche"60);
       } else {
          
    SetValueBoolean("SCEN_Sauna_Dusche"False);
          
    IPS_SetScriptTimer("SCEN_Sauna_Dusche"0);
       }
    } else {
           
    IPS_SetScriptTimer("SCEN_Sauna_Dusche"0);
    }
    ?>
    PS:
    Bei Fragen, Unklarheiten, Anregungen usw. bitte hier posten!
    Geändert von paresy (31.05.05 um 21:10 Uhr)