HLK Einzelraum Temperaturregler

In vielen bestehenden Häuser wird die Heizung nur über die Vorlauftemperatur geregelt. In der Hoffnung, dass bei der Inbetriebnahme der hydraulische Abgleich (siehe Wikipedia) korrekt durchgeführt wurde…

In diesem Blog beschreibe ich eine Lösung, welche mit minimalem Verdrahtungsaufwand eine Einzelraum Temperaturregelung umgesetzt wird. Damit ist man nicht nur unabhängiger vom hydraulischen Abgleich, sondern heizt jeden Raum bedarfsgerecht und Energie optimiert.

Es braucht keine Raumbediengeräte, da die Solltemperatur sowie alle Statusinformationen über Home Assistant verfügbar sind.

Die konventionellen Lichtschalter werden mit KNX Tastern, welche einen integrierten Temperatursensor haben, ersetzt. Das ist der einzige Verdrahtungsaufwand – KNX Kabel einziehen.

Die Stellantriebe sind autark (Stromversorgung über Energy Harvesting) und werden per Enocean Funk in die Gebäudeautomation eingebunden.

Damit das funktioniert brauchst Du folgende Geräte:

  • Micropelt Enocean Stellantrieb MVA005
  • KNX Taster mit Temperatursensor
  • Weinzierl KNX/Eno Gateway 636
  • …und natürlich Home Assistant

Der Stellantrieb kann den Durchfluss auf Null begrenzen. Es muss sichergestellt werden, dass immer ein Bypass offen ist, damit die Pumpe nicht kaputt geht. Am einfachsten wird das erreicht, wenn ein Radiator (z.B. im Flur an der Nordseite) keinen Stellantrieb erhält. So ist mindestens an diesem einen Radiator immer ein Durchfluss gewährleistet. Eine drehzahlgeregelte Pumpe ist zu empfehlen, zum Beispiel Grundfos Alpha 2.

Für die Montage der Stellantriebe braucht es am Heizkörper ein Standardventilanschluss M30x1,5.

Geräte und Produkte Links anzeigen
Micropelt MVA005
Weinzierl KNX/ENO 636
Feller Edizio KNX Taster

Grundfos Alpha 2 – Vor Bestellung, Rohrdurchmesser und Länge prüfen!


Beispiel

In 4 Schritten entsteht die Konfiguration:

  1. KNX Taster konfigurieren (ETS)
  2. KNX/Eno Gateway konfigurieren (ETS)
  3. Stellantrieb MVA005 einlernen
  4. Integration in Home Assistant

Micropelt bietet auch Stellantriebe welche über Lora integriert werden, siehe LoRaWan Heizlösung.


Anleitung

Vorbedingung: die KNX Geräte wurden vom Fachmann installiert.

KNX Taster konfigurieren

Feller Edizio

Es kann ein beliebiger KNX Taster mit integriertem Temperatursensor verwendet werden. Zu beachten ist nur die Temperaturhysterese bei welcher ein Telegramm gesendet wird.

Parameter Feller Edizio Raumtemperaturmessung

KNX/ENO Gateway konfigurieren

Weinzierl KNX/ENO 636

Es gibt auch andere KNX/ENO Gateways von Weinzierl, bei der Auswahl ist darauf zu achten, dass das Enocean Profil vom Micropelt Stellantrieb unterstützt wird. Beim MVA005 ist es das Profil A5-20-06.

Der Regler hat ein Eingang «Präsenz». Dieser Eingang muss regelmässig einen «1» empfangen, sonst schaltet er nach dem Ablauf der Nachlaufzeit in die Nachtabsenkung. Die Nachtabsenkung hat jedoch auch einen eigenen Eingang und kann bewusst geschaltet werden. Damit die Nachlaufzeit des «Präsenz» Eingangs nicht aktiv wird, wird das Präsenzsignal zyklisch gesendet ohne eine Anwesenheit von Personen. Weil es ca. 2h dauert bis die Heizung von der Nachtabsenkung wieder auf der Normaltemperatur ist, kann sich einen Anwesenheitserkennung negativ auf den Komfort auswirken.

Stellantrieb Integration und Regler in einem Gerät

Mit dem KNX/ENO 636 können 32 Kanäle individuell konfiguriert werden. Es bietet nicht nur die Integration von Enocean Geräten, sondern auch Logikfunktionen und Regler. In meiner Lösung ist immer je ein Kanal als Integration des Stellantriebs, der nächste Kanal als Regler konfiguriert.

Ich möchte:

  • Den Raum auf eine Solltemperatur geregelt haben
  • In der Nacht eine Absenkung der Raumtemperatur von 2°C
  • Im Sommer das Funkintervall auf 8h setzen
  • Den aktuellen Status erfassen von:
    • Batteriestatus des Stellantriebs
    • Der Vorlauftemperatur am Heizkörper

Konfiguration Stellantrieb MVA005 auf KNX/ENO 636

Der Kanal 19 des KNX/Enocean Gateways wird für den Stellantrieb (Enocean Profil A5-20-06) konfiguriert.

Kommunikationsobjekte Stellantrieb MVA005
Parameter Stellantrieb MVA005

Konfiguration Raumregler auf KNX/ENO 636

Der Kanal 20 wird als Raumregler verwendet.

Kommunikationsobjekte Raumregler für Stellantrieb
Parameter für Raumregler

Übersicht der verwendeten Gruppenadressen

«HLK System Präsenz» bewirkt das gleiche wie HLK System Nacht. Leider kann der Präsenz Eingang im KNX/ENO Gateway nicht deaktiviert werden. Deshalb schicke ich zyklisch eine «1» auf dieses Kommunikationsobjekt. Die Nachtabsenkung wird nur über «HLK System Nacht» aktiviert. So kann sie direkt aktiviert werden, ohne das eine Nachlaufzeit ablaufen muss.

Gruppenadressen für Raum

Gruppenadressen für ganzes Haus


Stellantrieb MVA005 einlernen

Micropelt MVA005

Der Enocean Stellantrieb muss am KNX/ENO Gateway eingelernt werden (teach-in). Das kann man entweder über die Tasten am KNX/ENO Gateway direkt machen (Anleitung siehe Manual) oder über eine Zusatzsoftware von Weinzierl «ENO Tool» (download auf der gleichen Seite wie das Manual).

Das ENO Tool ist aus meiner Sicht komfortabler, deshalb beschreibe ich diesen Weg.

Weinzierl ENO Tool mit KNX/ENO Gateway verbinden

  1. Modus gemäss Einstellungen KNX/IP Gateway setzen, hier «tunneling»
  2. IP Adresse von KNX/IP Gateway eingeben
  3. Port von KNX/IP Gateway eingaben
  4. Auf «Verbinden» klicken
  5. KNX Geräteadresse von KNX/ENO Gateway eingeben
  6. Remoteverbindung klicken
  7. Ein in ETS konfiguriertes Gerät ist sichtbar, jedoch noch nicht eingelernt. Deshalb ist die ID auf FF FF FF FF

Teach-in von Micropelt Stellantrieb

  1. «Interaktive Fernbedienung» im ENO Tool öffnen
  2. Den entsprechenden Kanal wählen (auf dem Screenshot ist das Gerät bereits eingelernt)
  3. Am Stellantrieb das Stellrad nach Links oder Rechts bis Anschlag drehen und für mindestens 5 Sekunden halten, bis die grüne LED 1x blinkt
    • Erfolgreich eingelernt: grüne LED blinkt 1x
    • Fehler beim Einlernen: rote LED blinkt 3x

Der eingelernte Stellantrieb ist nun im ENO Tool sichtbar.


Montage und Referenzfahrt

Der Stellantrieb geht erst nach der Referenzfahrt in den Normalbetrieb.

  1. Stellantrieb an Heizkörper montieren
  2. Stellrad nach Links oder Rechts kurz drücken < 1s
  3. Der Antrieb führt eine Referenz aus und geht in den Normalbetrieb über
    • Erfolgreiche Referenzfahrt: grüne LED blinkt 1x
    • Fehler bei Referenzfahrt: rote LED blinkt 3x

Weitere Informationen sind auf der MVA005 Webpage verfügbar.


Integration in Home Assitant

Integration KNX Geräte

Raumregler einbinden

Die Home Assistant Integration Climate wird verwendet um die Raumregler einzubinden. Die KNX Gruppenadressen werden mit einer Climate Entität verknüpft.

configuration.yaml

knx:
  climate: 
    #----------------------- Integration von Raumregler EG_Eingang -----------------------
    - name: "EG Eingang"
      temperature_address: "2/1/0" # Ist Temperatur (von Taster Eingang) - required
      target_temperature_address: "2/1/6" # Soll Temperatur (von HA) - optional
      target_temperature_state_address: "2/1/6" # Abfrage Soll Temperature - required
      min_temp: 15.0
      max_temp: 28.0
      temperature_step: 0.5
      on_off_address: "2/1/7" # Regler EIN/AUS - optional
      command_value_state_address: "2/1/2" # Ist Position Regler - optional

Card configuration:

type: thermostat
entity: climate.eg_eingang

Screenshot:


Nachtabsenkung

Die Motivation für die Nachtabsenkung ist weniger eine Energieoptimierung, sondern mehr der Schlafkomfort.

  1. Binary Sensor «hlk_system_nacht» erstellen, zwischen 22:00 Uhr und 04:00 Uhr ist die Nachtabsenkung aktiv
  2. Wert von Binary Sensor auf KNX Gruppenadresse ausgeben

configuration.yaml

template:
  - binary_sensor:
    # ----------------------- HLK Nachtabsenkung --------------------------
      - name: hlk_system_nacht
        unique_id: hlk_system_nacht
        icon: mdi:star-shooting
        state: >
          {# define before time in minutes after midnight #}
          {% set t_str = "04:00" %}
          {% set hours, minutes = t_str.split(":")  %}
          {% set day_minutes_before = (hours | int) * 60 + (minutes | int) %}
          {# define after time in minutes after midnight #}
          {% set t_str = "22:00" %}
          {% set hours, minutes = t_str.split(":")  %}
          {% set day_minutes_after = (hours | int) * 60 + (minutes | int) %}
          {# get day time in minutes from actual time #}
          {# % set t = now() % #}
          {% set day_minutes_now = now().hour * 60 + now().minute %}
          {# check night if now > after or now < before #}
          {{ day_minutes_now > day_minutes_after or day_minutes_now < day_minutes_before }}
         
knx:
  expose:
    # ----------------------- Nacht Wert für HLK -> Nacht = 1 --------------------------
    - type: 'binary'
      entity_id: 'binary_sensor.hlk_system_nacht'
      address: "0/1/3"

Entities Card Configuration:

type: entities
entities:
  - entity: binary_sensor.hlk_system_nacht
  - entity: input_boolean.hlk_system_sommer
title: Timing
show_header_toggle: false
state_color: true

Screenshot:

HLK Sommer setzt den Stellantrieb in den Sparmodus, Funkintervall auf 8h. Die Detektion Sommer/Winter habe ich über eine Automation gemacht, welche die eingeschaltete Heizung erkennt. Der Zustand wird dann wieder über KNX Expose auf die Gruppenadresse ausgegeben.


Smarte Heizungsteuerung

Es gibt unterschiedliche Aussagen wie viel Energie mit einer Raumregelung eingespart wird. Es soll bis 25% möglich sein (Quelle: EMPA selbstlernende Heizungssteuerung). Der Energiebedarf ist jedoch sehr stark vom Energiestandard des Gebäudes abhängig. Auch wenn die Einsparung lediglich im einstelligen Prozentbereich sind, so werden sie mit einem gleichzeitig erhöhten Raumkomfort erreicht, und ist deshalb aus meiner Sicht ein «Muss» bei der Gebäudesanierung :-).

Bei Radiatoren als Heizkörper im Einfamilienhaus braucht es keine selbst lernende Algorithmen. Die Radiatoren sind viel agiler als eine Bodenheizung und stellen die Temperatur innert wenigen Stunden ein.

Eine hohe Sonneneinstrahlung kann über die Home Assistant Integration Solar Forcast ermittelt werden (sensor.energy_next_hour). Das reicht um die Nachtabsenkung bei hoher Sonneneinstrahlung aktivieren und so einfach die Heizleistung bei genügend Sonne über eine bereits vorhandene Entität zu senken.

Bei welcher Schwelle die Absenkung der Temperatur erfolgen soll ist sehr vom Standort und der Ausrichtung des Hauses abhängig, und muss deshalb individuell ermittelt werden.


Status Information Stellantrieb und Raumregler

Die Vorlauftemperatur und der Batteriestatus kann über einfach über KNX Gruppenadressen integriert werden.

configuration.yaml

knx:
  - binary_sensor:
    #----------------------- Batteriestatus Stellantrieb EG Eingang -----------------------
    - name: "EG Eingang Stellantrieb Batterie schwach"
      device_class: battery  # on means low, off means high
      state_address: "2/1/4"
  - sensor:
    #----------------------- Vorlauftemperatur Stellantrieb EG Eingang -----------------------
    - name: "Eingang EG Temperatur Aktor"
      state_address: "2/1/1"

Um alle Werte übersichtlich darzustellen, habe ich die custom-banner Card verwendet. Diese ist auf Github verfügbar: Custom-Banner Card Github.

Custom-banner
type: custom:banner-card
heading:
  - Eingang
link: eingang
entities:
  - entity: sensor.eg_eingang_temperatur
    name: Temp Ist
  - entity: climate.eg_eingang
    attribute: temperature
    name: Temp Soll
    unit: °C
  - entity: climate.eg_eingang
    attribute: hvac_action
    name: Heizung
  - entity: binary_sensor.eg_eingang_stellantrieb_batterie_schwach
    name: Low Batterie
  - entity: climate.eg_eingang
    attribute: command_value
    name: Aktor Pos
    unit: '%'
  - entity: sensor.eg_eingang_temperatur_aktor
    name: Vorlauf Temp