Skip to content

2.9.7 — settings untranslated, controls greyed out, a device for the settings

Latest

Choose a tag to compare

@acdcnow acdcnow released this 21 Sep 23:18
· 1 commit to master since this release

Options dialog: the labels are back

Every field of the settings dialog showed its raw key (ip_address, port, ...). The fields live in sections, and Home Assistant looks a label up inside its section — options.step.init.sections.connection.data.ip_address — while the files only had a flat options.step.init.data block. The labels are now in their sections in English, German, French and Norwegian, and the missing strings.json was added.

The integration is called "Hansgrohe Pontos"

Home Assistant and HACS now show Hansgrohe Pontos. The domain stays pontos, so entity ids, unique ids, device registry entries and existing config entries are unaffected, and the config entry keeps the device name you entered.

Controls work again (clear alarms, profile selection)

The alarm button and the profile dropdown were permanently greyed out: they looked the sensor they mirror up in the entity registry, with a unique id that never matched the sensor's own id — and the button/select platforms are set up before the sensor platform anyway. They now read the value from the coordinator, and a sensor reference resolves by key or by name (the device configurations use both spellings). This also fixes the microleakage schedule, the microleakage time, the regeneration mode/interval/time and the buzzer controls, which used the same broken lookup.

A device for the settings

Each meter now creates a second device, "<device name> configuration", for its settings: the profile limits (volume, time, flow, return time), the microleakage schedule and time, the regeneration mode/interval/time and the buzzer. It is linked to the meter, so it shows up as a sub device of it; the buttons and the profile selection stay on the meter. Entity ids and unique ids are unchanged — the settings only moved to another device card.

Tooling

  • New testing/check_translations.py derives the labels the flows, entities and services need from the code and fails when one is missing; it also fails when strings.json drifts from translations/en.json.
  • The offline smoke test now asserts that every control is available, finds its sensor and lands on the expected device.

Verified

All five device families set up offline, create their entities, answer every service and unload: Pontos 53 entities / 22 controls, Trio 54 / 14, SafeTech+ 66 / 19, SafeTech+ old firmware 45 / 10, NeoSoft 51 / 7 — two devices each.

No Home Assistant runtime is available on this machine (2026.9 needs Python 3.14), so this is offline verification of the real code paths, not an end-to-end test with a device.

Full changelog: v2.9.6...v2.9.7