Steuerung Ventilator / manuelle Übersteuerung

Hallo zusammen

Um unseren Vorratskeller klimatisch etwas stabiler zu machen, habe ich einen Ventilator eingebaut, welcher mittels untenstehendem Skript angesteuert wird.

<?
/* Dieses Skript basiert auf einer Vorlage von Bayaro aus dem Forum von IP-Symcon (Thread:
   "Wie kann ich 2.0...") und von RWN (Thread: "Windrichtung (als Text ausgeben)." Es ermittelt
   wann der Ventilator im Keller die Luft nach aussen befördern soll.
   
   Temperaturgrenzen: wärmer als 5 °C aber kühler als 15 °C (ich will keinen Tiefkühler
   und bei Temperaturen über 15 °C wird die abs. Luftfeuchtigkeit wieder zu hoch
   
   Absolute Feuchtigkeit: muss aussen kleiner sein als innen (logisch)
   
   Relative Feuchtigkeit: Zielband für die Feuchtigkeit im Keller liegt zwischen 50% - 65%.
   Wenn die Feuchtigkeit > 65% liegt (und die anderen Bedingungen efüllt sind), soll der
   Ventilator die Luft nach aussen befördern. Solange die Parameter zum Trocknen gegeben sind und
   eine gewisse Temeraturschwelle nicht unter-/überschritten wird, Läuft der Ventilator weiter, 
   bis 60% rel. Luftfeuchtigkeit erreicht sind. Bei Bedingungen unter 60% soll keine Belüftung 
   erfolgen, da die äusseren Bedingungen dahin tendieren, dass der Keller ohnehin ohne Zutun 
   trocknet.
   
   Offen: Manuelle Eingriffe --> Ausschalten bewirkt "off" bis zu einem definierten Zeitpunkt
   (z.B. Mitternacht)
   Offen: nach manuellem Eingriff wieder auf "Auto" schalten
   Offen: Belüftungslogik ganz ausschalten 
*/


// ***** Lesen *****
$absfeuchteraum = GetValue(36112 /*[Klima\Klima Vorratskeller\Absolute Feuchte]*/);
$temperaturraum = GetValue(56468 /*[Klima\Klima Vorratskeller\TEMPERATURE]*/);
$relfeuchteraum = GetValue(55731 /*[Klima\Klima Vorratskeller\HUMIDITY]*/);
$absfeuchteaussen = GetValue(42489 /*[Klima\Cumulus\Cumulus\Absolute Feuchte Aussen]*/);
$temperaturaussen = GetValue(57744 /*[Klima\Cumulus\Cumulus\Temperatur]*/);
$ventilatoran = GetValue(29230 /*[Schalter\Ventilator Vorratskeller\STATE]*/);

// ***** Script *****

if (($ventilatoran == 0) AND ($temperaturaussen >= 5 AND $temperaturaussen <= 15) AND (($absfeuchteaussen < $absfeuchteraum) AND ($relfeuchteraum > 65))){ //bei Vent. aus, Bedingungen prüfen, insb. Temperaturvorgaben und abs. Feuchte aussen < innen
	HM_WriteValueBoolean(19288 /*[Schalter\Ventilator Vorratskeller]*/, "STATE", true);                                                                    //Vent. einschalten
	}
	elseif (($absfeuchteaussen >= $absfeuchteraum) OR ($temperaturaussen < 5 OR $temperaturaussen > 15) OR ($relfeuchteraum <= 60)){                       //wenn ausserhalb gew. Parameter
	HM_WriteValueBoolean(19288 /*[Schalter\Ventilator Vorratskeller]*/, "STATE", false);                                                                   //Vent. ausschalten
	}

	else{
	}
?>

Was ich nun noch gerne erreichen würde, sind die Berücksichtigung von manuellen Eingriffen (wenn ich manuell einschalte, soll der Ventilator z.B. bis Mitternacht weiterlaufen) und damit zusammenhängend eine Rückkehr in den „Auto“-Modus. Ich stelle mir vor, dass das irgendwie mit „$_IPS[‚SENDER‘]“ funktionieren sollte, kann mir aber trotz vieler Beispiele noch keinen so rechten Reim daraus machen. Hat mir jemand den entscheidenden Denkanstoss?

Danke!

Du könntest das über eine Hilfsvariable steuern, die auf true gesetzt wird, wenn Du manuell triggerst. Diese Variable kannst Du dann im Auto-Modus Script abfragen und per Ereignis (um Mitternacht) zurücksetzen …