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

🔥 Alte Geräte, neue Tricks: So steuerst du IR-Fernbedienungen mit Home Assistant & Broadlink! 📱🧠

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

In diesem Beitrag zeige ich dir Schritt für Schritt, wie du mithilfe des Broadlink RM4 Mini und der SmartIR Custom Component deine alten IR-Geräte – z. B. Klimaanlagen, Fernseher oder Musikanlagen – smart steuerbar machst.

Mit dieser Lösung lassen sich auch ältere Geräte ganz einfach in Home Assistant integrieren – sogar mit grafischer Oberfläche zur Klimasteuerung!


📦 Was du brauchst

  • Broadlink RM4 Mini (IR-Version)*
  • Die Broadlink-App (Android/iOS)
  • Home Assistant (inkl. Zugriff auf Entwicklerwerkzeuge)
  • HACS (Home Assistant Community Store)
  • Optional: Temperatur- & Luftfeuchtigkeitssensor


🔧 Schritt-für-Schritt-Anleitung

H2: Broadlink RM4 Mini in Betrieb nehmen

  1. Broadlink-App installieren und Benutzerkonto anlegen
  2. Gerät über „Universal Remote“ hinzufügen (RM4 Mini, IR-Version)
  3. Wichtig: Sperrfunktion in den Geräteeinstellungen deaktivieren
  4. Gerät benennen (z. B. „Schlafzimmer“) und fertig einrichten


H2: Integration in Home Assistant

  1. In Home Assistant unter Einstellungen → Geräte & Dienste
  2. Broadlink wird meist automatisch erkannt → sonst manuell hinzufügen
  3. Gerät benennen und Bereich festlegen
  4. Überprüfen, ob Entität sichtbar ist


H2: IR-Befehle einlernen

  1. Öffne die Entwicklerwerkzeuge → Dienste
  2. Service: remote.learn_command auswählen
  3. Entität: dein Broadlink-Gerät
  4. Geräte- & Befehlsnamen festlegen (z. B. Gerät: „Klimaanlage“, Befehl: „power_on“)
  5. Taste auf der Fernbedienung drücken – LED blinkt – Befehl wird gespeichert


H2: IR-Befehl senden & testen

  1. Service: remote.send_command aufrufen
  2. Entität, Geräte- und Befehlsname wie oben verwenden
  3. Testen – die Klimaanlage oder der Fernseher sollte reagieren


H2: Automatisierungen erstellen

  1. In Einstellungen → Automatisierungen & Szenen neue Automation erstellen
  2. Auslöser z. B. eine Uhrzeit
  3. Aktion: Service remote.send_command
  4. Entität, Geräte- & Befehlsname eintragen
  5. Speichern – fertig!


🌡️ Komfort mit SmartIR

Mit SmartIR bekommst du eine grafische Klimasteuerung wie bei modernen Thermostaten – sogar mit Temperaturanzeige, Moduswahl und Sollwerten.


H3: Voraussetzungen

  • Installation von HACS (falls noch nicht vorhanden)
  • SmartIR über HACS oder manuell in /custom_components/smartir ablegen
  • Home Assistant einmal neustarten


H3: Konfiguration in der configuration.yaml

smartir:

climate:
  - platform: smartir
    name: Comfee Klimaanlage
    unique_id: comfee_r51m
    device_code: 1121
    controller_data: remote.schlafzimmer
    temperature_sensor: sensor.thermostat_schlafzimmer_temperatur
#    humidity_sensor: sensor.humidity
#    power_sensor: binary_sensor.ac_power

➡️ Den Device Code (1121) findest du auf der Fernbedienung oder durch eine Suche in der SmartIR-Datenbank (Tipp: ChatGPT hilft bei der Code-Suche anhand der Modellnummer!).


H3: Dateien manuell hochladen (wenn kein HACS)

  1. GitHub-Seite von SmartIR öffnen: https://github.com/smartHomeHub/SmartIR
  2. ZIP herunterladen, entpacken
  3. Ordner smartir nach /config/custom_components/ kopieren
  4. Home Assistant neu starten
  5. Konfiguration prüfen & Gerät erscheint als neue Entität


✅ Fazit

Mit dem Broadlink RM4 Mini und SmartIR kannst du selbst ältere IR-Geräte einfach in Home Assistant einbinden – ohne proprietäre Cloud-Lösungen, komplett lokal steuerbar.

So steuerst du deine Klimaanlage, den TV oder auch die Musikanlage ganz bequem per Automatisierung, App oder Dashboard-Karte!


📥 Nützliche Links


🙌 Unterstütze den Kanal

Hat dir der Beitrag gefallen? Dann…

👍 Like das Video
💬 Kommentiere, wenn du Fragen hast
🔔 Abonniere meinen YouTube-Kanal für mehr Smart-Home-Content