Shelly Aktion mit http

Begonnen von higlhagl, 28 September 2025, 11:25:06

Vorheriges Thema - Nächstes Thema

higlhagl


Prof. Dr. Peter Henning

Falscher Forumsbereich, das gehört in Anfängerfragen, keineswegs in "Codeschnipsel".

Außerdem werden nicht genügend Informationen mitgeliefert, um die Frage zu beantworten.

Tipp: http://192.168.5.89:8083/fhem?cmd=set%20HT_offen%20on als Adresse in eine Browser-Adresszeile eintippen. Wenn das funktioniert, liegt es an der Konfiguration des Shelly.

LG

pah

passibe

Vermutlich, weil die CSRF-Prüfung nicht funktioniert: https://wiki.fhem.de/wiki/CsrfToken-HowTo

Es ist aber eine dumme Idee den CSRF-Token "abzuschalten".
Ansonsten: Unterstützen Shellies inzwischen überhaupt sowas wie basic auth? Oder hast du dein FHEM nicht passwortgeschützt? Auch das ist nicht zu empfehlen (wobei wenn kein HTTPS verwendet wird, auch eher zweitrangig ...).

Du solltest das Problem stattdessen andersherum angehen: Nicht der Shelly sagt FHEM was zu tun ist, sondern FHEM lauscht auf Events vom Shelly und entscheidet dann, was damit zu tun ist.
Heißt: Die Logik "wenn der Schalter, der an den Shelly angeschlossen ist gedrückt wird, soll XY geschaltet werden" gehört nicht in den Shelly (das machst du grade, weil du im Shelly festlegst, welches Gerät wie geschaltet werden soll), sondern in FHEM (z.B. über ein notify). Hat den zusätzlichen Vorteil, dass man dann sämtliche Konfiguration an einem Ort hat, diese gut/überhaupt backupen kann, und so weiter ...

betateilchen

Für solche Aufgaben bietet sich doch die HTTPAPI von FHEM an. Die wurde genau dafür geschaffen, dass man sich um solche technischen Details keinen Kopf machen muss.

Sobald es ein device vom TYPE=HTTPAPI in Deiner FHEM Installation gibt, kannst Du einen http-request in der Form

http://<ip-addr>:<port>/<apiName>/set?device=HT_offen&action=on
verwenden.

https://commandref.fhem.de/#HTTPAPI

ZitatHTTPAPI is a compact HTML API server that performs http requests to execute set and get commands and reads and writes readings.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!