Wie kann ich einen über Home Assistant eingerichteten ESP32 oder ESP8266 über einem URL Befehl außerhalb von Home Assistant schalten?
Wie kann ich das machen?
Was muss ich beachten?
Ist nicht nur auf ESPHome Geräte beschränkt, sondern allgemein gültig.
Ich würde ein Webhook verwenden.
Also eine Automatisierung.
Auslöser: Webbhook
Aktion: Deine gewünschte Aktion
Gruß
Osorkon
Danke, das mache ich ja schon.
Ich meine andersherum. Von außen einen url-Befehl über einen Browser oder ähnlich. Ich brauche das für bestimmte Anwendungen, die ich hier nicht weiter im Detail erklären möchte.
Ein Shelly-Gerät kann ich zum Beispiel (nur im lokalen Netzwerk) mit dem url-Befehl http://192.168.XXX.XX/relay/0?turn=on schalten.
Genau so funktioniert ein Webhook. ![]()
Gruß
Osorkon
OK, der URL Befehl, den ich hier als Beispiel aufgeführt habe, nennt man Webhook.
Ist in meinen Augen das gleiche ![]()
Das weiß ich, aber wie würde der Webhook Befehl dann aussehen, wenn ich zum Beispiel das 04 Relay einschalten möchte:
Der Webhook wird automatisch erstellt, wenn du einen Webhook als Auslöser hinzufügen tust.
Die Aktion kannst Du nach belieben gestalten.
Gehe mal davon aus, dass Dir die jeweiligen Entitäten in Home Assistant zur Verfügung stehen.
description: ""
mode: single
trigger:
- platform: webhook
allowed_methods:
- POST
- PUT
local_only: false
webhook_id: "-zjnU2hETHWS4UeQ5Ht4l_wCD"
condition: []
action:
- service: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.xyz
Der Webhook lauten dann:
https://ha.meinedimain.meins/api/webhook/-zjnU2hETHWS4UeQ5Ht4l_wCD
oder wenn Du diesen local aufrufen willst:
http://IP:8123/api/webhook/-zjnU2hETHWS4UeQ5Ht4l_wCD
Gruß
Osorkon
Wenn du z.B. den Switch eines ESPHOME Gerätes wirklich direkt schalten möchtest (ohne HA), geht das nur über einen POST Request. Dieses ist direkt über die Browser-Bar eigentlich nicht vorgesehen, wenn auch nicht unmöglich.
Eine andere Variante wäre dann über CURL.
Oje, das ist ja ganz schön kompliziert.
Das ist bei Shelly oder bei JBmedia sehr einfach dagegen.
