Proxmox API Home Assistant Backup automatisieren – VMs überwachen & sichern

👉 Direkt auf YouTube schauen und abonnieren:
Smart Home & More auf YouTube

Einleitung

Proxmox API Home Assistant Backup – in diesem Praxis‑Guide lernst du, wie du mithilfe der Proxmox API den Zustand deiner virtuellen Maschinen abfragst, Dashboards in Home Assistant erstellst und Backups automatisierst. Statt auf HACS setzt du dabei auf REST‑Sensoren und API‑Calls, um deine VMs sicher zu überwachen und zu sichern.

Vorbereitung in Proxmox – Benutzer, Token und Rechte einrichten

Bevor du in Home Assistant loslegen kannst, musst du Proxmox entsprechend vorbereiten.

API‑Benutzer und Token anlegen

Erstelle im Proxmox DataCenter einen neuen User (z. B. homeassistant) ohne Passwort, denn wir arbeiten mit API‑Tokens. Wähle als Realm pve und lege anschließend unter API Token einen neuen Token für diesen User an. Achte darauf, Privilege Separation zu deaktivieren. Kopiere dir den Token sofort, da er später nicht mehr angezeigt wird.

Proxmox API Home Assistant Backup - User

Proxmox API Home Assistant Backup - API Token

Rollen konfigurieren

Für den Zugriff auf VM‑Informationen und Backups benötigen wir passende Rollen:

  • Lege eine neue Rolle (z. B. homeassistant-role) mit den Privilegien VM.Audit, Datastore.Audit und Datastore.AllocateSpace, VM.Backup an.
  • Weise diese Rolle dem User auf den benötigten Pfaden zu: dem Node (/nodes/pve-lerch) und den VMs (/vms/*).

Diese granularen Berechtigungen sorgen dafür, dass Home Assistant lediglich die benötigten Daten abrufen und einen Proxmox API Home Assistant Backup auslösen darf.

Proxmox API Home Assistant Backup - Rollen definieren

Home Assistant konfigurieren – REST‑Sensoren anlegen

Im nächsten Schritt richten wir Home Assistant ein. Falls du noch keinen File Editor installiert hast, installiere diesen im Add-on Store von Home Assistant.

Proxmox API Home Assistant Backup - Add-on File Editor

REST‑Sensor für VM‑Informationen

Über den YAML‑Eintrag rest: definieren wir einen Sensor, der regelmäßig einen GET‑Request an die Proxmox API sendet. Die URL lautet beispielsweise:

https://<proxmox-host>/api2/json/nodes/pve-larch/qemu

Als Header gibst du Authorization: PVEAPIToken=<user>@pve!<token-id>=<token> an. Im value_template kannst du die JSON‑Antwort weiterverarbeiten und die Daten in Attributen speichern.

  - resource: https://192.168.101.69:8006/api2/json/nodes/pvelerch/qemu
    method: GET
    headers:
      Authorization: "PVEAPIToken=homeassistant@pve!proxmox=be729a21-e76b-430b-84bf-40d096d035a6"
    verify_ssl: false
    scan_interval: 10
    sensor:
      - name: "PVELerch VM Raw"
        unique_id: pvelerch_vm_raw
        value_template: "OK"
        json_attributes:
          - data

Vergiss nicht, Home Assistant neu zu starten, damit der Sensor angelegt wird. Anschließend siehst du eine Liste aller VMs als JSON‑Attribut, inklusive ihrer Namen, IDs und Status.

REST‑Sensor für LXC‑Container

Für LXC‑Container wiederholst du den Sensor mit dem Endpunkt .../lxc. Denke daran, dass nicht alle API‑Attribute identisch sind – die Belegung des Festplattenspeichers (disk-usage) steht nur bei Containern zur Verfügung.

  - resource: https://192.168.101.69:8006/api2/json/nodes/pvelerch/lxc
    method: GET
    headers:
      Authorization: "PVEAPIToken=homeassistant@pve!proxmox=be729a21-e76b-430b-84bf-40d096d035a6"
    verify_ssl: false
    scan_interval: 10
    sensor:
      - name: "PVELerch LXC Raw"
        unique_id: pvelerch_lxc_raw
        value_template: "OK"
        json_attributes:
          - data

Hier nochmal beide Rest Sensoren für die Configuration.Yaml. Beachte, dass am Anfang einmal „rest:“ stehen muss.

rest:
  - resource: https://192.168.101.69:8006/api2/json/nodes/pvelerch/qemu
    method: GET
    headers:
      Authorization: "PVEAPIToken=homeassistant@pve!proxmox=be729a21-e76b-430b-84bf-40d096d035a6"
    verify_ssl: false
    scan_interval: 10
    sensor:
      - name: "PVELerch VM Raw"
        unique_id: pvelerch_vm_raw
        value_template: "OK"
        json_attributes:
          - data
          
  - resource: https://192.168.101.69:8006/api2/json/nodes/pvelerch/lxc
    method: GET
    headers:
      Authorization: "PVEAPIToken=homeassistant@pve!proxmox=be729a21-e76b-430b-84bf-40d096d035a6"
    verify_ssl: false
    scan_interval: 10
    sensor:
      - name: "PVELerch LXC Raw"
        unique_id: pvelerch_lxc_raw
        value_template: "OK"
        json_attributes:
          - data

Dashboard gestalten – Markdown‑Karte für VM‑Übersicht

Um die Daten ansprechend zu visualisieren, kannst du eine Markdown‑Karte in deinem Home‑Assistant‑Dashboard einfügen. Im Template liest du die Attribute der Sensoren aus und listest jede VM mit Name, Uptime, Status und, bei LXC‑Containern, prozentual belegtem Speicherplatz auf.

Proxmox API Home Assistant Backup - Mark Down Karte
{% set vms = state_attr('sensor.pvelerch_vm_raw', 'data') or [] %}
{% set lxcs = state_attr('sensor.pvelerch_lxc_raw', 'data') or [] %}

## 🖥️ Virtuelle Maschinen (QEMU)

{% for vm in vms | sort(attribute='vmid') %}
  {% set days = vm.uptime // 86400 %}
  {% set hours = (vm.uptime % 86400) // 3600 %}
  {% set minutes = (vm.uptime % 3600) // 60 %}
  {% if days > 0 %}
    {% set uptime_str = days ~ 'd ' ~ hours ~ 'h' %}
  {% else %}
    {% set uptime_str = hours ~ 'h ' ~ minutes ~ 'm' %}
  {% endif %}
- **{{ vm.vmid }}** | {{ vm.name }} | Uptime: {{ uptime_str }} | {{ "🟢" if vm.status == "running" else "🔴" }}
{% endfor %}

## 📦 LXC-Container

{% for lxc in lxcs | sort(attribute='vmid') %}
  {% set days = lxc.uptime // 86400 %}
  {% set hours = (lxc.uptime % 86400) // 3600 %}
  {% set minutes = (lxc.uptime % 3600) // 60 %}
  {% if days > 0 %}
    {% set uptime_str = days ~ 'd ' ~ hours ~ 'h' %}
  {% else %}
    {% set uptime_str = hours ~ 'h ' ~ minutes ~ 'm' %}
  {% endif %}
- **{{ lxc.vmid }}** | {{ lxc.name }} | Disk: {{ ((lxc.disk / lxc.maxdisk) * 100) | round(1) if lxc.maxdisk and lxc.maxdisk > 0 else 'n/a' }} % | Uptime: {{ uptime_str }} | {{ "🟢" if lxc.status == "running" else "🔴" }}
{% endfor %}

So siehst du live, wenn eine VM gestoppt wird oder startet. Über Automationen kannst du sogar Benachrichtigungen verschicken, wenn sich der Status ändert. Achte darauf, dass du die Entitäten auf deine Entitätsnamen anpasst.

sensor.pvelerch_vm_raw

sensor.pvelerch_lxc_raw

Monitoring & Test – Live‑Überwachung von VMs

Teste deine Konfiguration, indem du eine VM in Proxmox stoppst und wieder startest. Die Änderungen sollten in der Markdown‑Karte nach dem nächsten Scan‑Intervall sichtbar sein. Dieses Szenario zeigt, wie zuverlässig die REST‑API im Zusammenspiel mit Home Assistant funktioniert.

Backups per API auslösen

Eines der mächtigsten Features der Proxmox API ist die Möglichkeit, Backups zu starten.

Rollen erweitern

Erweitere deine Rolle um die Berechtigungen VM.Backup und Datastore.AllocateSpace, damit der User Backups auslösen darf ( haben wir schon im ersten Schritt getan ). Vergiss nicht, auch den Storage‑Pfad (/storage) mit dieser Rolle zu verknüpfen.

Proxmox API Home Assistant Backup - User Zugriffsrechte

REST‑Command für VZDump

In Home Assistant legst du unter rest_command: einen neuen Befehl an. Die URL endet diesmal auf /vzdump, die Methode ist POST, und als Payload übergibst du Parameter wie vmid, mode (z. B. snapshot), storage und compress.

rest_command:
  pvelerch_backup:
    url: "https://192.168.101.69:8006/api2/json/nodes/pvelerch/vzdump"
    method: POST
    headers:
      Authorization: "PVEAPIToken=homeassistant@pve!proxmox=be729a21-e76b-430b-84bf-40d096d035a6"
      Content-Type: "application/x-www-form-urlencoded"
    payload: "vmid=100,101,104,106,108,112,113,114,116,119,102,103,105&mode=snapshot&storage=PBS&compress=zstd"
    verify_ssl: false

Ein Aufruf dieses REST‑Commands startet sofort den Backup‑Job in Proxmox. Über die Home‑Assistant‑Entwicklerwerkzeuge kannst du den Befehl testen. In einer Automation oder auf einem Button platziert, kannst du einen Proxmox API Home Assistant Backup sogar zeit‑ oder ereignisgesteuert auslösen.

Fazit & Ausblick

Mit ein wenig Konfigurationsaufwand lässt sich die Proxmox API hervorragend in Home Assistant integrieren. Du kannst den Zustand deiner VMs und LXC‑Container überwachen, in Dashboards visualisieren und sogar Backups per Knopfdruck starten. Nutze diese Lösung als Grundlage für weitere Automatisierungen, zum Beispiel um Benachrichtigungen zu verschicken oder externe Dienste einzubinden.

Wenn du mehr über Energie‑Management erfahren willst, schau dir auch unseren Beitrag zur EVCC‑Einbindung in Home Assistant an. Für Einsteiger in Proxmox empfehlen wir den Artikel Proxmox Grundinstallation Schritt für Schritt.

Link‑Liste

EVCC mit Home Assistant: Smarte Steuerung deiner Geräte per PV-Überschuss

👉 Direkt auf YouTube schauen und abonnieren:
Smart Home & More auf YouTube

EVCC mit Home Assistant ist eine extrem leistungsfähige Kombination für dein Smart Home: Du kannst Geräte wie Smart Plugs, Poolpumpen, Werkzeugakkus oder sogar Backup-Server vollständig automatisiert per PV-Überschuss, Strompreis oder Zeitfenster schalten – auch ganz ohne Elektroauto!

In diesem Beitrag zeige ich dir praxisnah, wie du das Ganze umsetzt, was du dafür brauchst und wie du es für dein Energiemanagement optimal nutzt.

Was ist EVCC mit Home Assistant?

EVCC (Electric Vehicle Charge Controller) ist eine Open-Source-Lösung, mit der ursprünglich PV-Überschussladen von Elektroautos möglich wurde. Dank der neuen Funktion lassen sich jetzt beliebige Home Assistant Schalter als Ladepunkte konfigurieren.

Damit wird EVCC mit Home Assistant zu einem vollwertigen, modularen Energiemanagementsystem – auch ohne E-Auto. Ideal für:

  • Haushalte mit PV-Anlage
  • Smart Home-Enthusiasten
  • Nutzer mit Strompreis-Tarifen wie Tibber


Was du für die Integration brauchst

Voraussetzungen im Überblick:

  • PV-Anlage mit kompatiblem Wechselrichter (z. B. SolarEdge, SMA, Kostal)
  • Home Assistant Installation (z. B. auf Raspberry Pi oder Proxmox)
  • Schaltbare Geräte wie Tuya- oder Shelly-Steckdosen
  • EVCC als Add-on in Home Assistant (kostenlos)

Tipp: Kein Sponsoring oder Premium-Account bei EVCC nötig – funktioniert rein lokal über deine Home Assistant-Instanz, solange du nur mit Home Assistant Schaltern arbeitest oder eine „Open Source / Open Hardware “ Wallbox hast. Allerdings finde ich persönlich, dass es sich lohnt das Projekt aktiv zu unterstützen. Letztlich spare ich damit etwas und unterstütze ein geniales Projekt.


Home Assistant Schalter als Ladepunkt verwenden

Du kannst jetzt jeden beliebigen Home Assistant Schalter wie eine Wallbox in EVCC integrieren. Beispielhafte Konfiguration:

  • Smart Plug 1: Werkzeugakkus
  • Smart Plug 2: Gartenbewässerung
  • Smart Plug 3: NAS-Backup

Einfach als Ladepunkt anlegen, Home Assistant Token einfügen und mit Entity-ID sowie optionaler Leistungsmessung verknüpfen.

EVCC mit Home Assistant – Beispiel für Smart Plug Konfiguration im Dashboard


So funktioniert das PV-Überschuss-Schalten

EVCC mit Home Assistant prüft:

  1. Gibt es aktuell PV-Überschuss?
  2. Ist die definierte Mindestleistung erreicht?
  3. Ist der minimale Strombedarf für das Gerät erfüllt?

Wenn ja, wird geschaltet – sonst bleibt das Gerät aus. Alternativ kannst du zusätzlich mit Strompreis (z. B. Tibber) oder Zeitplänen arbeiten.


Beispiele aus der Praxis

Werkzeugakkus laden

Die Steckdose wird nur eingeschaltet, wenn Überschuss vorhanden ist – ideal für Ladegeräte oder Akku-Werkzeuge.

Poolpumpe

Anstatt starrer Zeitschaltung läuft die Pumpe bei ausreichender Sonneneinstrahlung automatisch.

Proxmox Backup starten

Backups kosten Energie – also automatisiert starten, wenn genug PV-Leistung verfügbar ist.


EVCC mit Home Assistant konfigurieren – Schritt für Schritt

1. File Editor installieren

Unter „Add-ons“ in Home Assistant installieren und starten.

In der File Editor Konfiguration muss jetzt noch Enforce Basepath auf „false“ gesetzt werden.

2. EVCC Add-on hinzufügen

Repository einfügen, EVCC installieren, einmal starten. EVCC legt dabei automatisch ein Verzeichnis an.

3. Konfigurationsdatei anlegen

Im Verzeichnis add-on-config/xyzabsdef_evcc die Datei evcc.yaml anlegen – sonst startet das Add-on nicht korrekt. Die Bezeichnung vor „_evcc“ ist im Verzeichnisnamen Variabel und dient hier nur als Beispiel.

4. EVCC Starten, Schalter anlegen, Token, URL & Entities einfügen

  • EVCC Starten
  • Wallbox hinzufügen und Home Assistant Schalter anlegen
  • Token über Home Assistant Benutzerprofil generieren
  • Entity-ID des Schalters & Leistungssensor eintragen
  • Priorität und Modus definieren


PV-Vorhersage, Strompreise & Prioritäten ( Optional)

PV-Vorhersage

Trage Standort, Ausrichtung & kWp ein – EVCC berücksichtigt dann die Prognose bei der Steuerung.

EVCC mit Home Assistant - PV Vorhersage

Strompreis (z. B. Tibber)

Stelle ein, ab welchem Cent-Betrag ein Gerät schalten darf – ideal für günstige Tariffenster.

EVCC mit Home Assistant - Strompreisvorhersage

Prioritäten

Lege fest, welches Gerät zuerst mit Strom versorgt wird. 10 = höchste Priorität, 0 = niedrigste.

Beispiel:

  • Werkzeugakkus = Priorität 4
  • Poolpumpe = Priorität 5
  • Backup = Priorität 9


Fazit: Warum EVCC mit Home Assistant ein Gamechanger ist

Mit dem neuen Schalter-Feature wird EVCC mit Home Assistant zur echten Steuerzentrale für dein Smart Home:

  • Nutze PV-Überschuss effizient
  • Automatisiere stromhungrige Prozesse
  • Spare Energie & Kosten
  • Auch ohne Elektroauto nutzbar
  • Kombinierbar mit Preis, Prognose & Zeitplan

Fazit: Kein Bastel-YAML mehr nötig – alles bequem über die UI steuerbar! Dadurch konnte ich viele Automatisierungen entfernen und spare dadurch Zeit für Pflege und Wartung. EVCC nimmt mir nun diese Arbeit ab.


Mehr zum Thema Smart Home

👉 Lies auch meinen Beitrag zur Installation von HACS in unter 5 Minuten

👉 Oder schau dir meine EVCC-Playlist auf YouTube an: EVCC Playlist


💬 Hast du Fragen oder Ideen?

Wie nutzt du EVCC mit Home Assistant in deinem Smart Home?
Schreib mir in die Youtube Kommentare – ich freue mich auf dein Feedback!