Home Assistant: Proxmox-Webhooks nutzen

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

Home Assistant: Proxmox-Webhooks nutzen
Home Assistant: Proxmox-Webhooks nutzen
  • 10.02.2025
  • Level 1
  • Proxmox

Seit Proxmox Version 8.3 werden als Ziel für Benachrichtigungen (Notifications) auch sog. Webhooks unterstützt. Das sind also HTTP-Aufrufe gegen ein beliebiges Ziel. Damit könnte man beispielsweise eine Push-Notification über Pushover generieren. Oder man gibt die Informationen einfach an sein Home Assistant System und kann damit tun was immer man will. Die nötigen Schritte dafür zeige ich Dir in diesem Video.

Kurz vorab: Bitte entschuldige, dass ich den Aufruf anfangs falsch konfiguriert habe. Ich habe dann trotzdem mit der Aufnahme weiter gemacht, um Dir den Lernprozess und die Fehlersuche ebenfalls zu zeigen. Somit tasten wir uns Schritt für Schritt an das Ergebnis.

Info: In Proxmox VE 8.2.8 habe ich eine Fehlermeldung bekommen, dass ich den Webhook nicht hinzufügen kann (not implemented 501). Nach einem Upgrade auf die aktuellste Version (8.3.3) und einem Neustart hat alles geklappt!

Video

Home-Assistant-Master-Kurs

Proxmox-Webhook

Beispiel

Wichtig ist, dass der Header Content-Type auf application/json gesetzt wird, damit Home Assistant weiß, dass jetzt JSON kommt und der HTTP-Body entsprechend geparsed wird.

{
  "title": "{{ escape title }}",
  "message": "{{ escape message }}",
  "severity": "{{ escape severity }}",
  "timestamp": {{ timestamp }},
  "fields": {{ json fields }}
}

Proxmox Webhook

»Proxmox Webhook«

Platzhalter

  • {{ title }}: Titel der Benachrichtigung
  • {{ message }}: Text / Nachricht
  • {{ severity }}: Schweregrad (info, notice, warning, error, unknown)
  • {{ timestamp }}: Zeitstempel als UNIX-Timestamp in Sekunden
  • {{ fields.<name> }}: Weitere Felder der Benachrichtigung. fields.type enthält beispielsweise den Typ der Benachrichtigung
  • {{ secrets.<name> }}: Zugriff auf die definierten Secrets - also sensible Informationen, welche im Dialog definiert wurden

Weiterhin gibt es folgende Helfer-Funktionen:

  • {{ url-encode <wert/eigenschaft> }}: URL-encoding für eine Eigenschaft
  • {{ escape <wert/eigenschaft> }}: Escaping für Werte, welche direkt im JSON verwendet werden können (Beispiel siehe oben)
  • {{ json <wert/eigenschaft> }}: Konvertiert einen Wert mit mehreren Eigenschaften direkt zu JSON. Beispielsweise {{ json fields }} für alle Felder (Beispiel siehe oben)

Home Assistant Automation

Der Request muss an diese Url erfolgen: <instance_url>/api/webhook/<webhook_id>. Die ID legt man dabei selbst in einer Automation fest!

Zugriff auf die Eigenschaften z.B. mit {{ trigger.json.title }} für den Titel. Beispiel:


action: notify.mobile_app_matthiass_iphone
metadata: {}
data:
  message: |-
    {{ trigger.json.message }}
    am {{ trigger.json.timestamp | timestamp_custom('%d.%m.%Y %H:%M:%S', True) }}
  title: "Proxmox: {{ trigger.json.title }}"


Transparenz-Hinweis (Level 1)

An diesem Beitrag ist kein Hersteller beteiligt! Sämtliche Produkte habe ich selbst gekauft und trage die kompletten Kosten für diesen Beitrag alleine! Die Inhalte wurden somit von niemandem gesehen oder abgestimmt. Es handelt sich zu 100% um meine persönliche Meinung und Erfahrung!

» Mehr erfahren

Du willst mehr?

Smart-Home-Trainings von A-Z

Steig' noch tiefer in die Themen ein und meistere Deine Projekte! Über 16.000 Teilnehmer konnten sich schon von der Qualität der Online-Kurse überzeugen.