Der update-Domain in Home Assistant ist eine der am meisten unterschätzten Errungenschaften der letzten zwei Jahre. Sie sammelt Updates aus völlig unterschiedlichen Welten – HA Core, Supervisor, Operating System, HACS-Komponenten, Add-ons, ZHA-Coordinator-Firmware, Zigbee-Endgeräte, Matter-Geräte – und macht sie als gewöhnliche Entitäten verfügbar. Damit lassen sich Updates zentral überwachen, vor Updates automatisch Backups erstellen, und der wachsende Wildwuchs von Firmware-Quellen wird endlich beherrschbar.
Was die update-Domain liefert
Jede update.*-Entität hat denselben State – on (Update verfügbar) oder off (aktuell) – sowie Attribute wie installed_version, latest_version, release_summary und release_url. Das ist das gemeinsame Format, mit dem sich alles in einem einzigen Template-Sensor zusammenfassen lässt. In einem typischen HA-Setup finden sich Dutzende dieser Entitäten:
update.home_assistant_core_updateupdate.home_assistant_supervisor_updateupdate.home_assistant_operating_system_updateupdate.hacs_updateupdate.button_card_updateupdate.advanced_ssh_web_terminal_updateupdate.file_editor_updateupdate.home_assistant_connect_zbt_1_ea77a868_firmwareupdate.eve_weather_20ebs9901_firmwareupdate.eve_energy_20ecl1301_firmwareupdate.aqara_wasser_sensor_firmwareupdate.bewegungsmelder_aqara_firmwareupdate.gardena_smart_system_update
Ohne Bündelung verteilen sich diese auf das Settings-Menü, die HACS-Seite, das ZHA-Dashboard und das Hersteller-Portal. Mit einem Template-Sensor wird daraus eine Zahl auf dem Dashboard.
Pending-Updates als Template-Sensor
In configuration.yaml oder unter Helfer → Vorlage:
template:
- sensor:
- name: "Updates ausstehend"
unique_id: updates_ausstehend
state: >
{{ states.update | selectattr('state', 'eq', 'on') | list | count }}
unit_of_measurement: "Updates"
icon: mdi:package-up
attributes:
liste: >
{{ states.update
| selectattr('state', 'eq', 'on')
| map(attribute='name')
| list | join(', ') }}
kritisch: >
{{ states.update
| selectattr('state', 'eq', 'on')
| selectattr('attributes.entity_picture', 'search', 'home-assistant')
| list | count }}
Das Resultat: ein einziger Sensor sensor.updates_ausstehend, dessen Wert anzeigt, wie viele Komponenten Updates haben. Das Attribut liste enthält die Klartextnamen für eine Push-Notification, kritisch zählt nur HA-Core-relevante Updates separat.
Auto-Backup vor Core-Updates
Ein häufiger Schmerzpunkt: Core-Update wird angeklickt, irgendetwas bricht, das letzte Backup ist drei Wochen alt. Eine Automation erzwingt frische Backups, bevor ein Update überhaupt installiert werden darf:
automation:
- alias: Auto-Backup vor Core-Update
trigger:
- platform: state
entity_id: update.home_assistant_core_update
to: "on"
action:
- service: backup.create_automatic
data:
name: "Pre-Update {{ now().strftime('%Y-%m-%d_%H-%M') }}"
- service: persistent_notification.create
data:
title: "HA Core Update bereit"
message: >
Version {{ state_attr('update.home_assistant_core_update', 'latest_version') }}
verfügbar. Backup erstellt.
Release Notes:
{{ state_attr('update.home_assistant_core_update', 'release_url') }}
Die backup.create_automatic-Aktion (ab HA 2025.1) nutzt die in den Backup-Einstellungen konfigurierten Ziele (lokal, Network Share, Google Drive via HACS). Wer den Backup-Manager bereits sauber konfiguriert hat, bekommt die 3-2-1-Strategie automatisch korrekt versioniert.
Wöchentliche Push-Notification
Statt täglich von Update-Badges genervt zu werden, lohnt sich ein gebündelter Wochenreport:
automation:
- alias: Wochenreport Updates
trigger:
- platform: time
at: "08:00:00"
condition:
- condition: time
weekday: [sun]
- condition: template
value_template: "{{ states('sensor.updates_ausstehend') | int > 0 }}"
action:
- service: notify.mikes_iphone_17_pro
data:
title: "{{ states('sensor.updates_ausstehend') }} Updates verfügbar"
message: "{{ state_attr('sensor.updates_ausstehend', 'liste') }}"
data:
push:
interruption-level: time-sensitive
interruption-level: time-sensitive setzt die iOS-Notification über aktive Fokus-Modi. Wer Android nutzt, ersetzt das durch priority: high und ttl: 0.
Stolperfallen in der Praxis
Zigbee-Endgerät-Updates (update.*_firmware) über ZHA brauchen aktivierte OTA-Quellen und können bei Batteriegeräten Stunden dauern – während des Updates ist das Gerät nicht ansprechbar. Nie automatisch installieren, sondern manuell zu einem ruhigen Zeitpunkt anstossen. Bei Aqara-Sensoren gilt: erst Batterie wechseln, dann Update. Bei IKEA-Geräten muss das Endgerät zwingend wach sein – einmal kurz auslösen und sofort den Update-Button klicken.
HACS-Updates lassen sich aktivieren durch experimental: true in den HACS-Einstellungen, sind dann aber selten kritisch. Add-ons hingegen sollten in einem Zwei-Wochen-Rhythmus durchgewinkt werden, weil Sicherheits-Patches oft nur dort eintreffen.
Fazit
Der update-Domain reduziert Wartungsfrust auf einen einzigen Dashboard-Wert und eine wöchentliche Push. In Kombination mit dem Backup-Manager wird daraus eine selbstdokumentierende Update-Strategie: Backup, Update, Release-Notes im Notification-Verlauf. Wer einmal eine fehlgeschlagene Core-Migration ohne aktuelles Backup zurückgespielt hat, weiss, warum diese fünf Minuten YAML jeden Aufwand wert sind.