Graag wilde ik in Domoticz de seizoenen toevoegen. Dit om het geautomatiseerde proces allemaal net wat beter op elkaar in te laten spelen. Nu gingen bijvoorbeeld in de zomer de lampen al om 6:50 aan, terwijl dat veel later kon.
Via wat hulp op het domotica forum is het mij gelukt, en wil dit nu graag delen met jullie.
Aller eerst maak je een dummy switch aan met de naam ‘Seizoen” dit moet een schakelaar worden. Nadat je deze hebt toegevoegd ga je via het menu naar de schakelaar toe. Daar klik je op aanpassen, en laat je het eruit zien zoals onderstaande afbeelding.

Als je dit hebt gedaan, gaan we een nieuw scriptje toevoegen.
Kies hier voor LUA – Timer script en kopieer de volgende regel
--[[
LUA script time
-- 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
script om een schakelaar te laten switchen naar de Seizoenen
Script gedownload van huizebruin.nl
Te gebruiken voor domoticz versie >= V2020.1
v1.0.7 08-10-2020
]] --
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
Nou en klaar ben je.
Easy.
Spelfouten, taalfouten of inhoudelijke fouten ontdekt?
Stuur dan een mailtje naar de auteur van dit artikel!
Tevreden met deze website?
Als je dit artikel met interesse hebt gelezen klik dan op Vind ik Leuk .
Voor u een kleine moeite voor mij een compliment.
Alvast Bedankt.
Als je feedback, tips of iets anders hebt,
Aarzel dan niet om hieronder een reactie achter te laten.
Interessante oplossing geeft inderdaad extra mogelijkheden.
Werkte direct, bedankt
Hallo Johan, heb je wel de ”verberg op niveau” aangezet? Misschien dat het daar aan ligt.
bedankt voor deze tip.
heb hem geïnstalleerd, bedankt ga er eens verder mee spelen.
Hallo Ivo,
Bedankt voor je reactie.
Ik zal daar eens mee bezig gaan dit moet wel gaan lukken.
Leuke toevoeging! Ik heb geprobeerd dit te implementeren. Ik zie in de log keurig dat het seizoen naar herfst wordt gezet, althans geprobeerd. De schakelaar zelf zie ik niet op Herfst staan, maar nog op start. Als ik in het schakelaar-menu Herfst probeer aan te klikken krijg ik de melding: Error sending switch command, check device/hardware (idx=247) !
Ws ook de reden waarom het in LUA niet lukt. Doe ik iets verkeerd of anders: hoe verhelp ik dit zodat het wel werkt?
Zou het niet leuk zijn om per seizoen een ander icontje te laten zien?
He Rob,
Nee hoor, als het goed is kan je daarachter %zetten, en deze is dan gelijk aan de % uit het script.. Dus 10% = Lente 20% = Zomer 30% = Herfst 40% = Winter
De schakelaar met script werkt top. Maar misschien een domme vraag;
In blockly bijvoorbeeld vind ik nu de schakelaar “Seizoen”…maar je kan daar niet daadwerkelijk de 4 selectorknoppen selecteren. Houd dus in dat je onder elke knop een script moet zetten??
Hallo Erwin.
Bedankt voor reactie.
Met dit stript erbij kan je het geheel nog weer iets meer uitbreiden.
Bijvoorbeeld in de Zomer je zwembadfilter etc laten schakelen.
In de Winter speciale tuinverlichting laten schakelen.
En zo zijn er nog wel een aantal toepassingen te bedenken.
Is het niet nog mooier om je lichten te schakelen aan de hand van een lichtsensor? Op donkere dagen ging het licht hier eigenlijk iets te laat aan terwijl het licht bij heldere dagen gerust later aan mocht.