FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: supernova1963 am 19 November 2017, 09:00:42

Titel: [gelöst] Korrekter Perl Befehl "http://<IP>/fhem?cmd={ ... }&fwcsrf=xxxxxxxxx" ?
Beitrag von: supernova1963 am 19 November 2017, 09:00:42
Hallo zusammen,

ich suche verzweifelt nach der korrekten Syntax zur Ausführung dieses HTTP - Links.
Über MyUtils funktioniert folgende Befehlskette:
{fhem ("set harmony_34915526 command Number1; set harmony_34915526 command Number8; set harmony_34915526 command Number1") };

Jetzt möchte ich diesen Befehl über einen HTTP - Link ausführen.
<a href=\"/fhem?cmd={fhem ("set harmony_34915526 command Number1; set harmony_34915526 command Number8; set harmony_34915526 command Number1") }\">Das Erste</a>
ausführen.
Es ist kein Thema des fehlenden csrf-Token. Ich vermute es ist ein Thema des "Escapen" von Sonderzeichen. Obwohl ich schon viel darüber gelesen habe, verunsichert mich alles rund um ',",\",\',%20, usw.
Das Ergebnis lautet:
ZitatUnknown command {fhem("setreading, try help.
Unknown command "setreading, try help.
Was mache ich falsch bzw. Wie lautet die korrekte Syntax für meine Vorhaben?

Vielen Dank,

Gernot



Titel: Antw:Korrekter Perl Befehl "http://<IP>/fhem?cmd={ ... }&fwcsrf=xxxxxxxxx" ?
Beitrag von: marvin78 am 19 November 2017, 11:07:33
Warum willst du für diese Befehle denn auf Perl Ebene wechseln? Ich sehe nicht, dass das nötig ist. Bleibe auf FHEM Ebene, lasse unnötige Leerzeichen weg, nutze korrektes URL encoding und es sollte kein Problem sein.


Falls es doch mal nötig sein sollte, würde ich per http immer einen dummy schalten der dann ein notify mit dem nötigen Perl Befehl auslöst.
Titel: Antw:Korrekter Perl Befehl "http://<IP>/fhem?cmd={ ... }&fwcsrf=xxxxxxxxx" ?
Beitrag von: supernova1963 am 19 November 2017, 12:08:57
Hallo marvin787,

Danke für deinen Hinweis. Folgender Befehl:

<a href="/fhem?cmd=set%20harmony_34915526%20command Number1;set%20harmony_34915526%20command%20Number8;set harmony_34915526%20command%20Number1">Das Erste</a>

hat ohne Fehlermeldung funktioniert.
Manchmal ist das Gute garnicht so schwer,

Gernot