Sen99

Hue Automatisatie

Een PowerShell script voor het automatisch aansturen van Philips Hue verlichting op basis van de zonsondergangstijd.

Dit script werd ontwikkeld als project voor het vak Windows System Administration, een eerstejaarsvak binnen de opleiding Toegepaste Informatica aan Thomas More.

Het doel
Het manueel inschakelen van verlichting via een smartphone kan op den duur omslachtig worden. Daarom ontwikkelde ik een oplossing waarmee mijn lichten automatisch aangaan via mijn pc, zonder tussenkomst.

De Philips Hue-verlichting werkt via een Bridge die verbonden is met het thuisnetwerk. Hierdoor is het mogelijk de lampen aan te sturen via een API.

Philips Hue netwerk

Door het IP-adres van de Hue Bridge op te zoeken en een gebruiker aan te maken via de fysieke knop op het apparaat, kan een webrequest worden gedaan om de status van alle verbonden lampen op te vragen in JSON-formaat. Deze data bevat o.a. naam, status (aan/uit), helderheid en meer.

De basis van het script werd gevonden online, maar was beperkt tot het handmatig inschakelen van de lichten. Om dit te automatiseren, maak ik gebruik van de gratis Sunrise-Sunset API, waarmee ik dagelijks de exacte zonsondergangstijd kan ophalen.

In het PowerShell-script worden de huidige tijd en de zonsondergangstijd met elkaar vergeleken. Indien het moment van zonsondergang nadert (met een marge van 20 minuten), wordt automatisch een signaal naar de Hue Bridge gestuurd om de verlichting in te schakelen.

Deze controle gebeurt via de ingebouwde Windows Taakplanner, die het script vanaf 16:00 uur periodiek uitvoert. Hierdoor is er geen noodzaak meer om handmatig iets in te stellen — alles gebeurt automatisch.

Automatisatie logica

Dit project was voor mij een echte eye-opener: hoe eenvoudige automatisatie met bestaande API’s dagelijkse taken efficiënter kan maken. Geen smartphone meer nodig, gewoon slimme verlichting die zichzelf aanpast aan het verloop van de dag.