Luxtronik 2.0: Unterschied zwischen den Versionen

Aus FHEMWiki
Zeile 23: Zeile 23:
* '''flowRate''' - Durchfluss in l/h
* '''flowRate''' - Durchfluss in l/h
* '''thermalPower''' - aktuelle Heizleistung (berechnet) in kW
* '''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.''
* '''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.
* '''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.
* '''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.

Version vom 27. April 2014, 09:56 Uhr

Die Luxtronik 2.0 ist eine Heizungssteuerung, welche in Wärmepumpen von Alpha Innotec, Siemens Novelan (WPR NET) 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> [Abfrageinterval]

Link auf FHEM commandref

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

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:

  1. 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.
  2. 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 15 % 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

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 die Temperaturdifferenz, ab der der Unterschied zwischen Haupt- und Nebentarif ausgeglichen wird. Nehmen wir an, sie liegt bei 8 K.

Über das Wettermodul von FHEM kann man nun die aktuelle Aussentemperatur Mo-Fr um 22:00 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 10 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 >=10 || $wday == 6) { fhem( "set Heizung hotWaterTemperatureTarget 43" );; }\
  else { fhem( "set Heizung hotWaterTemperatureTarget 46.5" );; }\
}

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 46.5" );; }\
}
define Boilertemperatur_WE_Normal at *16:00:00 {\
   if ( ReadingsVal("Heizung","hotWaterTemperatureTarget", 42 ) != 42 ) {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" 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" );;} }