Autor Thema: FHT prüfen ob Tag oder Nachtbetrieb  (Gelesen 4452 mal)

Offline broadway

  • Full Member
  • ***
  • Beiträge: 218
FHT prüfen ob Tag oder Nachtbetrieb
« am: 20 Januar 2013, 12:30:31 »
Anwendungsfall:
Bei Betrieb des Lüfters im Bad wird die Heizung abgesenkt. Anschließend wird die Heizung wieder hochgefahren.
Problem: Läuft der Ventilator während der FHT in seinen Nachtbetrieb umschaltet, kann es passieren, dass nachts mit 21° durchgeheizt wird.

Lösung:
Dieses notify liest die Schaltzeit des FHT aus und vergleicht mit der aktuellen Uhhrzeit. Entsprechend wird dann die "night-temp" oder "day-temp" eingestellt.

Einschränkungen:
-Falls das zweite Schaltintervall des FHT genutzt wird, muss entsprechend "mon-to2" usw. abgefragt werden.
-nicht getestet für Datumswechsel um 0:00Uhr

define Bd.Lueftung.Reset notify Bd.Lueftung.Reset {\
      fhem "set Bd.Lueftung.Ventilator_Elro_C off";;\
\
      my $timeOff;;\
      if($wday eq 1){$timeOff = ReadingsVal("Bd.FHT.Thermostat", "mon-to1", 0)}\
      elsif($wday eq 2){$timeOff = ReadingsVal("Bd.FHT.Thermostat", "tue-to1", 0)}\
      elsif($wday eq 3){$timeOff = ReadingsVal("Bd.FHT.Thermostat", "wed-to1", 0)}\
      elsif($wday eq 4){$timeOff = ReadingsVal("Bd.FHT.Thermostat", "thu-to1", 0)}\
      elsif($wday eq 5){$timeOff = ReadingsVal("Bd.FHT.Thermostat", "fri-to1", 0)}\
      elsif($wday eq 6){$timeOff = ReadingsVal("Bd.FHT.Thermostat", "sat-to1", 0)}\
      elsif($wday eq 0){$timeOff = ReadingsVal("Bd.FHT.Thermostat", "sun-to1", 0)}\
\
      my ($offHour,$offMin) = $timeOff =~ m{^([0-9]{2}):([0-9]{2})\z};;\
\
      my $setTemp;;\
      if(($hour > $offHour)||(($hour == $offHour)&&($min >= $offMin))){\
              $setTemp=ReadingsVal("Bd.FHT.Thermostat", "night-temp", 0)}\
      else{\
              $setTemp=ReadingsVal("Bd.FHT.Thermostat", "day-temp", 0)}\
\
      fhem "set Bd.FHT.Thermostat desired-temp $setTemp";;\      
}
Linksys NSLU2 debian + CUL | FHT80B, FS20, Elro