FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Markus Bloch am 09 Oktober 2018, 22:27:49

Titel: Mietwohnung - Ausgefallene Heizung erkennen
Beitrag von: Markus Bloch am 09 Oktober 2018, 22:27:49
Hallo zusammen,

da ja der Winter vor der Tür steht und ich in meiner Mietwohnung auf eine funktionierende Zentralheizung angewiesen bin (insbesondere in den kommenden Monaten), stehe ich mal wieder vor dem Problem eine ausgefallene Heizung erkennen zu wollen.

In der Vergangenheit kam dies leider immer wieder mal vor und es wurde erst recht spät bemerkt als der Kessel nur noch 25° warmes Wasser enthielt. An meinen HomeMatic Stellmotoren meiner Heizkörper kann man in FHEM einen Ausfall der Heizung bereits recht schnell erkennen, wenn die Heizleistung über einen definierten Zeitraum konstant bei 100% steht.

Bisher hatten wir das immer erst dann gemerkt, wenn es jemandem zu kalt in der Wohnung wurde, oder jemand unter die Dusche springen wollte und kein warmes Wasser mehr kam.

In meinen Graphen könnte man den Ausfall aber recht zeitnah sehen.

Nun bin ich am Überlegen, wie man das am einfachsten realisieren könnte zu erkennen, dass die Heizung über einen Zeitraum von X Minuten konstant auf 100% stehen bleibt und die Raumtemperatur sich nicht nach oben bewegt. So eine direkte Idee habe ich aber gerade nicht und wollte daher mal in die Runde fragen, ob das jemand bereits schon realisiert hat und wenn ja, wie.

Über Ideen und Anregungen freue ich mich sehr.

Viele Grüße

Markus
Titel: Antw:Mietwohnung - Ausgefallene Heizung erkennen
Beitrag von: Damian am 09 Oktober 2018, 22:51:32
Hier mal z. B. mit DOIF-Perl:

DOIF
{ if ([Ventil] == 100 and !get_Exec("Timer")) { ## wenn Timer nicht läuft und Ventil auf 100 %
    $_temp=ReadingsVal("Sensor","temperature",0); ## merke die aktuelle Temperatur
    set_Exec("Timer",1800,'Log(1,"Ausfall!!!") if(ReadingsVal("Sensor","temperature",0) <= $_temp)'); ##logge wenn nach Ablauf von 1800 Sekunden Temperatur nicht gestiegen ist.
  }
}
Titel: Antw:Mietwohnung - Ausgefallene Heizung erkennen
Beitrag von: peterk_de am 09 Oktober 2018, 23:19:54
Ich habe genau soetwas seit Anfang letzter Saison in Betrieb und es hat uns schon mehrmals vor Frostbeulen bewahrt bzw. sind wir immer die ersten, die dann den Hausmeister rufen ;-)

Erkennung mache ich allerdings über die zwangsverordneten Techem-HKVs, die praktischerweise alle 3 Minuten die HK-Oberflächentemperatur durch die Gegend funken und sich mit einem CUL868 prima auslesen lassen ...

Mit folgendem Notify befülle ich einen Dummy (system.heizmonitor) mit Readings für jeden HK:

.*\.heizung.zaehler:temp2.*  {

  if($NAME =~ /^(.*)\.zaehler$/) {
    my $hk = $1;
    my $hkVentilPos = ReadingsVal($hk,"ValvePosition","N/A");
    my $hkTemp = ReadingsVal("$NAME","temp2","N/A");
   
    my $AusfallTempThreshold = 35;
    my $AusfallVentilThreshold = 25;
    my $AusfallWaitTime = 17*60;
   
    my $DaueranTempThreshold = 40;
    my $DaueranVentilThreshold = 1;
    my $DaueranWaitTime = 60*60;

    my $curstate = ReadingsVal("system.heizmonitor",$hk,"N/A");

    if ($curstate ne "warten" && $curstate ne "ausfall" && $hkVentilPos > $AusfallVentilThreshold && $hkTemp < $AusfallTempThreshold) {
      fhem("setreading system.heizmonitor $hk warten;sleep $AusfallWaitTime sl_".$hk."_ausfall quiet; setreading system.heizmonitor $hk ausfall");
    } elsif (($hkVentilPos < $AusfallVentilThreshold || $hkTemp > $AusfallTempThreshold) && $curstate ne "ok") {
      fhem("setreading system.heizmonitor $hk ok");
      if ($curstate eq "warten") {
         fhem("cancel sl_".$hk."_ausfall");
      }
    }
   
    $curstate = ReadingsVal("system.ventilmonitor",$hk,"N/A");
   
    if ($curstate ne "warten" && $curstate ne "ausfall" && $hkVentilPos < $DaueranVentilThreshold && $hkTemp > $DaueranTempThreshold) {
      fhem("setreading system.ventilmonitor $hk warten;sleep $DaueranWaitTime sl_".$hk."_ventil quiet; setreading system.ventilmonitor $hk ausfall");
    } elsif ((($hkVentilPos > ($DaueranVentilThreshold - 1)) || ($hkTemp < $DaueranTempThreshold)) && $curstate ne "ok") {
      fhem("setreading system.ventilmonitor $hk ok");
      if ($curstate eq "warten") {
         fhem("cancel sl_".$hk."_ventil");
      }
    }
   
  }

Das überwacht außerdem auch gleich, ob ein HK heiß ist, obwohl das Ventil „zu“ meldet. Mit einem DOIF Benachrichtige ich dann bei einem Ausfall (inkl. Zahl der zu kalte. HKs und deren Temperatur):


(["system.heizmonitor:ausfall$"]) {

my $deviceAlias = "$EVENT";
my $deviceName;
my $deviceState;
if($deviceAlias =~ /([^:]*):.([^:]*)/) {
$deviceName = $1;
}

if ($deviceName) {
  $deviceAlias = AttrVal($deviceName,'alias',$deviceName);
}

my $ventil = ReadingsVal($deviceName,"ValvePosition","N/A");
my $temp = ReadingsVal($deviceName.".zaehler","temp2","N/A");
my $anzahlAusgefallen = ReadingsVal("system.heizmonitor","anzahlAusgefallen","N/A");

fhem("set msgRouter exec route_mt_Heizungen_Ausfall p_msgtitle='$deviceAlias ausgefallen ($anzahlAusgefallen HK insgesamt)' p_msgtext='Oberflächentemperatur $temp°C, Ventil $ventil%'");

} DOELSEIF ([system.heizmonitor:anzahlAusgefallen] eq "0") {

fhem("set msgRouter exec route_mt_Heizungen_OK p_msgtitle='Heizungsanlage OK' p_msgtext='Alle ausgefallenen Heizungen in Betrieb.'");
}

Für dein Szenario ohne Temp.sensoren kannst du das aber eigentlich noch deutlich vereinfachen und eleganter machen: Nimm das Monitoring-Modul mit einem Regex für 100% Ventilposition als ErrorAdd -Kriterium und Ventilposition ungleich 99% als ErrorRemove-Kriterium. Als Waittime nimmst du ne Viertelstunde oder so, je nachdem wie lahm eure Heizung ist. Viel kürzer als meine Version und macht genau was du willst ...

LG!
Titel: Antw:Mietwohnung - Ausgefallene Heizung erkennen
Beitrag von: MadMax-FHEM am 09 Oktober 2018, 23:20:12
Ich habe in meinem "Absperrkästchen" für die Heizung einen HomeMatic Differenztemperatursensor womit ich die Vor-/Rücklauftemperatur messe...

Da merke ich schnell, wenn die Heizung ausgefallen ist.

Vielleicht gibt es ja sowas bei dir auch...

Aktuell bin ich noch dabei es zu verfeinern (unabhängig von der Sommereinstellung o.ä. zu werden):

wenn einer der HK aufdreht sollte die Vor-/Rücklauftemperatur zumindest (deutlich) höher sein als die gewünschte Temperatur ;)

Gruß, Joachim
Titel: Antw:Mietwohnung - Ausgefallene Heizung erkennen
Beitrag von: Prof. Dr. Peter Henning am 10 Oktober 2018, 05:23:02
Ich würde nicht die Raumtemperatur überwachen - die kann ja sehr stark variieren. Sondern die Vorlauftemperatur am Heizkörper zusammen mit der Stellung des Ventils auswerten - somit hat man das klare Signal Hohe Wärmeanforderung bei geringer Wärmelieferung.

LG

pah
Titel: Mietwohnung - Ausgefallene Heizung erkennen
Beitrag von: volschin am 11 Oktober 2018, 17:09:27
Ich finde das alles etwas komplex. Aus meiner Sicht würde bereits ein Watchdog Deine Anforderung erfüllen. Wenn er auf 100 geht aktiviert er sich und wenn innerhalb z.B. einer halben Stunde kein kleinerer Wert kommt, triggert er den Alarm. Nachteil des Watchdogs: 1 pro Device.

Einen Wert bei 100 über einen längeren Zeitraum habe ich bei funktionierendem Heizkreislauf noch nie gesehen. Daher ist die Temperaturmessung aus meiner Sicht überflüssig.
Titel: Antw:Mietwohnung - Ausgefallene Heizung erkennen
Beitrag von: Prof. Dr. Peter Henning am 11 Oktober 2018, 18:48:55
Zitat
ich bei funktionierendem Heizkreislauf noch nie gesehen

Gibt es aber durchaus, das ist alleine kein eindeutiges Signal.

LG

pah
Titel: Antw:Mietwohnung - Ausgefallene Heizung erkennen
Beitrag von: Markus M. am 11 Oktober 2018, 18:49:40
Nachteil des Watchdogs: 1 pro Device
Wozu? 1x pro Heizkreislauf reicht doch.
Titel: Antw:Mietwohnung - Ausgefallene Heizung erkennen
Beitrag von: volschin am 11 Oktober 2018, 23:30:11
Wenn Du sichergehen kannst, dass sich alle Devices des Heizkreislaufs gleich verhalten, ja. Sonst resettet Dir einer den Watchdog und der Alarm fällt aus.
Titel: Antw:Mietwohnung - Ausgefallene Heizung erkennen
Beitrag von: peterk_de am 11 Oktober 2018, 23:42:49
Warum man (in ner Mietwohnung ohne Zugang zu Umwälzpumpe und co) mehrere Heizkörper überwachen will? Na weil nicht in jedem Raum die Solltemperatur unterschritten sein muss, wenn die Heizung ausfällt.  Wenn dein einer Raum mit dem überwachten Heizkörper gerade warm genug ist, bekommst du den Ausfall ja nicht (oder zu spät) mit.

Gilt auch, wenn du nicht wie ich die Oberflächentemperaturen misst, sondern die Vorlauftemperatur an zentraler Stelle überwachst: Alle Ventile zu und kalter Vorlauf ist OK, mindestens eins offen und zu lang kalter Vorlauf nicht ...

Also m.E. ist es ohne alle HK-Ventile anzugucken keine optimale Lösung.