24.10.2023, 09:39
Ok so I'll have an event-based script for the irrigation program configured as last instance only execution mode.
And then I also need an event-based script in normal execution mode like the shown below in order to stop the irrigation program. Is that correct? Thank you!
Code:
value = event.getvalue()
if value == true then
--os.sleep(3)
--grp.write("5/0/1",false)
function dosleep(obj)
local timer = grp.getvalue(obj)
timer = tonumber(timer)
if timer then
if timer < mintimer then
timer = mintimer
elseif timer > maxtimer then
timer = maxtimer
end
os.sleep(timer *60 ) -- minutes -> seconds
end
end
mintimer = 0.1 -- minimum timer value in minutes
maxtimer = 60 -- maximum timer value in minutes
objects = {
{
output = '5/1/1',
timer = '5/3/1',
enable = '5/4/1',
},
{
output = '5/1/2',
timer = '5/3/2',
enable = '5/4/2',
},
{
output = '5/1/3',
timer = '5/3/3',
enable = '5/4/3',
},
{
output = '5/1/4',
timer = '5/3/4',
enable = '5/4/4',
},
{
output = '5/1/5',
timer = '5/3/5',
enable = '5/4/5',
},
{
output = '5/1/6',
timer = '5/3/6',
enable = '5/4/6',
},
{
output = '5/1/7',
timer = '5/3/7',
enable = '5/4/7',
},
{
output = '5/1/8',
timer = '5/3/8',
enable = '5/4/8',
},
{
output = '5/1/9',
timer = '5/3/9',
enable = '5/4/9',
},
{
output = '5/1/10',
timer = '5/3/10',
enable = '5/4/10',
}
}
for _, item in ipairs(objects) do
if grp.getvalue(item.enable) then
grp.write(item.output, true)
dosleep(item.timer)
grp.write(item.output, false)
end
end
grp.write("5/0/1",false)
end
And then I also need an event-based script in normal execution mode like the shown below in order to stop the irrigation program. Is that correct? Thank you!
Code:
value = event.getvalue()
if value == false then
name = 'my script name'
item = script.get(name)
script.disable(name)
os.execute('pkill -f "scripting-scheduled.lua ' .. item.id .. '"')