Heating Control bei FHTnominal

Begonnen von DerTom, 11 Januar 2015, 15:26:12

Vorheriges Thema - Nächstes Thema

DerTom

Hallo,

habe folgendes Problem, daß mir am Dreikönigstag wieder einmal auf die Füße gefallen ist. Meine FHT's haben je nach Raum angepasste Heizprofile. Wenn ich abwesend bin regele ich die Heizung in den Räumen auf Status manuell und 18°C. Wenn ich wieder komme führe ich per FHEM ein FHTnominal aus und die FHT's stellen sich wieder zurück auf die in den Profilen vorgegebenen Werte. So weit so gut.
Nun ist der Dreikönigstag bei uns  Feiertag und ich "übersteuere" die in den Geräten vorhandenen Profile in einigen Räumen mit einer HC.

AZO_FHT80B  12345|06:30|21.0 12345|22:00|17.0 (Value("Feiertag") eq "ja") || (Value("Homeoffice") eq "ja")

Setze ich den Anwesenheitsstatus (ich gehe 12 Uhr aus dem Haus) auf off, regeln die Geräte runter. Komme ich gegen 15 Uhr wieder, werden aber ja nun die Profile in den Geräten mit FHTnominal abgefragt und eingestellt. Da es in der Woche (aber Feiertag) ist, gibt das Profil im FHT eine Day_temp von 16 - 22 Uhr aus. Also regelt sich die Heizung auf Night_Temp. Die Werte in der HC (von 06:30 bis 22.00 Uhr 21°C) werden nicht beachtet.

Wie bekomme ich es hin, die in der HC definierte Temperatur zu setzen. Eine Idee wäre es, den State der HC auszulesen und in die jeweiligen FHT's zu setzen. Da fehlt mir aber der Perl-Hintergrund. Kann mir einer da helfen?

Gruß
Tom

Dietmar63

habe ich noch  nicht verstanden.
poste mal alles was du zu AZO_FHT80B  hast.

wird deine Anwesenheit automatisch erkannt?
was ist FHTnominal?

Das beste ist alles von den HC aus steuern zu lassen - eventuell definierst du mehrere und gibst eine Bedingung mit die true oder false liefert:

AZO_FHT80B  12345|06:30|21.0 12345|22:00|17.0 (meineFunktion("status",1, ... ))

alles weitere wird dann in meineFunktion() geregelt. Bei mir habe ich dieser Fuktion auch mitgegeben, ob ein HC am Wochenende gelten soll oder nicht. Bei mir sieht sie so aus:

sub heizungAnAus($$) {
   my ($myState, $testWe) = @_;

   #we ermitteln
   my ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime;
   my $we = (($wday==0 || $wday==6) ? 1 : 0);
   if(!$we) {
     my $h2we = $attr{global}{holiday2we};
     $we = 1 if($h2we && $value{$h2we} && $value{$h2we} ne "none");
   }
   $testWe = $we if (!defined($testWe));

   my $state = ReadingsVal("Heizung", "state", "Off");
   my $ret = ($state eq $myState && $testWe == $we);
   
   return $ret;
}


Aufruf(nur für Küche):
define HeizungKueche_wt       Heating_Control HeizungKueche de 05:35|25 06:15|22 06:50|18 12:00|25 12:30|22 14:00|19 15:30|20 18:15|22 19:00|16           (heizungAnAus("An",  0))
define HeizungKueche_we       Heating_Control HeizungKueche de 06:45|25 07:30|22 09:00|19 12:00|22          13:15|20                   19:00|16           (heizungAnAus("An",  1))
define HeizungKueche_uz_wt    Heating_Control HeizungKueche de 05:35|25 06:15|22 06:50|16                                              18:15|22  19:00|16 (heizungAnAus("Ueb", 0))
define HeizungKueche_uz_we    Heating_Control HeizungKueche de 06:45|25 07:30|22 08:30|16                                              18:15|22  19:00|16 (heizungAnAus("Ueb", 1))

Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

DerTom

Hallo Dietmar,

die Anwesenheit wird mit einem Schalter händisch gesetzt. Ist ein Dummy, welcher auf on steht, wenn man da ist. FHTnominal wird hier beschrieben:

http://www.fhemwiki.de/wiki/FHT80b_Automatik_setzen

Alles möchte ich nicht von der HC steuern lassen, da es auch mal zu einem Ausfall von FHEM kommen kann und dann bleibt die Bude kalt. So regeln es wenigstens noch die FHT's mit Ihrem internen Zeitplan, solange ich nicht steuernd eingreife. Das hat sich bisher bei mir sehr gut bewährt. Wenn ich das nur mit der HC steuere ist es ja nicht weiter tragisch, die richtigen Werte einzustellen.

Schau Dir mal FHTnominal an...vielleicht hast Du ja dann eine Idee.

Mir gehts ja nur darum, die Werte der HC, wenn sie aktiv ist, auch wieder im FHT zu setzen anstatt die im FHT-Profil eingestellten Werte mittels FHTnominal auszulesen und automatisch setzen zu lassen.

Dietmar63

Es scheint mir so zu sein, dass du nur Heating_Control_SetAllTemps() aufrufen must, wenn du die Werte der HC aktivieren willst.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

DerTom

Oh Mann, da ist mir jetzt aber peinlich...

Hab ich voll in der Commandref übersehen...(war aber auch klein geschrieben  ;) )

DANKE!