Releases: sbstn-0x2a/ha_froeling_modbus
Release list
v0.3.5
feat(sensor): add missing Kesselzustand status codes 89 & 90 (v0.3.5)
Status values 89 and 90 were missing from KESSELZUSTAND_MAPPING,
causing Home Assistant to display "Unknown (89)" and "Unknown (90)"
after the Scheitholz heating cycle. Added:
89: "Abstellen Warten (SH)"
90: "Abreinigen (SH)"
v0.3.4
fix: catch BrokenPipeError after Modbus connection loss (v0.3.4)
After the Modbus adapter loses its TCP connection, pymodbus raises a
BrokenPipeError on the next read/write attempt. In all read*_sync and
_write_register_sync helpers the first try-block only caught TypeError,
so BrokenPipeError propagated uncaught through async_add_executor_job,
causing Home Assistant to log "Task exception was never retrieved" for
every entity on every polling cycle.
Fix: add except (BrokenPipeError, ConnectionResetError) to the first
try-block in each sync helper. On catch, client.close() resets the
broken socket so the next polling cycle's client.connect() can
establish a fresh connection automatically.
Affected files: sensor.py, binary_sensor.py, number.py, select.py,
time.py, switch.py
Version bump: manifest.json 0.3.2 → 0.3.4, sw_version 0.3.3 → 0.3.4
v0.3.3
README translated fully to English (README.md)
Added German version (README_de.md)
v0.3.2
fix(number): add support for device_class in _BaseNumber constructor
fix(options): stop assigning self.config_entry explicitly in OptionsFlow (HA deprecation)
update README
v0.3.1
fix(translations): use entity.select state translations instead of select_option
fix(number): add support for device_class in _BaseNumber constructor
fix(Übersetzungen): select.py auf entity.select.* Schema umgestellt
fix(Number): device_class als optionales Argument in _BaseNumber hinzugefügt