Sun protection new house [Solved]
Posted: Monday 03 August 2020 15:52
I'm trying to stop using Blockly, but it's not easy. For our new house (under construction) I want to use a program for controlling sun screens.
The script does not give any error messages but it does not work either. I wanted to understand what exactly happens. That's why I added the dz.log lines. After adding these lines I got an error. Unfortunately I'm stuck now.
Thanks in advance
Code: Select all
on =
{
timer =
{ 'at 10:02', -- Tijd sluiten screens zuidzijde
'at 13:02', -- Tijd sluiten zuidwestzijde
},
devices =
{
'Bewolking'
}
},
logging =
{
level = domoticz.LOG_DEBUG,
marker = 'Screens',
},
execute = function(dz, item)
local UV = dz.devices('UV maximaal') -- UV sensor
local Cl = dz.devices ('Bewolking') -- OMW percentage
local wkTemp = dz.devices('Woonkamer') -- Temperature sensor
local rmkkn = dz.devices('Screens ramen keuken') -- Selector switch (levels: 'Op', 'Stop' and 'Neer')
local rmslp23 = dz.devices('Screens ramen slaapkamers 2+3') -- Selector switch (levels: 'Op', 'Stop' and 'Neer')
local drslp1 = dz.devices('Screen deur slaapkamer 1') -- Selector switch (levels: 'Op', 'Stop' and 'Neer')
local drslp2 = dz.devices('Screen deur slaapkamer 2') -- Selector switch (levels: 'Op', 'Stop' and 'Neer')
local rmslp1 = dz.devices('Screen ramen slaapkamer 1') -- Selector switch (levels: 'Op', 'Stop' and 'Neer')
dz.log('UV maximaal, value: ' .. UV.value , dz.LOG.DEBUG)
dz.log('Bewolking, value: ' .. Cl.value , dz.LOG.DEBUG)
dz.log('Woonkamer, value: ' .. wkTemp.value , dz.LOG.DEBUG)
dz.log('Screens ramen keuken, state: ' .. rmkkn.levelName, dz.LOG.DEBUG)
dz.log('Screens ramen slaapkamers 2+3, state: ' .. rmslp23.levelName, dz.LOG.DEBUG)
dz.log('Screen deur slaapkamer 1, state: ' .. drslp1.levelName, dz.LOG.DEBUG)
dz.log('Screen deur slaapkamer 2, state: ' .. drslp2.levelName, dz.LOG.DEBUG)
dz.log('Screen ramen slaapkamer 1, state: ' .. rmslp1.levelName, dz.LOG.DEBUG)
if dz.time.matchesRule('at 10:00') and rmkkn.levelName ~= 'Neer' and UV > 2 and wkTemp > 18 and Cl < 80 then
rmkkn.switchSelector('Neer')
end
if dz.time.matchesRule('at 10:00') and rmslp23.levelName ~= 'Neer' and UV > 2 and wkTemp > 18 and Cl < 80 then
rmslp23.switchSelector('Neer')
end
end
}
Code: Select all
2020-08-03 15:36:00.295 Status: dzVents: Info: Screens: ------ Start internal script: Screens:, trigger: "at 15:36"
2020-08-03 15:36:00.313 Status: dzVents: Debug: Screens: Processing device-adapter for UV maximaal: UV device adapter
2020-08-03 15:36:00.314 Status: dzVents: Debug: Screens: Processing device-adapter for Bewolking: Percentage device adapter
2020-08-03 15:36:00.316 Status: dzVents: Debug: Screens: Processing device-adapter for Woonkamer: Temperature device adapter
2020-08-03 15:36:00.317 Status: dzVents: Debug: Screens: Processing device-adapter for Screens ramen keuken: Switch device adapter
2020-08-03 15:36:00.318 Status: dzVents: Debug: Screens: Processing device-adapter for Screens ramen slaapkamers 2+3: Switch device adapter
2020-08-03 15:36:00.321 Status: dzVents: Debug: Screens: Processing device-adapter for Screen deur slaapkamer 1: Switch device adapter
2020-08-03 15:36:00.322 Status: dzVents: Debug: Screens: Processing device-adapter for Screen deur slaapkamer 2: Switch device adapter
2020-08-03 15:36:00.323 Status: dzVents: Debug: Screens: Processing device-adapter for Screen ramen slaapkamer 1: Switch device adapter
2020-08-03 15:36:00.324 Status: dzVents: Info: Screens: ------ Finished Screens
2020-08-03 15:36:00.323 Error: dzVents: Error: (3.0.2) Screens: An error occurred when calling event handler Screens
2020-08-03 15:36:00.323 Error: dzVents: Error: (3.0.2) Screens: ...i/domoticz/scripts/dzVents/generated_scripts/Screens.lua:32: attempt to concatenate a nil value (field 'value')