This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Simple Staircase Timer
#2
Resident script with 0 sleep time. Adjust timers table as needed. This script can handle multiple timers.
Code:
if not client then   timers = {     ['1/1/1'] = {       output = '1/1/2', -- dimmer control (0..100%)       onvaluehigh = 90, -- high output value in %       onvaluelow = 20, -- low output value in %       timeouthigh = 10 * 60, -- time to keep high value (in seconds)       timeoutlow = 10 * 60, -- time to keep low value (in seconds)     }   }   function timersetstate(timer, state)     grp.checkwrite(timer.output, timer['onvalue' .. state] or 0)     timer.state = state     timer.ticks = timer['timeout' .. state]   end   function timertimeout(timer)     local state = timer.state == 'high' and 'low' or 'off'     timersetstate(timer, state)   end   for _, timer in ipairs(timers) do     timer.state = 'off'   end   grp.sender = 'tm'   client = require('localbus').new(0.1)   client:sethandler('groupwrite', function(event)     local timer = timers[ event.dst ]     if timer and event.sender ~= grp.sender then       local value = tonumber(event.datahex, 16) or 0       if value == 1 then         timersetstate(timer, 'high')       end     end   end) end client:loop(1) for _, timer in pairs(timers) do   if timer.ticks then     timer.ticks = timer.ticks - 1     if timer.ticks == 0 then       timertimeout(timer)     end   end end
Reply


Messages In This Thread
Simple Staircase Timer - by Rauschentofft - 16.08.2022, 20:53
RE: Simple Staircase Timer - by admin - 17.08.2022, 06:29
RE: Simple Staircase Timer - by Rauschentofft - 17.08.2022, 18:45
RE: Simple Staircase Timer - by Rauschentofft - 02.04.2023, 23:39
RE: Simple Staircase Timer - by admin - 03.04.2023, 07:00
RE: Simple Staircase Timer - by Rauschentofft - 03.04.2023, 20:11

Forum Jump: