What's Changed
Integration
- Doorbell event entities (HmIP-DBB, HmIP-DSD-PCB) now expose and fire the standard
ringevent type instead ofpress_short(#3300). Home Assistant requires doorbell event entities to supportring(deprecation warning today, mandatory from HA 2027.4) and its new doorbell triggers listen for it. Other event types such aspress_longare unchanged, as are the device triggers. Breaking: automations that trigger on thepress_shortevent type of these event entities must be switched toring - Event entities now carry the full device identity (name, manufacturer, model, serial number, firmware) in their
DeviceInfo. Previously they registered only the device identifiers — if an event entity happened to be the device's first registration, the device entry was created without a name and the generated (sticky) entity_id degraded to the config-entry title (e.g.event.<instance_name>_ch1instead ofevent.<device_name>_ch1)
Development
- Added a
Makefileas the entry point for all development tasks (make helplists every target): setup, code quality (ruff, mypy, pylint, bandit, codespell, yamllint, prettier, translations, prek), tests (incl. coverage, CI mode and the opt-in e2e suite), hassfest/HACS validation, running Home Assistant against./config, and housekeeping. Targets run throughscript/run-in-env.sh, so they work with or without an activated virtual environment.CLAUDE.mdandCONTRIBUTING.mddocument the targets; the brokencov.sh(it referenced a non-existent.coveragerc) is superseded bymake test-cov-htmland was removed
Dependencies
Bump aiohomematic to 2026.7.7
- Adds the
ALARM_CONTROL_PANELcategory/type vocabulary — pure vocabulary, no behaviour change on the CCU path
Bump openccu-loom-client to 2026.7.12 (pins openccu-loom-types==0.1.56)
- Groundwork bump for the still-disabled openccu-loom backend; it has no runtime effect while the backend master switch (
LOOM_BACKEND_SELECTABLEinconst.py) stays off. Advances the bundled loom client from2026.7.6to2026.7.12and its transitively pinnedopenccu-loom-typesfrom0.1.53to0.1.56
homematicip-local-frontend
- Bundled
homematic-config.jsrebuilt. The device list now renders virtualized (newhm-device-rowelement behindha-list-virtualized) once more than 100 filtered devices are shown and Home Assistant provides the element, which keeps large installations responsive; below that threshold the existing grouped rendering is unchanged - The unsaved-changes warning in the channel and link configuration now also triggers when navigating away or closing the tab (capture-phase
clickinterception plusbeforeunload), not only via the panel's own back button - The config panel header was restyled to match Home Assistant's standard toolbar/header design (frontend #73, @smoki3)
- The device list and interface group headers now use Home Assistant's standard
ha-cardstyling for visual consistency with the rest of HA, via a new<hm-interface-header>component (frontend #75, @smoki3) - Removed a duplicated view title in the device list (frontend #76, @smoki3)