NEWS
Test Luxtronik2-Controller V0.22.x
-
🚨 BREAKING CHANGE / WICHTIGER HARDWARE-HINWEIS 🚨
Kritischer Firmware-Bug in Alpha Innotec / Novelan Steuerungen (V1.90.x & V2.90.x)
Der Hersteller hat mit den Firmware-Versionen V1.90.0 und V2.90.0 einen massiven Fehler im lokalen Luxtronik-Protokoll (Port 8889) eingeführt. Sobald ein Smart-Home-System (egal ob ioBroker, Home Assistant etc.) versucht, einen Parameter-Wert auf die Wärmepumpe zu schreiben, friert der Controller ein und erzwingt nach ca. 10 Sekunden einen harten Neustart (Reboot) der Anlage. Lesevorgänge sind hiervon nicht betroffen.👉 Maßnahme des Adapters: Um deine Hardware vor ständigen Neustarts und möglichen Schäden zu schützen, wurde ein Schutzschild (Firewall) in den Adapter eingebaut.
Sobald der Adapter die Firmware V1.90.x oder V2.90.x erkennt, werden sämtliche Schreibbefehle hart blockiert. Im ioBroker-Log wird stattdessen eine entsprechende Warnung ausgegeben.👉 Lösung für betroffene Nutzer: Bitte wende dich an den Hersteller-Support oder deinen Installateur und bitte um ein "Over-the-Air" (Remote) Downgrade auf die vorherige, stabile Version (V1.89 bzw. V2.89). Wer die alte Firmware-Datei noch lokal besitzt, kann diese per USB-Stick am Display flashen. Sobald die Anlage wieder auf V.89 läuft, gibt der Adapter die Schreibbefehle automatisch wieder frei!
✨ Neue Funktionen & Verbesserungen (Features)
- Hardware-Schutzschild implementiert: Dynamische Firmware-Überprüfung vor jedem Schreibvorgang zum Schutz vor dem Reboot-Bug der Firmware-Versionen 1.90.x und 2.90.x.
- Visibilities (Sichtbarkeiten) komplett überarbeitet: Die interne Logik für den Befehl 3005 wurde neu geschrieben (dynamische Erkennung von 1-Byte und 4-Byte Arrays). Der Adapter liest die Sichtbarkeits-Flags nun bei allen Firmware-Versionen fehlerfrei aus. Das Ausblenden von nicht vorhandener Hardware im Objektbaum funktioniert nun auch bei V1.x und V2.x Anlagen ohne Abstürze oder Timeouts!
🛠 Fehlerbehebungen (Bugfixes & Refactoring)
- Adapter-Konfiguration (UI): Veraltete Warnhinweise bei der Checkbox "Nicht unterstützte Parameter ausblenden" wurden entfernt, da diese Funktion nun über alle Generationen hinweg stabil läuft.
- Netzwerk / WebSocket: Die experimentelle Passwort-Übergabe für Port 8214 wurde restlos entfernt, da das Kommunikations-Problem nachweislich am Firmware-Bug von Alpha Innotec liegt. Die WebSocket-Verbindung für echte V3.x-Firmwares arbeitet wieder sauber über den bewährten Standard-Handshake.
-
@Chriz
Danke für deine Hilfe, die Ursache zu finden. Davon haben am Ende alle etwas! Wir müssen hier leider klassisches Reverse Engineering betreiben und versuchen uns schrittweise heranzutasten. :)Vorab noch einmal die dringende Bitte: Führe die Tests mit dem Adapter und dem Skript nur dann durch, wenn deine Anlage im Leerlauf ist!
Ok - liegt an der X.90 Firmware 😭😭😭😭😭😭😭
Hab bei mir auch gerade auf 2.90 aktualisiert und kann das Problem 1 zu 1 nachvollziehenIch habe wieder wieder auf die vorherige Firmware zurückgesetzt da in der 2.90 ein Firmwarebug vorhanden ist...
So leid es mir tut, es gibt aktuell bei Versionen mit X.90 keine Lösung für das Schreiben außer wieder downzugraden.
@TbsJah
das ist ja total krass, wie bist du darauf gekommen?Tatsächlich funktioniert es bei mir nun auch mit der 1.89 die mir der Support von AIT geschickt hat.
Mir wurde auch gesagt sie haben das an die Qualitätsabteilung und den Support weitergeleitet.Falls dort noch was kommt, gebe ich dir Rückmeldung.
Soweit bin ich erstmal total happy, dass ich mein Script wieder laufen lassen kann :)Vielen lieben Dank @tbsjah, wenn ich dir irgendwie was donaten kann, lass nen link oder so hier.

-
0.15.1 (2026-10-10)
🛠 Bugfixes & Enhancements
- Admin UI (ZIP Control): Completely revised the explanatory text for the Circulation Pump (ZIP) settings in
jsonConfig.json. Clarified the exact behavior of the "Disable base ZIP values" (zip_lWP_aktiv) option to prevent unintentional power cuts to external Wi-Fi relays (like Shelly) while maintaining EEPROM hardware protection. - Testing Framework: Updated
@iobroker/testingto version 6.3.0 to meet current repository standards. - Changelog Formatting: Fixed Markdown header formatting to comply with ioBroker "Test and Release" requirements.
0.15.0 (2026-10-10)
####🚀 Features
- Modularized State Mapping: Restructured the massive
stateMapping.tsinto smaller, logically separated files (e.g.,info.ts,settings.ts,actions.ts) to significantly improve code maintainability, readability, and scalability. - Improved Admin UI (ZIP Control): Added comprehensive, scenario-based documentation to the Circulation Pump (ZIP) settings in the Admin interface (
jsonConfig.json). It now clearly differentiates between continuous power setups (Scenario A) and heat-pump-powered setups (Scenario B). This prevents users from accidentally cutting power to external Wi-Fi relays (like Shelly) when using the EEPROM hardware protection feature. - New Telemetry Data added: The adapter now automatically reads and creates crucial system values based on the BenPru standard: Compressor frequency (Index 231), Current heat output (Index 257), and Current power consumption (Index 268).
- Extended Shutdown Codes (Outage History): The internal database for heat pump shutdowns has been massively expanded. The adapter now recognizes and translates all 32 official Luxtronik shutdown reasons (e.g., Inverter pause, Hot gas pause, Limit power consumption) into detailed clear text (English & German). This ensures much more precise troubleshooting in the object tree and highly informative Telegram alerts.
####🛠 Bugfixes & Enhancements
- Critical Startup Crashes Fixed: Resolved multiple
UNCAUGHT_EXCEPTIONerrors and communication aborts where the adapter crashed directly during initialization (onReady) or the polling loop. This was caused by missing hardcoded virtual data points (e.g.,Regelung_Aktiv,thermalenergy_total,energy_total,opStateCoolingString) that were dropped during the state mapping modularization. - ZIP Optimization Defaults: Fixed an issue where the circulation pump (ZIP) was unintentionally shut down (Hardware timers forced to 0 ON / 60 OFF) directly after installation. The logic and default values for
zip_lWP_aktivhave been clarified to ensure users relying on the Luxtronik's internal power supply do not experience unexpected offline states of their smart relays. - Visibility Filter (Command 3005) fixed: Resolved a major logic flaw in the
cleanupStatesfunction. Previously, the adapter ignored unsupported hardware components (like missing cooling or solar modules) but failed to delete their remnants from the ioBroker object tree. Obsolete datapoints and empty folders are now rigorously removed upon startup. - Precise Visibility Mapping implemented: The hide-logic (Command 3005) no longer relies on broad folder names. Instead, it now uses the exact, manufacturer-specific visibility index (
visiIndex) for every individual module to accurately show or hide features. - HUP Optimization (Temperature Spread Control): Dynamic voltage adjustment of the heating circulation pump during heating operation now only triggers after the state has been active for at least 10 minutes and compressor 1 (
VD1) is actively running. This prevents premature voltage shifts during startup phases before the thermal spread has stabilized. - Outage & Malfunction Monitoring: Fixed tracking logic in
checkAndSendOutageNotifications: Luxtronik outage code0(Heat pump malfunction / WP-Störung) is no longer erroneously skipped. Both low flow issues and direct heat pump shutdowns now reliably dispatch alarms via Telegram and the ioBroker Notification Center.
- Admin UI (ZIP Control): Completely revised the explanatory text for the Circulation Pump (ZIP) settings in
-
-
0.17.2 (2026-10-11)
🛠 Bugfixes & Enhancements
- Log copManager: Fixed an issue regarding the log output in the COP calculation engine.
0.17.1 (2026-10-11)
🛠 Bugfixes & Enhancements
- Code Quality & CI/CD: Fixed ESLint
no-prototype-builtinspipeline failures inobjectManager.tsby replacing direct.hasOwnProperty()calls with safeObject.prototype.hasOwnProperty.call()methods.
0.17.0 (2026-10-11)
🚀 Features
- COP & Efficiency Calculator: Introduced a comprehensive COP (Coefficient of Performance) calculation engine to track heat pump efficiency.
- External Smart Meter Support: Users can now choose to use internal Luxtronik estimates or link high-precision external sensors (e.g., Shelly 3EM or M-Bus heat meters) via ioBroker Object IDs for power consumption and thermal energy generation.
- Granular Live Metrics: The adapter now dynamically analyzes the active operating state to split and calculate live daily COP values for "Total", "Heating", and "Hot Water" independently.
- Persistent Time Rollovers: Implemented a robust "snapshot" system with absolute virtual counters. The adapter automatically detects day, month, and year rollovers to persist data and guarantee accurate long-term calculations, even across adapter restarts or ioBroker reboots.
- Dedicated Efficiency UI: Added a new "Efficiency / COP" configuration tab to easily manage energy data sources and toggle the calculation engine.
- Connection & Polling Status: Added a new system datapoint
info.lastUpdate. This state continuously tracks the exact timestamp of the last successful data retrieval, making it easy to monitor the adapter's health and polling activity in visualisations like VIS or Lovelace.
🛠 Bugfixes & Enhancements
- Object Tree Creation: Fixed an issue where hidden data buckets for the COP calculation were not created because parent directories were missing.
- Timestamp Formatting: Resolved a strict type mismatch error in the ioBroker log by correctly formatting
info.lastUpdateas an ISO string instead of a numeric timestamp. - State Properties & Code Quality: Resolved strict TypeScript and ESLint warnings (missing JSDoc annotations, missing read/write object definitions) in the new COP manager.
- Modernized ioBroker API: Replaced deprecated
setStateAsyncmethod calls with the modern, promise-basedsetStatestandard across the COP calculation engine. - Config UI Sorting: Ensured the newly generated configuration tabs maintain a logical and consistent order across rebuilds.
- Internal Mapping: Restructured the
infofolder mapping to cleanly accommodate adapter-level metadata alongside hardware telemetry.
0.16.1 (2026-10-11)
🚀 Features
- Enhanced UI Layout: Improved the "Datapoints" settings tab layout to display up to 4 items side-by-side on larger screens for a better overview and improved usability.
🛠 Bugfixes & Enhancements
- State Cleanup Logic Fixed: Resolved an issue where unchecked datapoints (e.g., Room Thermostats) were not removed from the ioBroker object tree. The
isStateEnabledlogic now correctly handlesundefinedconfig states for dynamically generated checkboxes.
0.16.0 (2026-10-11)
🚀 Features
- Dynamic Admin UI Generation: The "Datapoints / Objects" configuration tab in the adapter settings is now fully auto-generated during the build process (
prebuild). This ensures the UI is always 100% in sync with the underlying TypeScript state mappings. - Category Master Switches: Added master toggle switches to the adapter settings. Users can now enable or disable entire hardware categories (e.g., Solar, Cooling, Ventilation) with a single click. This keeps the ioBroker object tree clean and significantly reduces unnecessary polling for unused features.
- Dynamic Protection for Critical States: System-critical datapoints are now protected dynamically via a
required: trueflag in the codebase. They are permanently locked (grayed out) in the UI and cannot be accidentally deleted or disabled by the user or the visibility filter.
🛠 Bugfixes & Enhancements
- Cycle Optimization Logic (Hot Water): Fixed a logic flaw where the adapter erroneously applied an artificial hot water target temperature increase while the heat pump was already actively running a hot water cycle. The trigger is now strictly limited to the end of regular heating cycles.
- Build Process Optimized: Integrated the UI generation script (
generateConfig.ts) seamlessly into the NPMprebuildlifecycle, automatically patching thejsonConfig.jsonbefore typescript compilation.
-
Moin zusammen,
es gibt ein frisches Update für den Adapter! 🚀
Die wichtigsten Neuerungen kurz und knapp:
Datenpunkte & Struktur: Die Auswahl und Anzeige der Datenpunkte wurde komplett überarbeitet. Es stehen euch ab sofort wesentlich mehr Datenpunkte zur Verfügung!
Neues Feature - COP / JAZ: Die Effizienz eurer Wärmepumpe kann nun direkt im Adapter berechnet und getrackt werden.
Damit ihr direkt einen Eindruck bekommt, habe ich euch zwei Screenshots angehängt (die neue Datenpunkt-Struktur und den neuen Reiter für die COP-Konfiguration).
Alle weiteren technischen Details und Fixes unter der Haube stehen wie gewohnt unten im Changelog.
Viel Spaß beim Testen – Feedback wie immer gerne hier im Thread! 👋


-
-
-
@homer.j.
Guten Morgen!Schau bitte mal, ob die Funktion bei dir in der Konfigurationsseite aktiviert ist. Falls ja: Nimm den Haken einmal kurz raus, speichere ab, setze die Einstellung wieder auf den vorherigen Stand und speichere erneut. Dadurch zwingst du den ioBroker, den Wert im Hintergrund einmal sauber neu an die Adapter-Instanz zu übergeben.
Zusätzlich gab es beim "Rücklauf extern" einen Fehler im Mapping, der jetzt behoben ist. Das ist ein reiner Lesewert (Sensor) und kein Parameter, den man beschreiben kann. Vorher hat das nur funktioniert, weil versehentlich dieselbe Schreib-ID ('13') wie bei der Heizungsabsenkung (DeltaReduction) hinterlegt war.
Du findest den "Rücklauf extern" jetzt korrekt einsortiert unter information.01_temperatures.


-
@homer.j.
Guten Morgen!Schau bitte mal, ob die Funktion bei dir in der Konfigurationsseite aktiviert ist. Falls ja: Nimm den Haken einmal kurz raus, speichere ab, setze die Einstellung wieder auf den vorherigen Stand und speichere erneut. Dadurch zwingst du den ioBroker, den Wert im Hintergrund einmal sauber neu an die Adapter-Instanz zu übergeben.
Zusätzlich gab es beim "Rücklauf extern" einen Fehler im Mapping, der jetzt behoben ist. Das ist ein reiner Lesewert (Sensor) und kein Parameter, den man beschreiben kann. Vorher hat das nur funktioniert, weil versehentlich dieselbe Schreib-ID ('13') wie bei der Heizungsabsenkung (DeltaReduction) hinterlegt war.
Du findest den "Rücklauf extern" jetzt korrekt einsortiert unter information.01_temperatures.


-
@homer.j.
Guten Morgen!Schau bitte mal, ob die Funktion bei dir in der Konfigurationsseite aktiviert ist. Falls ja: Nimm den Haken einmal kurz raus, speichere ab, setze die Einstellung wieder auf den vorherigen Stand und speichere erneut. Dadurch zwingst du den ioBroker, den Wert im Hintergrund einmal sauber neu an die Adapter-Instanz zu übergeben.
Zusätzlich gab es beim "Rücklauf extern" einen Fehler im Mapping, der jetzt behoben ist. Das ist ein reiner Lesewert (Sensor) und kein Parameter, den man beschreiben kann. Vorher hat das nur funktioniert, weil versehentlich dieselbe Schreib-ID ('13') wie bei der Heizungsabsenkung (DeltaReduction) hinterlegt war.
Du findest den "Rücklauf extern" jetzt korrekt einsortiert unter information.01_temperatures.


-
-
-
geht nicht ich habe 2 Instanzen mit je einer WP am laufen bei der einen ohne Kühlung kann ich die raw erzeugen bei der mit nicht keine Ahnung warum.
Hatte die Log Stufe auf Error weil ich immer eine Warnung bekommen habe kannst du dir ja vielleicht gleich mit anschauen.
Die Warnung kommt wegen der HUP Pumpe - bitte mal im Webserver oder am Regler direkt was da als min. und max. eingetragen ist.
Min ist aktuell bei dir größer als max. Das passt so nicht (denke ich mal)Über den Faktor in der Konfig kannst du das umstellen - Wäre dann bei dir die v3.x)

Laut Visualisierungsindex -> ID 5 hat die Anlage keine Kühlung.
Steht auf false. Daher ausgeblendet.
Wenn du den Punkt Nicht unterstütze... deaktivierst dann werden die Punkte angezeigt

-
geht nicht ich habe 2 Instanzen mit je einer WP am laufen bei der einen ohne Kühlung kann ich die raw erzeugen bei der mit nicht keine Ahnung warum.
Hatte die Log Stufe auf Error weil ich immer eine Warnung bekommen habe kannst du dir ja vielleicht gleich mit anschauen.
Die Warnung kommt wegen der HUP Pumpe - bitte mal im Webserver oder am Regler direkt was da als min. und max. eingetragen ist.
Min ist aktuell bei dir größer als max. Das passt so nicht (denke ich mal)Über den Faktor in der Konfig kannst du das umstellen - Wäre dann bei dir die v3.x)

Laut Visualisierungsindex -> ID 5 hat die Anlage keine Kühlung.
Steht auf false. Daher ausgeblendet.
Wenn du den Punkt Nicht unterstütze... deaktivierst dann werden die Punkte angezeigt

-
geht nicht ich habe 2 Instanzen mit je einer WP am laufen bei der einen ohne Kühlung kann ich die raw erzeugen bei der mit nicht keine Ahnung warum.
Hatte die Log Stufe auf Error weil ich immer eine Warnung bekommen habe kannst du dir ja vielleicht gleich mit anschauen.
Die Warnung kommt wegen der HUP Pumpe - bitte mal im Webserver oder am Regler direkt was da als min. und max. eingetragen ist.
Min ist aktuell bei dir größer als max. Das passt so nicht (denke ich mal)Über den Faktor in der Konfig kannst du das umstellen - Wäre dann bei dir die v3.x)

Laut Visualisierungsindex -> ID 5 hat die Anlage keine Kühlung.
Steht auf false. Daher ausgeblendet.
Wenn du den Punkt Nicht unterstütze... deaktivierst dann werden die Punkte angezeigt

-
Die Warnung kommt wegen der HUP Pumpe
die ist bei mir selbstregelnd da kann ich nichts einstellen.
Das heißt konkret: Wenn du bei dir in den Datenpunkten luxtronik2-controller.0.Information.03_Outputs.circulation_pump_pwm (read only) oder luxtronik2-controller.0.Settings.04_HUP.heating_max_circ_pump_speed (writeable) Prozentwerte siehst, wird deine Pumpe über PWM gesteuert.
Genau dafür habe ich in der neuen Version 0.18.x eine smarte Erkennung eingebaut: Der Adapter prüft nun automatisch, ob eine PWM-Pumpe konfiguriert ist. Ist das der Fall, wird die dynamische HUP-Steuerung (die 0-10V Spannungsoptimierung) im Hintergrund komplett übersprungen – selbst dann, wenn du sie in den Instanz-Einstellungen aktiviert hast.
Das spart Systemressourcen und verhindert unnötige Befehle an die Steuerung, da die 0-10V Regelung bei PWM-Pumpen ohnehin ins Leere laufen würde.
Noch ein kurzer Hinweis zu der Warnmeldung "nur zwischen 3 und 10 V erlaubt", die bei einigen im Log aufgetaucht ist:
Das lag an einer Altlast in eurer ioBroker-Datenbank. Ganz früher waren für die Spannung mal feste Grenzen (3 bis 10V) definiert. ioBroker hat sich diese alten Limits im Hintergrund hartnäckig im Objektbaum gemerkt, obwohl sie im Adapter-Code längst gelöscht waren.
Mit der Version 0.18.x ist auch das behoben: Der Adapter überschreibt diese gecachten Werte nun beim Start aktiv mit den neuen, korrekten Limits (0 bis 10V). Die Anlage kann jetzt also völlig fehlerfrei in den 0V-Standby wechseln und euer Log bleibt sauber!
(Wer das Update noch nicht installieren will, kann den Datenpunkt oder den Ordner 04_HUP auch einfach manuell im ioBroker-Objektbaum löschen und die Adapter-Instanz neu starten – dann wird er direkt frisch und ohne die alten Grenzen neu angelegt).
-
0.18.0 (2026-10-12)
🚀 Features & Enhancements
- Smart PWM Pump Detection: The
hupManagernow automatically detects whether the heating circulation pump (HUP) is controlled via a PWM signal (verified by checking ifheating_max_circ_pump_speed > 0%). If this is the case, the obsolete dynamic 0-10V voltage optimization is automatically bypassed. This saves system resources and prevents unnecessary write commands to the Luxtronik controller.
🐛 Bugfixes
- HUP Voltage Validation Fixed: Fixed an issue where ioBroker threw a warning ("nur zwischen 3 und 10 V erlaubt") in the log for HUP voltage values below 3V. The object definitions for minimum and nominal voltage have been explicitly updated to
min: 0andmax: 10. This successfully overwrites lingering cache limits in the ioBroker database and allows the pump to transition into 0V standby mode without throwing errors.
- Smart PWM Pump Detection: The
-
Wenn du den Punkt Nicht unterstütze... deaktivierst dann werden die Punkte angezeigt
Hab den Haken jetzt raus gemacht jetzt werden die Datenpunkte angezeigt ist aber dann auch komisch oder.
Warum komisch?
Deine Anlage enthält laut Visu Ausgabe (3005 ID5) keine Kühlung -> 0 = nicht aktiv/ vorhanden.
Daher wird die Kühlung komplett herausgefiltert im Objektbaum.Wenn deine Anlage aber dennoch kühlen kann müsste ich einen anderen Ansatz finden 😊
-
Wenn du den Punkt Nicht unterstütze... deaktivierst dann werden die Punkte angezeigt
Hab den Haken jetzt raus gemacht jetzt werden die Datenpunkte angezeigt ist aber dann auch komisch oder.
Warum komisch?
Deine Anlage enthält laut Visu Ausgabe (3005 ID5) keine Kühlung -> 0 = nicht aktiv/ vorhanden.
Daher wird die Kühlung komplett herausgefiltert im Objektbaum.Wenn deine Anlage aber dennoch kühlen kann müsste ich einen anderen Ansatz finden 😊
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

