FHEM Forum

Verschiedenes => Bastelecke => ESP Familie => Thema gestartet von: wk am 12 Februar 2019, 14:43:26

Titel: ESPEasy - userSetCmds Verständnisproblem
Beitrag von: wk am 12 Februar 2019, 14:43:26
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.
Titel: Antw:ESPEasy - userSetCmds Verständnisproblem
Beitrag von: KernSani am 14 Februar 2019, 00:26:42
Hi,

da das ziemlich ESPEasy-spezifisch ist, vielleicht in das entsprechende Unterforum (Bastelecke/ESP8266) verschieben (Button ganz unten links).

Grüße,

Oli
Titel: Antw:ESPEasy - userSetCmds Verständnisproblem
Beitrag von: riker1 am 14 Februar 2019, 08:49:46
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>
Titel: Antw:ESPEasy - userSetCmds Verständnisproblem
Beitrag von: dev0 am 15 Februar 2019, 12:15:01
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.
Titel: Antw:ESPEasy - userSetCmds Verständnisproblem
Beitrag von: wk am 15 Februar 2019, 18:30:43
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]
Titel: Antw:ESPEasy - userSetCmds Verständnisproblem
Beitrag von: dev0 am 16 Februar 2019, 10:14:43
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.
Titel: Antw:ESPEasy - userSetCmds Verständnisproblem
Beitrag von: wk am 17 Februar 2019, 11:45:22
Nach dem update habe ich es jetzt getestet.

Das doppelte 'an' ist verschwunden, so dass jetzt alles wie vorgesehen funktioniert.

Vielen Dank dev0
Titel: Antw:ESPEasy - userSetCmds Verständnisproblem
Beitrag von: dev0 am 17 Februar 2019, 11:54:52
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.