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

    Standard Beleuchtungsteuerung mit PIRI

    Das folgende kleine Beispiel zeigt, wie man eine Flurbeleuchtung für 15 Minuten einschaltet,
    wenn eine Bewegung vom PIRI erkannt wurde.
    Der PIRI wird auf einen Kanal mit „Immer, schalten auch im Hellen“ gejumpert, der zweite Kanal wird deaktiviert.
    Anschließend wird er per Hand oder mit den Wizard (F4) als „FS20RX Modul“ hinzugefügt und die Variable: „PIRI_Flur.Status“ vergeben.
    Die hell / dunkel Information bekommen wir von Timer-Wizard über die Sunset / Sunrise Funktion.
    Das hat den entscheidenden Vorteil, dass man den PIRI am Tag zur Steuerung der Heizung
    (abwesend > minus 2 Grad) verwenden kann.

    PHP-Code:
    <?
    if ($IPS_SENDER == "Variable") {             // Wenn Trigger durch Variable
       
    IPS_SetScriptTimer("Licht_Flur"1800);   // ScriptTimer an (30min)
       
    SetValueBoolean("Anwesend"True);        // Bewegung erkannt
       
    if (!GetValueBoolean("IstTag")) {         // Wenn Nacht (hier: nicht Tag)
          
    FS20_SwitchDuration(12345True900); // Lampe An für 15 Min. An
       
    }
    }
    if (
    $IPS_SENDER == "TimerEvent") {           // wenn Trigger durch Timer
       
    IPS_SetScriptTimer("Licht_Flur"0);      // ScriptTimer aus
       
    SetValueBoolean("Anwesend"False);       // Keine Bewegung in Haus
    }
    ?>
    Timer-Wizard Einstellungen:

    Active?: X
    Description: Tag
    Timer Type: Weekly
    Parameter: Sunrise > N: 54,00 / E: 10,00 (für Lübeck) und optional Delay: -30
    Action Type: Custom
    Parameter: SetValueBoolean("IstTag", TRUE);

    und

    Active?: X
    Description: Nacht
    Timer Type: Weekly
    Parameter: Sunset > N: 54,00 / E: 10,00 (für Lübeck) und optional Delay: -30
    Action Type: Custom
    Parameter: SetValueBoolean("IstTag", False);

    PS:
    Die im o.g. Skript verwendete Instance–ID muß für Ihre Umgebung angepasst werden.
    Benutzen Sie die Tastenkombination CTRL + I um InstanceID Selector zu öffnen und wählen Sie die entsprechende Instance aus.
    Bei Fragen, Unklarheiten, Anregungen usw. bitte hier posten!!!!
    Geändert von steiner (05.09.05 um 10:28 Uhr)

  2. #2
    Registriert seit
    May 2005
    Ort
    Leipzig
    Beiträge
    3,964

    Hallo steiner,

    Zitat Zitat von steiner
    Code:
    <?
    /*
    *******************************
     IP-SYMCON Event Scripting
    *******************************
    */
    //File: Licht_Flur.ips.php
    //Triggert Variables: PIRI_Flur.Status
    if ($IPS_SENDER == "Variable") {                            // wenn Trigger durch Variable
       IPS_SetScriptTimer("Licht_Flur", 1800);                  // ScriptTimer an (30min)
       SetValueBoolean("Anwesend", True);                       // Bewegung erkannt
       if (!GetValueBoolean("Ist_Tag")) {                       // wenn Nacht (hier: nicht Tag)
          FS20_SwitchDuration(44059, True, 900);                // Lampe An für 15 Min. An
       }
    }
    if ($IPS_SENDER == "TimerEvent") {                          // wenn Trigger durch Timer
       IPS_SetScriptTimer("Licht_Flur", 0);                     // ScriptTimer aus
       SetValueBoolean("Anwesend", False);                      // jetzt ist bestimmt keiner mehr da...
    }
    ?>
    Timer-Wizard Einstellungen:

    Active?: X
    Description: Tag
    Timer Type: Weekly
    Parameter: Sunrise > N: 54,00 / E: 10,00 (für Lübeck) und optional Delay: -30
    Action Type: Custom
    Parameter: SetValueBoolean("IstTag", TRUE);

    und

    Active?: X
    Description: Nacht
    Timer Type: Weekly
    Parameter: Sunset > N: 54,00 / E: 10,00 (für Lübeck) und optional Delay: -30
    Action Type: Custom
    Parameter: SetValueBoolean("IstTag", False);
    sollte die Variable in den Timer-Einstellung nicht auch "Ist_Tag" lauten? Also mit "Unterstrich"...

    ok, ich habe das mal so eingerichtet mit 51.3504N und 12.4796N fuer meinen Standort. Leider bleibt die Variable "IstTag" auf FALSE, der Timerevent aktualisiert aber sein UpdateDatum. als Value steht dann da 1123759380 - was auch immer das zu sagen hat :-)

    Das wuerde ja bedeuten, dass bei mir jetzt Licht brennen wuerde :-( Was laeuft da schief?

    Gruss Torro

  3. #3
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    22,333

    Nein. Das funktioniert schon richtig. Deine "IstTag" Variable aktualisiert der TimerWizard nur Morgens bei Sonnenaufgang - und Abend bei Sonnenuntergang. Es tut es nicht zwischendurch. D.h. man muss die Variable IstTag beim ersten Mal selber einstellen, und erst am Abend wird diese auf FALSE gesetzt. steiner wird dieses nochmal in die Anleitung mitaufnehmen

    Grüße, paresy

Ähnliche Themen

  1. Tipp zum FS20 PIRI
    Von helitron im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 0
    Letzter Beitrag: 14.06.05, 14:09
  2. Modul FS20 PIRI
    Von MarkusTC im Forum Allgemeine Diskussion
    Antworten: 1
    Letzter Beitrag: 04.04.05, 22:13