Autor Thema: FK+HZ+WT; Temperaturänderung bei offenem Fenster  (Gelesen 309 mal)

Offline adn77

  • Jr. Member
  • **
  • Beiträge: 81
FK+HZ+WT; Temperaturänderung bei offenem Fenster
« am: 30 Dezember 2018, 21:51:32 »
Hallo zusammen,

Ich habe MAX(CUL) Wandthermostat, Heizkörperventil und Fensterkontakt gepairt.
Zum normalen Regeln benutzte ich Wochenprofile. Gelegentlich möchte ich allerdings nicht auf den nächsten Schaltzeitpunkt warten (z.B. beim Nachhausekommen) und schalte dann alles per "Lichtscene".

Nun zu meiner Frage, wie ist das beabsichtigte Verhalten, wenn ich bei offenem Fenster am WT per FHEM eine neue desiredTemperature setzte?

Ideal wäre ja, wenn das Ventil auf OFF bleiben würde, bis das Fenster wieder geschlossen wird.
Bei einem kurzen Test in zwei Räumen scheint das auch zu funktionieren. Ist das Wunschdenken?
Alternativ müsste ich ein Notify auf desiredTemperature aller WTs setzen und so die verbundenen FK auf FensterOffen überprüfen...

Danke schmal,
Alex

Offline adn77

  • Jr. Member
  • **
  • Beiträge: 81
Antw:FK+HZ+WT; Temperaturänderung bei offenem Fenster
« Antwort #1 am: 10 Februar 2019, 13:07:02 »
Ich beantworte mir die Frage mal selbst:
Wenn FHEM während ein Fenster geöffnet ist ein "set ... desiredTemperature ..." bekommt, wir das ans WT geschickt.
Dies veranlasst das Heitzungsventil trotz FK=opened Status aufzudrehen.

Eine Möglichkeit wäre, bei "set <DevSpec> desiredTemperature ..." DevSpec einen "FILTER!=<WindowOpenTemperature>" anzugeben.
Allerdings unterstützt meine Scene (Modul Lightscene) diese DevSpec nicht.

Ich habe mir mit einem Notify beholfen:
.*:desiredTemperature\s.* {
my $r = substr($NAME, 3);
my $change = 0;
if ( $r eq "Wohnzimmer" ){
if ( ( Value("fk_${r}1") ne "closed" || Value("fk_${r}2") ne "closed" ) && $EVENT !~ /off/i ){
$change = 1;
}
}else{
if ( Value("fk_${r}") ne "closed" && $EVENT !~ /off/i ){
$change = 1;
}
}
if ( $change == 1){
fhem( "set wt_${r} desiredTemperature off" );
}
fhem( "setreading Zieltemperatur ${r} ${EVENT}" );
}
Dieses Notify funktioniert, da ich meine Geräte mit FK_/WT_/HZ_ "präfixe". Im Wohnzimmer habe ich zwei Fenstersensoren, deshalb die etwas kompliziertere Sonderbehandlung.

Da ich die Wunschtemperatur in den Dummy "Zieltemperatur" wegschreibe, kann ein weiters Notify bei "FK_.* eq 'closed'" auch die Temperatur setzen:
fk_.*:(closed|opened) {
if ( $EVENT ne OldValue($NAME) ){
my ($r) = $NAME =~ m/fk_(.*?)[0-9]?$/;
if ( $EVENT eq "closed" ){
my $t = ReadingsVal("Zieltemperatur", $r, "desiredTemperature auto comfort");
fhem( "set wt_${r} ${t}");
}else{
my $t = ReadingsVal("desiredTemperature", "wt_${r}", "comfort");
fhem( "setreading Zieltemperatur ${r} desiredTemperature auto ${t}");
}
}
}
« Letzte Änderung: 10 Februar 2019, 15:30:33 von adn77 »

 

decade-submarginal