FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: sylvester am 01 Januar 2019, 12:53:47

Titel: Fhem-Cmd in http-Aufruf
Beitrag von: sylvester am 01 Januar 2019, 12:53:47
Hallo zusammen,

ich würde gerne in einem http-Aufruf zwei Fhem-Kommandos ausführen.
Hat jemand einen Tipp, wie das funktioniert?

Ich habe es aktuell so probiert:

http://192.168.178.8:8083/fhem?cmd.Test2=set%20Alarm_Besuch%20on-for-timer%2030%3B%3BsetReading%20Alarm_Besuch%20Ausloeser%201&XHR=1


also eigentlich:

set Alarm_Besuch on-for-timer 30;; setReading Alarm_Besuch Ausloeser 1


Viele Grüße

Stephan
Titel: Antw:Fhem-Cmd in http-Aufruf
Beitrag von: Klaus0815 am 01 Januar 2019, 12:57:52
mit dem Beispiel funktioniert es bei mir:

/fhem?cmd.Test=set%20Kueche_Arbeitsplatte%20off&XHR=1
Titel: Antw:Fhem-Cmd in http-Aufruf
Beitrag von: KernSani am 01 Januar 2019, 13:01:14
Bitte das hier beachten: https://wiki.fhem.de/wiki/CsrfToken-HowTo


Kurz, weil mobil
Titel: Antw:Fhem-Cmd in http-Aufruf
Beitrag von: sylvester am 01 Januar 2019, 13:30:13
Hallo,

das Problem ist nicht der Befehl an sich, sondern ZWEI Befehle in EINEM http-Aufruf...

Viele Grüße

Stephan
Titel: Antw:Fhem-Cmd in http-Aufruf
Beitrag von: Otto123 am 01 Januar 2019, 14:11:36
Gesundes neues Jahr,

mit einem Semikolon wie sonst auch. Beispiel für Terminal:
h='192.168.56.80:8083'; c='set Aktor01 on;set Aktor02 on'; curl --data "fwcsrf=$(curl -s -D - http://$h/fhem?XHR=1 | awk '/X-FHEM-csrfToken/{print $2}')" http://$h/fhem?cmd=$(echo $c|sed 's/ /%20/g')

Oder in der FHEM Kommandozeile mit geschützten Semikolons (nur wegen dem Shell Aufruf)
"h='192.168.56.80:8083';; c='set Aktor01 on;;set Aktor02 on';; curl --data "fwcsrf=$(curl -s -D - http://$h/fhem?XHR=1 | awk '/X-FHEM-csrfToken/{print $2}')" http://$h/fhem?cmd=$(echo $c|sed 's/ /%20/g')"

Gruß Otto