Wie schon früher angedeutet möchte ich den Bus nach und nach erweitern. Vor allem möchte ich, dass mein Hausbus der zentrale Dreh- und Angelpunkt ist und quasi immer alle Daten zur Verfügung hat. Damit er dann entsprechend handeln kann.

Z.B. “Wenn die Solaranlage > 5 KWh erzeugt, aber es im Haus kalt ist, dann mach die Heizung an”

D.h. der Bus muss die Leistung der Solaranlage (siehe späterer Eintrag) als auch die Leistung der Heizung kennen und die Heizungsventile betätigen können.

Doch von vorn:

Zunächst muß man wissen, dass im ganzen Haus Fußbodenheizung verlegt ist die von einer Wärmepumpe beheizt wird. Ich habe die einzelnen Heizkreise (jeder Raum hat mindestens einen Heizkreis) mit Motorantrieben ausgestattet und entsprechend an die Heizungsaktoren angeschlossen. (siehe Rahmen). Die große, graue Kiste ist übrigens die Wärmepumpe. Von 2009 oder so. Genaues weiß man nicht, habe ich mit dem Haus mit gekauft. Aber einen Netzwerkanschluss hat das Ding nicht, geschweige denn kennt es irgendwas von KNX.

Fußbodenheizung und Wärmepumpen mit Motorventilen
Fußbodenheizung und Wärmepumpen mit Motorventilen

Die Ventile an den Heizkreisen sind ganz normale Ventile, wie man sie auch von normalen Heizkörpern kennt. Die Motoren habe ich mir vom Sanitär-Onkel des Vertrauens liefern lassen. Größenordnung 20,- € pro Stück und sie werden mit 230V betrieben. Es gibt auch welche für 12V, aber da ich schon die 230V Aktoren hatte, passte das so.

Damit kann der Bus die Heizung in jedem Raum einzeln auf- und zu drehen. Darüber kann man indirekt dann auch die Wärmepumpe selbst steuern. Denn diese springt ja nur an, wenn das Wasser kalt ist. Was immer genau dann passiert, wenn der BUS einen kalten Raum öffnet. Für die Interessierten unter euch: Mein Haus hat keinen Gasanschluß. Ich mache alles mit Strom. Heizen per Wärmepumpe und Warmwasser per Durchlauferhitzer. Darum auch Solaranlage. Im Sommer von ich quasi Selbstversorger.

Doch zurück zur Heizung. Damit der Bus auch weiß ob die Heizung bereits läuft und zur Kontrolle und Optimierung der Heizparameter wollte ich sowohl den Stromverbrauch der Heizung (ca. 4 KW pro Stunde) als auch die Temperaturen im Vor- und Rücklauf messen.

Und das sollte meine erste Erweiterung werden.

Das Projekt gliedert sich in zwei Teile: Einmal die Verbrauchserfassung und einmal die Temperaturen. Beides zusammen wollte ich mit einem Raspberry PI machen.

Zunächst der Verbrauch:
Ich habe mir dazu vom Elektriker einen eigenen Stromzähler in den Sicherungskasten montieren lassen, der nur für die Wärmepumpe da ist. Dieser ist vom Typ DRT428DC und hat einen S0-Ausgang. Hier “morst” der Zähler quasi den Verbrauch. 1000 Impulse = 1 KW. Ich weiß selbst das es kein geeichter Zähler ist, aber für meinen Zweck ist er völlig ausreichend genau. Ich musste also nichts weiter tun als die beiden Ausgänge des Zählers auf z.B. PIN8 des PI zu legen (also einer auf Masse, einer auf den PIN) und mit einem kleinen C++ Programm zählen wieviel Impulse dort pro Sekunde ankommen. Das schreibe ich einfach erstmal in eine MySQL-Datenbank (für spätere Auswertung) und fertig. Das Programm gibts hier: heizungsserver.c
Damit auch der KNX das sofort mitbekommt, schicke ich es dann zusätzlich noch an den Homeserver. Dazu habe ich im GIRA-Experten einen IP-Empfangs-Port aufgemacht.

GIRA Homeserver IP Empfangspaket
GIRA Homeserver IP Empfangspaket
GIRA Homeserver IP Empfangspaket
GIRA Homeserver IP Empfangspaket

 

Jetzt kann ich einfach ein IP-Paket an Port 11108 schicken, welches den Inhalt “WP-Stromverbrauch=X;WP-HK-Vorlauf=Y;WP-HK-Ruecklauf=Z” haben muss. X, Y und Z werden dann in die entsprechenden KNX-Objekte geschrieben und lassen sich in Logiken verwenden oder in der Visu ausgeben.
Damit weiß nun das KNX was die Heizung gerade verbraucht und ob sie aktiv ist (denn dann ist der Verbrauch natürlich höher)

Nun zur Temperatur:
Im Elektronikhandel habe ich mir 1-Wire-Temperatursensoren besorgt. Modell DS18B20. Damit, und mit dem 1-Wire-Framework des PI lässt sich ganz simpel die Temperatur auslesen. Ich habe dann die Sensoren einfach mit etwas Wärmeleitpaste und Kabelbindern am Vor- und Rücklauf befestigt und mit diesem kleinen Perl-Script lese ich die Temperaturen aus und speichere sie auch in der MySQL Datenbank (siehe oben). readtemperatures
Weitere Informationen zur Verdrahtung usw findet man im Internet, z.B. hier http://www.netzmafia.de/skripten/hardware/RasPi/Projekt-Onewire/index.html

Somit habe ich nun alles zusammen, was ich für eine ordentliche Heizungssteuerung brauche:

  1. Außentemperatur (über Wetterstation)
  2. Heizungsstatus an/aus (über Energiezähler)
  3. Temperatur von Vor- und Rücklauf (über 1-Wire Sensoren)
  4. Raumtemperatur über Lichtschalter (ja, die Gira-Lichtschalter haben einen Temperatursensor eingebaut!)

Damit habe ich dann eine Logik im Gira-Experten, für den Homeserver erstellt:

Gira Experte Heizungssteuerung Logik
Gira Experte Heizungssteuerung Logik

Links am Rand sieht man die ganzen Eingänge (grün). Einmal die gemessene Raumtemperatur (RT) als auch die Wunschtemperaturen pro Raum (SOLL). Außerdem gibt es noch einen Sommerbetrieb und eine Möglichkeit den Motorstellwert für jeden Raum zu übersteuern. Die Logik für jeden Raum ist immer gleich: SOLL und IST Temperatur gehen auf den Heizungsregler (vorgefertigte Komponente). Ebenso Sommerbetrieb. Wenn Sommerbetrieb = 1 geht der ganze Regler aus. Der Regler gibt dann eine Prozentzahl aus, wie weit der Motor auf dem Heizungsventil aufmachen soll (0 = zu, 100% = offen). Dieser Wert kann ggf. noch übersteuert werden. Einige Heizkreise (z.B. Wohnzimmer) müssen immer zu 16% offen sein, damit die Wärmepumpe effizient arbeitet. Und der so ermittelte Wert wird dann auf dem Aktor, welcher den Motor steuert, ausgegeben. Fertig! 😉

Zusätzlich habe ich noch für jeden Raum eine Fenster-Offen Logik gemacht. Ja, ich weiß das es bei Fußbodenheizung nicht wirklich Sinn macht (da diese viel zu träge ist), aber ich fands trotzdem toll:

Gira Experte Heizungssteuerung Fenster offen Logik
Gira Experte Heizungssteuerung Fenster offen Logik

Hier sieht man links auch wieder die verschiedenen Eingänge. Die Logik ist etwas umfangreicher: Wenn es draußen unter der eingestellen Heiztemperatur ist (draußen Kalt?) UND das Fenster in dem Raum offen ist (Fenster offen?) UND der Raum noch nicht reduziert ist (Reduziert?) dann starte die Überwachungszeit (Überwachungszeit warten). Wenn diese um ist (bei mir 3 Minuten) und der Raum noch immer nicht reduziert ist, DANN Heizung aus. Wird das Fenster wieder geschlossen, SOFORT Heizung an. Diese Logik gibts für jeden Raum und sie sorgt dafür, dass im Winter die Heizung des entsprechenden Raums zu geht, sobald das Fenster länger als 3 Minuten offen ist.

7 Gedanken zu „Anbindung der Heizung

  1. Kurze Frage. Hättest du statt einem eigenen Stromzähler nicht einfach nur einen Schaltaktor mit Strommessung nehmen können oder hätte das irgendeinen Nachteil?

    Kommentiere
    • Hi Simon. Danke für deine Nachricht.
      Du meinst um zu erkennen wieviel Strom die Heizung verbraucht und ob sie gerade läuft?
      Ich würde dabei folgende Nachteile sehen:
      1. Schalte ich meine Heizung ja nicht einfach an/aus. Warum also ein Aktor?
      2. Vebraucht die Heizung 5KW auf 3 Phasen. Müsste als den gemessenen Verbrauch von 3 Adern addieren. Die Frage ist auch ob die “kleinen” Aktoren solche Ströme schalte können (auf Dauer). Hätte also noch ein Schütz dazwischen packen müssen.
      3. Der Preisunterschied zwischen einem Aktor mit Strommessung und dem günstigen Stromzähler ist enorm!
      Aber wie gesagt: Es ging ja nicht darum die Heizung An/Aus zu schalten (die Elektronik von dem Ding braucht fast 60 Sekunden zum booten) sondern nur den Verbrauch zu messen.
      Daher habe ich mir tatsächlich auch keine Gedanken über einen Aktor gemacht.

      Kommentiere
  2. Sehr interessantes Projekt, ich werde mich in naher Zukunft (wenn die Förderung der PV-Anlage ausläuft) auch mit dem Thema auseinandersetzen müssen, da ich die Heizung im Endausbau (Wärmepumpe mit Solarthermie und Batteriespeicher ) maximal ins KNX einbinden will.
    Allerdings möchte ich komplett auf KNX bleiben, kein Raspberry und auch einen Homeserver möchte ich vermeiden.

    Eigentlicher Grund meines Eintrags: Ich habe mir auch schon Gedanken gemacht bzgl. Heizungsabschaltung bei offenen Fenstern – was bei FBH wirklich sinnlos ist, da der Boden dann noch mehr auskühlt und länger zum wieder aufheizen braucht.
    Mein Lösungsansatz: Außentemperatur < 13°C und Fenster länger als 5min offen erzeugen eine Meldung, die irgendwo aufläuft, wo man sie bemerken kann (ggf. Handy oder Visu mit akustischem Signal…) bei wesentlich niedrigeren Temperaturen kann man den Zeitwert ja auch kürzer wählen und die Meldung zyklisch senden.

    Kommentiere
    • Ja, ich habe darüber auch viel nachgedacht. Allerdings habe ich mir angewöhnt im Winter wirlich nur Stoß-zu-lüften. Daher tritt diese Logik eigentlich kaum in Aktion.
      Wenn ich allerdings in allen Räumen Sprachein-Ausgabe habe, dann könnte ich mir vorstellen das mir das Haus “sagt”, wenn ich irgendwo ein Fenster vergesse.
      Energetisch ist das sicher besser.
      Bzgl. deinem Projekt würde mich mal interessieren, wie du das mit Standard KNX Komponenten umsetzen möchtest. Also welche würdest du nutzen um deine Heizung anzubinden?

      Kommentiere
  3. Pingback: ESP8266 S0 Stromzähler und 1-Wire Temperatursensor « knx und ich

Schreibe eine Antwort

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

Erforderlich