Zurück   IP-Symcon Community Forum > IP-Symcon 1.0 > Archiv > Skripte, PHP, SQL

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
  #1 (permalink)  
Alt 27.12.08, 23:44
Junior Member
 
Registriert seit: Sep 2008
Beiträge: 3
Standard wc lüfter nachlauf, nachts kein betrieb - best practice

Hallo zusammen und einen guten tag,

ich bin ziemlich neu hier, lese schon seit einigen wochen mit und versuche nun schritt für schritt die möglichen szenarien einer umstellung durchzudenken.

momentan beschäftigt mich die frage wie ich am besten den nachlauf des toilettenlüfters regeln könnte.

ich gehe davon aus dass ich via taster die wc beleuchtung ein und ausschalte, der lüfter hängt an einem eigenen stromkreis und ist somit extra versorgt und geschalten (zb. FS20-SU). anlaufen soll er allerdings erst wenn das licht länger als 2 minuten ein (IPS_Sleep??) ist und zusätzlich sollte der lüfter nur von 07 bis 21 uhr anlaufen und nach austasten der beleuchtung noch 1 minute nachlaufen...
wie würdet ihr das am besten umsetzen? gibts vielleicht ähnliche scripte, die ich hier via suche nicht gefunden habe?

danke gleich mal im voraus für eure gedanken und bemühungen

lg.

svrroot
Mit Zitat antworten
  #2 (permalink)  
Alt 27.12.08, 23:56
Benutzerbild von Ferengi-Master
Großer Nagus
 
Registriert seit: Feb 2007
Ort: Zwickau
Beiträge: 4,106
Standard

Willkommen bei uns,

würde das nicht mit sleep() machen, diesen Befehl sollte man wenn möglich meiden und nur für kurze Pausen verwenden. In diesm Fall würde ich einen Timer verwenden.
1. Licht an
2. Timer auf 120s setzen
3. Uhrzeit prüfen und Lüfter an wenn Licht noch an
4. Timer auf 60s setzen - Lüfter aus

auserdem Script mit Variable verknüpfen um Taster zu prüfen und Timer/Licht/Lüfter zu stoppen

Kurzer Vorschlag, zum Scriptschreiben bin ich heute zu müde.
__________________
MfG Thomas

Hardware im Einsatz: Eaton Xcomfort | Enocean | FS20 | 1-Wire | ALL2282+Axis WebCam | AVM Fritz! Repeater | WMRS200 Wetterstation | IPS-Funksystem-868 | Squeezebox | Visu auf: 10"Touchscreen | Apple iPod Touch 2G | Apple iPod Touch 4G | Apple IPhone 4s | Software: IPS V2.5 | IPS Server mit Windows 7 Prof 32bit und Mediaportal 1.2.1 | diverse IPS Clients mit Dashboard | WebFront | iFront

*** Citius, altius, fortius ***

Geändert von Ferengi-Master (27.12.08 um 23:59 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 28.12.08, 01:18
Benutzerbild von bruns8234
Member
 
Registriert seit: Jul 2008
Ort: Gutengermendorf, Deutschland
Beiträge: 97
Cool

Hallo

Wie Ferengi-Master es schon geschrieben hat ist der Einsatz von Timern zu empfehlen.
Nachfolgend mal das Skript meines Flurlichttimers, entsprechend abgewandelt:

PHP-Code:
define("VarLichtStatus"12345true);   // ID der Licht-Statusvar.
define("VarLuefterStatus"12345true); // ID der Lüfter-Statusvar.

define("DelayOn"120true);  // Zeit (in sek.) bis Lüfterstart
define("DelayOff"60true);  // Nachlaufzeit (in sek.) für Lüfter
define("MinHour"7true);    // Beginn (Stunde) der Lüfterfreigabe
define("MaxHour"21true);   // Ende (Stunde) der Lüfterfreigabe

// Aufruf durch Variablentrigger
if ($IPS_SENDER == "Variable") {
  if (
GetValue(VarLichtStatus)) {
    
// Status des Lichts überprüfen und entsprechend reagieren
    
switch ($IPS_VALUE) {
      case 
true// Licht wurde eingeschaltet...
        // Lüfter nur zwischen 7 und 21 Uhr einschalten
        
$hour = (int)date('G');
        if (
$hour >= MinHour and $hour <= MaxHour) { 
          
// Timer programmieren und starten
          
IPS_SetScriptTimer($IPS_SELFDelayOn);
        }
      break;
            
      case 
false:
        
// Licht wurde ausgeschaltet, Lüfterstatus beachten
        
if (GetValue(VarLuefterStatus)) {
          
// Lüfter läuft, Nachlauftimer starten
          
IPS_SetScriptTimer($IPS_SELFDelayOff);
        } else {
          
// Lüfter läuft nicht, Starttimer löschen
          
IPS_SetScriptTimer($IPS_SELF0);
        }
      break;
    }
  }
}

if (
$IPS_SENDER == "TimerEvent") {
  
$Licht   GetValue(VarLichtStatus);
  
$Luefter GetValue(VarLuefterStatus);
  
//Timer abgelaufen, je nach Licht- und Lüfterstatus reagieren
  
if ($Licht AND !$Luefter) {
    
// Licht ist an, Lüfter steht --> Starttimer abgelaufen, Lüfter EIN
    
===> HIER EINSCHALTBEFEHL FÜR LÜFTER EINTRAGEN
    
// Und den Timer löschen
    
IPS_SetScriptTimer($IPS_SELF0);
  } elseif (!
$Licht AND $Luefter) {
    
// Licht ist aus, Lüfter läuft --> Nachlauftimer abgelaufen, Lüfter AUS
    
===> HIER AUSSCHALTBEFEHL FÜR LÜFTER EINTRAGEN
    
// Und den Timer löschen
    
IPS_SetScriptTimer($IPS_SELF0);
  } else {
    
// Unbekannter Status, Timer löschen
    
IPS_SetScriptTimer($IPS_SELF0);
  }

Dieses Skript muss durch die Licht-Statusvariable getriggert werden, der Rest sollte dann von alleine funktionieren .
__________________
____________________________________
MfG Thorsten
[HM mit CCU u. IPS auf WHS]
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



Alle Zeitangaben in WEZ +1. Es ist jetzt 08:50 Uhr.


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