Auch nach stundenlangem Suchen in Wiki und commandref bin ich nicht in der Lage aus den wenigen Beispielen mir einen funktionierenden Befehl zu basteln.
Ich möchte erreichen, dass der funktionierende Befehl: set We_Ez event HzAn durch den Befehl set We_Ez an ersetzt wird.
Versuche wie:
attr We_Ez userSetCmds ( an => {url => "/control?cmd=event HzAn"} )
und viele andere Schreibweisen führen zu Fehlermeldungen oder gar keiner Reaktion.
Die Suchfunktion in fhem gibt nicht viele Treffer über userSetCmds.
Hi,
da das ziemlich ESPEasy-spezifisch ist, vielleicht in das entsprechende Unterforum (Bastelecke/ESP8266) verschieben (Button ganz unten links).
Grüße,
Oli
Hallo
ich denke eher das ist ein reines Fhem Thema eventmap oder so
versuch mal
attrib <device> eventmap /event HzAn:neuer_befehl/
dann eventuell noch ein WebCMD dazu <neuer_Befehl>
eventMap kann das vmtl. auch, aber die korrekte userSetCmds Syntax wäre:
attr We_Ez userSetCmds ( an => {url => "/control?cmd=event,HzAn"} )
Im Log sieht man dann auch:
2019.02.15 11:54:27.405 3: ESPEasy We_Ez: set em1 an
2019.02.15 11:54:27.406 4: ESPEasy bridge: httpReq device:em1 ident:em1 timeout:10 url:http://<ip>:80/control?cmd=event,HzAnan
Wie man sieht, ist da ein "an" zu viel hinten an der aufgerufenen URL. Ich schaue mir das bei Gelegenheit an und fixe es falls nötig, jetzt gerade geht es nicht.
Danke dev0.
Dann habe ich ja eigentlich schon richtig gelegen, aber durch das angehängte 'an' kommt halt die Fehlermeldung:
ESPEasy Wemos: http://<ip>:80/control?cmd=event HzAnan: empty answer received [set We_Ez an]
Bisher war es so, dass das ein neu definierter <FHEM cmd> identisch mit dem <ESP Easy cmd> sein mußte und auch so an den ESP übertragen wurde. Nun gibt es die Möglichkeit den hash key "args" auf "-1" zu setzen: dann wird der <FHEM Befehl> nicht mehr an den ESP gesendet. Dafür muß/sollte dann der hash key "url" den <ESP Easy cmd> beinhalten. Optionale Argumenmte werden weiterhin mit Kommatas angehängt.
fhem#> attr We_Ez userSetCmds ( an => {url => "/control?cmd=event,HzAn", args => -1} )
fhem#> set We_Ez an
2019.02.16 10:09:08.790 3: ESPEasy We_Ez: set We_Ez an
2019.02.16 10:09:08.790 4: ESPEasy bridge: httpReq device:We_Ez ident:We_Ez timeout:10 url:http://<ip>:80/control?cmd=event,HzAn
Via Update morgen ab 8 oder jetzt aus dem svn. Bitte testen.
Nach dem update habe ich es jetzt getestet.
Das doppelte 'an' ist verschwunden, so dass jetzt alles wie vorgesehen funktioniert.
Vielen Dank dev0
Zitat von: wk am 17 Februar 2019, 11:45:22
Das doppelte 'an' ist verschwunden, so dass jetzt alles wie vorgesehen funktioniert.
Vorgesehen war dieser Fall bisher nicht, aber ich empfinde es als sinnvoll und habe es eingebaut. ;)
Ob meine Beschreibung in der command ref dazu leicht genug verständlich ist, kann ich nur erahnen. Wenn es jemand kurz und knapp besser beschreiben kann, dann bitte hier melden.