I assume that one reason for having 8 separate timers, is that one can have them running simultaneously to cause things to happen at different intervals. However, it's not working for me if so.
In my boot code, I set two timers: T1 @ 5secs to update a displayed sensor value and T3 @ 60 secs to send the sensor values to a remote server using a HTTP request. When I watch the log, T1 is being set and the event is occurring as expected. There's never any mention of T3 in the log at all and the remote server is not being updated.
Am I doing something wrong, or is ESPEasy not capable of using multiple timers simultaneously?
Full rules code below...
Code: Select all
On system#boot
//start timer for temp/hum display cycle
event,timerstart
endon
On timerstart do
//start timer for temp/hum display cycle
timerSet,3,60
timerSet,1,5
TaskValueSet,12,1,1
endon
On timerstop do
//stop timer
timerSet,1,0
timerSet,3,0
endon
On Rules#Timer=1 do
//show temp or hum as determined by "cycle" value of dummy device MyVars
if [MyVars#cycle] = 1
7dt,[DHT#Temperature]
endif
if [MyVars#cycle] = 2
7dn,[DHT#Humidity]
endif
if [MyVars#cycle] = 3
7dt,[DA#Temperature]
endif
if [MyVars#cycle] = 4
7dt,[DB#Temperature]
endif
TaskValueSet,12,1,[MyVars#cycle]+1
if [MyVars#cycle] = 5
TaskValueSet,12,1,1
endif
timerSet,1,5
endon
On Rules#Timer=3
event,sendtovera
timerSet,3,60
endon
On sendtovera
SendtoHTTP 192.168.8.200,80,/port_3480/data_request?id=variableset&DeviceNum=143&serviceId=urn:upnp-org:serviceId:TemperatureSensor1&Variable=CurrentTemperature&Value=[DHT#Temperature]
SendtoHTTP 192.168.8.200,80,/port_3480/data_request?id=variableset&DeviceNum=144&serviceId=urn:micasaverde-com:serviceId:HumiditySensor1&Variable=CurrentLevel&Value=[DHT#Humidity]
SendtoHTTP 192.168.8.200,80,/port_3480/data_request?id=variableset&DeviceNum=145&serviceId=urn:upnp-org:serviceId:TemperatureSensor1&Variable=CurrentTemperature&Value=[DA#Temperature]
SendtoHTTP 192.168.8.200,80,/port_3480/data_request?id=variableset&DeviceNum=146&serviceId=urn:upnp-org:serviceId:TemperatureSensor1&Variable=CurrentTemperature&Value=[DB#Temperature]
endon
On wifi#disconnected
7dn,0
event,timerstop
endon
On wifi#connected
event,timerstart
endon
//EOF