NEWS
Test Luxtronik2-Controller V0.10.x
-
0.7.2 (2026-09-07)
Bugfixes
-
(Fixed) Unintended Configuration Overwrites: Fixed a critical architectural flaw where the adapter blindly forced default values (e.g., hot water target temperature, heating curve) to the heat pump on every startup. The adapter is now 100% passive (read-only) upon installation until features are explicitly enabled.
-
(Fixed) Strict Opt-In Logic: All internal condition checks for background automations (cycle optimization, ZIP optimization, idle resets) were refactored to strict opt-in logic (=== true), preventing unintended actions when settings have never been saved.
-
(Fixed) Live Toggle for Cycle Optimization: Fixed an issue where the ioBroker switch Actions.Regelung_Aktiv was ignored during runtime. The optimization loop now evaluates this switch dynamically, allowing users to toggle the feature live via their dashboard.
-
(Fixed) Hardware ZIP Timer Disable: Fixed a bug where a mismatched configuration key (zip_hardware_timer_disable instead of zip_lWP_aktiv) prevented the adapter from correctly disabling the hardware circulation pump timer for flash memory protection.
-
(Fixed) "Heating after hot water" Reset: Restored missing logic that properly resets the "Heating after water" status back to false at the end of a cycle, preventing the system from getting stuck in this mode.
Features & Change
- (Changed) Forced DHW Safety Limit: Reduced the internal safety limit for temporary hot water target adjustments during forced DHW runs from 75°C to 70°C to better protect the system's high-pressure switch.
0.7.1 (2026-09-07)
Bugfixes
-
(Fixed) Status Display: Fixed a logical evaluation bug where the operating state "Heating" (Code 0) was incorrectly overwritten and displayed as "No demand" (Code 5). Thanks to @michiproep for reporting!
-
(Fixed) Temperature Values: Fixed a related issue where temperature readings of exactly 0 °C (e.g., average temperature, return target temperature, cooling release) were incorrectly replaced by internal fallback values (e.g., 1.5 °C).
-
-
0.7.3 (2026-09-07)
Bugfixes
-(Fixed) Timer Table Register Conflict: Resolved conflicting Luxtronik register IDs for Domestic Hot Water (DHW) Monday–Sunday schedules (WW_MoSo_Start1 to End5). These were previously mapped to registers 507–516 (colliding with Circulation timer registers) and have now been corrected to registers 406–415.-(Fixed) Time-String Conversion on State Change: Fixed a parsing bug where manual updates to time strings (HH:MM / HH:MM:SS) on states marked with isDurationFormat or time-related roles were passed directly as strings instead of converting to seconds since midnight, preventing user-entered schedule values from persisting in the controller.
-
Ich habe eventuell einen Bug gefunden bin mir aber etwas unsicher ob es doch an etwas anderem lag. Ich habe letzte Woche die Hysterese Warmwasser auf 6k aktiviert hatte den Wert in die Historie gepackt. Als ich heute reingeschaut habe war er wieder bei 10k was mich extrem gewundert hat. Das einzige was die Logs vor einer Woche hergegeben hatten war die Tatsache das ich den Adapter zwischen Info / Silly umgestellt hatte. Gibt es eine Möglichkeit das der Adapter zuerst schreibt und danach einliesst und so eventuell einen alten Wert reinschreibt? Ich hatte den Wert nämlich direkt an der WP geändert und nicht über den Adapter und vorher war dieser Wert auf 10k eingestellt.
-
Guten Morgen @smolo,
vielen Dank für die Meldung! 🙏🏻
Das fehlerhafte Verhalten wurde in der Version 0.7.2 behoben. Vorher wurden bei einem Neustart der Instanz fälschlicherweise die Standardwerte gesetzt, selbst wenn die Regelung deaktiviert war (Danke an @michiproep für den Hinweis!).
Bitte installiere dir das Update auf die 0.7.2. Könntest du danach kurz prüfen, ob bei dir wieder alles wie gewünscht läuft? Danke dir!
-
Guten Morgen @smolo,
vielen Dank für die Meldung! 🙏🏻
Das fehlerhafte Verhalten wurde in der Version 0.7.2 behoben. Vorher wurden bei einem Neustart der Instanz fälschlicherweise die Standardwerte gesetzt, selbst wenn die Regelung deaktiviert war (Danke an @michiproep für den Hinweis!).
Bitte installiere dir das Update auf die 0.7.2. Könntest du danach kurz prüfen, ob bei dir wieder alles wie gewünscht läuft? Danke dir!
Guten Morgen @smolo,
vielen Dank für die Meldung! 🙏🏻
Das fehlerhafte Verhalten wurde in der Version 0.7.2 behoben. Vorher wurden bei einem Neustart der Instanz fälschlicherweise die Standardwerte gesetzt, selbst wenn die Regelung deaktiviert war (Danke an @michiproep für den Hinweis!).
Bitte installiere dir das Update auf die 0.7.2. Könntest du danach kurz prüfen, ob bei dir wieder alles wie gewünscht läuft? Danke dir!
Ist schon gestern passiert. Danke für die Korrektur.
Eventuell noch eine Anregung/Idee. Es wäre doch schön wenn man für sensible Konfigurations-Basiswerte die Historisierung der Objekte direkt aktivieren kann. So hat man dann wenigstens die Möglichkeit nachzuschauen falls etwas "schief" läuft.
-
Servus TbsJah,
erst einaml vielen Dank für deine Arbeit und diesen deutlich besseren Adapter für die Luxtronik Steuerung!!!! Da habe ich lange drauf gewartet

Ich teste aktuell luxtronik2-controller v0.7.3 an einer Alpha Innotec LWCV 82.Anlage:
- Wärmepumpe: LWCV 82
- Luxtronik Software: V3.92.3
- Verbindung: TCP Port 8889
- Adapter: luxtronik2-controller 0.7.3
- Node.js: v22.23.2
- js-controller: 7.2.2
Die Verbindung und das Auslesen der Daten funktionieren grundsätzlich.
Allerdings erhalte ich regelmäßig folgende Warnungen:
State value to set for "luxtronik2-controller.0.Settings.04_HUP.heating_system_circ_pump_voltage_nominal" has value "1" less than min "3" State value to set for "luxtronik2-controller.0.Settings.04_HUP.heating_system_circ_pump_voltage_minimal" has value "1" less than min "3"Ein RAW-Dump liefert:
[RAW 3003] Index 867 = 100 [RAW 3003] Index 868 = 100Die daraus erzeugten ioBroker-States sind jeweils:
heating_system_circ_pump_voltage_nominal = 1 heating_system_circ_pump_voltage_minimal = 1Im Webinterface der Luxtronik werden gleichzeitig unter Ausgänge
AO 1 = 10.00 V AO 2 = 10.00 V HUP = 0.0 %angezeigt.
Daher meine Frage: Kann es sein, dass Register 867/868 bei der LWCV 82 mit Faktor 0,1 statt 0,01 skaliert werden müssen?
Dann würde RAW 100 → 10,0 V ergeben statt aktuell 1,0 V. Das würde auch besser zum definierten Mindestwert von 3 V passen.Mir ist allerdings nicht klar, ob AO1/AO2 im Webinterface tatsächlich direkt den Registern 867/868 entsprechen. Vielleicht unterscheidet sich das Mapping bei der LWCV-Serie.
Falls weitere RAW-Werte oder Informationen zur Anlage benötigt werden, kann ich die gerne liefern.
VG
MrMorpheus -
Gute Idee mit dem neuen Adapter. Ich nutze ebenfalls den originalen Adapter von @unclesam mit einer 13 Jahre alten Novellan WP aber nur lesend. Bei solchen alten Steuerungen möchte ich gar nicht in den Flash Speicher schreiben, der hat eine begrenzte Lebensdauer. Gibt es dazu Erfahrungen? Am liebsten wäre mir eine Option für einen read-only Adapter Modus.
-
Servus TbsJah,
erst einaml vielen Dank für deine Arbeit und diesen deutlich besseren Adapter für die Luxtronik Steuerung!!!! Da habe ich lange drauf gewartet

Ich teste aktuell luxtronik2-controller v0.7.3 an einer Alpha Innotec LWCV 82.Anlage:
- Wärmepumpe: LWCV 82
- Luxtronik Software: V3.92.3
- Verbindung: TCP Port 8889
- Adapter: luxtronik2-controller 0.7.3
- Node.js: v22.23.2
- js-controller: 7.2.2
Die Verbindung und das Auslesen der Daten funktionieren grundsätzlich.
Allerdings erhalte ich regelmäßig folgende Warnungen:
State value to set for "luxtronik2-controller.0.Settings.04_HUP.heating_system_circ_pump_voltage_nominal" has value "1" less than min "3" State value to set for "luxtronik2-controller.0.Settings.04_HUP.heating_system_circ_pump_voltage_minimal" has value "1" less than min "3"Ein RAW-Dump liefert:
[RAW 3003] Index 867 = 100 [RAW 3003] Index 868 = 100Die daraus erzeugten ioBroker-States sind jeweils:
heating_system_circ_pump_voltage_nominal = 1 heating_system_circ_pump_voltage_minimal = 1Im Webinterface der Luxtronik werden gleichzeitig unter Ausgänge
AO 1 = 10.00 V AO 2 = 10.00 V HUP = 0.0 %angezeigt.
Daher meine Frage: Kann es sein, dass Register 867/868 bei der LWCV 82 mit Faktor 0,1 statt 0,01 skaliert werden müssen?
Dann würde RAW 100 → 10,0 V ergeben statt aktuell 1,0 V. Das würde auch besser zum definierten Mindestwert von 3 V passen.Mir ist allerdings nicht klar, ob AO1/AO2 im Webinterface tatsächlich direkt den Registern 867/868 entsprechen. Vielleicht unterscheidet sich das Mapping bei der LWCV-Serie.
Falls weitere RAW-Werte oder Informationen zur Anlage benötigt werden, kann ich die gerne liefern.
VG
MrMorpheusServus TbsJah,
erst einaml vielen Dank für deine Arbeit und diesen deutlich besseren Adapter für die Luxtronik Steuerung!!!! Da habe ich lange drauf gewartet

Ich teste aktuell luxtronik2-controller v0.7.3 an einer Alpha Innotec LWCV 82.Anlage:
- Wärmepumpe: LWCV 82
- Luxtronik Software: V3.92.3
- Verbindung: TCP Port 8889
- Adapter: luxtronik2-controller 0.7.3
- Node.js: v22.23.2
- js-controller: 7.2.2
Die Verbindung und das Auslesen der Daten funktionieren grundsätzlich.
Allerdings erhalte ich regelmäßig folgende Warnungen:
State value to set for "luxtronik2-controller.0.Settings.04_HUP.heating_system_circ_pump_voltage_nominal" has value "1" less than min "3" State value to set for "luxtronik2-controller.0.Settings.04_HUP.heating_system_circ_pump_voltage_minimal" has value "1" less than min "3"Ein RAW-Dump liefert:
[RAW 3003] Index 867 = 100 [RAW 3003] Index 868 = 100Die daraus erzeugten ioBroker-States sind jeweils:
heating_system_circ_pump_voltage_nominal = 1 heating_system_circ_pump_voltage_minimal = 1Im Webinterface der Luxtronik werden gleichzeitig unter Ausgänge
AO 1 = 10.00 V AO 2 = 10.00 V HUP = 0.0 %angezeigt.
Daher meine Frage: Kann es sein, dass Register 867/868 bei der LWCV 82 mit Faktor 0,1 statt 0,01 skaliert werden müssen?
Dann würde RAW 100 → 10,0 V ergeben statt aktuell 1,0 V. Das würde auch besser zum definierten Mindestwert von 3 V passen.Mir ist allerdings nicht klar, ob AO1/AO2 im Webinterface tatsächlich direkt den Registern 867/868 entsprechen. Vielleicht unterscheidet sich das Mapping bei der LWCV-Serie.
Falls weitere RAW-Werte oder Informationen zur Anlage benötigt werden, kann ich die gerne liefern.
VG
MrMorpheusDas Problem schaue ich mir aktuell an.
Die HUP Steuerung werde ich auslagern.
Der Anwender kann dann bestimmen wie diese gesteuert wird. -
Gute Idee mit dem neuen Adapter. Ich nutze ebenfalls den originalen Adapter von @unclesam mit einer 13 Jahre alten Novellan WP aber nur lesend. Bei solchen alten Steuerungen möchte ich gar nicht in den Flash Speicher schreiben, der hat eine begrenzte Lebensdauer. Gibt es dazu Erfahrungen? Am liebsten wäre mir eine Option für einen read-only Adapter Modus.
Gute Idee mit dem neuen Adapter. Ich nutze ebenfalls den originalen Adapter von @unclesam mit einer 13 Jahre alten Novellan WP aber nur lesend. Bei solchen alten Steuerungen möchte ich gar nicht in den Flash Speicher schreiben, der hat eine begrenzte Lebensdauer. Gibt es dazu Erfahrungen? Am liebsten wäre mir eine Option für einen read-only Adapter Modus.
Die Steuerung ist optional. Der Adapter kann auch rein lesend verwendet werden 😀
-
0.8.0 (2026-09-14)
🚀 Features & Enhancements
- [Admin UI] Completely redesigned the adapter configuration interface (
jsonConfig.json). Settings are now cleanly organized into logical tabs (Connection, Cycle Optimization, Idle Defaults, HUP, Circulation pump, etc.). - [HUP Control] Added a new dynamic hardware voltage scale factor for the heating circulating pump (HUP). Users can now toggle between factor 100 (for Firmware V2.x) and factor 10 (for Firmware V3.x) to ensure full compatibility across different hardware generations.
- [Safety] Added a confirmation warning dialog to the Admin UI that alerts users to the importance of entering correct values when enabling "Force default values during idle".
🐛 Bugfixes
- [HUP Control] Fixed an incorrect conversion factor for registers 867 and 868 (nominal and minimal HUP voltage). This previously caused newer setups (like the Alpha Innotec LWCV series with FW V3.x) to calculate 1.0V instead of 10.0V, resulting in continuous "less than min" boundary warnings in the ioBroker log.
🛠 Refactoring & Under the Hood
- [Architecture] Extracted the heating circulating pump (HUP) logic from
main.tsinto a dedicated, isolatedhupManager.tsfile to improve code modularity and maintainability. - [CI/CD] Added Node.js 26 to the GitHub Actions test matrix (
test-and-release.yml) to ensure future compatibility. - [TypeScript] Added the
"rootDir": "./src"compiler option totsconfig.jsonto resolve TS5011 build errors with newer TypeScript versions.
- [Admin UI] Completely redesigned the adapter configuration interface (
-
Schaut, wirklich gut aus. Vielen vielen Dank und ein großes Lob für die Diagramme und Erklärungen im Adapter das ist eine tolle Idee :-)
Zwei Kleinigkeiten für die Zukunft:
- Die Leerlauf Vorgaben würde ich gleich als zweiten Tab legen mit Verweis auf Heiztakt + HUP Steuerung das ist etwas unklar für Einsteiger
- Kannst du noch eine Rundung bei den Laufzeiten ergänzen?

-
@tbsjah
Vielen Dank für die schnelle Anpassung! Ich habe die 0.8.0 inzwischen installiert. Mit Faktor 10 passen die HUP-Werte bei meiner Luxtronik V3.92.3 jetzt auch zu den Werten der Heizung selbst – AO1/AO2 werden dort ebenfalls mit 10,00 V angezeigt.Sieht also so aus, als wäre das Skalierungsthema damit gelöst. Die dynamische HUP-Regelung teste ich erst nach weiterer Beobachtung im Heizbetrieb.
Danke für die schnelle Unterstützung und Weiterentwicklung des Adapters! ;-)
-
0.10.1 (2026-09-20)
🚀 Features & Improvements
- (Feature) Heating State String: Added the configured heating curve parallel offset to the status string (e.g., "Offset +3 °C") for better transparency.
🐛 Bugfixes
- (Fixed) Heating State String: Corrected a logic issue where the status incorrectly displayed "Reduced 0 °C" during a scheduled reduction window, even if the actual reduction delta was set to 0 K. It now correctly displays "Normal (Timer)".
0.10.0 (2026-09-20)
🚀 Features & Improvements
- (Added) Low Flow Outage Alerts: Implemented active monitoring for "low flow" (Durchfluss) shutdowns in the outage history. The adapter now proactively sends a notification when the heat pump stops due to flow issues, as the controller usually treats these as soft outages rather than hard errors. Includes a 60-minute cooldown to prevent notification spam.
- (Improved) Admin UI: Integrated a direct recommendation link for the OpenDTA analysis tool into the description text of the Backup & Diagnostics tab.
🛠 Chores / Under the Hood
- (Fixed) ESLint Validation: Added missing JSDoc comments in the backup manager to resolve code validation warnings during development.
0.9.2 (2026-09-20)
🛠 Refactoring & Under the Hood
- DTA Backup Logic & UI: Restructured the "Backup & Diagnostics" settings tab. Removed obsolete text log buttons (
procerr,procparam) which are blocked on newer firmwares. Reclassified the DTA manual download buttons into "Live DTA" (forces a new memory flush via/NewProc) and "Existing DTA" (fetches the last auto-saved historical log via/proclogwhich might be 2-3 hours old). - Automated Backup Naming: The automated background backup job now dynamically prefixes the downloaded file as either
dta_live_ordta_history_[...]depending on which endpoint was successfully queried, clearly indicating the recency of the data.
0.9.1 (2026-09-20)
🚀 Features & Improvements
- (Added) Backup & Diagnostics Tab: Introduced a new tab in the adapter settings for easy access to heat pump data. Added a recommendation and link for the OpenDTA project to help users analyze their downloaded .dta files.
- Automated DTA Backup: Integrated a time-based background cron job to fully automate the retrieval and storage of DTA log files directly into the ioBroker file system.
- Admin UI Diagnostics: Added a dedicated "Backup & Diagnostics" tab in the adapter settings featuring manual download buttons for DTA files and system logs, along with a recommendation link for the OpenDTA analysis tool.
- Intelligent Firmware Fallback: Improved the DTA download logic to automatically detect the heat pump's firmware version. It seamlessly supports newer models (via
/NewProc) while automatically falling back to legacy endpoints (/proclog,/procdta, or/Webclient/procdta) for older heat pumps.
0.9.0 (2026-09-20)
🐛 Bugfixes
🔴 IMPORTANT:- (Fixed) HUP Dynamic Voltage Control: Fixed an issue where the digital relay state (
HUPout) was queried instead of the actual nominal voltage (heating_system_circ_pump_voltage_nominal). This previously caused the calculation logic to produce target voltages below the hardware limit (e.g. 1.25V), triggering "less than min 3" validation warnings in the log. - (Fixed) Admin UI Backup Links: Fixed multiple issues with the manual download links in the Backup tab. The IP address placeholder was corrected (from
{host}to${data.host}) to resolve correctly. Additionally,404 Not Founderrors on newer firmware versions were fixed by routing links to the root web directory (/procdta,/procparam,/procerr) instead of the legacy/Webclient/directory.
🚀 Features & Improvements
- (Added) German Translations for Error & Outage Codes: Added full German translations for all entries in
ERROR_CODESandOUTAGE_CODES. - (Improved) Multi-Language History Logs: The error log (
Fehlerspeicher) and outage history (Abschaltungen) now dynamically output descriptions and fallbacks in the configured adapter language (de/en). - (Added) Backup & Diagnostics Tab: Introduced a new tab in the adapter settings for easy access to heat pump data.
- (Added) Manual Downloads: Added direct buttons to manually download the parameter backup (
procparam) and error log (procerr) via the heat pump's web server. The manual DTA download was split into two distinct steps ("1. Trigger DTA generation" and "2. Download DTA Log") to better reflect the hardware behavior. - (Added) Automated DTA Backup & Custom Storage: Implemented a new scheduling feature (cron) to automatically trigger and download live DTA logs, saving them directly to the ioBroker file system. The default storage location is the root directory of the adapter's file system, but users can specify a custom subfolder (e.g.,
backup) which is automatically created and sanitized. - (Improved) Firmware Agnostic Backup Downloads: The automated DTA backup manager now features an intelligent fallback mechanism. It attempts to download logs from both the root directory (
/procdta) and the legacy subfolder (/Webclient/procdta), ensuring compatibility across all Luxtronik firmware versions (V1, V2, V3).
🛠 Refactoring & Under the Hood
- (Development) TypeScript Definitions: Added missing
@types/node-scheduleto the dev dependencies to resolve ESLint type-checking errors during the build process.
-
@smolo @mrmorpheus
Wichtiger Hinweis zum HUP-Fehler:
In der Version 0.9.0 habe ich einen Bug behoben, der höchstwahrscheinlich die Ursache für die falschen HUP-Werte war. Lief bei euch in den letzten Tagen schon die Heizung und konntet ihr mal prüfen, ob die Werte jetzt passen?
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden