
Also the original project uses some LUA interpreter, i uploaded ESPEasy to it.

The full project costs approximately $6.
From the outer world, it looks like any other touch light.
Inside:

Wiring:

ESPEasy devices:

Rules example for using with ModemSleep after each buttonpress:
Code: Select all
on System#Boot do
taskvalueset,5,1,0
taskvalueset,5,2,0
timerset,2,120
endon
on gomb#Shortpress do
taskvalueset,5,1,127
event,wakeup
endon
on gomb#Longpress do
taskvalueset,5,1,128
event,wakeup
endon
on wakeup do
taskvalueset,5,2,1
If [wifiman#Connected]>0
event,evalbtns
else
modemsleep,0
endif
endon
on evalbtns do
taskrun,3
if [glob#idx]>0
Publish domoticz/in,{"idx":[glob#idx],"nvalue":1.00,"svalue":"On", "RSSI": [rssi#rssi]}
pulse,13,1,100
Publish domoticz/in,{"idx":[glob#idx],"nvalue":0.00,"svalue":"Off", "RSSI": [rssi#rssi]}
endif
timerset,1,1
endon
on MQTT#Connected do
event,evalbtns
endon
on Rules#Timer=1 do
if [glob#sleepok]>0
modemsleep,1
endif
if [glob#idx]=127
pulse,13,1,200
endif
if [glob#idx]=128
pulse,13,1,500
endif
taskvalueset,5,1,0
endon
on Rules#Timer=2 do
taskvalueset,5,2,1
endon