LUA: Summer / Winter from timeofday or other...

Moderator: leecollings

Larsoss
Posts: 65
Joined: Friday 18 March 2016 10:11
Target OS: Raspberry Pi / ODroid
Domoticz version: 2020.2
Location: Netherlands
Contact:

Re: LUA: Summer / Winter from timeofday or other...

Post by Larsoss »

jvdz wrote: Tuesday 13 October 2020 10:55
Spoiler: show

Code: Select all

-- script_time_season.lua
-- The change of state is a fixed date:
-- Lente: 21 maart t/m 20 juni
-- Zomer: 21 juni t/m 20 september
-- Herfst: 21 september t/m 20 december
-- Winter: 21 december t/m 20 maart

commandArray = {}
-- check once a minute for the season to change
if (time.month == 12 and time.day >= 21)
or (time.month == 1)
or (time.month == 2)
or (time.month == 3 and time.day < 21) then
   Seizoen = 'Winter'
elseif (time.month == 3)
or (time.month == 4)
or (time.month == 5)
or (time.month == 6 and time.day < 21) then
   Seizoen = 'Lente'
elseif (time.month == 6)
or (time.month == 7)
or (time.month == 8)
or (time.month == 9 and time.day < 21) then
   Seizoen = 'Zomer'
elseif (time.month == 9)
or (time.month == 10)
or (time.month == 11)
or (time.month == 12 and time.day < 21) then
   Seizoen = 'Herfst'
else
   print('<font color="red">Logica van de seizoenen kloppen niet!!!</font>')

end

if Seizoen == 'Lente' and otherdevices_svalues['Seizoen'] ~= '10' then
   commandArray['Seizoen'] = 'Set Level: 10'
   print('<font color="blue">Seizoen aangepast naar Lente</font>')
 elseif Seizoen == 'Zomer' and otherdevices_svalues['Seizoen'] ~= '20' then
   commandArray['Seizoen'] = 'Set Level: 20'
   print('<font color="blue">Seizoen aangepast naar Zomer</font>')
elseif Seizoen == 'Herfst' and otherdevices_svalues['Seizoen'] ~= '30' then
   commandArray['Seizoen'] = 'Set Level: 30'
   print('<font color="blue">Seizoen aangepast naar Herfst</font>')
elseif Seizoen == 'Winter' and otherdevices_svalues['Seizoen'] ~= '40' then
   commandArray['Seizoen'] = 'Set Level: 40'
   print('<font color="blue">Seizoen aangepast naar Winter</font>')
else
   print('<font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>')
end

return commandArray
Ok, now there is something wrong

Code: Select all

2020-10-13 11:01:00.401 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>

[spoiler][code]2020-10-13 11:01:00.522 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:00.611 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:01.996 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:02.109 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:02.114 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:02.117 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:02.120 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:02.123 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:02.128 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:02.220 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:02.224 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:02.227 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:02.230 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:04.131 (Hue) Light/Switch (Sensor Woonkamer)
2020-10-13 11:01:04.274 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:11.960 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:12.069 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:12.072 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:12.076 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:12.079 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:12.082 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:12.087 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:12.179 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:12.183 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:12.186 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
2020-10-13 11:01:12.189 Status: LUA: <font color="blue">Geen actie nodig voor het aanpassen van de seizoenen</font>
Raspberry 4 - USB boot Domoticz /|\ Raspberry 2B - Dashticz /|\ Tasmota device's /|\ Philips Hue & Yeelight
User avatar
jvdz
Posts: 2189
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: LUA: Summer / Winter from timeofday or other...

Post by jvdz »

Ok, this time I've tested first and made the script a little more logical for myself:

Code: Select all

-- script_time_season.lua
-- The change of state is a fixed date:
-- Lente: 21 maart t/m 20 juni
-- Zomer: 21 juni t/m 20 september
-- Herfst: 21 september t/m 20 december
-- Winter: 21 december t/m 20 maart
time = os.date("*t")

commandArray = {}
-- check once a minute for the season to change
if (time.month == 12 and time.day >= 21)
or (time.month == 1)
or (time.month == 2)
or (time.month == 3 and time.day < 21) then
   if otherdevices_svalues['Seizoen'] ~= '40' then
      commandArray['Seizoen'] = 'Set Level: 40'
      print('Seizoen aangepast naar Winter')
   end
elseif (time.month == 3)
or (time.month == 4)
or (time.month == 5)
or (time.month == 6 and time.day < 21) then
   if otherdevices_svalues['Seizoen'] ~= '10' then
      commandArray['Seizoen'] = 'Set Level: 10'
      print('Seizoen aangepast naar Lente')
   end
elseif (time.month == 6)
or (time.month == 7)
or (time.month == 8)
or (time.month == 9 and time.day < 21) then
   Seizoen = 'Zomer'
   if otherdevices_svalues['Seizoen'] ~= '20' then
      commandArray['Seizoen'] = 'Set Level: 20'
      print('Seizoen aangepast naar Zomer')
   end
elseif (time.month == 9)
or (time.month == 10)
or (time.month == 11)
or (time.month == 12 and time.day < 21) then
   Seizoen = 'Herfst'
   if otherdevices_svalues['Seizoen'] ~= '30' then
      commandArray['Seizoen'] = 'Set Level: 30'
      print('Seizoen aangepast naar Herfst')
   end
end
return commandArray
Jos
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
Larsoss
Posts: 65
Joined: Friday 18 March 2016 10:11
Target OS: Raspberry Pi / ODroid
Domoticz version: 2020.2
Location: Netherlands
Contact:

Re: LUA: Summer / Winter from timeofday or other...

Post by Larsoss »

jvdz wrote: Tuesday 13 October 2020 11:19 Ok, this time I've tested first and made the script a little more logical for myself:

Code: Select all

-- script_time_season.lua
-- The change of state is a fixed date:
-- Lente: 21 maart t/m 20 juni
-- Zomer: 21 juni t/m 20 september
-- Herfst: 21 september t/m 20 december
-- Winter: 21 december t/m 20 maart
time = os.date("*t")

commandArray = {}
-- check once a minute for the season to change
if (time.month == 12 and time.day >= 21)
or (time.month == 1)
or (time.month == 2)
or (time.month == 3 and time.day < 21) then
   if otherdevices_svalues['Seizoen'] ~= '40' then
      commandArray['Seizoen'] = 'Set Level: 40'
      print('Seizoen aangepast naar Winter')
   end
elseif (time.month == 3)
or (time.month == 4)
or (time.month == 5)
or (time.month == 6 and time.day < 21) then
   if otherdevices_svalues['Seizoen'] ~= '10' then
      commandArray['Seizoen'] = 'Set Level: 10'
      print('Seizoen aangepast naar Lente')
   end
elseif (time.month == 6)
or (time.month == 7)
or (time.month == 8)
or (time.month == 9 and time.day < 21) then
   Seizoen = 'Zomer'
   if otherdevices_svalues['Seizoen'] ~= '20' then
      commandArray['Seizoen'] = 'Set Level: 20'
      print('Seizoen aangepast naar Zomer')
   end
elseif (time.month == 9)
or (time.month == 10)
or (time.month == 11)
or (time.month == 12 and time.day < 21) then
   Seizoen = 'Herfst'
   if otherdevices_svalues['Seizoen'] ~= '30' then
      commandArray['Seizoen'] = 'Set Level: 30'
      print('Seizoen aangepast naar Herfst')
   end
end
return commandArray
Jos
Jos,

I understand the purpose of the script. He must change the value. Which is linked to the name (winter, spring etc)
Only with you he starts with 10,20,30,40 ..

How do I get rid of that 0? Only get that done for now if I add 1 extra .. But that's not good either.

Image
Raspberry 4 - USB boot Domoticz /|\ Raspberry 2B - Dashticz /|\ Tasmota device's /|\ Philips Hue & Yeelight
User avatar
jvdz
Posts: 2189
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: LUA: Summer / Winter from timeofday or other...

Post by jvdz »

Just set "Verberg uit nivea" to on and start with "Lente" at level 10. ;)
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
Larsoss
Posts: 65
Joined: Friday 18 March 2016 10:11
Target OS: Raspberry Pi / ODroid
Domoticz version: 2020.2
Location: Netherlands
Contact:

Re: LUA: Summer / Winter from timeofday or other...

Post by Larsoss »

jvdz wrote: Tuesday 13 October 2020 12:08 Just set "Verberg uit nivea" to on and start with "Lente" at level 10. ;)
YES

We did it ;-)
Raspberry 4 - USB boot Domoticz /|\ Raspberry 2B - Dashticz /|\ Tasmota device's /|\ Philips Hue & Yeelight
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest