Page 1 of 1

Rule based 12 LED NeoPixel Clock

Posted: 05 Jul 2019, 23:25
by happytm
I tried to create 12 led clock using neopixel(basic) and dummy sensor task with quad selected as sensors. I came up with following rules which seems to do the job.I know there must be better way to do it so please correct the rules for better.This demonstrate power of rules engine,plugin system & dummy sensor in ESPEasy. It makes it very fast and easy to make DIY projects without knowing any programming.The hour indicator is red ,minute indicator is flashing blue every 5 seconds which also represent seconds indicator.

on Clock#Time do
timerSet,1,5
TaskValueSet,12,1,%sysmin%/5
TaskValueSet,12,2,[dummy#minutenow]-1
TaskValueSet,12,3,%syshour%
if [dummy#hournow]>12
TaskValueSet,12,3,[dummy#hournow]-12
endif
TaskValueSet,12,4,[dummy#hournow]-1
neopixel,[dummy#hournow],255,0,0
neopixel,[dummy#hourprev],0,0,0
endon

on Rules#timer=1 do
if [dummy#minutenow]=[dummy#hournow]
neopixel,[dummy#minutenow],255,255,255
else
neopixel,[dummy#minutenow],0,0,255
endif
timerSet,2,1
endon

on Rules#timer=2 do
neopixel,[dummy#minutenow],0,0,0
timerSet,1,5
endon

Thanks

Re: Rule based 12 LED NeoPixel Clock

Posted: 07 Jul 2019, 01:10
by happytm
With some minor adjustment :

on Clock#Time do
timerSet,1,5


TaskValueSet,12,1,%sysmin%/5
TaskValueSet,12,2,[dummy#minutenow]-1
TaskValueSet,12,3,%syshour%
if [dummy#hournow]>12
TaskValueSet,12,3,[dummy#hournow]-12
endif
if [dummy#hournow]=0
TaskValueSet,12,3,12
endif
TaskValueSet,12,4,[dummy#hournow]-1

neopixel,[dummy#hournow],55,0,0
neopixel,[dummy#hourprev],0,0,0

endon



on Rules#timer=1 do


if [dummy#minutenow]=[dummy#hournow]
neopixel,[dummy#minutenow],255,255,255

else


neopixel,[dummy#minutenow],0,0,55
endif

if [dummy#minutenow]=0
TaskValueSet,12,1,12

endif

timerSet,2,1

endon

on Rules#timer=2 do

neopixel,[dummy#minutenow],0,0,0
timerSet,1,5

endon