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.

Resident script pump circulation
#12
For such think I like use 1 minute interval but if you want better reaction you can set less time like 30 or 15s oryou can adjust further this script e.g. you can choose Resident 0s and create auto adjusting the time for next calculation like below:

Code:
12345678910111213141516171819202122232425262728293031323334
valveStatesTag = 'circulation_pump' pumpGA = '1/1/10' opened, first_timestamp = false, 0 valveStates = grp.tag(valveStatesTag) for v = 1, #valveStates, 1 do  valveState = valveStates[v]  if valveState.value then    opened = true    if first_timestamp > 0 then        if first_timestamp > valveState.updatetime then first_timestamp = valveState.updatetime end    else        first_timestamp = valveState.updatetime    end  end end if opened then    opened_5_minutes = (os.microtime() - first_timestamp) >= 300    if opened_5_minutes then        grp.checkwrite(pumpGA, true)         nextCalculationAfter = 30    else        grp.checkwrite(pumpGA, false)         nextCalculationAfter = 301 - (os.microtime() - first_timestamp) -- run a little after possible change    end else    grp.checkwrite(pumpGA, false)     nextCalculationAfter = 301 end log('Next calculation after: ' .. nextCalculationAfter .. 's.') os.sleep(nextCalculationAfter)


You can also disable this script if heating controller is off.
Done is better than perfect
Reply


Messages In This Thread
RE: Resident script pump circulation - by buuuudzik - 09.03.2018, 23:46

Forum Jump: