![]() |
|
Script help - Printable Version +- LogicMachine Forum (https://forum.logicmachine.net) +-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1) +--- Forum: Scripting (https://forum.logicmachine.net/forumdisplay.php?fid=8) +--- Thread: Script help (/showthread.php?tid=3566) |
Script help - svetoslavp - 19.09.2021 Hello, Could you please help me with one resident script? If the temperature is below "A" for more then "B" seconds/ minutes turn on 1/1/2. If the temperature is above C for more then "D" seconds/minutes turn off 1/1/2 We have temperature with address 1/1/1. RE: Script help - admin - 20.09.2021 Modify as needed, make sure that step value is the same as script sleep time (at least 5 seconds, can be more if the wait time is larger). Code: temp = grp.getvalue('1/1/1')
-- temp limits
temp_low = 20
temp_high = 30
-- time in seconds
time_low = 20
time_high = 40
step = 5 -- script sleep time in seconds
if temp < temp_low then
timer_high = nil
if timer_low then
if timer_low < time_low then
timer_low = timer_low + step
if timer_low >= time_low then
grp.write('1/1/2', true)
end
end
else
timer_low = 0
end
elseif temp > temp_high then
timer_low = nil
if timer_high then
if timer_high < time_high then
timer_high = timer_high + step
if timer_high >= time_high then
grp.write('1/1/2', false)
end
end
else
timer_high = 0
end
endRE: Script help - svetoslavp - 21.09.2021 (20.09.2021, 10:52)admin Wrote: Modify as needed, make sure that step value is the same as script sleep time (at least 5 seconds, can be more if the wait time is larger). Thank you very much! |