Het leukste van domotica is dat je steeds meer automatisch kunt doen. Zo heb ik laatst al de buitenverlichting toegevoegd aan Domoticz en ook aan een timer gehangen, zodat ’s avonds automatisch de tuinverlichting aan gaat (een half uur voor zonsondergang). Ook dat hij weer automatisch uit, door de weeks om 23.00 uur en in het weekend om 01.00 uur (let wel op dat dit dus de volgende dag is. Voor zondag is dit dus maandag 01.00 uur).
Nu hoeft de tuinverlichting natuurlijk niet aan als we niet thuis zijn, en andere verlichting ook niet perse.
Controle op locatie
Via een app op je telefoon (ik heb Pilot gebruikt) kun je eenvoudig een virtuele schakelaar om laten zetten als je weg bent (of juist thuis komt). Het is leuk om hiermee te experimenteren, zodat je dingen kunt automatiseren. Ik heb hiervoor drie virtuele schakelaars aangemaakt: ‘iPhone van Erik’, ‘iPhone van Marloes’ en ‘SomeoneHome’. In Pilot stel je in welke schakelaar er omgezet moet worden als je in de buurt van je huis bent. Die van mij zet de schakelaar ‘iPhone van Erik’ om. Daarnaast een Blockly-script welke dan automatisch de schakelaar ‘SomeoneHome’ aan zet, zodat je later maar een schakelaar hoeft te controleren.
Nu we weten wanneer er iemand thuis is/komt, kunnen we daar actief op gaan schakelen. Denk hierbij aan de verlichting, maar ook de temperatuur en alles wat je maar wilt.
Zo heb ik een Lua-script gemaakt welke automatisch de verlichting en de temperatuur regelt. Dit aan de hand van de informatie of er iemand thuis komt/is en hoe laat het is. De variabele otherdevices[‘IsDonker’] wordt gezet door een schemersensor, welke dus kijkt hoe donker het is.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
-- script_device_SomeoneHome.lua nowday = tonumber(os.date("%w")) hour = tonumber(os.date("%H")) commandArray = {} if (devicechanged['SomeoneHome'] == 'On') then print('Er is iemand thuis gekomen') if (hour >= 20) then commandArray['OpenURL'] = '192.168.192.10:8080/json.htm?type=setused&idx=9&name=Thermostaat%20Setpoint&setpoint=20.5&protected=false&used=true' print('Temperatuur ingesteld op 20.5') elseif (hour >= 17) then commandArray['OpenURL'] = '192.168.192.10:8080/json.htm?type=setused&idx=9&name=Thermostaat%20Setpoint&setpoint=20&protected=false&used=true' print('Temperatuur ingesteld op 20') elseif (hour > 10) then commandArray['OpenURL'] = '192.168.192.10:8080/json.htm?type=setused&idx=9&name=Thermostaat%20Setpoint&setpoint=18.5&protected=false&used=true' print('Temperatuur ingesteld op 18.5') end if (otherdevices['IsDonker'] == 'On') then print('Verlichting aan') commandArray['Scene:Tv avond']='On' commandArray['Scene:Buitenverlichting']='On' end elseif (devicechanged['SomeoneHome'] == 'Off') then print('Er is niemand meer thuis') commandArray['OpenURL'] = '192.168.192.10:8080/json.htm?type=setused&idx=9&name=Thermostaat%20Setpoint&setpoint=15&protected=false&used=true' print('Temperatuur ingesteld op 15') if (otherdevices['IsDonker'] == 'On') then commandArray['Dressoir']='Off' commandArray['Veranda verlichting']='Off' print('Overbodige lampen uit') end end return commandArray |
Omdat bovenstaande script alleen wordt aangeroepen als de variabele SomeoneHome veranderd, heb ik ook een Blockly-script gemaakt om de temperatuur aan te passen als we gewoon thuis zijn: