Pre-flight checklist
Description
Environment
- Boiler: Hargassner Nano PK Plus, firmware V14.1HAR.q
- Integration: v0.4.0 (also present in v0.3.1)
- Home Assistant 2026.8.3, template
V14_1HAR_q1
Symptom
With the stock V14_1HAR_q1 template, all digital words are read one
position too early. Every digital state (heating circuit pumps, mixers,
fault flags, ...) is wrong or nonsensical, and the debug log is flooded
with:
at index 112: invalid literal for int(): '0.00'
Note the message length check does NOT catch this: the telegram has 121
values and the template also expects 121 — only the split is wrong.
Analysis
Our boiler sends 113 analog values followed by 8 digital words
(121 total). The V14_1HAR_q1 template defines 112 analog + 9 digital
— same total, wrong split. As a result the first "digital" word is
actually the last analog value ('0.00' → parse error above), and all
real digital words shift by one position.
We verified this against a raw telnet capture (nc <boiler> 23): the
decimal-place pattern of every channel only lines up with the 113/8
split. The additional analog value sits at position 90 (between
TBs_A and TBs_1); all channels from there shift by +1, and the 9th
digital word (Reserved_8 in the template) does not exist on this
machine.
Fix we are running locally
In the V14_1HAR_q1 template:
- insert a placeholder analog channel at id 90 (ids of all later
channels +1),
- remove digital word id 8 (
Reserved_8).
Running stable since 2026-08 on 0.3.1 and now on 0.4.0 (clean logs,
plausible digital states).
Happy to open a PR with the adjusted template. Possibly this warrants a template variant
(similar to the nano2 variant added in v0.4.0 for #17) rather than
changing V14_1HAR_q1 for everyone — we don't know which hardware
combination produces the 112+9 layout, if any.
Steps to reproduce
- Set up the integration (v0.4.0) against a Hargassner Nano PK Plus running firmware V14.1HAR.q, using the
V14_1HAR_q1
template.
- Enable debug logging for
custom_components.bauergroup_hargassnerintegration.
- Observe the log message
at index 112: invalid literal for int(): '0.00' on every telegram, and compare the digital
sensors (heating circuit pumps, mixers, fault flags) with the boiler display — they do not match.
Expected behavior
The template splits the 121 telegram values as 113 analog + 8 digital words, so digital states match the boiler and the
telegram parses without errors.
Severity
Medium — degraded, but usable
Affected version / commit
v0.4.0 (also reproducible on v0.3.1)
Environment
- Home Assistant 2026.8.3 (HA OS)
- Integration installed via HACS
- Boiler: Hargassner Nano PK Plus, firmware V14.1HAR.q, connected via Telnet (port 23)
Relevant logs or screenshots
Debug log (repeated for every telegram):
at index 112: invalid literal for int(): '0.00'
Sample telegram line (full 20 s capture attached, 15 lines, each with 121 values — note value #113 (index 112) is `0.00`, i.e. still an analog value where the template expects the first digital word):
pm 1 1.1 7.5 28.8 0 29.2 30 10 33.8 0 0 62.7 61.2 42.2 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 10 3 0 5 0 7 0 0
6363 0 15063 0.00 0.00 -3 50.2 24107 28.9 117.9 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.1 0 20.0
22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.7 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.00 2 1000 0 0 1 0 0 0
Complete Log:
pm 1 1.1 7.5 28.8 0 29.2 30 10 33.8 0 0 62.7 61.2 42.2 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 10 3 0 5 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24107 28.9 117.9 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.1 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.7 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 1000 0 0 1 0 0 0
pm 1 1.1 7.5 28.7 0 29.2 30 10 33.7 0 0 62.7 61.2 42.2 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 11 3 0 0 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24108 28.8 119.8 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.1 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.8 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 0 0 0 1 0 0 0
pm 1 1.1 7.5 28.7 0 29.2 30 10 33.8 0 0 62.7 61.2 42.2 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 10 2 0 0 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24107 28.9 119.8 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.1 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.8 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 0 0 0 1 0 0 0
pm 1 1.1 7.5 28.7 0 29.2 30 10 34.0 0 0 62.7 61.2 42.2 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 11 3 0 5 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24107 28.9 117.9 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.1 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.8 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 1000 0 0 1 0 0 0
pm 1 1.1 7.5 28.7 0 29.2 30 10 33.9 0 0 62.7 61.2 42.2 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 10 2 0 3 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24107 28.9 117.9 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.1 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.8 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 0 0 0 1 0 0 0
pm 1 1.1 7.5 28.7 0 29.2 30 10 34.0 0 0 62.7 61.2 42.2 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 11 2 0 0 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24107 28.9 117.9 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.2 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.8 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 0 0 0 1 0 0 0
pm 1 1.1 7.5 28.7 0 29.2 30 10 34.1 0 0 62.7 61.2 42.2 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 11 3 0 0 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24108 28.9 116.0 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.2 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.7 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 1000 0 0 1 0 0 0
pm 1 1.1 7.5 28.8 0 29.2 30 10 34.2 0 0 62.7 61.2 42.2 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 10 2 0 4 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24107 28.9 119.8 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.2 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.7 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 1000 0 0 1 0 0 0
pm 1 1.1 7.5 28.8 0 29.2 30 10 34.1 0 0 62.7 61.2 42.2 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 10 4 0 4 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24107 28.9 117.9 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.2 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.7 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 1000 0 0 1 0 0 0
pm 1 1.1 7.5 28.8 0 29.2 30 10 34.2 0 0 62.7 61.2 42.2 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 11 1 0 0 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24108 28.9 119.8 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.2 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.7 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 0 0 0 1 0 0 0
pm 1 1.1 7.5 28.8 0 29.2 30 10 34.0 0 0 62.7 61.2 42.1 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 11 2 0 0 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24108 28.9 119.8 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.2 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.8 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 0 0 0 1 0 0 0
pm 1 1.1 7.5 28.8 0 29.2 30 10 34.1 0 0 62.7 61.2 42.1 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 10 3 0 4 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24108 28.8 116.0 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.2 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.8 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 1000 0 0 1 0 0 0
pm 1 1.1 7.5 28.7 0 29.2 30 10 34.2 0 0 62.7 61.2 42.1 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 11 1 0 4 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24107 28.9 114.2 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.2 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.8 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 1000 0 0 1 0 0 0
pm 1 1.1 7.5 28.8 0 29.2 30 10 33.8 0 0 62.7 61.2 42.1 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 11 4 0 1 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24107 28.9 116.0 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.2 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.8 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 0 0 0 1 0 0 0
pm 1 1.1 7.5 28.8 0 29.2 30 10 34.2 0 0 62.7 61.2 42.1 92 5 0 0 0 63 0 0 30.0 100 30 30 76 76.3 92 2 0 0 10 2 0 0 0 7 0 0 6363 0 15063 0.00 0.00 -3 50.2 24107 28.9 116.0 36 -20.0 -20.0 0.0 20.6 20.9 0.0 1 0 -20.0 0 20.0 20.0 0 1 0 28.2 0 20.0 22.0 0 1 0 28.1 0 20.0 20.5 0 1 0 -20.0 0 20.0 20.0 0 1 0 -20.0 0 62.8 0 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00 2 0 0 0 1 0 0 0
Pre-flight checklist
Description
Environment
V14_1HAR_q1Symptom
With the stock
V14_1HAR_q1template, all digital words are read oneposition too early. Every digital state (heating circuit pumps, mixers,
fault flags, ...) is wrong or nonsensical, and the debug log is flooded
with:
Note the message length check does NOT catch this: the telegram has 121
values and the template also expects 121 — only the split is wrong.
Analysis
Our boiler sends 113 analog values followed by 8 digital words
(121 total). The
V14_1HAR_q1template defines 112 analog + 9 digital— same total, wrong split. As a result the first "digital" word is
actually the last analog value (
'0.00'→ parse error above), and allreal digital words shift by one position.
We verified this against a raw telnet capture (
nc <boiler> 23): thedecimal-place pattern of every channel only lines up with the 113/8
split. The additional analog value sits at position 90 (between
TBs_AandTBs_1); all channels from there shift by +1, and the 9thdigital word (
Reserved_8in the template) does not exist on thismachine.
Fix we are running locally
In the
V14_1HAR_q1template:channels +1),
Reserved_8).Running stable since 2026-08 on 0.3.1 and now on 0.4.0 (clean logs,
plausible digital states).
Happy to open a PR with the adjusted template. Possibly this warrants a template variant
(similar to the nano2 variant added in v0.4.0 for #17) rather than
changing
V14_1HAR_q1for everyone — we don't know which hardwarecombination produces the 112+9 layout, if any.
Steps to reproduce
V14_1HAR_q1template.
custom_components.bauergroup_hargassnerintegration.at index 112: invalid literal for int(): '0.00'on every telegram, and compare the digitalsensors (heating circuit pumps, mixers, fault flags) with the boiler display — they do not match.
Expected behavior
The template splits the 121 telegram values as 113 analog + 8 digital words, so digital states match the boiler and the
telegram parses without errors.
Severity
Medium — degraded, but usable
Affected version / commit
v0.4.0 (also reproducible on v0.3.1)
Environment
Relevant logs or screenshots