Release 2.3¶
Zuletzt geändert am 21.03.2026
⚠️ Vor dem Update: Erstelle ein Backup deiner Home Assistant Konfiguration (Verzeichnis
config/) sowie derlambda_wp_config.yaml. Dieses Release enthält einen Breaking Change, der Entity-IDs verändern kann.
Breaking Changes¶
Name-Prefix-Normalisierung (fcd9a83)¶
Die Hilfsfunktion normalize_name_prefix konvertiert den konfigurierten name_prefix jetzt automatisch zu Kleinbuchstaben und entfernt Leerzeichen. Das betrifft alle Entity-IDs und unique_ids.
Wer ist betroffen: Wer einen name_prefix mit Großbuchstaben oder Leerzeichen konfiguriert hatte (z. B. "EU08L" oder "Lambda WP"), bekommt geänderte Entity-IDs. Bestehende Automationen, Dashboards und Template-Sensoren, die auf die alten Entity-IDs referenzieren, müssen angepasst werden.
Neue Sensoren¶
Vorlauftemperatur-Sollwert (bf47d5a)¶
Neuer Sensor hp_flow_line_temperature_setpoint für den berechneten Vorlauf-Sollwert der Wärmepumpe. Mit deutschen und englischen Übersetzungen, Aufnahme in das Modbus-Register-Dashboard.
COP-Sensoren: Arbeitszahlen Heizen / Kühlen / Warmwasser (1479540, 4650ec5, 1a4ac91)¶
Neue Sensoren für die Arbeitszahl (Coefficient of Performance):
- Perioden: stündlich, täglich, monatlich, gesamt
- Modi: Heizen, Kühlen, Warmwasser
- Berechnung aus thermischem Energieertrag und elektrischem Verbrauch
- Vollständige Übersetzungen (DE/EN)
Thermische Energieverbrauchs-Sensoren (9dda198)¶
Tracking der abgegebenen Wärmeenergie (thermischer Output) pro Wärmepumpe:
- Täglich / Monatlich / Gesamt / Gestern
- Optional aus eigenem externen Quellsensor konfigurierbar (z. B. Wärmemengenzähler)
- Ergänzt die bereits vorhandenen elektrischen Verbrauchssensoren
Kompressorstarts Gestern (55f979b, 477b743)¶
Neuer Sensor compressor_start_cycling_yesterday zur Auswertung von Kompressorstarts des Vortags. Vollständige Übersetzungen (DE/EN).
Neue Konfigurationsoptionen¶
Konfigurierbarer Quellsensor für thermische Energie (d5c8d4e, 9dda198)¶
In der lambda_wp_config.yaml kann pro Wärmepumpe optional ein eigener Quellsensor für die thermische Energie angegeben werden:
energy_consumption_sensors:
hp1:
sensor_entity_id: "sensor.mein_stromzaehler" # elektrisch (Pflicht)
thermal_sensor_entity_id: "sensor.mein_waermezaehler" # thermisch (optional)
Ohne Angabe wird der Lambda-interne Modbus-Sensor (compressor_thermal_energy_output_accumulated) verwendet.
Weitere Informationen: lambda_wp_config.yaml – Energieverbrauchs-Sensoren
Verbesserungen¶
ResetManager: Zentralisierte Reset-Logik (f6af7ff)¶
Alle Reset-Automationen (täglich, 2h, 4h, monatlich, jährlich) wurden in eine dedizierte ResetManager-Klasse ausgelagert. Sensoren abonnieren nur noch die für sie relevanten Reset-Signale. Das verhindert unnötige Resets und vereinfacht die interne Logik.
Energie-Persistenz: Werte bleiben nach HA-Neustart erhalten (28862bd)¶
Der Coordinator speichert den Zustand der Energieverbrauchssensoren persistent. Nach einem HA-Neustart oder Integration-Reload werden die Werte aus dem internen Speicher wiederhergestellt, statt auf 0 zurückzufallen.
Energie-Konsistenzprüfung (8186f6e)¶
Tages-, Monats- und Jahreswerte werden beim Restore und bei Resets auf Konsistenz geprüft: Ein Vortages-/Vormonatswert kann den aktuellen Gesamtwert nie übersteigen. Das verhindert negative Differenzen und fehlerhafte Statistiken in HA.
Reset-Sequenz: Yesterday vor Daily (1a4ac91)¶
Die Reset-Reihenfolge wurde korrigiert: yesterday-Sensoren werden jetzt vor dem täglichen Reset des laufenden Zählers aktualisiert. So stimmt der _yesterday-Wert immer mit dem tatsächlichen Vortagesverbrauch überein.
Energieberechnung korrigiert (d5c8d4e)¶
Die Berechnung der täglichen, monatlichen und jährlichen Energiedifferenzen liest Ausgangswerte jetzt direkt aus den registrierten HA-Entities statt aus internen Hilfsvariablen. Dadurch werden Inkonsistenzen nach Reloads vermieden.
Interne Refactorings¶
const.py aufgeteilt in drei Dateien¶
Die 2.600-Zeilen-Datei const.py wurde in drei eigenständige Module aufgeteilt:
| Datei | Inhalt |
|---|---|
const_base.py |
Grundkonstanten, Retry-Parameter, Zustandstabellen |
const_sensor.py |
Alle Sensor-Templates (Modbus-Sensoren) |
const_calculated_sensors.py |
Templates für berechnete Sensoren (Energie, COP, Zyklen) |
const.py importiert jetzt nur noch aus diesen drei Dateien und re-exportiert alles – keine Änderung an der öffentlichen API.
cycling_sensor.py entfernt¶
Die Datei war bereits leer und wurde aus dem Repository entfernt.
Per-Entry-Reload-Locks (K-02)¶
Der globale _reload_lock und das globale _reload_in_progress-Flag wurden durch pro-Entry-Locks (_entry_reload_locks, _entry_reload_flags) ersetzt. Dadurch blockiert ein laufender Reload von Entry A nicht mehr den Reload von Entry B.
Template-Setup-Task gespeichert (K-01)¶
Der Hintergrund-Task für das Setup von Template-Sensoren (hass.async_create_task(setup_templates())) wird jetzt in coordinator_data["template_setup_task"] gespeichert, damit er beim Unload sauber abgebrochen werden kann.
Flankenerkennung compressor_start_cycling: RESTART-BLOCK statt START COMPRESSOR¶
Der Zähler compressor_start_cycling reagiert jetzt auf den Übergang in HP-State 2 (RESTART-BLOCK) statt in State 5 (START COMPRESSOR).
RESTART-BLOCK ist der Sperrzeit-Zustand nach einem abgeschlossenen Kompressorlauf (Mindestpause zwischen zwei Starts). Damit wird ein abgeschlossener Zyklus gezählt, nicht ein gestarteter – robuster und semantisch korrekter.
Entity-Cleaner überspringt config_parameter_-Sensoren¶
Der Duplikat-Cleanup (async_remove_duplicate_entity_suffixes in migration.py) erkannte Sensoren wie sensor.eu08l_hp1_config_parameter_24 fälschlicherweise als HA-Duplikate (Regex _\d+$ matched das Suffix _24). Sensoren mit config_parameter_ im Namen werden jetzt in beiden Sammel-Phasen übersprungen.
Logging: f-Strings durch %s-Format ersetzt (M-02)¶
Über 130 _LOGGER.xxx(f"…") Aufrufe in coordinator.py, sensor.py und utils.py wurden auf die HA-konforme %s-Schreibweise umgestellt. Das ermöglicht lazy evaluation (String wird nur formatiert, wenn der Log-Level aktiv ist).
Redundante _unique_id-Attribute entfernt (M-03)¶
In LambdaCyclingSensor, LambdaEnergyConsumptionSensor und LambdaThermalEnergySensor wurden die redundant doppelt gesetzten Attribute self._unique_id und die überschreibende unique_id-Property entfernt. self._attr_unique_id (HA-Standard) ist jetzt die einzige Quelle.
Fixes¶
Modbus int16-Vorzeichenkonvertierung (e11ad7d)¶
Korrektur der Konvertierung von vorzeichenbehafteten 16-Bit-Registerwerten (Two's Complement). Neue Hilfsfunktion clamp_to_int16 verhindert Überlauf bei der Umwandlung.
Raumthermostat-Offset + Modbus-Konvertierung (208e358)¶
Der konfigurierbare Offset-Bereich für den Raumthermostat wurde korrigiert. Gleichzeitig wurde die Modbus-Konvertierung für vorzeichenbehaftete Werte angepasst.
maximum_boiler_temperature aus Sensor-Templates entfernt (2f5031a)¶
Der Sensor maximum_boiler_temperature liest dasselbe Modbus-Register wie target_high_temperature und wurde aus den Templates entfernt, um Duplikate zu vermeiden.
Dashboard-Vorlagen¶
Lambda Heizkurven-Card (0872146)¶
Lovelace-Custom-Card zur Darstellung der Heizkurve:
- X-Achse: Außentemperatur (−22 °C bis +22 °C), Y-Achse: Vorlauftemperatur
- Linie durch drei Stützpunkte, aktueller Betriebspunkt als roter Punkt
- Reines JavaScript-Modul, keine externen Bibliotheken
- Dokumentation: Vorlagen → Lambda_heizkurve_card
Lambda Energy Dashboard (8186f6e, 2f88eb4)¶
YAML-Vorlage für ein vollständiges Energie-Dashboard:
- Tabs: Aktuell, Tagesverbrauch, Monatsverbrauch, Jahresverbrauch
- Neuer Tab „Lambda Taktungen" mit täglichen, monatlichen und Gesamt-Zählern für Heizen, Warmwasser, Kühlen, Abtauen und Kompressorstarts
- Dokumentation: Vorlagen → Lambda_energy_dashboard