{"id":801,"date":"2026-05-30T23:04:34","date_gmt":"2026-05-30T21:04:34","guid":{"rendered":"https:\/\/www.coremind.ch\/wordpress\/?p=801"},"modified":"2026-05-30T23:04:34","modified_gmt":"2026-05-30T21:04:34","slug":"update-center-in-ha-alle-firmware-updates-an-einem-ort","status":"publish","type":"post","link":"https:\/\/www.coremind.ch\/wordpress\/update-center-in-ha-alle-firmware-updates-an-einem-ort\/","title":{"rendered":"Update-Center in HA: alle Firmware-Updates an einem Ort"},"content":{"rendered":"<p>Der <code>update<\/code>-Domain in Home Assistant ist eine der am meisten untersch\u00e4tzten Errungenschaften der letzten zwei Jahre. Sie sammelt Updates aus v\u00f6llig unterschiedlichen Welten \u2013 HA Core, Supervisor, Operating System, HACS-Komponenten, Add-ons, ZHA-Coordinator-Firmware, Zigbee-Endger\u00e4te, Matter-Ger\u00e4te \u2013 und macht sie als gew\u00f6hnliche Entit\u00e4ten verf\u00fcgbar. Damit lassen sich Updates zentral \u00fcberwachen, vor Updates automatisch Backups erstellen, und der wachsende Wildwuchs von Firmware-Quellen wird endlich beherrschbar.<\/p>\n<h2>Was die update-Domain liefert<\/h2>\n<p>Jede <code>update.*<\/code>-Entit\u00e4t hat denselben State \u2013 <code>on<\/code> (Update verf\u00fcgbar) oder <code>off<\/code> (aktuell) \u2013 sowie Attribute wie <code>installed_version<\/code>, <code>latest_version<\/code>, <code>release_summary<\/code> und <code>release_url<\/code>. Das ist das gemeinsame Format, mit dem sich alles in einem einzigen Template-Sensor zusammenfassen l\u00e4sst. In einem typischen HA-Setup finden sich Dutzende dieser Entit\u00e4ten:<\/p>\n<ul>\n<li><code>update.home_assistant_core_update<\/code><\/li>\n<li><code>update.home_assistant_supervisor_update<\/code><\/li>\n<li><code>update.home_assistant_operating_system_update<\/code><\/li>\n<li><code>update.hacs_update<\/code><\/li>\n<li><code>update.button_card_update<\/code><\/li>\n<li><code>update.advanced_ssh_web_terminal_update<\/code><\/li>\n<li><code>update.file_editor_update<\/code><\/li>\n<li><code>update.home_assistant_connect_zbt_1_ea77a868_firmware<\/code><\/li>\n<li><code>update.eve_weather_20ebs9901_firmware<\/code><\/li>\n<li><code>update.eve_energy_20ecl1301_firmware<\/code><\/li>\n<li><code>update.aqara_wasser_sensor_firmware<\/code><\/li>\n<li><code>update.bewegungsmelder_aqara_firmware<\/code><\/li>\n<li><code>update.gardena_smart_system_update<\/code><\/li>\n<\/ul>\n<p>Ohne B\u00fcndelung verteilen sich diese auf das Settings-Men\u00fc, die HACS-Seite, das ZHA-Dashboard und das Hersteller-Portal. Mit einem Template-Sensor wird daraus eine Zahl auf dem Dashboard.<\/p>\n<h2>Pending-Updates als Template-Sensor<\/h2>\n<p>In <code>configuration.yaml<\/code> oder unter Helfer \u2192 Vorlage:<\/p>\n<pre><code>\u2029template:\u2029  - sensor:\u2029      - name: \"Updates ausstehend\"\u2029        unique_id: updates_ausstehend\u2029        state: &gt;\u2029          {{ states.update | selectattr('state', 'eq', 'on') | list | count }}\u2029        unit_of_measurement: \"Updates\"\u2029        icon: mdi:package-up\u2029        attributes:\u2029          liste: &gt;\u2029            {{ states.update\u2029               | selectattr('state', 'eq', 'on')\u2029               | map(attribute='name')\u2029               | list | join(', ') }}\u2029          kritisch: &gt;\u2029            {{ states.update\u2029               | selectattr('state', 'eq', 'on')\u2029               | selectattr('attributes.entity_picture', 'search', 'home-assistant')\u2029               | list | count }}\u2029<\/code><\/pre>\n<p>Das Resultat: ein einziger Sensor <code>sensor.updates_ausstehend<\/code>, dessen Wert anzeigt, wie viele Komponenten Updates haben. Das Attribut <code>liste<\/code> enth\u00e4lt die Klartextnamen f\u00fcr eine Push-Notification, <code>kritisch<\/code> z\u00e4hlt nur HA-Core-relevante Updates separat.<\/p>\n<h2>Auto-Backup vor Core-Updates<\/h2>\n<p>Ein h\u00e4ufiger Schmerzpunkt: Core-Update wird angeklickt, irgendetwas bricht, das letzte Backup ist drei Wochen alt. Eine Automation erzwingt frische Backups, bevor ein Update \u00fcberhaupt installiert werden darf:<\/p>\n<pre><code>\u2029automation:\u2029  - alias: Auto-Backup vor Core-Update\u2029    trigger:\u2029      - platform: state\u2029        entity_id: update.home_assistant_core_update\u2029        to: \"on\"\u2029    action:\u2029      - service: backup.create_automatic\u2029        data:\u2029          name: \"Pre-Update {{ now().strftime('%Y-%m-%d_%H-%M') }}\"\u2029      - service: persistent_notification.create\u2029        data:\u2029          title: \"HA Core Update bereit\"\u2029          message: &gt;\u2029            Version {{ state_attr('update.home_assistant_core_update', 'latest_version') }}\u2029            verf\u00fcgbar. Backup erstellt.\u2029            Release Notes:\u2029            {{ state_attr('update.home_assistant_core_update', 'release_url') }}\u2029<\/code><\/pre>\n<p>Die <code>backup.create_automatic<\/code>-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 <a href=\"https:\/\/www.coremind.ch\/wordpress\/\">automatisch korrekt versioniert<\/a>.<\/p>\n<h2>W\u00f6chentliche Push-Notification<\/h2>\n<p>Statt t\u00e4glich von Update-Badges genervt zu werden, lohnt sich ein geb\u00fcndelter Wochenreport:<\/p>\n<pre><code>\u2029automation:\u2029  - alias: Wochenreport Updates\u2029    trigger:\u2029      - platform: time\u2029        at: \"08:00:00\"\u2029    condition:\u2029      - condition: time\u2029        weekday: [sun]\u2029      - condition: template\u2029        value_template: \"{{ states('sensor.updates_ausstehend') | int &gt; 0 }}\"\u2029    action:\u2029      - service: notify.mikes_iphone_17_pro\u2029        data:\u2029          title: \"{{ states('sensor.updates_ausstehend') }} Updates verf\u00fcgbar\"\u2029          message: \"{{ state_attr('sensor.updates_ausstehend', 'liste') }}\"\u2029          data:\u2029            push:\u2029              interruption-level: time-sensitive\u2029<\/code><\/pre>\n<p><code>interruption-level: time-sensitive<\/code> setzt die iOS-Notification \u00fcber aktive Fokus-Modi. Wer Android nutzt, ersetzt das durch <code>priority: high<\/code> und <code>ttl: 0<\/code>.<\/p>\n<h2>Stolperfallen in der Praxis<\/h2>\n<p>Zigbee-Endger\u00e4t-Updates (<code>update.*_firmware<\/code>) \u00fcber ZHA brauchen aktivierte OTA-Quellen und k\u00f6nnen bei Batterieger\u00e4ten Stunden dauern \u2013 w\u00e4hrend des Updates ist das Ger\u00e4t nicht ansprechbar. <strong>Nie automatisch installieren<\/strong>, sondern manuell zu einem ruhigen Zeitpunkt anstossen. Bei Aqara-Sensoren gilt: erst Batterie wechseln, dann Update. Bei IKEA-Ger\u00e4ten muss das Endger\u00e4t zwingend wach sein \u2013 einmal kurz ausl\u00f6sen und sofort den Update-Button klicken.<\/p>\n<p>HACS-Updates lassen sich aktivieren durch <code>experimental: true<\/code> 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.<\/p>\n<h2>Fazit<\/h2>\n<p>Der <code>update<\/code>-Domain reduziert Wartungsfrust auf einen einzigen Dashboard-Wert und eine w\u00f6chentliche 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\u00fcckgespielt hat, weiss, warum diese f\u00fcnf Minuten YAML jeden Aufwand wert sind.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der update-Domain in Home Assistant ist eine der am meisten untersch\u00e4tzten Errungenschaften der letzten zwei Jahre. Sie sammelt Updates aus v\u00f6llig unterschiedlichen Welten \u2013 HA Core, Supervisor, Operating System, HACS-Komponenten, Add-ons, ZHA-Coordinator-Firmware, Zigbee-Endger\u00e4te, Matter-Ger\u00e4te \u2013 und macht sie als gew\u00f6hnliche Entit\u00e4ten verf\u00fcgbar. Damit lassen sich Updates zentral \u00fcberwachen, vor Updates automatisch Backups erstellen, und der &#8230; <a title=\"Update-Center in HA: alle Firmware-Updates an einem Ort\" class=\"read-more\" href=\"https:\/\/www.coremind.ch\/wordpress\/update-center-in-ha-alle-firmware-updates-an-einem-ort\/\" aria-label=\"Mehr Informationen \u00fcber Update-Center in HA: alle Firmware-Updates an einem Ort\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-801","post","type-post","status-publish","format-standard","hentry","category-ha"],"_links":{"self":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=801"}],"version-history":[{"count":1,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/801\/revisions"}],"predecessor-version":[{"id":802,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/801\/revisions\/802"}],"wp:attachment":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}