WebHooks von Home Assistant Thema ist als GELÖST markiert

Rat und Tat rings um Home Assistant Automationen.


Antworten
Benutzeravatar
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

Beitrag von Undertaker »

Moin Mädels und Jungs,

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.
Screenshot_20220426-111613_Chrome.jpg
Screenshot_20220426-111613_Chrome.jpg (139.41 KiB) 1589 mal betrachtet
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.
"Ich habe keine besondere Begabung, sondern bin nur leidenschaftlich neugierig."
Albert Einstein
Benutzeravatar
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

Beitrag von Osorkon »

Wie schon an anderer Stelle geschrieben würde ich mit Variablen arbeiten. Soweit ich weiß, kannst du den webhook bei homey um einen tag erweitern. Diesen würde ich als variable definieren.

Code: Alles auswählen

rest_command:
  homey_batterie:
    url: "http://192.168.1.168/api/manager/logic//webhook/batterie?tag={{raum}}"
In den Automatisierungen kannst Du dann immer den gleichen rest_command verwenden und nur noch die variable ändern.

Code: Alles auswählen

action:
  - service:
    rest_comand.homey_batterie
    data:
      raum: bad
Theoretisch kannst Du sogar das ganze auf eine Automatisierung reduzieren, wenn der Tag identisch zu z.B. des Namen des Sensors ist, der die Automatisierung triggert.

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
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

Beitrag von Undertaker »

Werde ich versuchen, danke !
"Ich habe keine besondere Begabung, sondern bin nur leidenschaftlich neugierig."
Albert Einstein
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: WebHooks von Home Assistant

Beitrag von fantross »

@Undertaker, hast Du es ans Laufen bekommen?

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.
SCR-20220610-h38.png
SCR-20220610-h38.png (73.73 KiB) 1504 mal betrachtet
Benutzeravatar
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

Beitrag von Osorkon »

@fantross mit der von Dir verwendeten Integration bin ich nicht vertraut.

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
Einer muss ja für Ordnung sorgen. :D
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: WebHooks von Home Assistant

Beitrag von fantross »

Osorkon hat geschrieben: Fr 10. Jun 2022, 16:10 @fantross
Aber warum nutzt Du nicht die rest commands?
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?
Benutzeravatar
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

Beitrag von Osorkon »

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

Einer muss ja für Ordnung sorgen. :D
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: WebHooks von Home Assistant

Beitrag von fantross »

Vielen Dank @Osorkon! 👍🏼

Allerdings bekomme ich bei der Prüfung, also nach den ersten 3 Schritten, folgende Fehlermeldung:
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).
Das hier sind die Codes:
/config/configuration.yaml

Code: Alles auswählen

# WebHooks
rest_command: !include rest_command.yaml
/config/rest_command.yaml

Code: Alles auswählen

rest_command:
  homey:
    url: "http://192.168.1.9/api/manager/logic/webhook/homeassistant?tag={{varialbe}}"
Line 4 in der configuration.yaml Datei ist:

Code: Alles auswählen

# WebHooks
Und schon bin ich aufgeschmissen, sorry.
Benutzeravatar
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

Beitrag von Osorkon »

Sorry @fantross

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}}"
Sondern so:

Code: Alles auswählen

homey:
  url: "http://192.168.1.9/api/manager/logic/webhook/homeassistant?tag={{varialbe}}"
Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: WebHooks von Home Assistant

Beitrag von fantross »

Hallo @Osorkon,
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}}"
variable ist falsch geschrieben, deshalb hat es nicht funktioniert. Nach Korrektur funktioniert es jetzt.

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
Eintrag in der rest_command.yaml:

Code: Alles auswählen

homey:
  url: "http://192.168.1.9/api/manager/logic/webhook/ha?tag={{varialbe}}"
Ich hatte es auch mal mit der externen GET-Anfrage getestet:

Code: Alles auswählen

homey:
  url: "https://xxxxxxxxxxxxxxxxxxx.connect.athom.com/api/manager/logic/webhook/ha?tag={{varialbe}}"
Automatisierung

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
Homey-Flow
SCR-20220612-ee2.png
SCR-20220612-ee2.png (53.4 KiB) 1465 mal betrachtet
Benutzeravatar
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

Beitrag von Osorkon »

@fantross verwendest Du jetzt im rest command

-> varialbe

Code: Alles auswählen

homey:
  url: "http://192.168.1.9/api/manager/logic/webhook/ha?tag={{varialbe}}"
oder

-> variable

Code: Alles auswählen

homey:
  url: "http://192.168.1.9/api/manager/logic/webhook/ha?tag={{variable}}"
Die Aktion in Deiner Automatisierung lautet ja:

Code: Alles auswählen

action:
  - service: rest_command.homey
    data:
      variable: symfonisk
Also entweder beides mal falsch schreiben "varialbe" 🤪. oder beides mal richtig "variable"

Die zweite Variante ohne der Variablen, sprich ohne Tag, hast Du auch mal getestet?
Funktioniert diese?

Kann mangels Homey leider nichts testet. 🤷‍♂️

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: WebHooks von Home Assistant

Beitrag von fantross »

Ich hatte Deinen Code-Schnipsel für die rest_command.yaml Datei kopiert, darin war variable (varialbe) falsch geschrieben.
In der Automatisierung hatte ich variable händisch und korrekt eingegeben, deshalb hatte es nicht funktioniert.
Osorkon hat geschrieben: So 12. Jun 2022, 11:26 Die zweite Variante ohne der Variablen, sprich ohne Tag, hast Du auch mal getestet?
Funktioniert diese?
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 😉
SCR-20220613-ajm.png
SCR-20220613-ajm.png (58.37 KiB) 1451 mal betrachtet
Ich muss also nur den weißen Text hinter variable: durch ein anderes Tag ersetzen, mehr nicht.
Benutzeravatar
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

Beitrag von Osorkon »

@fantross zusammengefasst heist das jetzt, dass es funktioniert mit variable und Tag?

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: WebHooks von Home Assistant

Beitrag von fantross »

@Osorkon, ja, funktioniert mit Variable und Tag, hatte ich ja schon geschrieben. 😉
Antworten