Estimated reading time: 11 Minuten
Hast du schon einmal vor deinem Home Assistant Dashboard gesessen, eine kleine Änderung an einer YAML-Datei vorgenommen und plötzlich ging nichts mehr? Der Bildschirm bleibt weiß, Automatisierungen streiken oder – der Super-GAU – Home Assistant startet nicht mehr neu.
Jeder, der sein Smart Home liebt und pflegt, kennt diesen Moment des Schreckens. Oft wünscht man sich genau dann eine Zeitmaschine, um diese eine verhängnisvolle Zeile Code ungeschehen zu machen. Sicher, du machst Backups. Aber spielst du wirklich ein komplettes 5 GB System-Backup ein, nur weil du in der configuration.yaml ein Einrückungs-Fehler gemacht hast? Das dauert ewig und überschreibt auch Daten, die du vielleicht behalten wolltest.
Normalerweise hättest du jetzt zwei Optionen:
- Die Nadel im Heuhaufen suchen: Stundenlanges Debuggen, Auskommentieren und Hoffen.
- Das „Nuklear“-Backup: Ein komplettes System-Backup von letzter Nacht einspielen. Damit sind aber auch alle Daten weg, die seitdem gesammelt wurden (Energieverbräuche, Temperaturverläufe, etc.).
Aber es gibt einen dritten Weg. Einen Weg, den professionelle Softwareentwickler seit Jahrzehnten nutzen und der nun endlich benutzerfreundlich in unser Smart Home einzieht: Home Assistant Version Control.
Für eine detaillierte Anleitung und Erklärung aller Konfigurationsmöglichkeiten empfehle ich das unten verlinkte YouTube-Video. In diesem Video wird ausführlich auf jede einzelne Einstellung eingegangen, sodass du eine umfassende Anleitung zur genauen Einrichtung erhältst. Eventuellen Code aus dem Video findest du in diesem Beitrag, so dass du ihn direkt nutzen kannst, ohne abtippen zu müssen.
Dieser Blogbeitrag inklusive Video ist Teil einer Serie, in der wir unseren eigenen Homeserver erstellen und einrichten. Wir fangen bei den Basics an, wie einer Ubuntu-VM-Installation mit Docker, und machen dann weiter mit der Konfiguration einer eigenen Domain, Sicherheitsvorkehrungen und vor allem mit jeder Menge coolen und nützlichen selbstgehosteten Diensten. Egal ob Medienserver wie Plex oder Jellyfin oder Dokumentenmanagement wie Paperless-NGX. Wir bauen gemeinsam das Setup auf, das ihr sehen möchtet. Selbst Themen wie Single Sign-On (SSO) gehen wir gemeinsam an.
Warum du Version Control brauchst (und warum Backups nicht reichen)
In diesem Artikel zeige ich dir ausführlich, wie du dieses geniale Tool installierst, nutzt und warum es ab sofort zur Pflichtausstattung jedes Smart Homes gehören sollte. Wir schauen uns das Add-on von DiggingForDinos an, das Versionierung so einfach macht, dass du nie wieder Angst vor dem „Speichern“-Button haben musst.
Bevor wir in die Installation springen, lass uns kurz klären, warum „Version Control“ (Versionsverwaltung) nicht dasselbe ist wie ein klassisches Backup.
Ein Backup ist wie ein Foto deines gesamten Hauses zu einem bestimmten Zeitpunkt. Wenn du es wiederherstellst, wird alles auf diesen Zeitpunkt zurückgesetzt. Version Control hingegen ist wie ein Tagebuch für jede einzelne Datei. Es merkt sich: „Am Dienstag um 14:00 Uhr hast du in der Datei automations.yaml Zeile 15 geändert.“
Die Vorteile auf einen Blick:
- Granularität: Du kannst einzelne Dateien zurücksetzen, ohne dein ganzes System neu aufzusetzen.
- Transparenz: Du siehst genau, was geändert wurde (Diff-Ansicht).
- Geschwindigkeit: Ein „Undo“ dauert Sekunden, kein stundenlanges Restore.
- Sicherheit: Es läuft automatisch im Hintergrund. Du musst nicht daran denken, es zu starten.
Das Projekt, das wir uns heute ansehen, findest du unter anderem auf Codeberg (DiggingForDinos/HomeAssistantVersionControl), und es bringt die Macht von Git (dem Standard für Programmierer) in einer verständlichen Oberfläche zu deinem Home Assistant.
Mit Home Assistant Version Control kannst du chirurgisch präzise genau die Änderung rückgängig machen, die den Fehler verursacht hat, ohne deine Datenbank mit den wertvollen Energiedaten zu verlieren.

Das Tool im Detail – Home Assistant Version Control
Wir nutzen hierfür das Projekt, das auf Codeberg unter DiggingForDinos/HomeAssistantVersionControl gehostet wird. Es handelt sich um ein Wrapper-Tool, das die Komplexität von „Git“ (dem Industriestandard für Versionierung) hinter einer wunderschönen, verständlichen Benutzeroberfläche versteckt.
Die Kern-Philosophie
Das Tool folgt dem Ansatz: Set it and forget it. Es soll im Hintergrund laufen und dich schützen, ohne dass du ständig manuell eingreifen musst. Es ist so konzipiert, dass es lokale Änderungen in deinem /config Ordner erkennt und diese sicher in einer lokalen Git-Datenbank ablegt. Nichts verlässt deine Festplatte und deine Instanz.
Installation via Home Assistant Add-on
Dies ist der Weg für 95% aller Nutzer (Home Assistant OS oder Supervised). Wir gehen hier extrem kleinteilig vor, damit nichts schiefgehen kann.
Repository hinzufügen
Da dieses Add-on nicht im offiziellen Standard-Store von Home Assistant enthalten ist, müssen wir eine „Custom Repository“ (eine benutzerdefinierte Quelle) hinzufügen.
- Öffne dein Home Assistant Dashboard.
- Klicke in der linken Seitenleiste auf Einstellungen und dann auf Add-ons.
- Klicke unten rechts auf den blauen Button Add-on Store.
- Nun müssen wir das Menü öffnen: Klicke oben rechts auf die drei kleinen Punkte (das Kebab-Menü) und wähle Repositorys.
- Es öffnet sich ein Fenster „Repositorys verwalten“. Füge hier die folgende URL ein:
https://codeberg.org/DiggingForDinos/ha-addons - Klicke auf Hinzufügen. Home Assistant prüft nun die Quelle. Nach erfolgreicher Prüfung erscheint das Repo in der Liste. Schließe das Fenster.
Das Add-on finden und installieren
- Du bist immer noch im Add-on Store. Manchmal muss man die Seite neu laden (F5 im Browser), damit neue Inhalte sichtbar werden.
- Scrolle ganz nach unten zur neuen Kategorie (meist „DiggingForDinos Add-ons“) oder nutze die Suchleiste oben und tippe „Version Control“.
- Klicke auf die Kachel Home Assistant Version Control.
- Du siehst nun die Detailseite. Klicke auf Installieren. Geduld: Da hier Git und einige Abhängigkeiten installiert werden, kann dieser Prozess auf einem Raspberry Pi 3 oder 4 einige Minuten dauern.
Wichtige Einstellungen VOR dem Start
Bevor du blind auf „Start“ drückst, konfigurieren wir das Add-on für den optimalen Betrieb.
- Watchdog (Wächter): Aktiviere den Schalter „Wächter“ (Watchdog). Wenn das Add-on abstürzt, startet Home Assistant es automatisch neu. Da dieses Tool deine „Versicherung“ ist, muss es immer laufen.
- In der Seitenleiste anzeigen: Aktiviere diesen Schalter unbedingt! Du willst schnellen Zugriff auf die Versionsgeschichte haben, ohne dich durch Menüs zu klicken.
Starten
Gehe zurück zum Reiter „Informationen“ und klicke auf Starten. Klicke danach sofort auf den Reiter Protokolle (Logs) und drücke unten auf „Aktualisieren“. Du solltest Zeilen sehen wie: [Info] Starting Version Control... [Info] Git initialized. [Info] Watching /config for changes.
Wenn du das siehst: Glückwunsch! Dein Sicherheitsnetz ist gespannt.
Die Features im Detail – Was kann das Tool?
Jetzt wird es spannend. Was genau bietet dir die Oberfläche? Wenn du in der Seitenleiste auf „Version Control“ klickst, öffnet sich das Dashboard. Lass uns die Funktionen einzeln durchgehen.
Die Timeline (Der Zeitstrahl)
Dies ist deine Hauptansicht. Hier siehst du eine chronologische Liste aller Ereignisse.
- Automatische Erfassung: Jedes Mal, wenn du eine Datei speicherst, erstellt das System einen Eintrag.
- Informationstiefe: Du siehst das Datum, die Uhrzeit und oft auch den Benutzer (sofern Home Assistant dies an das Dateisystem weitergibt, was nicht immer der Fall ist – oft steht dort „System“ oder „Root“).
- Gruppierung: Wenn du fünf Dateien innerhalb von 2 Sekunden änderst (z.B. durch ein „Alle Speichern“ in VS Code), fasst das Tool diese oft intelligent zusammen.
Der Visual Diff Viewer (Der Vergleich)
Das ist das mächtigste Feature. Klicke auf irgendeinen Eintrag in der Timeline. Es öffnet sich eine Ansicht, die Programmierer lieben:
- Linke Seite (oder Oben): Der alte Zustand der Datei.
- Rechte Seite (oder Unten): Der neue Zustand.
Die Farbcodierung ist intuitiv:
- Rot hinterlegt: Diese Zeilen wurden entfernt.
- Grün hinterlegt: Diese Zeilen wurden neu hinzugefügt.
Praxis-Beispiel: Du schaust dir die Änderung an der configuration.yaml an. Du siehst, dass eine Zeile rot ist, in der default_config: stand. Rechts ist nichts grün. Erkenntnis: „Ach du Schande, ich habe versehentlich die default_config: gelöscht! Deshalb lädt mein UI nicht mehr!“ Ohne dieses Tool hättest du diese eine fehlende Zeile in einer 500-Zeilen-Datei niemals gefunden.
One-Click Restore (Die Zeitmaschine)
Du hast den Fehler im Diff Viewer gefunden. Was nun? Du musst den Code nicht abtippen. Oben rechts in der Detailansicht findest du den Button Restore (Wiederherstellen).
- Klicke auf Restore.
- Das Tool fragt zur Sicherheit nach (Bestätigung).
- Das Tool überschreibt die aktuelle, kaputte Datei mit der Version aus der Vergangenheit.
- Wichtig: Damit Home Assistant die Änderung übernimmt, musst du meistens, aber nicht immer, die Konfiguration neu laden (Entwicklerwerkzeuge -> YAML-Konfiguration neu laden) oder HA neu starten.
Dateiausschluss und .gitignore (Performance & Sicherheit)
Ein oft übersehenes, aber kritisches Feature. Nicht alle Dateien in deinem /config Ordner sollen versioniert werden.
- Die Datenbank:
home-assistant_v2.db. Diese Datei ändert sich jede Sekunde (neue Temperaturwerte, Logs). Wenn wir die versionieren, bläht sich dein Speicherplatz innerhalb von Stunden um Gigabytes auf. Das Tool hat intelligente Standard-Regeln, um diese Datei zu ignorieren. - Secrets:
secrets.yaml. Hier stehen deine Passwörter. Lokal ist das okay, aber falls du planst, dein Git irgendwann auf GitHub zu pushen (dazu gleich mehr), darf diese Datei niemals im Git landen.
Das Add-on respektiert eine .gitignore Datei. Du kannst diese Datei in deinem /config Ordner anlegen und dort Dateien eintragen, die ignoriert werden sollen.
Eigenständige Installation (Standalone / Docker)
Du nutzt Home Assistant Container (Docker) ohne Supervisor? Kein Problem. Das Tool ist im Kern eine Python/Git-Anwendung, die auch als Docker-Container läuft.
Die Herausforderung hierbei ist das „Mounten“ der Volumes. Der Version-Control-Container muss Zugriff auf denselben Ordner haben wie dein Home Assistant Container.
Die docker-compose.yaml
Hier ist eine vollständige Konfiguration für eine Standalone-Installation:
services:
home-assistant-version-control:
container_name: home-assistant-version-control
image: ghcr.io/diggingfordinos/homeassistantversioncontrolbeta:latest
user: "1000:1000" # WICHTIG: Die User-ID muss Schreibrechte auf den Config-Ordner haben!
ports:
- 54001:54001
volumes:
- /path/to/your/config:/config
environment:
- TZ=Europe/Berlin
- SUPERVISOR_TOKEN=your_long_lived_access_token_here
- HA_URL=http://homeassistant.local:8123
restart: unless-stopped
Wichtige Hinweise für Docker-Nutzer:
- Berechtigungen (Permissions): Das ist der häufigste Fehler. Der Container läuft oft als Root oder als ein spezieller User. Wenn deine HA-Config deinem Linux-User gehört, kann es zu Konflikten kommen. Nutze die
user: "UID:GID"Einstellung oder PUID/PGID-Umgebungsvariablen, um sicherzustellen, dass das Tool Schreibrechte im/configOrdner hat. - Zugriff: Du erreichst das Tool dann unter
http://<IP-DEINES-SERVERS>:54001. Es ist nicht in der HA-Seitenleiste integriert (da kein Add-on), aber du kannst es als „Webseite-Karte“ in dein Dashboard einbinden oder als „iframe Panel“ in derconfiguration.yamlhinzufügen, um den gleichen Effekt zu erzielen.
Umsetzung im YouTube-Video
Fazit: Ist es den Aufwand wert?
Absolut. Und „Aufwand“ ist das falsche Wort, denn die Installation dauert keine 10 Minuten.
Home Assistant Version Control transformiert dein Smart Home von einer wackeligen Bastelbude in ein stabiles System. Es gibt dir das Selbstvertrauen, Dinge auszuprobieren, weil du weißt, dass du ein Sicherheitsnetz hast. Du musst keine Angst mehr vor dem „Speichern“-Button haben.
Zusammengefasst:
- Es rettet dich vor eigenen Fehlern.
- Es hilft dir zu verstehen, wann und warum Dinge kaputtgegangen sind.
- Es verbraucht kaum Ressourcen.
- Es ist kostenlos und Open Source.
Es gibt keinen rationalen Grund, dieses Add-on nicht zu installieren. Tu es heute. Dein zukünftiges Ich, das nachts um 23:00 Uhr vor einem kaputten Smart Home steht, wird dir unendlich dankbar sein.
Nützliche Links & Ressourcen auf einen Blick
Hier findest du alle im Artikel erwähnten Quellen und weiterführende Informationen kompakt zusammengefasst:
- Quellcode & Dokumentation (Codeberg): https://codeberg.org/DiggingForDinos/HomeAssistantVersionControl Hier findest du den Source Code, Issues und technische Details.
- Docker Image (für Standalone User):
ghcr.io/diggingfordinos/homeassistantversioncontrol - Offizielle Git Dokumentation: https://git-scm.com/doc Falls du verstehen willst, wie die Technologie „Git“ unter der Haube funktioniert.
- Home Assistant Community Forum: https://community.home-assistant.io/ Der beste Ort, um Fragen zu stellen, wenn du bei der Installation hängen bleibst.
0 Kommentare