Skip to content

Instantly share code, notes, and snippets.

@gadget78
Forked from thxthx0/WiFi-Dimmer-Script.txt
Created August 22, 2020 10:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save gadget78/df6406fc32c8949802a33a5644ebac14 to your computer and use it in GitHub Desktop.
Save gadget78/df6406fc32c8949802a33a5644ebac14 to your computer and use it in GitHub Desktop.
>D
sw=0
tmp=0
cnt=0
tmr=0
hold=0
powert=0
slider=0
dim=""
shortprl=2 ;short press lo limit
shortpru=10;short press up limit
dimdir=0 ;dim direction 0/1
dimmlp=2.2 ;dim multiplier 1..2.55
dimstp=2 ;dim step/speed 1..5
dimll=15 ;dim lower limit min. 0
dimul=95 ;dim upper limit max. 100
dimval=70 ;start dim level 0..100
>B
=>print > WiFi-Dimmer-Script-v1.0 <
=>Counter1 0
=>Baudrate 9600
; boot sequence
=#senddim(dimval)
delay(1000)
=#senddim(0)
>F
cnt=pc[1]
if chg[cnt]>0
; sw pressed
then sw=1
else sw=0
; sw not pressed
endif
; 100ms timer
tmr+=1
; short press
if sw==0
and tmr>shortprl
and tmr<shortpru
then
powert^=1
; change light on/off
if powert==1
then
=#senddim(dimval)
else
=#senddim(0)
endif
endif
; long press
if sw>0
then
if hold==0
then
; change dim direction
dimdir^=1
endif
if tmr>shortpru
then
hold=1
; if off powert correction
if powert==0
then
powert=1
endif
; dim when on & hold
if dimdir>0
then
; increase dim level
dimval+=dimstp
if dimval>dimul
then
; upper limit change direction
dimdir^=1
endif
=#senddim(dimval)
else
; decrease dim level
dimval-=dimstp
if dimval<dimll
then
; lower limit change direction
dimdir^=1
endif
=#senddim(dimval)
endif
endif
else
tmr=0
hold=0
endif
>E
slider=Dimmer
; slider change
if chg[slider]>0
then
; dim according slider
if slider>0
then
dimval=slider
else
powert=0
endif
endif
if pwr[1]==1
; on/off webui
then
powert=1
=#senddim(dimval)
else
powert=0
=#senddim(0)
endif
; subroutine dim
#senddim(tmp)
dim="FF55"+hn(tmp*dimmlp)+"05DC0A"
=>SerialSend5 %dim%
=>Dimmer %tmp%
#
@gadget78
Copy link
Author

my edit/fork of @THXTHX
using his suggested code, will now dim up and down when held..
also if the light is off, and dim is held, light will turn on then start dimming sequence

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment