I have a irrigation timer that works very well! I like to kick this script also from a switch(Tuinirrigatie) and directly execute all irrigation activities,
Status
1. on timer works OK
2. i added ON devices = Tuinirrigatie (this is a switch i can activate manual)
But no irrigation starts when i click the switch...
The switch has nothing to do with switch.state or switch2.state when i push it it must execute the rules below "switch2.state = off"
Code: Select all
local Tuinirrigatie = 'at 18:30 on mon,tue,wed,thu,fri,sat,sun'
return {
on = {timer = {Tuinirrigatie}},
{devices = {'Tuinirrigatie'}},
logging = { level = domoticz.LOG_INFO ,
marker = "Timers irrigatie"},
execute = function(dz,item,info)
local switch = dz.devices('Irrigatietimers')
local switch2 = dz.devices('hetregent')
local now = os.time(os.date('*t'))
local devpauze = 1
if switch.state == 'Off' then
dz.log("Script: " .. info.scriptName .. " is niet aangezet, switch: " .. switch.name .. " staat uit", dz.LOG_INFO)
else
if switch2.state == 'Off' then
dz.devices('usb lamp').switchSelector(20) -- anders gaat t wel aan maar staat de selector niet op aan
dz.variables('ledlampkleur').set('blauw')
local devtimer1 = tonumber(dz.devices('Tuinirrigatie_border_links_waarde').levelName)
dz.devices('Tuinirrigatie_border_links').switchOn().checkFirst() --.forMin(devtimer1) wordt in DZ_irrigatie_source bepaalt
dz.log("Script: " .. info.scriptName .. ", device: Tuinirrigatie_border_links, aangezet, om:" .. dz.time.rawTime .. " voor " .. devtimer1 .. " minuten....", dz.LOG_INFO)
local devtimer2 = tonumber(dz.devices('Tuinirrigatie_border_rechts_waarde').levelName)
local aftertimer = devtimer1 + devpauze
dz.devices('Tuinirrigatie_border_rechts').switchOn().checkFirst().afterMin(aftertimer)
dz.log("Script: " .. info.scriptName .. ", device: Tuinirrigatie_border_rechts, wordt aangezet " .. tostring(aftertimer) .. " min na " .. dz.time.rawTime .. " en voor " .. devtimer2 .. " minuten....", dz.LOG_INFO)
local devtimer3 = tonumber(dz.devices('Tuinirrigatie_gazon_waarde').levelName)
local aftertimer = aftertimer+devtimer2 + devpauze
dz.devices('Tuinirrigatie_gazon').switchOn().checkFirst().afterMin(aftertimer)
dz.log("Script: " .. info.scriptName .. ", device: Tuinirrigatie_gazon, wordt aangezet " .. tostring(aftertimer) .. " min na " .. dz.time.rawTime .. " en voor " .. devtimer3 .. " minuten....", dz.LOG_INFO)
local devtimer4 = tonumber(dz.devices('Tuinirrigatie_planten_waarde').levelName)
local aftertimer = aftertimer+devtimer3 + devpauze
dz.devices('Tuinirrigatie_planten').switchOn().checkFirst().afterMin(aftertimer)
dz.log("Script: " .. info.scriptName .. ", device: Tuinirrigatie_planten, wordt aangezet " .. tostring(aftertimer) .. " min na " .. dz.time.rawTime .. " en voor " .. devtimer4 .. " minuten....", dz.LOG_INFO)
dz.devices('usb lamp').switchSelector(dz.variables('ledlampkleuroud').value)
else
dz.log("Script: " .. info.scriptName .. " is niet aangezet, het is aan t regenen... ", dz.LOG_INFO)
end
end
end
}