Zurück   IP-Symcon Community Forum > IP-Symcon 1.0 > Archiv > Anleitungen / Nützliche PHP Scripte

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
  #1 (permalink)  
Alt 05.08.05, 19:08
Administrator
 
Registriert seit: Feb 2005
Ort: Sarkwitz
Beiträge: 3,378
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!!!!
Miniaturansicht angehängter Grafiken
timer_wzard_tag_nacht.jpg   ips_hand_steck_piri.jpg  

Geändert von steiner (05.09.05 um 11:28 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 11.08.05, 13:24
Benutzerbild von Torro
Senior Member
 
Registriert seit: May 2005
Ort: Leipzig
Beiträge: 3,963
Standard

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
Mit Zitat antworten
  #3 (permalink)  
Alt 11.08.05, 15:47
Benutzerbild von paresy
Administrator
 
Registriert seit: Feb 2005
Ort: Sarkwitz
Beiträge: 6,370
Lightbulb

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
Mit Zitat antworten
Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tipp zum FS20 PIRI helitron Anleitungen / Nützliche PHP Scripte 0 14.06.05 15:09
Modul FS20 PIRI MarkusTC Allgemeine Diskussion 1 04.04.05 23:13


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0