Nieuw onderwerp beginnen

Buitenverlichting aansturen

Beste,


Ik heb op mijn HL een Resident script lopen dat me Sunrise/Sunset geeft en tevens ook een output geeft dmv een 0/1 waarde in een groepsadres. Teven kan ik voor beide een offset instellen. Nu had ik hiermee mijn buitenverlichting voordeur en oprit en buitenverlichting zijdeur willen aansturen bij Sunset -+ offset en laten uitschakelen op een bepaald tijdstip (bvb 23u30), omdat ik het onnodig en energieverspilling vind om deze de hele nacht te laten branden.

Groupadress 13/5/0 geeft me de output (sunset 1 - sunrise 0). Aangezien sunset/sunrise een variabele is kan ik geen gebruik maken van een timerfunctie lijkt me.

Een ander Resident script zorgt ervoor dat ik tevens een tijd heb in groupadress 6/0/0 als een 3 byte time/day en een dag in groupadress 6/0/3 als een 1 byte unsigned integer.

Bedoeling is dat de buitenverlichting voordeur en oprit aangaat bij schemering (sunset - offset) en uitgaat om bvb 23u30 en dat de buitenverlichting zijdeur eveneens aangaat bij schemering en uitgaat bvb om 20u00.

Ik vermoed dat het script best Event based zal zijn op groupadress 13/5/0, voor zover ik van scripts begrijp.


Kan iemand me op weg helpen aub?


Je kunt toch gewoon in de tijdklok al aangeven op welke dagen en tijden deze moet reageren. Dit hoef je niet in het script te doen. Je stelt een tijd in en selecteert de dag of dagen waarop deze moet worden uitgevoerd. Dat is veel eenvoudiger dan via een script. Dit kan overigens ook maar dan niet op de manier zoals jij het nu probeert. Om de datum en tijd binnen script te gebruiken maak je gebruik van os.date() Onderstaand wat voorbeelden.

datum = os.date("%d-%m")
  log (datum)

if datum == "04-03" then
  log ("4 maart")
else
  log("het is geen 4 maart")
end

dag = os.date("%w")
if dag == "0" then
  log ("zondag")
elseif dag == "1" then
  log ("maandag")
elseif dag == "2" then
  log ("dinsdag")
elseif dag == "3" then
  log ("woensdag")
elseif dag == "4" then
  log ("donderdag")
elseif dag == "5" then
  log ("vrijddag")
elseif dag == "6" then
  log ("zaterdag")
end

 

Voor de weekdagen (groupadress 6/0/3) heb ik 5 van de 7 mogelijkheden die een 1 zouden moeten geven (1, 2, 3, 4 en 5) en 2 mogelijkheden die een 0 zouden moeten geven (6 en 7) om ze dan te kunnen verknopen in een AND verknoping.


--Buitenverlichting aanschakelen door Sunsetoutput

sunsetoutput = grp.getvalue('13/5/0')

dag = grp.getvalue('6/0/3')


if (sunsetoutput == true and dag == 1-5) then

 grp.write('0/0/25', true)

 

end



Je moet hetzelfde voor de klok doen dus, klok = grp.getvalue met het object van de klok en vervolgens deze 2 verknopen in een and verknoping.
De uitkomst hiervan is het groepsadres van de verlichting.

De tijden waarop de klok wordt uitgevoerd stel je in op de klok zelf incl. de dagen van de week (met verschillende schakeltijden).

 

Hoe bedoel je dat dan? Dmv een script de verlichting laten aanschakelen en laten uitschakelen door de Scheduler?

Ik heb onderstaand simpel script om de verlichting aan te schakelen voor beide lichtgroepen:


--Buitenverlichting aanschakelen door Sunsetoutput

 

sunsetoutput = grp.getvalue('13/5/0')

 

if sunsetoutput == true then

 grp.write('0/0/25', true)


end


Blijf ik nog met de vraag zitten hoe kan ik voor die zijdeur bepalen dat dat enkel op weekdagen wordt uitgevoerd?


Mvg,



Dit kun je eenvoudig doen door een tijdklok (scheduler) in de homeLYnk aan te maken en deze verknopen met de astroklok.

 

Nog even bijvoegen dat de buitenverlichting zijdeur enkel tijdens werkdagen dient uitgevoerd te worden.

Inloggen of registreren om een reactie te posten