FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: spiesbraten am 21 April 2019, 19:19:13

Titel: ESPEasy mit NodeMCU in FHEM
Beitrag von: spiesbraten am 21 April 2019, 19:19:13
Hallo,

ich habe eine Frage, die eventuell nicht direkt das ESPEasy betrifft. Ich habe das ESPEasy in FHEM eingebunden und kann so eine Lampe mit dem PWM Befehl über GPIO 12 dimmen. nun wollte ich dies in FHEM über einen Slider lösen, aber weder setList noch pct noch state funktionieren. Ich habe auch noch nicht soviel Ahnung wie EventMap richtig funktioniert. Dort habe ich

eventMap

/pwm 12 0:off/pwm 12 1023:on/


stehen und in webCMD steht

webCmd

pwm 12 1023:pwm 12 0
.

Die Buttons die oben angezeigt werden funktionieren dann auch, ich kann nur nicht dimmen. Ich bin für jede Hilfe dankbar, die mir da eine Art Slider hinzaubert  :)
Titel: Antw:ESPEasy mit NodeMCU in FHEM
Beitrag von: dev0 am 22 April 2019, 09:09:48
Ich würde es ohne eventMap umsetzen und die Befehle on, off und dim definieren.

attr <DEIN_ESP_DEV> userSetCmds (\
on             => { url=>"/control?cmd=pwm,13,1023", args => -1},\
off            => { url=>"/control?cmd=pwm,13,0", args => -1},\
dim            => { url=>"/control?cmd=pwm,13", args => -1, widget => "slider,0,1,1023"}\
)
attr <DEIN_ESP_DEV> webCmd on:off:dim


Dann "versteht" das Device die Befehle on, off und dim und zeigt sie im DeviceOverview auch an.
Titel: Antw:ESPEasy mit NodeMCU in FHEM
Beitrag von: spiesbraten am 22 April 2019, 11:53:34
Ah sehr gut, vielen Dank, funktioniert super :)
Titel: Antw:ESPEasy mit NodeMCU in FHEM
Beitrag von: stefanru am 22 Januar 2020, 20:51:15
Hi,

ich würde hier gern nochmal nachfragen.
Das userSetCmds funktioniert wunderbar und ich kann den Slider auf den gewünschten Wert stellen.
Dieser kommt auch am ESP an.

Der Slider steht nur leider danach wieder auf 0. Was müsste ich tun um auch den gesetzen Wert im slider dargestellt zu bekommen?
Muss state den Wert bekommen den der Slider dann haben soll?


Gruß und Danke,
Stefan
Titel: Antw:ESPEasy mit NodeMCU in FHEM
Beitrag von: dev0 am 24 Januar 2020, 07:38:53
Zitat von: stefanru am 22 Januar 2020, 20:51:15
Was müsste ich tun um auch den gesetzen Wert im slider dargestellt zu bekommen?
Die ESP Easy Firmware Entwickler motivieren, die internen Befehle pwm, status, etc. so zu implementieren, dass sie die Rückmeldung via Controller Plugin schicken. Vor ca. 1 Jahr gab es diese Erweiterung schon einmal, wurde aber wohl wegen Nebenwirkungen wieder zurückgezogen. Den aktuellen Stand der Entwicklung kenne ich nicht.

In dem Beispiel oben würde ein Reading dim benötigt, dass den entsprechenden Wert enthält. Vermutlich könnte man sich das via Attribute parseCmdResponse und einem userReading basteln. Ist aber nicht sauber...
Titel: Antw:ESPEasy mit NodeMCU in FHEM
Beitrag von: stefanru am 24 Januar 2020, 11:23:20
Ok, danke.

Ich habe das nun über ein Dummy Reading "dim" im ESP und entsprechenden Rules gelöst.

Funktioniert 1A.

Danke.
Titel: Antw:ESPEasy mit NodeMCU in FHEM
Beitrag von: Mkloeffer am 02 September 2020, 11:36:32
Hi,

kannst du deine Lösung hier mal posten? Ich schraube da auch dran rum, bekomme aber das dummy reading nicht aus FHEM raus gesetzt... Vielleicht hilft deine Lösung ja auch anderen :-)

Vielen Dank,
Michael
Titel: Antw:ESPEasy mit NodeMCU in FHEM
Beitrag von: stefanru am 11 September 2020, 20:22:58
Ok ja klar.

In FHEM am Device habe ich:
userSetCmds:
(
on             => { url=>"/control?cmd=event,dim=0,1023", args => -1},
off            => { url=>"/control?cmd=event,dim=0,0", args => -1},
dim            => { url=>"/control?cmd=event,dim=0", args => -1, widget => "slider,0,1,1023"}
)

webCmd:
on:off:dim

Und im ESP habe ich:
Generic - Dummy Device   dim

Und in Rules:
//Dim Value from FHEM
on dim do
  TaskValueSet 1,1,%eventvalue2% //Set dim Dummy
  TaskValueSet 1,2,%eventvalue2%/4.02 //Set light Dummy
  event,setFanSpeed
endon

On setFanSpeed do
pwm,12,[dim#dim] //Set speed of Fan
endon

Hoffe das hilft weiter.

Gruß,
Stefan