Im Auftakt dieser Serie hatte ich Home Assistant als Herzstück meiner Haussteuerung erwähnt. Mit der Zeit ist daraus mehr geworden als eine Sammlung einzelner Automationen: Ohne bewusste Struktur wächst so ein System schnell über den Kopf. In diesem Beitrag zeige ich zwei Bausteine, mit denen ich versuche, Ordnung zu halten, bevor sie nötig wird, statt erst danach aufzuräumen.
Als ich Home Assistant zum ersten Mal aufgesetzt hatte, gab es dort bereits einen ähnlichen Baustein: Template-Sensoren, die kryptische Sensor-Namen in etwas Lesbares übersetzt, Werte gerundet und das Rauschen zu häufiger Messungen geglättet haben. Ein sinnvoller erster Schritt, aber eher Datenpflege als bewusste Architektur. Bei der kompletten Neuaufsetzung meiner Instanz auf neuer Hardware habe ich dies diesmal anders gemacht: Aus dem Werkzeug für saubere Namen ist eine durchdachte Abstraktionsebene geworden, die gezielt vor den Folgen eines Hardware-Tauschs schützt, ergänzt um ein Element, das im ursprünglichen Setup noch gar nicht existierte: ein systematisches Label-Konzept.
Warum Struktur bei Home Assistant überhaupt zum Thema wird
Am Anfang reicht es, jeden Sensor und jedes smarte Gerät einfach anzulegen und direkt in ein Dashboard oder eine Automation einzubinden. Mit wachsender Zahl an Sensoren, Aktoren und Automationen ändert sich das: Unterschiedliche Funktechniken, Geräte mit mehreren Rollen und die Frage, was passiert, wenn ein einzelner Sensor kaputtgeht oder ersetzt wird, machen aus einem übersichtlichen Setup schnell ein unübersichtliches. Zwei Fragen haben sich bei mir immer wieder gestellt: Wie behalte ich den Überblick über sehr unterschiedliche Geräte? Und wie vermeide ich, dass ein einzelner Hardware-Tausch halbe Dashboards zerschießt?
Eine Abstraktionsebene zwischen Sensor und Automation
Die zweite Frage habe ich mit einer zusätzlichen Zwischenschicht angegangen. Statt dass Dashboards, Automationen und meine Grafana-Auswertung direkt auf die physische Sensor-Entität zeigen, hängen sie an einem virtuellen Sensor, umgesetzt als Template-Helper über die Home-Assistant-Oberfläche. Der virtuelle Sensor hat einen festen, sprechenden Namen und liest seinen Wert lediglich vom aktuell zuständigen physischen Sensor aus. Muss ich später einen Sensor tauschen, etwa weil ein batteriebetriebener Bewegungsmelder ausfällt, ändere ich nur die Quelle an einer einzigen Stelle im Template, statt jede einzelne Dashboard-Karte und jede Automation nachzuziehen.
Der Effekt geht über reine Bequemlichkeit hinaus: Der virtuelle Sensor behält seine Entity-ID über mehrere Hardware-Generationen hinweg, wodurch auch die langfristige Statistik durchgängig bleibt, statt bei jedem Sensortausch von vorn zu beginnen. Ein konkretes Beispiel aus meinem Setup ist die Anwesenheitserkennung an meinem Arbeitsplatz: Ein virtueller Schalter hält den Status bewusst bis zu zehn Minuten nach der letzten erkannten Bewegung fest, gespeist von einer eigenen Glättungs-Automation. Für ein träges, auswertungsfreundliches Anwesenheits-Tracking ist genau das gewünscht.
Wo die Abstraktionsebene an ihre Grenzen stößt
Nicht jede Automation profitiert von dieser Trägheit. Für eine Automation, die auf jede einzelne Bewegung sofort reagieren soll, etwa ein Tablet, das beim Betreten des Raums aufwachen soll, wäre eine zehnminütige Verzögerung kontraproduktiv. Hier verwende ich eine zweite Variante desselben Bausteins: einen Template-Helper, der den physischen Sensor 1:1 ohne jede Glättung spiegelt. Von der Entity-ID her bleibt die Automation trotzdem entkoppelt und damit hardwaretausch-sicher, nur die Trägheit fällt weg.
Diese zwei Varianten mit demselben Grundbaustein zeigen für mich die eigentliche Erkenntnis: Eine Abstraktionsebene ist kein Automatismus, den man pauschal über alle Sensoren stülpt, sondern eine bewusste Entscheidung pro Anwendungsfall. Bevor ich einen virtuellen Sensor anlege, frage ich mich inzwischen zuerst, ob der jeweilige Anwendungsfall Trägheit braucht oder eine sofortige Reaktion. Und nicht jeder Sensor braucht diese zusätzliche Schicht überhaupt: Bei Geräten, die ich absehbar nie austausche, steht der Zusatzaufwand in keinem Verhältnis zum Nutzen.
Labels statt nur Bereiche: mein Namensschema
Die erste Frage, wie ich bei sehr unterschiedlichen Geräten den Überblick behalte, löse ich nicht über die Bereichs-Struktur von Home Assistant, sondern über Labels. Mein Gerätepark lässt sich nämlich nicht sauber in einzelne Räume pressen: reine Sensoren, reine Aktoren, Hybridgeräte wie Heizungsthermostate, passive NFC-Tags und mobile Tracker wie Schlüsselanhänger folgen völlig unterschiedlichen Logiken. Labels in Home Assistant sind dabei bewusst flach, ohne Eltern-Kind-Hierarchie wie bei Bereichen oder Etagen.
Um trotzdem mehrere Dimensionen gleichzeitig abzubilden, verwende ich ein Präfix-Schema nach dem Muster „Achse: Wert“. Zwei Achsen sind dabei Pflicht für jedes Gerät:
- Rolle beschreibt, was ein Gerät tut: Sensor, Aktor, die Kombination aus beidem, Hub/Gateway, Tag oder Tracker.
- Technik beschreibt den verwendeten Funkstandard: Zigbee, BLE, WLAN, Matter, Thread und einige weitere, bewusst auch solche, die ich aktuell noch nicht einsetze.
Darüber hinaus gibt es Zusatz-Achsen, die ich nur bei Bedarf vergebe, etwa ein einfaches Flag für batteriebetriebene Geräte, mit dem sich eine einzige Automation für alle niedrigen Batteriestände bauen lässt, statt jedes Gerät einzeln zu pflegen. Oder eine Markierung für sicherheitsrelevante Sensoren wie Rauch- oder Türmelder, die eine eigene, höher priorisierte Sicht verdienen. Insgesamt sind so aktuell 23 Labels über sechs Rollen, zehn Techniken und sieben Zusatz-Achsen entstanden, alle vergeben auf Geräte-Ebene, nur in Ausnahmefällen zusätzlich auf einzelne Entitäten.
Fazit und Ausblick
Beide Bausteine verfolgen für mich dasselbe Ziel auf unterschiedlichen Ebenen: Die Abstraktionsebene schützt vor den Folgen eines Hardware-Tauschs, das Label-Schema schafft Ordnung über eine sehr heterogene Gerätelandschaft, die sich nicht allein über Räume abbilden lässt. Keiner der beiden Bausteine ist bei mir vollständig ausgerollt, sondern wird gezielt dort eingesetzt, wo sich der Aufwand lohnt, und wächst mit jedem neuen Gerät weiter. Genau auf dieser Struktur bauen inzwischen auch konkrete Automationen auf, etwa im nächsten Beitrag dieser Serie, wenn es um die Absicherung meiner Home-Assistant-Instanz per Backup geht.
Wie in den anderen Beiträgen dieser Serie: Bei Fragen oder Interesse an Details zur Umsetzung freue ich mich über eine Nachricht.