FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: higlhagl am 28 September 2025, 11:25:06

Titel: Shelly Aktion mit http
Beitrag von: higlhagl am 28 September 2025, 11:25:06


Warum geht der Befehl nicht in Aktion

http://192.168.5.89:8083/fhem?cmd=set HT_offen on

habe auch so versucht

http://192.168.5.89:8083/fhem?cmd=set%20HT_offen%20on

mit um Hilfe


Danke

Titel: Aw: Shelly Aktion mit http
Beitrag von: Prof. Dr. Peter Henning am 28 September 2025, 11:33:31
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
Titel: Aw: Shelly Aktion mit http
Beitrag von: passibe am 28 September 2025, 11:56:15
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 ...
Titel: Aw: Shelly Aktion mit http
Beitrag von: betateilchen am 28 September 2025, 12:33:20
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.