Zum Hauptinhalt springen
Smarthome 14 min

Home Assistant mit Git: Eine der besten Verbesserungen

Teil 1 der Serie zeigt, wie du deine Home-Assistant-Konfiguration mit Git versionierst. Der kompakte Leitfaden erklärt den Unterschied zu Backups und den Einstieg mit SSH, VS Code und einem privaten GitHub-Repository.

Home Assistant mit Git: Eine der besten Verbesserungen
Inhaltsverzeichnis
Home Assistant professionell verwalten – Dieser Artikel ist Teil einer Serie.
Teil 1 von 1
Teil 1: Dieser Artikel
Für wen geeignet: FORTGESCHRITTENE
Du solltest dich mit den Grundlagen auskennen und erste eigene Projekte umgesetzt haben.
Projektkosten: 0 € (vorhandene Hardware vorausgesetzt) Zeitaufwand: 30–60 Minuten
Das solltest du mitbringen
  • Home Assistant OS oder Supervised
  • Ein Rechner mit Windows, macOS oder Linux
  • VS Code und Git
  • Empfohlen: kostenloses GitHub-Konto für ein privates Repository

Eine falsche Einrückung in einer YAML YAMLDatenformat (YAML Ain’t Markup Language). Wird in Home Assistant für Konfigurationen, Automationen und Szenen verwendet. Leicht lesbar aber fehleranfällig bei falschen Einrückungen -Datei kann dazu führen, dass eine Automation AutomationRegelbasierte Ablaufsteuerung in Home Assistant: Auslöser (Trigger), Bedingungen und Aktionen führen automatisch einen Ablauf aus (z.B. Licht bei Sonnenuntergang einschalten) nicht mehr funktioniert oder Home Assistant die Konfiguration nicht lädt. Ohne Versionsverwaltung musst du dann aus dem Gedächtnis rekonstruieren, was du geändert hast.

Mit Git GitVerteiltes Versionsverwaltungssystem. Speichert jede Änderung an Textdateien als Commit nachvollziehbar – mit Historie, Branches und der Möglichkeit, jeden Zustand wiederherzustellenMehr dazu → speicherst du nachvollziehbare Zwischenstände deiner Konfiguration. Du siehst, welche Zeilen sich geändert haben, und kannst eine einzelne Datei oder den gesamten Konfigurationsstand zurückholen. Das ist für Home Assistant besonders nützlich, weil viele wichtige Einstellungen als Textdateien vorliegen.

Wichtig: Git ersetzt kein Home-Assistant- Backup . Git schützt vor fehlerhaften Änderungen. Ein Backup BackupUnabhängige Sicherung zur Wiederherstellung des gesamten Systems oder wichtiger Daten. Ein Home-Assistant-Backup ergänzt Git und ersetzt die Versionshistorie nichtMehr dazu → schützt vor dem Verlust des gesamten Systems, zum Beispiel nach einem Speicherschaden.

Home Assistant Empfehlungen

Oszilloskop & Multimeter (3-in-1)

  • 【2-Kanal-Oszilloskop】50 MHz Bandbreite, 250 MSa/s Abtastrate, 1 kpts Aufzeichnungstiefe, automatische Messfunktion, max. Spannung 400 V, vertikale Empfindlichkeit 10 mV/div bis 10 V/div, unterstützt das Speichern und Exportieren von Wellenformbildern.
  • 【4,5-stelliges Multimeter mit 19999 Counts】Wechselspannung: 0–750 V, Gleichspannung: 0–999,9 V, Gleich-/Wechselstrom: 0–9,999 A, Widerstand: 0–19,99 MΩ, Kapazität: 0–99,99 mF, Durchgangsprüfung. Multifunktionsmessgerät für Profis, Schulen und Hobbyisten.
105,00 €
Ansehen
−15%
Deal

Automatischer Feuerlöscher für Schaltschränke und Server

  • ✔ SOFORTIGE BRANDUNTERDRÜCKUNG BEI 170ºC ±10ºC – Der Ferosticker F03 aktiviert sich automatisch bei 170ºC ±10ºC und setzt ein Aerosol frei, das den Brand sofort löscht, indem es die Verbrennung unterbricht. Er bietet schnellen, automatischen Brandschutz in geschlossenen Räumen mit einem Schutzvolumen von 0,3 m³. Speziell für kleine, enge Bereiche entwickelt.
  • ✔ KEIN STROM, KEIN DRUCK, KEINE VERKABELUNG ERFORDERLICH – Im Gegensatz zu herkömmlichen Feuerlöschern funktioniert der Ferosticker ganz ohne Strom, Batterien oder Kabel. Sein selbstaktivierendes System sorgt für sorgenfreien Brandschutz ohne Wartung. Vielseitiger Schutz: wirksam gegen Brände der Klassen A, B, C, E und F – deckt ein breites Spektrum an Brandrisiken ab.
50,09 €
Ansehen
−9%
Deal
SONOFF SWV-ZFE Hydro ONE Zigbee Bewässerungscomputer Home Assistant Ready

SONOFF SWV-ZFE Hydro ONE Zigbee Bewässerungscomputer

  • Durable Brass Inlet: Dieser water timer verfügt über einen robusten Messinganschluss für zuverlässige Leistung, sorgt für stabilen Betrieb in Ihrem bewässerungssystem garten oder bewässerungssystem, ideal für den langfristigen Einsatz.
  • Flexible Zeitpläne & Mengensteuerung: Erstellen Sie bis zu sechs Pläne für zeit- oder mengenbasierte Bewässerung. Wetter- und saisonale Anpassungen optimieren Ihr bewässerungssystem garten und sparen Wasser – ein intelligenter sprinkler-timer.
SONOFF NSPanel Pro Gen2 Smart Home Bedienfeld Home Assistant Ready

SONOFF NSPanel Pro Gen2 Smart Home Bedienfeld

  • Multi-App Unterstützung & Home Assistant-Integration: 2GB RAM + 32GB Speicher für flüssige Nutzung mehrerer Drittanbieter-Apps – kein Root erforderlich, einfach über F-Droid als Home Assistant Steuerzentrale nutzbar. All-in-One Smart Panel ersetzt zusätzliche Tablets.
  • Matter Bridge für universelle Kompatibilität: Integriertes Matter Gateway verbindet Zigbee‑ & Wi‑Fi‑Geräte mit Apple Home, Google Home, Alexa & Home Assistant. Vereinheitlicht alle Marken und Protokolle für ein nahtloses Smart Home Erlebnis.
Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Preis inkl. MwSt., zzgl. Versandkosten.

Kurzfassung: Teil 1

Der empfohlene Aufbau besteht aus fünf Teilen:

  1. Das SSH SSHSecure Shell – verschlüsseltes Netzwerkprotokoll für den Fernzugriff auf Server. In HA: das schlanke SSH-Add-On für die Arbeit an /config vom eigenen RechnerMehr dazu → -Add-on stellt den Zugriff auf den Home-Assistant-Server bereit.
  2. VS Code VS CodeKostenloser Editor von Microsoft. Mit der Remote-SSH-Erweiterung bearbeitest du die HA-Konfiguration auf deinem Client, ohne den HA-Server zu belastenMehr dazu → läuft auf deinem normalen Rechner.
  3. Remote RemoteVerknüpftes entferntes Git-Repository, zum Beispiel ein privates Repository auf GitHub. Es enthält eine Kopie der Git-Historie, nicht automatisch das komplette Home-Assistant-SystemMehr dazu → -SSH verbindet VS Code mit dem Ordner /config auf Home Assistant.
  4. Git speichert Änderungen und frühere Zustände.
  5. Ein privates GitHub GitHubWeb-Plattform für Git-Repositories. Ein privates Repository kann als Remote für die Versionshistorie deiner Konfiguration dienen. GitHub ist aber kein vollständiges Home-Assistant-BackupMehr dazu → - Repository RepositoryAblage- und Versionsort eines Git-Projekts – alle Dateien plus komplette Historie. Lokal (/config/.git) und als Remote auf GitHubMehr dazu → enthält eine zusätzliche Kopie der Git-Historie.

Für einen vollständigen Schutz brauchst du zusätzlich regelmäßige Home-Assistant-Backups auf einem anderen Speicherort.

%%{init: {"theme":"base", "flowchart":{"useMaxWidth":false,"nodeSpacing":30,"rankSpacing":35,"padding":10}, "themeVariables":{"fontFamily":"Arial Narrow, Avenir Next Condensed, Helvetica Neue, sans-serif", "fontSize":"18.634px", "primaryColor":"#fff7ed", "primaryTextColor":"#431407", "primaryBorderColor":"#f25500", "lineColor":"#64748b", "secondaryColor":"#ecfeff", "tertiaryColor":"#eef2ff"}}}%%
flowchart LR
  PC["Rechner: VS Code + Git"]
  HA["Home Assistant: SSH + /config"]
  GH["GitHub: private Historie"]
  BK["HA-Backup: komplettes System"]
  PC -->|"Remote-SSH"| HA
  HA -->|"git push"| GH
  GH -->|"git pull"| HA
  HA -->|"separat"| BK
  classDef client fill:#fff7ed,stroke:#f25500,stroke-width:2px,color:#431407
  classDef server fill:#ecfeff,stroke:#0891b2,stroke-width:2px,color:#164e63
  classDef remote fill:#eef2ff,stroke:#6366f1,stroke-width:2px,color:#312e81
  classDef backup fill:#f0fdf4,stroke:#16a34a,stroke-width:2px,color:#14532d
  class PC client
  class HA server
  class GH remote
  class BK backup

Das Diagramm zeigt die wichtigste Abgrenzung: GitHub enthält die Git-Historie der Konfigurationsdateien. Das vollständige Home-Assistant-Backup läuft separat.

Git und Backup: Was ist der Unterschied?

Git Home-Assistant-Backup
Speichert vor allem Textdateien und ihre Änderungshistorie Speichert das komplette System oder ausgewählte Home-Assistant-Daten
Hilft bei fehlerhaften Änderungen und kaputten YAML-Dateien Hilft bei defekten Datenträgern, Verlust des Servers und Neuinstallation
Stellt einzelne Dateien oder frühere Konfigurationsstände wieder her Stellt eine vollständige Installation einschließlich unterstützter Daten und Add-On Add-OnZusätzliches Softwarepaket für Home Assistant OS/Supervised, installiert über den Add-On-Store (heißt in neueren HA-Versionen „Apps“). Läuft als eigener Container neben dem Core – z.B. das SSH-Add-OnMehr dazu → wieder her
Wird nach sinnvollen Änderungen verwendet Wird regelmäßig und vor Updates oder Umbauten erstellt
GitHub ist ein Remote für die Historie, aber kein vollständiges HA-Backup Ist für die Wiederherstellung des Systems gedacht

Die sinnvolle Kombination lautet:

Backup vor größeren Änderungen. Git- Commit CommitEin gespeicherter Zwischenstand in Git: ein Snapshot der Änderungen mit Nachricht, Autor und Zeitstempel. Die Bausteine der VersionshistorieMehr dazu → nach jeder funktionierenden Änderung.

Warum Git für Home Assistant?

Git ist ein Versionsverwaltungssystem. Es speichert auf ausdrücklichen Befehl einen Commit. Ein Commit ist ein benannter Speicherpunkt deiner Dateien.

Ohne Git Mit Git
Du erinnerst dich möglicherweise nicht an die letzte Änderung git diff zeigt die geänderten Zeilen
Alte Dateien liegen als Kopien herum Die Historie bleibt in einem Repository geordnet
Fehler werden per Hand gesucht Du kannst zu einem bekannten funktionierenden Stand zurückkehren
Änderungen sind schwer zu dokumentieren Commit-Nachrichten erklären, was geändert wurde

Git versioniert nur Dateien. Die Home-Assistant-Datenbank, interne .storage-Daten und echte Zugangsdaten gehören nicht in das Repository.

Warum SSH und VS Code?

Du kannst Dateien direkt im Home-Assistant-Webinterface bearbeiten. Für mehrere YAML-Dateien sind ein lokaler Editor, Syntaxprüfung und Git-Unterstützung übersichtlicher.

ha ssh addon
Home Assistant SSH App

Lösung Vorteil Nachteil
Home-Assistant-Webeditor Keine zusätzliche Einrichtung Weniger Komfort bei vielen Dateien und Git
VS Code-Add-on Editor läuft im Browser auf dem Server Zusätzliche Software läuft auf Home Assistant
SSH-Add-on plus VS Code Remote-SSH VS Code läuft lokal, /config bleibt auf Home Assistant Einmalige Einrichtung von SSH nötig

Für diesen Leitfaden verwenden wir SSH-Add-on plus VS Code Remote-SSH . Der Home-Assistant-Server stellt nur Verbindung und Dateien bereit. Die Benutzeroberfläche und Erweiterungen laufen auf deinem Rechner.

Voraussetzungen

  • Home Assistant OS Home Assistant OSVollständiges Betriebssystem für Home Assistant inklusive Supervisor, Add-Ons und optimiertem Betrieb auf Raspberry Pi, ODROID oder x86-HardwareMehr dazu → oder Supervised mit installierbarem SSH-Add-on
  • Windows, macOS oder Linux auf dem Arbeitsrechner
  • VS Code
  • Git auf dem Arbeitsrechner
  • Optional ein privates GitHub-Konto

SSH sollte nur im lokalen Netzwerk erreichbar sein. Leite den SSH-Port nicht im Router ins Internet weiter. Für den Zugriff von unterwegs verwendest du ein VPN.

Einrichtung in fünf Schritten

1. SSH-Add-on einrichten

Öffne in Home Assistant Einstellungen → Add-ons → Add-on-Store und installiere SSH & Web Terminal TerminalProgramm, das eine Shell anzeigt (z.B. macOS Terminal, integriertes Terminal in VS Code, Git Bash). Hier tippst du CLI-Befehle ein .

In der Konfiguration:

  1. Lege einen Port fest, falls der Standardport nicht verwendet werden kann.
  2. Trage unter Authorized keys später deinen öffentlichen SSH-Schlüssel ein.
  3. Stelle sicher, dass der Port nur im lokalen Netzwerk erreichbar ist (zum Beispiel über die Firewall deines Routers).
  4. Starte das Add-on.

Das Add-on stellt eine Shell ShellKommandozeilen-Interpreter, der Befehle entgegennimmt und ausführt. In HA: die Bash-Shell im SSH-Add-On; auf dem Mac z.B. zsh bereit. Einen vollständigen Editor musst du deshalb nicht auf dem Home-Assistant-Server installieren.

2. SSH-Schlüssel erstellen

Ein SSH-Schlüsselpaar besteht aus einem privaten und einem öffentlichen Schlüssel:

  • id_ed25519 bleibt auf deinem Rechner und darf nicht weitergegeben werden.
  • id_ed25519.pub kommt in die Authorized Keys des SSH-Add-ons.

Öffne auf macOS das Terminal oder auf Windows PowerShell beziehungsweise Git Bash. Prüfe zunächst, ob bereits ein Schlüssel vorhanden ist:

bash
1
ls -la ~/.ssh/

Falls noch kein passender Schlüssel existiert, erzeuge ihn:

bash
1
ssh-keygen -t ed25519 -C "deinname@deinrechner"

Bestätige den vorgeschlagenen Speicherort mit Enter. Eine Passphrase ist empfehlenswert. Zeige anschließend den öffentlichen Schlüssel an:

bash
1
cat ~/.ssh/id_ed25519.pub

Kopiere die komplette Zeile und füge sie im SSH-Add-on unter Authorized keys ein. Teile niemals die Datei ohne .pub.

3. Verbindung testen

Ersetze IP-Adresse und Port durch die Werte deiner Installation:

bash
1
ssh root@[IP_ADDRESS] -p 22

Beim ersten Verbindungsaufbau bestätigst du den Fingerabdruck des Servers mit yes. Wenn eine Shell auf Home Assistant erscheint, funktioniert der SSH-Zugriff.

Für einen leichteren Aufruf kannst du auf deinem Rechner ~/.ssh/config anlegen:

text
1
2
3
4
Host homeassistant
    HostName [IP_ADDRESS]
    User root
    Port 22

Danach genügt:

bash
1
ssh homeassistant

4. VS Code mit Home Assistant verbinden

Installiere in VS Code die Erweiterung Remote - SSH von Microsoft.

  1. Öffne die Befehlspalette mit Cmd+Shift+P auf macOS oder Ctrl+Shift+P unter Windows.
  2. Wähle Remote-SSH: Connect to Host.
  3. Wähle homeassistant oder trage die SSH-Verbindung ein.
  4. Öffne im neuen Fenster den Ordner /config.

Für Home-Assistant-Dateien sind diese Erweiterungen hilfreich. Die ersten drei bilden die sinnvolle Grundausstattung:

Erweiterung Zweck
Remote - SSH Verbindet VS Code mit dem Home-Assistant-Server
Home Assistant Config Helper Ergänzt Autovervollständigung für Entitäten und Home-Assistant-Konfigurationen
YAML Prüft Syntax und Einrückung und markiert viele Fehler direkt im Editor
GitLens Zeigt Git-Diffs, Commit-Historie und Änderungen direkt in VS Code

Für die Grundausstattung kannst du diese Erweiterungen direkt aus dem Marketplace installieren:

vscode-extensions
ms-vscode-remote.remote-ssh,keesschollaart.vscode-home-assistant,redhat.vscode-yaml

GitLens ist optional und wird spätestens dann praktisch, wenn du die Git-Historie nicht nur im Terminal ansehen möchtest:

vscode-extensions
eamodio.gitlens

Wichtig bei Remote-SSH: Remote - SSH wird auf deinem lokalen Rechner benötigt. Wenn du den Ordner /config geöffnet hast, bietet VS Code für die Remote-Sitzung zusätzlich die Installation der YAML- und Home-Assistant-Erweiterungen an. Installiere sie dort, wo VS Code es vorschlägt.

5. Git-Repository und �34� anlegen

Öffne das integrierte Terminal in VS Code. Prüfe zuerst, ob Git verfügbar ist:

bash
1
git --version

Wechsle anschließend in den Home-Assistant-Konfigurationsordner und initialisiere Git:

bash
1
2
3
cd /config
git init
git branch -M main

Lege /config/.gitignore mit diesen Regeln an:

gitignore
# Zugangsdaten und private Schlüssel
secrets.yaml
*.key
*.pem
*.p12

# Interne Home-Assistant-Daten
.storage/
home-assistant_v2.db
home-assistant.log
*.log

# Cache und temporäre Dateien
__pycache__/
tts/
*.egg-info/

Eine .gitignore entfernt keine Dateien. Sie verhindert nur, dass passende Dateien in neue Commits aufgenommen werden. Prüfe vor dem ersten Commit den Status:

bash
1
git status --short

Erstelle den ersten Speicherpunkt:

bash
1
2
git add .
git commit -m "Home-Assistant-Konfiguration initial versioniert"

Prüfe danach erneut, dass secrets.yaml, .storage/ und die Datenbank nicht in den versionierten Dateien auftauchen.

GitHub als zusätzliches Remote einrichten

Git funktioniert lokal. Ein privates GitHub-Repository bewahrt zusätzlich eine Kopie der Git-Historie auf, falls der Home-Assistant-Speicher ausfällt. Es ist trotzdem kein vollständiges Home-Assistant-Backup.

  1. Erstelle auf GitHub ein neues Repository.
  2. Wähle Private.
  3. Erstelle dort kein README und keine .gitignore, weil beides bereits lokal existiert.
  4. Verknüpfe das Repository mit deinem lokalen Repository:
bash
1
2
git remote add origin https://github.com/DEIN-USERNAME/home-assistant-config.git
git push -u origin main

mein github repository home assistant
Mein Github Repository für Home Assistant

Bei einer Anmeldung per HTTPS akzeptiert GitHub keine Passwörter mehr. Git fragt nach deinem Benutzernamen und einem Personal Access Token (kurz PAT), das du auf GitHub erstellst. Alternativ kannst du GitHub ebenfalls mit einem SSH-Schlüssel verwenden. Das ist unabhängig vom SSH-Zugriff auf Home Assistant.

Der tägliche Arbeitsablauf

Arbeite nach jeder Änderung in dieser Reihenfolge:

  • Datei in VS Code ändern.
  • In Home Assistant die YAML-Konfiguration prüfen oder neu laden.
  • Die Automation oder Integration IntegrationIn Home Assistant: die Anbindung eines Geräts oder Dienstes über ‚Geräte & Dienste’. Jede Integration stellt Entitäten bereit (z.B. Shelly, Zigbee, MCP). Nicht zu verwechseln mit dem allgemeinen IT-BegriffMehr dazu → testen.
  • Die Änderung in VS Code als Diff DiffVergleich zwischen zwei Dateiständen. Ein Diff zeigt, welche Zeilen hinzugefügt, geändert oder entfernt wurdenMehr dazu → ansehen:
bash
1
git diff

Erstelle anschließend einen verständlichen Commit:

bash
1
2
3
git add configuration.yaml automations.yaml
git commit -m "Bewegungsmelder im Flur angepasst"
git push

Du kannst auch git add . verwenden. Prüfe dann besonders sorgfältig, ob keine private Datei versehentlich aufgenommen wird.

Den aktuellen Zustand prüfst du mit:

bash
1
git status

Der Ablauf sieht damit so aus:

%%{init: {"theme":"base", "flowchart":{"useMaxWidth":false,"nodeSpacing":25,"rankSpacing":30,"padding":10}, "themeVariables":{"fontFamily":"Arial Narrow, Avenir Next Condensed, Helvetica Neue, sans-serif", "fontSize":"18.634px", "primaryColor":"#fff7ed", "primaryTextColor":"#431407", "primaryBorderColor":"#f25500", "lineColor":"#64748b", "secondaryColor":"#ecfeff", "tertiaryColor":"#eef2ff"}}}%%
flowchart TD
  A["Datei ändern"] --> B["Diff prüfen"]
  B --> C["YAML prüfen"]
  C --> D["Automation testen"]
  D --> E{"OK?"}
  E -->|"Ja"| F["Speichern"]
  F --> G["Commit"]
  G --> H["




    Push
      PushGit-Befehl zum Hochladen lokaler Commits in ein Remote-Repository, zum Beispiel auf GitHub
   zu GitHub"]
  E -->|"Nein"| R["




    Rollback
      RollbackGezielte Wiederherstellung eines früheren funktionierenden Zustands, zum Beispiel einer einzelnen YAML-Datei nach einer fehlerhaften ÄnderungMehr dazu →
  "]
  classDef action fill:#fff7ed,stroke:#f25500,stroke-width:2px,color:#431407
  classDef check fill:#ecfeff,stroke:#0891b2,stroke-width:2px,color:#164e63
  classDef recovery fill:#fef2f2,stroke:#dc2626,stroke-width:2px,color:#7f1d1d
  class A,B,F,G,H action
  class C,D,E check
  class R recovery

Eine fehlerhafte Änderung zurücknehmen

Wenn eine einzelne Datei nach einer Änderung nicht mehr funktioniert, zeige zunächst die Historie an:

%%{init: {"theme":"base", "flowchart":{"useMaxWidth":false,"nodeSpacing":25,"rankSpacing":30,"padding":10}, "themeVariables":{"fontFamily":"Arial Narrow, Avenir Next Condensed, Helvetica Neue, sans-serif", "fontSize":"18.634px", "primaryColor":"#fff7ed", "primaryTextColor":"#431407", "primaryBorderColor":"#f25500", "lineColor":"#64748b", "secondaryColor":"#ecfeff", "tertiaryColor":"#eef2ff"}}}%%
flowchart TD
  A["Fehler"] --> B["Historie"]
  B --> C["Stand wählen"]
  C --> D["Datei holen"]
  D --> E["HA prüfen"]
  E --> F["Commit"]
  classDef problem fill:#fef2f2,stroke:#dc2626,stroke-width:2px,color:#7f1d1d
  classDef action fill:#fff7ed,stroke:#f25500,stroke-width:2px,color:#431407
  classDef verify fill:#ecfeff,stroke:#0891b2,stroke-width:2px,color:#164e63
  classDef done fill:#f0fdf4,stroke:#16a34a,stroke-width:2px,color:#14532d
  class A problem
  class B,C,D action
  class E verify
  class F done
bash
1
git log --oneline -- configuration.yaml

Eine frühere Version der Datei kannst du in deinen Arbeitsordner zurückholen. Notiere aus der git log-Ausgabe den Hash des funktionierenden Commits und verwende ihn:

bash
1
git restore --source=<HASH> -- configuration.yaml

Achtung: git restore überschreibt die aktuelle Version der Datei. Nicht gespeicherte Änderungen an dieser Datei gehen dabei verloren.

Prüfe die Konfiguration danach in Home Assistant und speichere die Wiederherstellung als neuen Commit:

bash
1
2
3
git add configuration.yaml
git commit -m "Funktionierende Version der Konfiguration wiederhergestellt"
git push

Der alte Commit wird dabei nicht gelöscht. Die Historie bleibt nachvollziehbar. Für größere Umbauten sind Branches besser geeignet. Das ist Thema von Teil 2 der Serie .

Vscode Git Quellcode Verwaltung
Vscode Git Quellcode Verwaltung
Ich empfehle, sich erst einmal mit der Nutzung von git im Terminal ( CLI CLICommand Line Interface – Bedienung eines Programms über Textbefehle im Terminal statt grafischer Oberfläche. Git, ssh und viele HA-Werkzeuge werden über die CLI gesteuert ) vertraut zu machen. Man kann praktisch alle Funktionen auch über die Code-Verwaltung in VSCode erreichen.

Sicherheitscheck

  • Das GitHub-Repository ist privat.
  • secrets.yaml und interne Home-Assistant-Daten stehen in .gitignore.
  • Du hast vor dem ersten Push git status geprüft.
  • SSH ist nicht über eine Router-Portfreigabe aus dem Internet erreichbar.
  • Der private SSH-Schlüssel bleibt auf deinem Rechner.
  • Regelmäßige vollständige Home-Assistant-Backups liegen an einem anderen Speicherort.
  • Falls ein Passwort oder Token doch in Git gelandet ist, wird es sofort ersetzt. Nur die Datei zu löschen reicht nicht, weil sie in der Historie verbleiben kann.

Häufige Fragen

Ist Git ein Backup für Home Assistant?

Nein. Git speichert vor allem Textdateien und ihre Historie. Ein Home-Assistant-Backup ist für die Wiederherstellung des gesamten Systems gedacht. Verwende beides.

Muss ich GitHub verwenden?

Nein. Git funktioniert auch nur lokal oder mit GitLab, Gitea und anderen Git-Servern. Ein Remote außerhalb des Home-Assistant-Servers ist sinnvoll, weil es gegen einen Defekt des lokalen Speichers schützt.

Kann ich die YAML-Dateien weiterhin über die Home-Assistant-Oberfläche bearbeiten?

Ja. Git ist unabhängig vom Editor. Nach einer Änderung solltest du den Diff prüfen und einen Commit erstellen, sobald die Änderung funktioniert.

Was passiert, wenn ich eine Datei in �46� eintrage?

Git ignoriert die Datei bei neuen Commits. Die Datei bleibt auf dem Server. War sie bereits versioniert, musst du sie zusätzlich aus der Git-Verfolgung entfernen.

Warum sollte das Repository privat sein?

Home-Assistant-Konfigurationen können interne Adressen, Geräteinformationen oder versehentlich Zugangsdaten enthalten. Ein privates Repository reduziert das Risiko, ersetzt aber keine sorgfältige .gitignore.

Brauche ich Branches?

Für kleine Änderungen reicht main. Für größere Umbauten ist ein eigener Branch BranchAbzweig der Git-Historie: eine parallele Entwicklungslinie. Auf einem Feature-Branch baust du gefahrlos um, main bleibt stabil (Teil 2 der Serie) sinnvoll, damit der stabile Stand getrennt bleibt. Der Workflow steht in Teil 2.

Was mache ich bei einem YAML-Fehler?

Prüfe zuerst die Fehlermeldung in Home Assistant und den aktuellen Diff. Wenn die Änderung die Ursache ist, stelle die betroffene Datei aus dem letzten funktionierenden Commit wieder her.

Kann ich auch VSCodium verwenden?

Natürlich kannst du auch VSCodium, die Open-Source-Variante von VS Code, nutzen. Prinzipiell sind dafür alle Erweiterungen verfügbar. Nur falls du später KI-Funktionen nutzen willst, musst du auf Alternativen wie Cline, Continue oder Zoo wechseln, da der Copilot-Chat nur in der Microsoft-Version von VS Code verfügbar ist.

Die Serie im Überblick

Teil Thema Ergebnis
1 Git, SSH und VS Code Konfiguration versionieren und einzelne Änderungen zurücknehmen
2 Branches und sichere Umbauten Größere Änderungen getrennt testen und zusammenführen
3 KI und Dokumentation KI kontrolliert einsetzen und die Installation dokumentieren
4 MCP Home Assistant gezielt mit einem KI-Client verbinden
5 Prüfungen und Automatisierung YAML und Secrets automatisch prüfen

Fazit

Git ist für Home Assistant kein Selbstzweck. Es beantwortet eine konkrete Frage: Was habe ich geändert, und wie komme ich zum letzten funktionierenden Stand zurück?

Die wichtigste Kombination ist deshalb:

  1. Home-Assistant-Backup für das vollständige System.
  2. Git für die nachvollziehbare Konfiguration.
  3. Ein privates Remote für eine zusätzliche Kopie der Git-Historie.

Mit SSH und VS Code bearbeitest du die Dateien bequem auf deinem Rechner. Die Einrichtung dauert nicht lange und schafft eine verlässliche Grundlage für größere Umbauten, Automatisierung und den späteren Einsatz von KI in Home Assistant als Produktivitäts-Booster.


Hallo! Ich bin Markus – der Fricklr. ⚡ Elektrotechniker, 🎵 Musiker (Bass, Gitarre, Keyboard) und seit über 30 Jahren beruflich „irgendwas mit Internet“ 🌐 – inzwischen auch mit KI 🤖 – ein 55-jähriger Generalist aus Bayern.

Dein Feedback hilft mir, noch interessantere Beiträge zu schreiben. Bei „Ja“ findest du danach eine kleine Option, meine Arbeit zu unterstützen.

Verwandte Themen entdecken

Inhaltskarte →
Verbindungen als Liste anzeigen
💡 Ziehen, hover & klicken zum Entdecken
Größere Punkte sind relevanter

Was sagst du dazu? Kommentiere jetzt!

Teile deine Gedanken, Fragen oder Erfahrungen mit der Community.

Mit diesem Symbol gekennzeichnete Links sind Affiliate-Links (Werbung). Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Für dich entstehen keine Mehrkosten.