☕ Support This Project
If you find this integration useful, consider supporting its development:
Your support helps maintain and improve this integration. Thank you! 🙏
What's Changed
Integration
- Breaking: Home Assistant 2026.11 or newer is required (was 2026.9). The climate entity now
implements Home Assistant'snative_current_temperature,native_target_temperatureand
_attr_native_temperature_unit, introduced in 2026.11, instead of the names that release
deprecates (current_temperature,target_temperature,_attr_temperature_unit; they stop
working in 2027.11 and 2026.11 logs a warning per thermostat class at startup). The old names
areFinalon the base class, so an integration cannot type-check with both, and on 2026.9
and 2026.10 the base class does not read the new ones. The startup check inconst.pynow
enforces the same minimum ashacs.json; it had stayed at 2026.8. - Device actions and triggers read the device's config entry without a deprecation notice.
Home Assistant 2026.11 reports every read ofDeviceEntry.config_entries(a device belongs to
one entry,config_entry_id) and removes the attribute in 2027.10; the three lookups in
device_action.pyanddevice_trigger.pyuseconfig_entry_idnow. - Reconfiguring a connected CCU reloads the entry once. The reconfigure flow used
ConfigFlow.async_update_reload_and_abort, which schedules a reload although the entry's update
listener already reloads it on changed data; HA 2026.11 reports that as deprecated. It now
uses the integration's single-reload update, like reauth and the backend switch do. - No more
CONN_CLASS_LOCAL_PUSHwarning at startup. The config flow dropped its
CONNECTION_CLASS; Home Assistant deprecated the constant without replacement (removal in
2027.5) and nothing reads the attribute any more. - HmIP-DLD shows "opening" instead of "locking" while the latch is opened. The lock entity
now forwards aiohomematic's newis_opening(requires aiohomematic 2026.11.2), so HA and HomeKit
no longer report a lock movement when only the latch is pulled
(#1343). - Switching to the openccu-loom backend keeps event entities and valve-level sensors.
The unique_id migration skipped event-group keys (event_group_…) and kept the_sensor
suffix aiohomematic appends toLEVELonHmIP-eTRV/HmIP-HEATING(forced sensor). Neither
matched the key the loom backend produces, so these entities were re-created as_2
duplicates and the originals were swept as orphans, losing the entity_id, history and a
user's disabled state. Both key shapes are now migrated; switching back re-appends the
_sensorsuffix for those devices. Installations already on loom keep their_2entities
and can rename them back.
Documentation
- Installation now points to the Home Assistant Marketplace. From Home Assistant 2026.11 on,
the integration is installed through the Marketplace; on earlier versions the same steps apply
in HACS. - The button blueprints are documented with their actual minimum of Home Assistant 2026.9.
- The Companion Cards section was removed; the climate schedule card is part of the integration
now and the link was dead.
Development
- The test suite runs on
pytest-homeassistant, Home Assistant's official pytest plugin for
custom integrations (built frompackages/pytest-homeassistantin HA core and pinned to the
matching HA release), replacingpytest-homeassistant-custom-component-framework. The
framework's generator extracted files fromtests/in HA core that 2026.11 moved into that
package, and its plugin importshttpxbefore HA installs thehttpx2alias, so it cannot
start against 2026.11 at all. Tests import helpers frompytest_homeassistant.common, the
hassfixture enables custom integrations by itself, and pytest runs with-p no:respx. - CI runs the test suite on Python 3.15 in addition to 3.14. The 3.15 job is informational,
since Home Assistant does not support 3.15 yet.
Dependencies
Bump aiohomematic to 2026.11.2
- Fix: HmIP-DLD reported "locking" while the latch was opened (#1343)