Technische Schulden in Home Assistant

Du installierst Home Assistant und bist super glücklich. Alles läuft rund und die wohl größte Meisterleistung liegt hinter dir. Jetzt geht es ans Eingemachte. Automationen, Entitäten, Apps. Alles, was zu einem gelungenen Smart Home dazugehört.

Und es läuft richtig rund.

Bis du eines Tages von selbst bemerkst, dass dein Home Assistant komplexer wird.

Nicht nur, weil so viele Geräte und Entitäten (also einzelne Sensoren, Schalter oder Lampen in Home Assistant) dazugekommen sind. Sondern eben auch, weil es immer mal wieder Automationen und Zusammenhänge gibt, die über die Jahre gewachsen sind. Eine Automation hier, eine dort. Zwei verschiedene Entitäten mit ähnlichen Namen. Und dann sind da noch jene, die einen völlig kryptischen Namen tragen.

Doch was macht man an diesem Punkt? Wie kann es dazu kommen? Und warum kennen wir Softwareentwickler dieses Problem aus unseren Projekten nur zu gut?

Angeregt durch mein eigenes Setup und eine Leserfrage, will ich genau diesen Sachen mit dir in diesem Artikel auf die Spur kommen. Denn wenn du dich in diesem Text wiedererkennen kannst, dann bist du nicht alleine. Wenn ich mich in der Community umschaue oder Leserfragen bekomme, scheint das Problem viele Home Assistant Nutzer zu beschäftigen.

Ein Mann mit blonden Haaren in einem grauen Hoodie sitzt vor einem Computerbildschirm, der die Benutzeroberfläche von Home Assistant zeigt. Er hat einen nachdenklichen Gesichtsausdruck und hält seine Hand an die Stirn, während er anscheinend über eine technische Herausforderung nachdenkt. Auf dem Tisch vor ihm steht eine Tasse. Im Hintergrund ist ein moderner Raum mit smarter Heimtechnologie zu sehen.
Transparenzinfo: rein KI-generiert

Was sind technische Schulden?

Als ich meine neue Waschmaschine in Home Assistant aufgenommen habe, stand ich vor einem praktischen Problem. Ich hatte drei Automationen, die für die alte Waschmaschine zuständig waren. Eine davon habe ich auf die neuen Gegebenheiten angepasst. Die anderen beiden sind erstmal unangetastet und mit den alten Entitäten im System verblieben, weil ich mich darum wann anders kümmern wollte.

Ohne es bewusst zu planen, habe ich das Aufräumen meines Home Assistant einfach aufgeschoben. Einfach aus Bequemlichkeit und mangelnder Konsequenz.

Es kommen Stück für Stück neue Funktionen und Integrationen dazu, die dann in Summe für ein gewachsenes System sorgen. Wer hier nicht gut strukturiert, verliert leider schnell den Überblick über das Geschaffene. Ähnlich verhält es sich in der Softwareentwicklung. Eine veraltete Methode hier, ein Stück ungenutzter Code dort, … schon hat man technische Schulden.

Mitunter verschlimmern können es dann noch die Erweiterungen, die über HACS kommen. Denn hier hat man ein ganzes Repertoire an Möglichkeiten. Themes, Addons, Integrationen. Die Auswahl ist riesig. Erfordert aber auch ein wenig Fingerspitzengefühl.

Übersicht von Erweiterungen mit Home Assistant HACS
Beispielhafte Erweiterungen von HACS

Wo sie entstehen

Um das mal ein wenig praktischer zu machen orientieren wir uns an einem Praxisbeispiel aus meinem eigenen Smart Home. Hierfür muss wieder einmal die Waschmaschine herhalten.

Noch vor wenigen Monaten habe ich ein Modell genutzt, das keinerlei Integrationen für das Smart Home bot. Alle Automationen basierten auf einer smarten Steckdose und der Messung des Stromverbrauchs.

Hierzu hatte ich eine Sprachansage, sobald die Waschmaschine fertig ist. Und es kam noch eine Logik dazu, welche die Restlaufzeit berechnet auf Basis der vergangenen Waschdurchläufe. Es waren insgesamt 3 Automationen, die nur für die Waschmaschine verantwortlich waren.

Nach Socke Nr. 9875 erlag die Waschmaschine dann dem Heldentot. Ein neues Modell musste her. Das bedeutete aber auch gleichzeitig, dass die Automationen angepasst werden müssen. Eine der Automationen in Home Assistant hat es geschafft. Die anderen liegen nach wie vor ungenutzt im System rum. Und warum? Weil wir Informatiker oft das predigen, was wir selbst am schlechtesten tun. Zwar nicht immer, aber schon häufig.

Aber genau das zeigt das Problem. Konsequenterweise hätte ich alle nicht mehr genutzten Automationen und ihre Entitäten sauber entfernen müssen, bevor ich mit der Integration meiner neuen Waschmaschine beginne. Denn genau dann kann ich vermeiden, dass Altbestände übrig bleiben, die mich noch Monate beschäftigen.

Genau dasselbe passiert übrigens beim Austausch von Zigbee-Geräten, beim Wechsel einer MQTT-Integration oder nach größeren Home-Assistant-Updates.

Technische Schulden in Home Assistant erkennen

Das typische Symptom für technische Schulden ist: Es funktioniert, aber keiner weiß genau wie oder warum. Nach dem Motto „never change a running system“. Und das ist fatal!

Typische Anzeichen:

  • Du hast Angst, eine Automation zu löschen
  • Du findest dieselbe Logik dreimal
  • Es gibt Geräte, die längst verkauft sind
  • Helfer, deren Zweck niemand mehr kennt
  • Entitäten mit kryptischen Namen

Und ich bin ehrlich, mir geht es manchmal nicht anders. Gerade bei MQTT sehe ich das Problem auch regelmäßig bei mir.

Aber genau das macht eben aus einem System einen Brocken, den keiner mehr anfassen will. Eine Dauerbaustelle, bei der man nur die Symptome anstatt der Ursachen bekämpft. Ein System, das dich überfordert und dir den Spaß am Smart Home raubt.

Genau das gilt es zu vermeiden!

Typische technische Schulden in Home Assistant sind:

  • verwaiste Entitäten
  • ungenutzte Automationen
  • doppelte Helfer
  • nicht mehr verwendete Integrationen
  • kryptische Gerätenamen
  • alte MQTT-Topics
  • HACS-Erweiterungen, die niemand mehr nutzt

Die technische Schuld verhindern

Damit es gar nicht erst so weit kommt, kannst du im Grunde genommen zwei Wege verfolgen:

  1. kontinuierliche Verbesserung
  2. Reengineering

Beide Wege sind bestehende Möglichkeiten aus der Praxis, die ich nicht mal nur aus dem Studium kenne. Als Entwickler bin ich tagtäglich damit konfrontiert, Verbesserungen in Systemen vorzunehmen oder einzelne Elemente auf deren Sinnhaftigkeit zu hinterfragen.

Niemand erschafft ein System wie in der Serie Person of Interest und fasst es nie wieder an.

In der Praxis muss ein System immer wieder an veränderte Voraussetzungen oder Einflüsse angepasst werden. Im Smart Home vielleicht noch viel mehr als in vielen anderen Bereichen, da es immer eine gewisse Fluktuation an Geräten gibt. Denk nur mal daran, wenn dir ein Gerät kaputt geht. Schwupps wird es ausgetauscht und existiert physisch gar nicht mehr in deinem Zuhause.

Schauen wir uns kurz die zwei Methoden etwas genauer an.

Kontinuierliche Verbesserung

Nehmen wir uns als Beispiel die 1-Prozent-Methode. Irgendwie hat mich das Buch etwas inspiriert. Denn hier geht es darum, in winzigen Schritten zu einer exponentiellen Verbesserung über einen gewissen Zeitraum zu kommen.

Im Smart Home ist das klassische Beispiel, dass du eine Gewohnheit etablierst. In regelmäßigen Abständen solltest du aufräumen. Das fängt an beim Ausmisten von Entitäten und Helfern, geht über die Entfernung von alten Integrationen und führt hin zur Überarbeitung von bestehenden Automationen.

Gerade Entitäten und Automationen haben in der Regel immer ein Potenzial, um aufgeräumt zu werden. Und in der Praxis vergessen wir alle wahrscheinlich viel zu häufig die Helfer (kleine Hilfsobjekte wie Input Booleans, Timer oder Counter), welche uns lange Zeit treue Dienste geleistet haben. Insbesondere weil sie gar nicht so prominent vertreten sind, wenn wir einen Blick in Home Assistant werfen. Sie verstecken sich etwas in den Einstellungen und geraten daher in Vergessenheit.

Wenn du so also Stück für Stück immer wieder für Ordnung im System sorgst, bleibt dein Smart Home langfristig gesehen wesentlich sauberer und freier von technischer Schuld. Das zahlt sich zwar kurzfristig nicht aus. In der Zukunft wirst du aber merken, dass dir so Änderungen wesentlich leichter fallen.

Entitäten der Modbus Integration in Home Assistant
Entitäten am Beispiel von Modbus

Reengineering

Im Gegensatz zum Verbessern würde man bei einem Reengineering das komplette Home Assistant einmal neu aufsetzen und in Einzelschritten neu einrichten.

Jede Automation würde hierbei neu erstellt und mit den Entitäten verbunden werden. Das hat den Vorteil, dass man sämtliche Automationen einmal neu bauen muss und sie in diesem Zug gleich vereinheitlichen oder zusammenführen kann. Dopplungen würden vermieden werden und du startest mit einem sauberen System in die Zukunft.

Der größte Stolperstein ist aber aus meiner Sicht hierbei nicht der hohe Zeitaufwand, sondern die Tatsache, dass das nicht das eigentliche Problem löst. In ein bis zwei Jahren wirst du dich dann vermutlich wieder am gleichen Punkt sehen und mit den gleichen Schwierigkeiten kämpfen.

Meiner Meinung nach ist das Reengineering in der Software aber auch im Smart Home der letzte Schritt, den man in Betracht ziehen sollte. Er erfordert viel Zeit und macht die Dinge an manchen Stellen auch komplex. Denn du musst dir auch die Frage stellen, wie du denn parallel zwei Systeme betreiben kannst, die du umstellst. Es ist also nicht einfach damit getan das ursprüngliche System abzuschalten und das neue zu befüllen.

Und ein Parallelbetrieb von zwei Systemen ist immer eine Herausforderung. Das würde ich nur erfahreneren Nutzern empfehlen.

Wenn du aber einen so hohen Aufwand in das Aufräumen von Home Assistant investieren musst, dass es sich kaum lohnt … Nun, dann mag ein Reengineering vielleicht Sinn ergeben. Wann der Punkt genau erreicht ist, lässt sich objektiv aber nur schwer beurteilen. Hier spielen auch die eigenen Erwartungen und Vorstellungen eine Rolle.

Versionsverwaltung nutzen

Ebenfalls ein hilfreiches Tool aus der Softwareentwicklung ist die Versionsverwaltung. Du kannst sie vor allem dann nutzen, wenn du Änderungen an bestehenden Automationen vornimmst oder jene aus dem System entfernst.

Gehen wir nochmal zu meinem Waschmaschinen-Beispiel zurück.

Anstatt alles zu löschen und meine Arbeit zu vernichten, kann ich auf die Versionsverwaltung zurückgreifen. In einem privaten Repository auf GitHub können die Automationen gelagert und bei Bedarf erneut geladen werden. Finden zwischenzeitlich Änderungen an den Automationen statt, habe ich zudem noch die gesamte Historie und kann bei Bedarf eine ältere Version wiederherstellen.

Dieser Trick hilft auch dann enorm, wenn du KI im Smart Home einsetzen willst. Denn es bleibt immer ein gewisses und minimales Restrisiko, dass bei Änderungen etwas schiefgeht. Wenn du aber deine Automationen als YAML-Dateien gesichert und versioniert hast, kannst du dich fast schon komplett entspannt zurücklehnen (die Entitäten sind immer noch ein anderer Punkt).

Ich zum Beispiel habe mir selbst ein Repository angelegt, in dem ich meine Automationen sichern kann und bei Bedarf jederzeit erneut lade. Damit geht mir aus meinem Smart Home nichts verloren und ich komme gleichzeitig aber auch nicht in die Situation, dass ich alles aktiv im System behalten muss. Obwohl das an sich kein Geheimtipp ist, glaube ich, dass er in der Praxis immer noch viel zu selten angewandt wird. Was nicht zuletzt sicherlich mitunter daran liegt, dass viele gewisse Berührungsängste mit Git und Versionsverwaltung haben.

Aus meiner Sicht lohnt es sich aber enorm. Eine Versionsverwaltung ersetzt zwar kein Home Assistant Backup, ergänzt es aber hervorragend. Während ein Backup den Zustand sichert, zeigt Git jede einzelne Änderung.

Das funktioniert übrigens nicht nur mit GitHub. Auch ein lokales Git-Repository auf einem NAS erfüllt denselben Zweck.

Dokumentation anfertigen

Um darüber hinaus den Überblick zu behalten, kann sich manchmal eine Dokumentation lohnen. Hier geht es explizit nicht darum, dass man aus seinem Smart Home ein Bürokratiemonster macht. Aber gewisse Dinge festhält.

Geeignet sind vor allem Tools wie Obsidian, OneNote oder auch Notion. Hier können Informationen, Zusammenhänge und ergänzende Hinweise gespeichert werden. Bei Bedarf sogar mit dem Code zur Automation, den du dir aus der YAML-Datei laden kannst.

Gerade bei einem gewachsenen System ist das oft ein ganz guter Hebel, um etwas Licht ins Dunkle zu bringen. Stell dir nur mal vor, dass du die Automation deines Lebens baust und sie aber in einem halben Jahr gar nicht mehr anfassen willst. Nicht weil du sie nicht mehr gut findest, sondern weil sie einfach viel zu komplex ist.

Wer eine eigene Dokumentation anfertigt, ist außerdem zum Nachdenken gezwungen. Das kann manchmal dabei helfen, seine eigenen Entscheidungen nochmal zu hinterfragen und eine bessere Lösung zu finden. Mir hilft es beispielsweise, wenn ich Dinge erkläre. Dabei merke ich selbst, wie ich meine eigenen Entscheidungen hinterfrage und insgeheim schon nach einer Optimierung suche. Auf diese Weise kann ich manchmal alte Automationen zusammenlegen oder sogar ganz aus dem System verbannen.

Und schon habe ich wieder ein wenig mehr in Richtung schuldfreies Smart Home getan.

Dokumentiere aber nicht nur Automationen, sondern auch den Aufbau deiner Dashboards, Areas oder besondere Helfer.

Tipp: Ungenutzte Home Assistant Automationen finden

Was ich ganz gerne mache ist, dass ich regelmäßig in meinem Home Assistant nachsehe, welche Automationen schon eine ganze Weile nicht mehr gelaufen sind. Es gab also seit geraumer Zeit keinen Auslöser und demnach auch keinen Durchlauf. Ergo, ich vermisse die Automation überhaupt nicht.

Solche Automationen sind ideale Kandidaten, um sie aus dem System zu entfernen. Mit einem wachsamen Blick prüfe ich dann dabei, welche Geräte eingebunden sind und welche Entitäten mit der Automation in Verbindung stehen. Brauche ich das Gerät nicht mehr (oder gibt es das schon gar nicht mehr), habe ich direkt einen weiteren Punkt zur Optimierung gefunden. Diese Automationen findest du, indem du dir den Zeitpunkt der letzten Ausführung ansiehst. Das zeigt Home Assistant sehr transparent an.

Ab diesem Moment arbeite ich mich dann gerne von innen nach außen. Das bedeutet, dass ich zuerst Integrationen mitsamt Entitäten und Helfern entferne, bevor ich dann die Automation lösche. Dabei hat das Vorgehen einen ganz pragmatischen Hintergrund. Solange ich Zugriff auf die Automation habe, kann ich viel einfacher nachsehen, welche Geräte und Entitäten damit in Verbindung stehen. Lösche ich zuerst die Automation, finde ich diese Entitäten gar nicht mehr so einfach oder muss mir vorher Notizen machen.

Screenshot der Benutzeroberfläche von Home Assistant, der eine Liste von Automatisierungen zeigt, einschließlich ihrer Bezeichnungen, Typen, Ausführungszeiten und Aktivierungsoptionen, alles in einem dunklen Design.
Übersicht der Automationen in Home Assistant

Ausblick

Während ich jetzt so meinen Artikel zu diesem Thema schreibe, kommt mir eine ergänzende Idee.

Ich habe vor geraumer Zeit meinen Home Assistant per MCP mit OpenCode verbunden. So kann ich mit Hilfe der KI bequem und einfach mein System bearbeiten lassen. Ohne, dass ich dafür an den PC muss. Wenn ich diese Verbindung nutze, dann könnte ich gegebenenfalls auch eine Analyse erstellen lassen.

Wie ich dir oben beschrieben habe, sind meine Wege immer ähnlich. Und sie führen mich immer über Automationen, Entitäten oder Helfer. Genau das kann die KI über den MCP auch abrufen. Es wäre also theoretisch denkbar, dass die KI zumindest eine Analyse des Systems vornimmt und mir ungenutzte Elemente ausgibt. Auf diese Weise könnte ich dann entweder selbst eine Bereinigung durchführen oder das auch die KI machen lassen.

Um daraus eine Routine zu machen, wäre dann ein n8n Workflow denkbar, der in regelmäßigen Abständen genau das tut. Einmal im Monat wird das System analysiert und verwaiste Einträge identifiziert. So könnte ich langfristig gesehen ein gesundes und sauberes System behalten. Wenn ich der KI dann noch die Aufgabe gebe, Automationen vorher auf GitHub zu archivieren, dann wäre auch der Stand gesichert.

Ob es nun zwangsläufig über eine KI passieren muss, sei mal dahingestellt. Aber den Gedanken finde ich spannend. Zumal die KI auch dazu in der Lage ist, die Zusammenhänge zu erkennen.

Dokumentation erstellen lassen

Hinzu kommt, dass man ein ähnliches Vorgehen dann auch auf die Dokumentation übertragen könnte. Anstatt alles selbst zu dokumentieren, könnte auch das ein Agent für einen übernehmen. Die daraus resultierende Dokumentation wiederum könnte man manuell mit eigenen Gedanken oder Hinweisen ergänzen.

Das schafft vor allem nicht nur Transparenz. Es könnte dann auch wiederum für die KI selbst dienen, um sie mit Wissen anzureichern, wenn sie etwas am System ändern soll.

Mir ist das zum Beispiel bei meinen Rollläden aufgefallen. Die KI hat zwar ihren Job gemacht, aber meine Gedanken bei der Architektur nicht berücksichtigt. Aus diesem Grund musste ich dann noch Optimierungen vornehmen, die mir so möglicherweise hätten erspart bleiben können.

Dieses ganze Konstrukt von technischer Schuld und Dokumentation eignet sich daher aus meiner Sicht auch hervorragend dazu, um das eigene Zuhause etwas zu professionalisieren. Es geht zwar nicht – wie schon erwähnt – um eine Bürokratisierung. Aber eben ein solides Fundament, auf dem man auch Jahre später noch aufbauen kann. Denn ich bin ehrlich, ich kann heute auch nicht mehr jeden meiner Gedanken aus der Anfangszeit nachvollziehen. Das liegt nicht nur daran, dass sich die Dinge ändern. Auch der eigene Wissensstand und die eigenen Fähigkeiten spielen hier eine große Rolle.

Wichtig ist und bleibt einfach immer, dass die Basis stimmt. Auch im Smart Home.

Inhaltsverzeichnis
Hat dir der Beitrag gefallen ?

Ein Emoji genügt – oder schreib kurz, was du denkst.

Mehr zum Autor
Bild von Lukas
Ich bin Lukas – Softwareentwickler, Projektmanager und Gründer von hobbyblogging.de, einem der persönlichsten Smart Home Blogs in Deutschland. Mit einem Master in Wirtschaftsinformatik und über 7 Jahren Erfahrung teile ich hier meine Leidenschaft für Automationen, ioBroker, Home Assistant und Co.Mein Smart Home ist kein Showroom – es ist mein echtes Zuhause. Ich teste, dokumentiere und schreibe über das, was wirklich funktioniert – praxisnah, transparent und ehrlich. Besonders im Fokus: die Plattformen ioBroker und Home Assistant. Insbesondere mit letzterer steuere ich mein gesamtes Zuhause.Du suchst smarte Inspiration, Tipps oder eine Anleitung, die dir wirklich hilft? Dann bist du hier genau richtig.
Bild von Lukas
Ich bin Lukas – Softwareentwickler, Projektmanager und Gründer von hobbyblogging.de, einem der persönlichsten Smart Home Blogs in Deutschland. Mit einem Master in Wirtschaftsinformatik und über 7 Jahren Erfahrung teile ich hier meine Leidenschaft für Automationen, ioBroker, Home Assistant und Co.Mein Smart Home ist kein Showroom – es ist mein echtes Zuhause. Ich teste, dokumentiere und schreibe über das, was wirklich funktioniert – praxisnah, transparent und ehrlich. Besonders im Fokus: die Plattformen ioBroker und Home Assistant. Insbesondere mit letzterer steuere ich mein gesamtes Zuhause.Du suchst smarte Inspiration, Tipps oder eine Anleitung, die dir wirklich hilft? Dann bist du hier genau richtig.
Die Smart Home Abkürzung des Monats

Einmal im Monat die besten Home-Assistant-Ideen, spannende Geräte und hilfreiche Tipps, die sich im Alltag wirklich bewährt haben.

Dazu teile ich Empfehlungen und Fundstücke, die nicht auf dem Blog erscheinen.

Keine Produkte gefunden.

Was klappt bei dir - wo hängst du fest ?

Nutzt du die gezeigte Lösung bereits? Funktioniert sie bei dir oder gibt es Probleme?

Schreib einen Kommentar – ich lese jeden Beitrag und antworte persönlich.

0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Später weiterlesen 🔍

Ich erinnere dich genau an diese Stelle, wenn du wieder Zeit hast.

Einmalige Erinnerung. Kein Newsletter.

Kurz ehrlich: Warum gehst du gerade?

Hilf mir, die Inhalte für dich besser zu machen.

🎁 Dein Smart Home verdient mehr

Einmal im Monat erhältst du meine besten Tipps, Automationen und Tests aus der Smart Home Welt.

+ Gratis: meine 10 besten Alltagsautomationen als PDF

Kein Spam. Kein Marketing-Blabla.
Sondern: Praxistipps, Setups, Automationen & Tools – aus meinem Technik-Keller direkt zu dir.

Abgewickelt durch Brevo in Europa.