Description
Writing the ventilation operating mode parameter ID_Einst_BA_Lueftung_akt via the
luxtronik2.write service (Home Assistant, BenPru/luxtronik integration on top of
this library) reliably causes the heat pump controller's TCP socket to hang and
become unreachable shortly after the write completes.
Environment
- Heat pump: Alpha Innotec KHZ-LW80 (compact unit: heat pump + ventilation module,
ventilation controlled via a "Compactmodul" plugged onto the main Luxtronik board)
- Controller firmware: V1.90.0
- Integration: BenPru/luxtronik (Home Assistant, domain
luxtronik2)
- Underlying library: python-luxtronik 0.3.14
Steps to reproduce
- Call the write service with an unregistered parameter:
service: luxtronik2.write
data:
parameter: "ID_Einst_BA_Lueftung_akt"
value: "Automatic"
- First write appears to succeed (no immediate error).
- A second write shortly after (e.g. value "Party") times out.
- Shortly after, the coordinator's polling starts failing entirely:
Socket error during read/write
File "lux_helper.py", line 316, in _write
cmd = struct.unpack(">i", self._socket.recv(4))[0]
TimeoutError: timed out
Failed to connect: [Errno 113] Host is unreachable
Error fetching luxtronik2 data: Error fetching data: [Errno 113] Host is unreachable
- The controller recovers on its own after a few minutes (no data loss / heating
itself is unaffected — the heat pump continues operating autonomously).
Notes / suspected cause
ID_Einst_BA_Lueftung_akt is not in luxtronik/definitions/parameters.py, so it's
written as a raw/unmapped value rather than through the normal enum-mapped
parameter path (compare with the working ID_Ba_Hz_akt → "Automatic"/"Party"/...
mapping).
- The manufacturer's own built-in web interface (same device, same port 8889) can
set this exact value reliably and without any connection issue — so the controller
itself accepts the parameter fine when encoded correctly. This suggests the issue
is on the encoding side of this library/the raw-parameter write path, not a
hardware/firmware limitation.
Request
Could ID_Einst_BA_Lueftung_akt (ventilation operating mode: Automatic/Party/
Holidays/Off) be added as an officially mapped parameter, similar to
ID_Ba_Hz_akt? This would make ventilation control on KHZ-LW80-style compact units
usable without risking the socket hang described above.
Happy to provide more logs / test a patch if useful.
Description
Writing the ventilation operating mode parameter
ID_Einst_BA_Lueftung_aktvia theluxtronik2.writeservice (Home Assistant, BenPru/luxtronik integration on top ofthis library) reliably causes the heat pump controller's TCP socket to hang and
become unreachable shortly after the write completes.
Environment
ventilation controlled via a "Compactmodul" plugged onto the main Luxtronik board)
luxtronik2)Steps to reproduce
itself is unaffected — the heat pump continues operating autonomously).
Notes / suspected cause
ID_Einst_BA_Lueftung_aktis not inluxtronik/definitions/parameters.py, so it'swritten as a raw/unmapped value rather than through the normal enum-mapped
parameter path (compare with the working
ID_Ba_Hz_akt→ "Automatic"/"Party"/...mapping).
set this exact value reliably and without any connection issue — so the controller
itself accepts the parameter fine when encoded correctly. This suggests the issue
is on the encoding side of this library/the raw-parameter write path, not a
hardware/firmware limitation.
Request
Could
ID_Einst_BA_Lueftung_akt(ventilation operating mode: Automatic/Party/Holidays/Off) be added as an officially mapped parameter, similar to
ID_Ba_Hz_akt? This would make ventilation control on KHZ-LW80-style compact unitsusable without risking the socket hang described above.
Happy to provide more logs / test a patch if useful.