v1.3.0 — Water heater, new entities & flows
Feature release: a native water-heater entity plus several new entities and
flows, driven by a dual-AI (Claude + Codex) review for both bugs and features.
Added
- Water heater entity — the tank now appears as a first-class HA
water_heater: current/target temperature, heat-source operation modes
(electric / gas / heat pump), and an away (holiday) toggle. Advanced mode. - Holiday datetime entities — set holiday start/end from a UI picker
(in addition to the services). Advanced mode. - Reconfigure flow — update account credentials from the integration's
Reconfigure button without removing and re-adding the entry. - Multi-tank picker — the config flow now lists the tanks on your account
to choose from instead of typing the serial (manual entry still allowed). - Repair issues — a "tank not found" repair card guides you to reconfigure,
and clears automatically once the tank is reachable again. - Device triggers — automate on "hot water low", "heating started/stopped",
and "holiday started/ended" directly from the Automations UI. - Configurable alert thresholds — set the low / no hot water percentages in
the integration options. - Optional electricity cost sensor — set a price per kWh in options to get a
running electric-heating cost in your currency. quality_scale.yamlchecklist tracking Bronze→Platinum rule status.
Changed
- Entity write commands (switches, numbers, select, button, water heater) now
trigger HA's re-auth flow on an auth failure, consistent with the services. - Experience-mode selector labels are translatable.
- Diagnostics now include (non-secret) options and coordinator metadata.
PARALLEL_UPDATESdeclared on every platform (0 for read, 1 for write).- Device info now includes the serial number and a configuration URL.
Fixed
- API numeric fields are coerced to finite floats; null/NaN/inf/garbage values
no longer mislead entities or the energy/cost integrators. - Options help text corrected to the real 30–300 s poll-interval range.
electric_powerreports a float when idle (was an int0).- Services expose an area target in the UI (the backend already resolved it).