WebHooks von Home Assistant Thema ist als GELÖST markiert
- Undertaker
- Beiträge: 211
- Registriert: Di 26. Apr 2022, 09:21
- 2
- Wohnort: Karlsruhe
- Has thanked: 56 times
- Been thanked: 32 times
WebHooks von Home Assistant
ich möchte gerne von Home Assistant WebHooks an verschiedene Endgerät versenden.
Herausgefunden habe ich, dass ich in der configuration.yaml Einträge machen muss, um die WebHooks bei Automationen als Dienst, abfeuern zu können.
Hier ein Beispiel für meine internen WebHooks zum Homey System. Meine Frage ist dahin gehend, ob es eine einfachere Methode gibt, die WebHooks zu generieren, als jeden einzeln in die configuration.yaml einzutragen.
Gibt es dazu vielleicht eine Blaupause ?
Bei Homey kann ich alternativ noch MQTT verwenden, aber ich habe auch einige Hooks, die auf konventionellem Weg abgeschossen werden müssen.
Bitte nicht wundern wegen den Hooks. An HA laufen 3 Tuya Thermostate, die nicht mit Homey kompatibel sind. Gesteuert werden sie über Scripte, die von Homey angestoßen werden. Das Ziel war es, eine Warnung bei niedrigem Batteriestand der Thermostate auf dem Homey zu bekommen.
Albert Einstein
- Osorkon
- Administrator
- Beiträge: 1953
- Registriert: Sa 17. Jul 2021, 16:53
- 2
- Wohnort: Langenargen
- Has thanked: 61 times
- Been thanked: 530 times
- Kontaktdaten:
Re: WebHooks von Home Assistant
Code: Alles auswählen
rest_command:
homey_batterie:
url: "http://192.168.1.168/api/manager/logic//webhook/batterie?tag={{raum}}"
Code: Alles auswählen
action:
- service:
rest_comand.homey_batterie
data:
raum: bad
Gruß
Osorkon
- Undertaker
- Beiträge: 211
- Registriert: Di 26. Apr 2022, 09:21
- 2
- Wohnort: Karlsruhe
- Has thanked: 56 times
- Been thanked: 32 times
Re: WebHooks von Home Assistant
Albert Einstein
-
- Beiträge: 66
- Registriert: So 8. Mai 2022, 11:16
- 1
- Has thanked: 15 times
- Been thanked: 5 times
Re: WebHooks von Home Assistant
Ich bin bei der Suche nach der Möglichkeit mit HA Webhooks zu schicken auf die HACS Integration Webhook Service https://github.com/HCookie/Webhook-Serv ... -assistant gestoßen. Die Bedienung wäre sicherlich deutlich komfortabler, als alle Webhooks einzeln in die configuration.yaml einzutragen, allerdings wird anstelle von GET, JSON verwendet. Kann Homey überhaupt was damit anfangen? Und wenn ja, was müsste man bei Json Data eintragen.
- Osorkon
- Administrator
- Beiträge: 1953
- Registriert: Sa 17. Jul 2021, 16:53
- 2
- Wohnort: Langenargen
- Has thanked: 61 times
- Been thanked: 530 times
- Kontaktdaten:
Re: WebHooks von Home Assistant
Aber warum nutzt Du nicht die rest commands?
Einmal angelegt, entweder als statischer oder dynamischer Webhook und du kannst diese in Deinen Automatisierungen als Aktion verwenden.
Gruß
Osorkon
-
- Beiträge: 66
- Registriert: So 8. Mai 2022, 11:16
- 1
- Has thanked: 15 times
- Been thanked: 5 times
Re: WebHooks von Home Assistant
Warum kompliziert, wenn es (eventuell?) auch einfach geht?
Ich weiß nichtmal was "rest commands" sind. Und da ich mich mit (der YAML-)Programmierung generell nicht auskenne, versuche ich soviel wie möglich per GUI zu machen.
Klar, ich kann ein paar YAML Codes in die entsprechenden YAML-Dateien kopieren, evtl. auch das ein oder andere anpassen, aber das wars dann auch schon fast. Und was sind statische und dynamische Webhooks?
Was müsste ich denn konkret wo eintragen?
- Osorkon
- Administrator
- Beiträge: 1953
- Registriert: Sa 17. Jul 2021, 16:53
- 2
- Wohnort: Langenargen
- Has thanked: 61 times
- Been thanked: 530 times
- Kontaktdaten:
Re: WebHooks von Home Assistant
HAllo @fantross Schritt für Schritt Anleitung.
In der configuration.ymal folgende Zeile hinzufügen
Code: Alles auswählen
rest_command: !include rest_command.yaml
Im config Ordner dann einen neue Datei rest_command.yaml erstellen
dann die rest_command.yaml editieren und Deinen ersten Rest Command anlegen.
Code: Alles auswählen
homey:
url: "http://192.168.1.9/api/manager/logic//webhook/homeassistant?tag={{variable}}"
Konfiguration Prüfen und dann HA neu starten.
Die dazugehörige Aktion in den Automatisierungen sehen dann so aus:
Code: Alles auswählen
action:
- service:
rest_comand.homey
data:
variable: xy
In Homey ist dann der Webkook "homeassistant" der Auslöser und der Tag dazugehörige Tag, der als Variable unter data: mit gegeben wird.
Das wäre der dynamische Ansatz. Du verwendest nur ein Rest Command und gestaltest diesen variabel in dem Du per Automatisierung unterschiedliche Tags verwenden tust.
Statisch wäre dann einfach, Du erstellst Die für jeden einzelnen Webhook ein rest command.
Code: Alles auswählen
homey_1:
url: "http://192.168.1.9/api/manager/logic//webhook/homeassistant_1
homey_2:
url: "http://192.168.1.9/api/manager/logic//webhook/homeassistant_2
homey_3:
url: "http://192.168.1.9/api/manager/logic//webhook/homeassistant_3
Die Aktionen in HA wären dann:
Code: Alles auswählen
action:
- service:
rest_comand.homey_1
oder
Code: Alles auswählen
action:
- service:
rest_comand.homey_2
oder
Code: Alles auswählen
action:
- service:
rest_comand.homey_3
Die Auslöser Bei Homey wären dann die Webhooks "homeassistant_1", "homeassistant_2", "homeassistant_3"
Gruß
Osorkon
-
- Beiträge: 66
- Registriert: So 8. Mai 2022, 11:16
- 1
- Has thanked: 15 times
- Been thanked: 5 times
Re: WebHooks von Home Assistant
Allerdings bekomme ich bei der Prüfung, also nach den ersten 3 Schritten, folgende Fehlermeldung:
Das hier sind die Codes:Invalid config for [rest_command]: [homey] is an invalid option for [rest_command]. Check: rest_command->rest_command->rest_command->homey. (See /config/configuration.yaml, line 4).
/config/configuration.yaml
Code: Alles auswählen
# WebHooks
rest_command: !include rest_command.yaml
Code: Alles auswählen
rest_command:
homey:
url: "http://192.168.1.9/api/manager/logic/webhook/homeassistant?tag={{varialbe}}"
Code: Alles auswählen
# WebHooks
- Osorkon
- Administrator
- Beiträge: 1953
- Registriert: Sa 17. Jul 2021, 16:53
- 2
- Wohnort: Langenargen
- Has thanked: 61 times
- Been thanked: 530 times
- Kontaktdaten:
Re: WebHooks von Home Assistant
Wenn man in der rest_command.yaml arbeitet, darf die Zeile rest_command: da natürlich nicht rein!
Wäre nur der Fall, wenn du die rest commands direkt in der configuration.yaml anlegen würdest.
habs auch oben korrigiert.
Also NICHT so:
Code: Alles auswählen
rest_command:
homey:
url: "http://192.168.1.9/api/manager/logic/webhook/homeassistant?tag={{varialbe}}"
Code: Alles auswählen
homey:
url: "http://192.168.1.9/api/manager/logic/webhook/homeassistant?tag={{varialbe}}"
Osorkon
-
- Beiträge: 66
- Registriert: So 8. Mai 2022, 11:16
- 1
- Has thanked: 15 times
- Been thanked: 5 times
Re: WebHooks von Home Assistant
während ich bereits den gesamten unteren Teil geschrieben hatte und noch mal Korrekturlesen wollte, ist mir aufgefallen, dass in dem folgenden Code ein Schreibfehler drin ist:
Code: Alles auswählen
url: "http://192.168.1.9/api/manager/logic/webhook/ha?tag={{varialbe}}"
Vielen Dank!
______________________________________________________________________________________________________________
Hallo @Osorkon,
leider funktioniert das mit den Webhooks nicht, in Homey wird kein Flow ausgelöst.
Hier noch mal alle Infos:
Eintrag in der configuration yaml:
Code: Alles auswählen
rest_command: !include rest_command.yaml
Code: Alles auswählen
homey:
url: "http://192.168.1.9/api/manager/logic/webhook/ha?tag={{varialbe}}"
Code: Alles auswählen
homey:
url: "https://xxxxxxxxxxxxxxxxxxx.connect.athom.com/api/manager/logic/webhook/ha?tag={{varialbe}}"
Code: Alles auswählen
alias: Sonos_OGK_1.0.0_Symfonisk_1xDrücken_SonosStart (WebHook)
description: ''
trigger:
- device_id: 01fb1dce391fa250772c8131d0b847b8
domain: deconz
platform: device
type: remote_button_short_press
subtype: turn_on
condition: []
action:
- service: rest_command.homey
data:
variable: symfonisk
mode: single
- Osorkon
- Administrator
- Beiträge: 1953
- Registriert: Sa 17. Jul 2021, 16:53
- 2
- Wohnort: Langenargen
- Has thanked: 61 times
- Been thanked: 530 times
- Kontaktdaten:
Re: WebHooks von Home Assistant
-> varialbe
Code: Alles auswählen
homey:
url: "http://192.168.1.9/api/manager/logic/webhook/ha?tag={{varialbe}}"
-> variable
Code: Alles auswählen
homey:
url: "http://192.168.1.9/api/manager/logic/webhook/ha?tag={{variable}}"
Code: Alles auswählen
action:
- service: rest_command.homey
data:
variable: symfonisk
Die zweite Variante ohne der Variablen, sprich ohne Tag, hast Du auch mal getestet?
Funktioniert diese?
Kann mangels Homey leider nichts testet.
Gruß
Osorkon
-
- Beiträge: 66
- Registriert: So 8. Mai 2022, 11:16
- 1
- Has thanked: 15 times
- Been thanked: 5 times
Re: WebHooks von Home Assistant
In der Automatisierung hatte ich variable händisch und korrekt eingegeben, deshalb hatte es nicht funktioniert.
Nein, diese habe ich nicht getestet, da sie für mich keinen Sinn macht. Ich werde div. Automatisation mit Webhooks zu Homey machen und dann brauche ich immer nur ein anderes Tag nutzen. Und das funktioniert sogar fast ohne YAML Code
Ich muss also nur den weißen Text hinter variable: durch ein anderes Tag ersetzen, mehr nicht.
- Osorkon
- Administrator
- Beiträge: 1953
- Registriert: Sa 17. Jul 2021, 16:53
- 2
- Wohnort: Langenargen
- Has thanked: 61 times
- Been thanked: 530 times
- Kontaktdaten:
Re: WebHooks von Home Assistant
Gruß
Osorkon