Luxtronik 2.0
LUXTRONIK2 | |
---|---|
Zweck / Funktion | |
Anbindung der Heizungssteuerung Luxtronik 2.0 | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Sonstiges |
Modulname | 23_LUXTRONIK2.pm |
Ersteller | tupol |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Die Luxtronik 2.0 ist eine Heizungssteuerung der Firma Alpha Innotec, die in Wärmepumpen von Alpha Innotec, Siemens Novelan (WPR NET), Roth (ThermoAura®, ThermoTerra), Elco, Buderus (Logamatic HMC20, HMC20 Z) und Wolf Heiztechnik (BWL/BWS) verbaut ist. Sie besitzt einen Ethernet Anschluss, so dass sie direkt in lokale Netzwerke (LAN) integriert werden kann.
Hinweise zum Betrieb mit FHEM
Definition in fhem.cfg:
define <name> LUXTRONIK2 <IP-Adresse[:Port]> [Abfrageinterval]
Die Angabe der Portnummer ist optional. Bei einigen Firmware-Versionen sollte der Port 8889 angegeben werden.
Zusätzliche Perl-Module
Das FHEM-Modul benutzt das CPAN-Modul "net::Telnet". Dieses ist standardmäßig auf Fritz!Boxen installiert. Auf anderen Servern muss es eventuell nachinstalliert werden. Unter Debian z.B. mit
sudo apt-get install libnet-telnet-perl
Erläuterung der Readings
Allgemeine Wärmepumpenwerte
- ambientTemperature - Temperatur des Außensensors in °C
- averageAmbientTemperature - Gemittelte Außentemperatur der letzten 24 h in °C (für Heizgrenze im Sommer)
- heatSourceIN - Wärmequelle Eingangstemperatur in °C
- heatSourceOUT - Wärmequelle Ausgangstemperatur in °C
- hotGasTemperature - Heißgastemperatur in °C, Temperatur, die hinter dem Kompressor der Wärmepumpe anfällt
- flowTemperature - Vorlauftemperatur (Rücklauf plus Spreizung) in °C
- returnTemperature - Rücklauftemperatur in °C
- flowRate - Durchfluss in l/h
- thermalPower - aktuelle Heizleistung (berechnet) in kW
- COP - Coefficient Of Performance, Wirkungsgrad der Wärmepumpe (Leistungszahl ε). Eine Leistungszahl von z.B. 4,2 bedeutet, dass von der eingesetzten elektrischen Leistung des Kompressors das 4,2- fache an Wärmeleistung bereitgestellt wird. Anders formuliert, kann mit dieser Wärmepumpe aus einem Kilowatt elektrischer Leistung 4,2 kW Wärmeleistung zur Verfügung gestellt werden. Bei der Berechnung des COPs wird die elektrische Leistung aus dem Attribut "heatPumpElectricalPowerWatt" benutzt.
- deviceTimeCalc - Beim Abrufen der Gerätewerte wird von der Luxtronik-Steuerung auch der Zeitpunkt der internen Ermittlung übergeben.
- delayDeviceTimeCalc - Abweichung Gerätesystemzeit zur FHEM-Zeit. Dieser kann bis zu 2 s in der Vergangenheit liegen. Höhere Werte weisen auf eine ungenaue Systemzeit in der Steuerung hin.
- durationFetchReadings - Dauer (in s) des Abrufes der Gerätewerte von der Steuerung
Heizung
- returnTemperatureTarget - Rücklaufsolltemperatur (wird durch Heizkurve und Außensensor bestimmt, kann über in der Steuerung eingegebene Zeiten und auch manuell gezielt abgesenkt)
- heatingLimit - Heizgrenze wird ausgewertet (on, off)
- thresholdHeatingLimit - Heizgrenze in °C, überschreitet die gemittelte Außentemperatur diesen Wert, wird nicht mehr geheizt
- thresholdTemperatureSetBack - unterschreitet die Außentemperatur diesen Wert, wird die Heizungssolltemperatur nicht mehr abgesenkt
Warmwasserbereitung
- hotWaterTemperature - aktuelle Warmwasser-Boiler-Temperatur in °C (Achtung, die Temperatur im Boiler ist sehr unterschiedliche, es wird also nur die Temperatur am Sensor angezeigt. Typischerweise sackt die Temperaturkurve beim Aufheizen des Boilers etwas ab, weil es durch den Wärmeeintrag zu Strömungen kommt.)
- hotWaterTemperatureTarget - obere Solltemperatur des Boilers
Solarthermie
- solarBufferTemperature
- solarCollectorTemperature
Zähler
- counterHours2ndHeatSource1 - Betriebsstunden der zweite Wärmequelle (normalerweise elektrische Heizstäbe)
- counterHoursHeatPump - Betriebsstunden des Wärmepumpenkompressors
- counterHoursHeating - Betriebsstunden des Wärmepumpenkompressors die zur Heizung benutzt wurden
- counterHoursHotWater - Betriebsstunden des Wärmepumpenkompressors die zur Warmwasserbereitung benutzt wurden
- counterHeatQHeating - von der Wärmepumpe produzierte Wärmemenge (kWh) zur Heizung
(nur bei vorhandenem Wärmemengenzähler und ohne Wärmeeintrag durch zweite Wärmequelle wie z.B. Heizstäbe) - counterHeatQHotWater - von der Wärmepumpe produzierte Wärmemenge (kWh) zur Warmwasserbereitung
(nur bei vorhandenem Wärmemengenzähler und ohne Wärmeeintrag durch zweite Wärmequelle wie z.B. Heizstäbe) - counterHeatQTotal - von der Wärmepumpe produzierte Wärmemenge (kWh) insgesam
(nur bei vorhandenem Wärmemengenzähler und ohne Wärmeeintrag durch zweite Wärmequelle wie z.B. Heizstäbe)
Ein- und Ausgänge
- heatingSystemCircPump - Umlaufpumpe in der Wärmepumpe
- hotWaterCircPumpExtern - Zirkulationspumpe im Warmwasserstrang des Hauses (wenn genutzt)
- hotWaterSwitchingValve - Ventil zur Umschaltung auf die Heizspirale im Boiler
Sonstiges
- Firmware
- typeHeatpump
Tipps zum ökonomischen Betrieb
Grundlage eines ökonomischen Betriebs einer Wärmepumpe ist in erster Linie ein guter hydraulischer Abgleich der Heizwasserverteilung und eine genaue Einstellung der aussentemperaturgesteuerten Heizkurve. Beides ist sowohl von den Bedürfnissen und dem Nutzungsverhalten der Bewohner als auch von der Dämmung des Hauses abhängig.
Insbesondere für Wärmepumpen, die nicht über einen leistungsgeregelten Verdichter verfügen, gibt es den interessanten Ansatz, die Einzelraumregelung und das Überströmventil der Wärmepumpe komplett ausser Betrieb zu nehmen und damit alle Heizkreise als ein "Heizkörper" zu betrachten. Diverse Foreneinträge (z.B. [1]) erzählen von bedeutenden Einsparungen durch Absenken der Solltemperatur und Wärmepumpen-freundlichen Betriebszyklen (lange Taktzeiten) und gehen auch detailiert auf durch die Luxtronik2 betriebene Wärmepumpen ein.
Durch FHEM können die Heizkosten jedoch noch weiter optimiert werden.
Sperrzeiten
Die Luxtronik 2.0 erlaubt es, sich mit Hilfe von Sperrzeiten an zeitabhängige Strompreise anzupassen. Die Uhr der Steuerung geht jedoch sehr ungenau. Durch Setzen des Attributes "autoSynchClock" wird die Uhr der Steuerung regelmäßig mit der FHEM-Zeit abgeglichen. Die Funktion muss über das Attribut "allowSetParameter" freigegeben werden.
attr <device> allowSetParameter 1 attr <device> autoSynchClock 10
Warmwasserbereitung bei Luft-Wasser-Wärmepumpen
Die Kosten der Warmwasserbereitung durch Luft-Wasser-Wärmepumpen hängen von zwei Faktoren ab:
- den Energiekosten: Bei Zweitarifzählern ist der Strom im Nebentarif (z.B. Mo-Fr von 22:00 - 06:00, Sa ab 13:00 und den ganzen So) billiger als im Haupttarif.
- der Lufttemperatur: Die Heizleistung der Wärmepumpe steigt bei höherer Lufttemperatur trotz konstantem Stromverbrauchs.
Die Außentemperatur erreicht ihr Maximum an einem sonnigen Durchschnittstag gegen 15:00 Uhr. Ihr Minimum hat sie kurz vor Sonnenaufgang.
Das FHEM Modul erlaubt es, durch zeitweises Anheben der Solltemperatur ein Aufheizen des Boilers auszulösen.
set <device> hotWaterTemperaturTarget 50
Es gilt nun den kostengünstigsten Zeitpunkt für diesen Vorgang zu bestimmen. Die nachfolgenden Ausführungen setzen voraus, dass Aufgrund der Boilerisolierung und der Boilergrösse nur ein- oder zweimal pro Tag aufgeheizt werden muss. Zur Vereinfachung wird die Abhängigkeit der Wärmeverluste von der Boilertemperatur vernachlässigt.
Bei den aktuellen Wärmepumpentarifen ist der Strom des Haupttarifes etwa 17 % teurer als der des Nebentarifes. Es liegt also nahe, den Boiler in der Woche zu Beginn des Nebentarifes gleich für die nächsten 24 h aufzuheizen, weil dann die Aussentemperatur höher ist und man dann am billigsten und effizientesten die entsprechende Wärme produziert.
# Sollwert 5 K über Standardwert setzen define Boilertemperatur_hoch at *22:05:00 {\ if ($we != 1) { fhem ("set WP hotWaterTemperaturTarget 47");; }\ } # Sollwert auf Standwert zurücksetzen define Boilertemperatur_normal at *23:00:00 set WP hotWaterTemperaturTarget 42
Detailliertere Berücksichtigung der Temperaturabhängigkeit
Damit die Warmwasserbereitung vor 6 Uhr nicht startet, muss die Warmwassertemperatur um 22 Uhr eigentlich nur ausreichend hoch über der Auslöseschwelle liegen. Bei einer Auslöseschwelle von 40 °C und einem Wärmeverlust (statBoilerGradientCoolDownMin) von 0,25 K/h sind dies z.B. 42 °C. Beträgt die Solltemperatur-Hysterese 2 K, so muss um 22 Uhr die Solltemperatur kurzzeitig auf 44 °C angehoben werden bzw. eigentlich nur 2 K oberhalb der aktueller Warmwassertemperatur.
Die obigen 47 °C machen zudem nur Sinn, wenn tagsüber die Effektivitätsverbesserung durch die höheren Außentemperaturen den höheren Strompreis nicht wieder ausgleicht. Zudem muss berücksichtigt werden, dass sich bei höherer Vorlauftemperatur auch die Leistungsaufnahme der Wärmepumpe und damit ihre Arbeitszahl ändert. Diese Veränderung beträgt üblicherweise 2 %/K.
Geht man von einer durchschnittlichen Erhöhung der Vorlauftemperatur von 4 K aus, so erhält man dadurch eine Verschlechterung der Arbeitszahl um 8 %. Das heißt, die 17 % Preisunterschied müssen um den Effektivitätsverlust von 8 % korrigiert werden (1,17/1,08=1,08). In unserem Fall reicht also die Temperaturdifferenz aus, die zu einer 8 % höheren Heizleistung führt.
Die ungefähre, theoretische Temperaturabhängigkeit der Heizleistung erhält man am schnellsten aus den Grafiken der Betriebsanleitung der Wärmepumpe. Empirisch und genauer lassen sich die Wert durch Loggen der Werte thermalPower oder besser statThermalPowerBoiler bestimmen. Liest man die Log-Datei in ein Tabellenkalkulationsprogramm (MS Excel, OO Calc), kann man mit diesem auch gleich eine Regressionsgrade berechnen. Auf diesem Wege erhält man für jede Temperaturdifferenz die prozentuale Änderung der Heizleistung. Nehmen wir an, sie beträgt für 8 % 4 K.
Über das Wettermodul von FHEM kann man nun Mo-Fr um 22:00 die aktuelle Aussentemperatur ambientTemperature mit der maximalen Aussentemperatur des nächsten Tages vergleichen. Rechnen wir noch eine Sicherheit von 2 K hinzu, dann kann man z.B. festlegen, dass ab 5 K Temperaturunterschied und jeden Samstag der Boiler nur noch so weit aufgeheizt wird, dass er bis 06:00 nicht mehr auslöst.
define Boilertemperatur_hoch at *22:05:00 {\ my $delta = ReadingsVal("Wetter","fc2_high_c",0) - ReadingsVal("Heizung","ambientTemperature",0);;\ if ($delta >=5.0 || $wday == 6) {} my $newTemp = int(ReadingsVal("Heizung","hotWaterTemperature",42)*2+5)/2;;\ if ($newTemp<42.0) {$newTemp = 42;;}\ if ($newTemp>44.0) {$newTemp = 44;;}\ fhem( "set Heizung hotWaterTemperatureTarget $newTemp" );;\ }\ else { fhem( "set Heizung hotWaterTemperatureTarget 47" );; }\ }
Mit Hilfe der Sperrzeitensteuerung der Luxtronik 2.0 kann man die nächste, zweite Aufheizung dann erst wieder um 15:00 erlauben, da dann Aufgrund der hohen Aussentemperaturen der Strompreisunterschied mehr als ausgeglichen wird. Natürlich kann das Aufheizen auch hier durch ein gezieltes Anheben der Solltemperatur erreicht werden (z.B. am Wochenende).
define Boilertemperatur_WE_Hoch at *15:00:00 {\ if ($we == 1) {fhem( "set Heizung hotWaterTemperatureTarget 47" );; }\ } define Boilertemperatur_WE_Normal at *16:00:00 {\ if ( ReadingsVal("Heizung","hotWaterTemperatureTarget", 42 ) != 42.0 ) {fhem ("set Heizung hotWaterTemperatureTarget 42");;}\ }
Frostschutz bei Erreichen der Heizungsgrenze
Wenn die mittlere Temperatur "averageAmbientTemperature" die Heizgrenze "thresholdHeatingLimit" überschreitet, so schaltet die Anlage in den Sommermodus, indem sie die Rücklaufsolltemperatur "returnTemperatureTarget" auf 15 °C absenkt.
Allerding gibt es ein undokumentiertes Anheben der Rücklaufsolltemperatur auf 20 °C, sobald die Außentemperatur "ambientTemperature" 10 °C unterschreitet. Ob es bei eine abgekühlten Haus (z.B. wegen Urlaub oder Nachts) dann auch zum ungewollten Heizen kommen kann, ist noch nicht geklärt.
Abschätzung des elektrischen Verbrauches
Über die Attribute "heatPumpElectricalPowerWatt", "heatPumpElectricalPowerFactor" und "heatRodElectricalPowerWatt" wird der elektrische Verbrauch während der Wärmeerzeugungen (Kompressormotor, Motor(en) der Wärmequelle) und der Heizstäbe festgelegt. Ist zudem das Attribute "doStatistics" auf 1 und der Werte "activeTariff" auf einen Wert zwischen 1 und 9 gesetzt, so berechnet das Modul anhand der Betriebsstunden automatisch den elektrischen Verbrauch innerhalb des angegebenen Stromtarifes.
Normalerweise wird eine Wärmepumpe mit einem zeitabhängigen Stromtarif betrieben (Doppeltarifzähler). Hierbei muss der Werte "activeTariff" zum jeweiligen Zeitpunkt über ein FHEM-Script gesetzt werden. Beispiel:
define Strom_HT_W at *06:00 { if ( $wday != 0 ) {fhem( "set Heizung activeTariff 1" );;} } define Strom_NT_W at *22:00 set Heizung activeTariff 2 define Strom_NT_Sa at *13:00 { if ( $wday == 6 ) {fhem( "set Heizung activeTariff 2" );;} }
Firmware
Verhalten der Steuerung
Leider ist die Beschreibung des Steuerungsverhaltens in den Bedienungsanleitungen meist sehr oberflächlich gehalten. Die folgenden Erläuterungen benutzen die Abkürzungen (fett) der Webapplikation der Steuerung.
- Abtauung des Wärmetauschers bzw. Verdampfers bei Luft-Wasser-Wärmepumpen. Es gibt zwei Möglichkeiten:
- Luftabtauung: langsam und energiesparend
- Die Luftabtauung wird nur verwendet, wenn zu Beginn des Abtauens die Temperatur Wärmequelle-Ein oberhalb der Temperatur T-Luftabt. liegt. Hierbei wird der Verdichter abgeschaltet und der Ventilator so lange weiter betrieben, bis die Temperatur Wärmequelle-Aus den Wert T-LABT-Ende erreicht oder die Zeitbegrenzung Luft-Abt. max überschritten wird. Bei Überschreitung der Zeitbegrenzung wird per Kreisumkehr weiter abgetaut.
- Kreisumkehr: schnell und energieintensiv
- Bei der Kreisumkehr wird der Ventilator abgeschaltet und der Verdichter weiter betrieben. Über ein Vierwegeventil (Ausgang AV-Abtauventil) wird der Verdichterkreislauf so umgekehrt, dass dem Heizwasserkreislauf Wärme entzogen und der Luftwärmetauscher (Verdampfer) aufgeheizt wird. Nach 10 Minuten oder beim Ansprechen des Abtauendepressostaten (Eingang ASD) wird der Abtauvorgang beendet.
- Vor dem Start des Abtauens erfolgt eine Durchflussüberwachung. Dabei wird geheizt und die Steuerung prüft, ob der Heizkreislauf genügend Durchfluss hat, um die nötige Wärmemenge für den Abtauvorgang zu Verfügung zu stellen. Die Durchflussüberwachung dauert 8 Minuten. Bei einer Außentemperatur über 5 °C und einer Rücklauftemperatur über 40 °C wird die Durchflussüberwachung auf zwei Minuten gekürzt.
- Die jeweils benötigte Abtauzeit bestimmt die neue Abtau-Zykluszeit.
- Luftabtauung: langsam und energiesparend
- Bivalenz Stufe
- Damit wird über die HRM- und HRW-Zeit das Zuschalten weiterer Wärmequellen gesteuert:
- Stufe 1 = ein Verdichter darf laufen (Bei zwei Verdichtern werden diese in Abhängigkeit der Impulse Verdichter 1/2 abwechselnd verwendet.)
- Stufe 2 = zwei Verdichter dürfen laufen, sofern die Aussentemperatur den Wert Freig. 2.VD unterschritten hat. Statt dem 2. Verdichter kann auch eine parallel betriebene Wärmepumpe freigegeben werden.
- Stufe 3 = zusätzlicher Wärmeerzeuger 1 (ZWE 1, z.B. Heizstäbe oder Kessel) darf mitlaufen, sofern die Aussentemperatur den Wert Freig. ZWE unterschritten hat
- Stufe 4 = zusätzlicher Wärmeerzeuger 2 (ZWE 2, z.B. Heizstäbe) darf mitlaufen, sofern die Aussentemperatur den Wert Freig. ZWE unterschritten hat
- Wenn die Rücklauftemperatur die Rücklauf-Solltemperatur und die maximale Rücklauferhöhung TR Erh max überschreitet, werden sofort alle Wärmeerzeuger abgeschaltet und die Bivalenzstufe 1 gesetzt.
- Wenn in der Heizung die maximale Vorlauftemperatur Vorlauf max. überschritten wird, dann wird sofort ein Kompressor ausgeschalten und die Bivalenzstufe um den Wert 1 reduziert.
- Damit wird über die HRM- und HRW-Zeit das Zuschalten weiterer Wärmequellen gesteuert:
- HRM-Zeit - Heizungsregler Mehr-Zeit
- Die Zeit beginnt zu zählen, wenn die Wärmepumpe heizt und sich die Rücklauftemperatur unterhalb des Einschaltkriteriums (Rückl.Soll - Hyterese HR) befindet.
- Überschreitet diese Zeit einen bestimmten Wert, so wird in die nächst höhere Bivalenzstufe geschaltet, um zusätzliche Wärmeerzeuger zu aktiviert.
- Die Bivalenzstufe 2 (zwei Verdichter) wird nach der HR Zeit (Standard 25 min) erreicht.
- Die Bivalenzstufe 3 (ZWE 1) wird nach der Zeit Freig. ZWE (Standard 60 min) erreicht.
- Die Bivalenzstufe 4 (ZWE 2) wird nach 120 min erreicht.
- HRW-Zeit - Heizungsregler Weniger-Zeit
- Die Zeit beginnt zu zählen, wenn die Wärmepumpe heizt und sich die Rücklauftemperatur oberhalb des Ausschaltkriteriums (Rückl.Soll + Hyterese HR) befindet.
- Überschreitet diese Zeit einen bestimmten Wert (jeweils 15 min), so wird in die nächst niedrigere Bivalenzstufe geschaltet, um zusätzliche Wärmeerzeuger wieder zu deaktivieren.
- SSP-Zeit - Ablaufzeit der Schaltspielsperre
- Es gibt zwei SSP-Ablaufzeit. Sie verzögern das erneute Starten des Verdichters für:
- 20 min ab letztem Einschaltzeitpunkt des Verdichters, um die Belastung des Stromnetzes durch den erhöhten Anlaufstrom zu reduzieren.
- 5 min ab letztem Ausschaltzeitpunkt des Verdichters, um den Verdichterkreislauf zu schonen.
- Das heisst, der Verdichter startet frühestens 20 min nach dem letzten Start, resp. 5 min nach dem letzten Stop. Es gibt maximal 3 Anläufe pro Stunde.
- Es gibt zwei SSP-Ablaufzeit. Sie verzögern das erneute Starten des Verdichters für:
Firmware Bugs
- im Aufbau, bitte ergänzen -
Aktuelle Firmware
Die aktuelle Firmware gibt es hier