ID.nl logo
Zo kun je programmeren in Python - Deel 6
© Reshift Digital
Huis

Zo kun je programmeren in Python - Deel 6

In de href="https://computertotaal.nl/artikelen/pc/zo-kun-je-programmeren-in-python-deel-5/" rel="noopener noreferrer" target="_blank">vorige les</a> leerde je met bestanden werken en zag je hoe je je programma kunt laten reageren op exceptions. Zo beginnen je programma’s ondertussen al vrij complex te worden. Tijd dus om wat structuur in je programma’s te brengen, en dat doen we in deze les met functies en modules. We bekijken ook enkele standaardmodules van Python.

Wil je meer leren over programmeren? Bekijk dan onze Cursus: programmeren in Phyton (boek & online cursus).

Tot nu toe waren onze Python-programma’s vrij kort, maar je hebt ondertussen al genoeg Python-bagage om zelf al eens aan de slag te gaan en je eigen ideeën uit te werken in programma’s. En dan merk je al snel dat je programma lang en ondoorzichtig wordt. Gelukkig kent Python verschillende manieren om wat meer structuur in je programma’s te brengen.

De eerste manier ben je al tegengekomen: functies. We hebben immers in de vorige lessen al diverse standaardfuncties van Python gebruikt, zoals len, print, input, format, split, open, read en write. Een functie is een afzonderlijk stukje code dat een afgebakende taak uitvoert die je meerdere keren zou willen uitvoeren op verschillende gegevens. Zodra je in je programma dus merkt dat je een stukje code telkens aan het herhalen bent, zou je eerste gedachte moeten zijn: ik maak er een functie van!

Een functie definiëren

We tonen je als voorbeeld hoe je een functie maakt om te berekenen of een woord een palindroom is. Een palindroom of spiegelwoord is een woord dat van achteren naar voren gelezen hetzelfde is als van voor naar achter. Een eenvoudige functie om te bepalen of een woord een palindroom is, ziet er als volgt uit:

def is_palindroom(woord):letters = list(woord)palindroom = Truewhile len(letters) > 0 and palindroom:if letters[0] != letters[-1]:palindroom = Falseelse:letters.pop(0)if len(letters) > 0:letters.pop()return palindroom

Dit is niet de efficiëntste manier om te bepalen of een woord een palindroom is, maar wel een die goed te begrijpen is. Je ziet dat er in de definitie van deze functie eigenlijk maar twee zaken nieuw zijn: de eerste en de laatste regel. In de eerste regel geven we met def is_palindroom(woord): aan dat we een functie definiëren met de naam is_palindroom en dat die één parameter meekrijgt, die we woord noemen. Dan komt onze hele berekening, die je met al je kennis uit de vorige lessen na een kleine studie zou moeten begrijpen, en op het einde geven we met return palindroom aan dat we de waarde die na onze berekening in de variabele palindroom zit teruggeven.

Een functie aanroepen

Breek je hoofd nog even niet over de inhoud van de functie. Typ de code in Thonny in en sla het bestand op onder de naam palindroom.py. Voer het dan uit met een druk op F5. Er gebeurt niets, maar de functie is nu gedefinieerd. In de terminal onderaan Thonny kun je nu de functie aanroepen. Enkele voorbeelden:

>>> is_palindroom('nepalapen')True>>> is_palindroom('napalm')False>>> is_palindroom('koortsmeetsysteemstrook')True

Denk nu eens even na over wat er gebeurt als je is_palindroom('nepalapen') aanroept. De functie is_palindroom wordt dan uitgevoerd en aan de variabele woord van de functie wordt de string 'nepalapen' toegekend. Dan gebeurt die hele berekening, en geeft de functie als resultaat True of False. En voor elke andere string die je aan de functie doorgeeft, gebeurt de berekening op dezelfde manier. Op deze manier heb je de berekening ingekapseld in een afzonderlijk stukje code, de functie, die herbruikbaar is.

Overigens zijn door die inkapseling de parameter woord net zoals de variabelen letters en palindroom alleen binnen het blok van de functie gedefinieerd: het zijn wat we noemen lokale variabelen.

Recursieve functies

In onze functie is_palindroom gaan we met een while-lus alle letters in het woord af. Een andere manier om de functie te definiëren is met recursie: in de functie roepen we de functie opnieuw aan, maar op een deel van het woord. Dat ziet er als volgt uit:

def is_palindroom2(woord):if len(woord) < 2:return Trueif woord[0] != woord[-1]:return Falsereturn is_palindroom2(woord[1:-1])

Voeg deze functie in Thonny gewoon aan hetzelfde bestand toe als is_palindroom, sla het bestand op en druk op F5 om het uit te voeren. Je kunt nu deze functie is_palindroom2 uitproberen op enkele woorden. Het resultaat moet telkens hetzelfde zijn als is_palindroom op hetzelfde woord.

De functie is_palindroom2 is een mooi voorbeeld van een recursieve functie. We bekijken eerst of het woord minder dan twee letters bevat. In dat geval (het woord is leeg of heeft één letter) is het altijd een palindroom en daarom geven we in dat geval True terug. Daarna controleren we of de eerste letter verschilt van de laatste letter van het woord. Verschillen die, dan is het woord al zeker geen palindroom en geven we dus False terug.

Dan blijft er nog één geval over: de eerste en laatste letter van het woord zijn gelijk, maar van de andere letters weten we nog niets. Wat doen we dan? We roepen de functie is_palindroom2 opnieuw op, maar op die andere letters. Die verkrijgen we door de slice (zie les 2) [1:-1] op het woord toe te passen, die het woord zonder de eerste en laatste letter teruggeeft.

Belangrijk bij recursieve functies

Als je een recursieve functie schrijft, is het belangrijk dat je de functie telkens oproept op een kleinere invoer dan waarmee je begon, zodat je uiteindelijk bij een basistest uitkomt, zoals in ons geval if len(woord) < 2: en if woord[0] != woord[-1]:. In beide gevallen roepen we de functie is_palindroom2 niet meer aan, maar geven we een waarde True of False terug. Doordat we in het derde geval altijd de eerste en de laatste letter van het woord verwijderen voor we de functie opnieuw oproepen, verzekeren we dat de functie uiteindelijk altijd bij een van de basistests uitkomt.

Met modules werken

Zonder dat je het weet, heb je nu al je eerste module geschreven. Elk Python-bestand waarin je code schrijft, is immers een module voor Python. Maak nu een nieuw Python-bestand aan in Thonny en noem het bijvoorbeeld test_palindroom.py. Als je in dit bestand de code uit palindroom.py wilt gebruiken, moet je de module palindroom importeren. Dat gaat als volgt:

import palindroom

print(palindroom.is_palindroom("nepalapen"))

Met import palindroom zeggen we aan de Python-interpreter dat we toegang willen tot alle code in de module palindroom. Python zoekt dan naar bestanden met de naam palindroom.py in zijn zoekpad. Omdat de code test_palindroom.py in dezelfde directory staat als palindroom.py, vindt Python de module en zijn de functies is_palindroom en is_palindroom2 daarin beschikbaar onder de namen palindroom.is_palindroom en palindroom.is_palindroom2.

In dit geval is het niet zo handig dat je voor elke functie uit de module palindroom de aanduiding palindroom. dient te zetten, omdat dit nogal lang is. We kunnen de naam van een module die we gebruiken gelukkig ook afkorten:

import palindroom as pal

print(pal.is_palindroom("nepalapen"))

Het is ook mogelijk om het voorvoegsel voor de module volledig weg te laten door de specifieke functies die we willen gebruiken te importeren:

from palindroom import is_palindroom

print(is_palindroom("nepalapen"))

Dat kan ook met meerdere functies:

from palindroom import is_palindroom, is_palindroom2

print(is_palindroom("nepalapen"))

print(is_palindroom2("parterretrap"))

Zodra je Python-code wat langer wordt, is het aan te raden om ze in modules op te splitsen. Een goede vuistregel is dat elke module code voor één specifiek doel moet bevatten. In ons geval bevat de module bijvoorbeeld alle mogelijke code die met palindromen te maken heeft. Als we daarnaast ook code voor anagrammen zouden willen toevoegen, doe je dat het best in een afzonderlijke module, anagram.py.

Systeeminformatie

Python zelf bestaat ook uit een heleboel standaardmodules waarin allerlei handige functies zitten. Zo is er de module platform om informatie over het platform waarop je Python-programma draait op te vragen:

>>> import platform>>> platform.architecture()('64bit', 'ELF')>>> platform.platform()'Linux-4.15.0-33-generic-x86_64-with-Ubuntu-18.04-bionic'>>> platform.processor()'x86_64'>>> platform.python_version()'3.6.7'>>> platform.system()'Linux'

Verder bevat de standaardmodule os allerlei functies die met het besturingssysteem te maken hebben. Zo kun je een lijst opvragen van de bestanden in de huidige directory:

>>> import os>>> os.listdir()['palindroom.py', 'test_palindroom.py']

Werken met getallen

Als je met getallen wilt werken, komt de module math goed van pas. Die bevat allerlei functies voor berekeningen, zoals je in het volgende voorbeeld ziet:

>>> import math>>> math.floor(4.3)4>>> math.ceil(4.3)5>>> math.gcd(28, 12)4>>> math.sqrt(2)1.4142135623730951>>> math.e2.718281828459045>>> math.pi3.141592653589793>>> math.sin(2*math.pi)-2.4492935982947064e-16

In de laatste regel zie je al een nadeel van berekeningen met floats: door afrondingsfouten geeft de berekening van de sinus van 2 keer pi een heel klein getal (-2 en nog iets maal 10 tot de -16de macht) in plaats van het juiste resultaat 0.

Een andere nuttige module is random, waarmee je willekeurige getallen kunt genereren:

>>> import random>>> random.randint(1, 10)7>>> random.choice(['lies', 'jan', 'kees', 'mireille', 'koen', 'rob'])'rob'>>> namen = ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob']>>> random.shuffle(namen)>>> namen['jan', 'rob', 'koen', 'mireille', 'lies', 'kees']

Zo geeft de functie randint(a, b) een willekeurig geheel getal tussen a en b terug (a en b inbegrepen). Met choice kies je een willekeurig element uit een lijst. En met shuffle schud je een lijst willekeurig door elkaar.

Samenvatting

In deze les heb je geleerd om je Python-code wat meer te structureren. Enerzijds heb je berekeningen die je vaak herhaalt in functies leren opnemen. Anderzijds heb je geleerd hoe je functies die bij elkaar horen kunt afscheiden in een afzonderlijke module. We hebben tot slot ook met enkele standaardmodules van Python kennisgemaakt. In de volgende les gaan we op de structuur van datatypes in: we tonen je hoe je zelf eigen datatypes kunt definiëren in de vorm van klassen.

Opdracht

Open de module palindroom.py in Thonny en voer ze uit met een druk op F5. Voer in de terminal onderaan de volgende opdrachten in: *>>> is_palindroom('parterretrap')True>>> woord**Traceback (most recent call last):**File "

Uitwerking

De parameter woord in de functie is een lokale variabele: die is alleen binnen het blok van de functie gedefinieerd. Als je de functie met het argument 'parterretrap' oproept, wordt die string in de functie aan de lokale variabele woord toegekend, maar na het uitvoeren van de functie is die variabele niet meer beschikbaar en geeft Python dus met een NameError aan dat het de naam woord niet kent.

Cheatsheet

Functie: een afzonderlijk stukje code dat je meerdere keren uitvoert. Importeren: aangeven dat je een module wilt gebruiken. Lokale variabele: een variabele die alleen binnen een specifiek blok (bijvoorbeeld van een functie) gedefinieerd is. Module: een afzonderlijk bestand met Python-code. Recursieve functie: een functie die zichzelf aanroept.

▼ Volgende artikel
Gourmetten zonder stank: 10 ideeën die écht werken
© NilsZ - stock.adobe.com
Huis

Gourmetten zonder stank: 10 ideeën die écht werken

Gourmetten is misschien wel dé nationale volkssport tijdens de feestdagen. Maar hoe leuk de avond ook is, de ochtend erna is vaak minder feestelijk. Die doordringende vetlucht die in je gordijnen, bank en kleding is getrokken, ben je liever kwijt dan rijk. Met deze tien tips – verdeeld over wat je eet en wat je doet – blijft je huis een stuk frisser!

Dit gaan we doen

Stankvrij gourmetten is een kwestie van goede voorbereiding én de juiste nazorg. We splitsen de tien tips daarom op. We beginnen bij de basis: ingrediënten en spullen die nauwelijks rook veroorzaken. Vervolgens geven we je praktische hacks om, mocht er toch wat gourmetlucht blijven hangen, die direct weer uit je woonkamer te krijgen, zodat je de volgende ochtend wakker wordt in een fris huis.

Lees ook: Gourmetten nieuwe stijl: topfavoriet met een eigen twist

Ingrediënten & materialen

De meeste stank ontstaat niet door het gourmetstel zelf, maar door wat we erop leggen. Verbrande boter, karamelliserende suikers en spetterend vet zijn de grote boosdoeners. Met een paar slimme aanpassingen aan je boodschappenlijstje ben je de rookwolken voor.

Tip 1: Investeer in hittebestendige olie

De fout die bijna iedereen maakt: bakken in roomboter of standaard olijfolie. Deze vetten verbranden snel bij de hoge temperaturen van het gourmetten, wat zorgt voor die zware, scherpe walm. Kijk in de supermarkt eens schuin boven de olijfolie; daar vind je rijstolie of arachideolie. Deze oliesoorten hebben een veel hoger rookpunt en blijven stabiel als ze heet worden. Wil je het jezelf helemaal makkelijk maken? Koop dan een bakspray. Daarmee nevel je de pannetjes of de plaat licht in, waardoor je nooit te veel gebruikt en het vet niet onnodig staat te walmen.

Tip 2: Laat de kant-en-klare marinades staan

Die voorgemarineerde schotels uit de supermarkt zijn makkelijk, maar funest voor de luchtkwaliteit. De marinades zitten namelijk vaak vol suiker en water. Zodra dat de hete pan raakt, verbrandt de suiker en verdampt het vocht, met veel rook tot gevolg. Je kunt beter ongemarineerd vlees of vis kopen. Wil je toch smaak? Gebruik dan een dry rub (een droog kruidenmengsel) om het vlees vooraf te kruiden. Als je echt van sausjes houdt, kun je die beter koud op je bord toevoegen dan warm in het pannetje.

Tip 3: Kies voor 'droger' vlees en meer groente

Hoe meer vet er in het vlees zit, hoe meer het spettert en rookt. Hamburgers, worstjes en speklapjes zijn in feite kleine rookbommen. Kies liever voor magere opties zoals biefstuk, kipfilet, kalkoen of witvis. Daarnaast kun je de geuroverlast flink beperken door de verhouding vlees/groente om te draaien. Plakjes courgette, paprika, champignons en aubergine bakken vrijwel geurloos. Met een goede mandolineof groentesnijder maak je in een handomdraai dunne plakjes die snel gaar zijn, waardoor je minder lang hoeft te bakken.

Tip 4: Vervang die oude, bekraste pannetjes

Kijk voordat je begint eens kritisch naar je huidige gourmetstel. Zitten de pannetjes vol krassen en is de antiaanbaklaag versleten? Dan koekt je eten sneller aan, wat zorgt voor verbrandingsluchtjes die je de dag erna nog ruikt. Het is vaak helemaal niet nodig om een compleet nieuw apparaat te kopen; veel fabrikanten verkopen losse pannetjes of nieuwe bakplaten. Voor een paar tientjes bak je weer op een glad oppervlak, heb je minder olie nodig en ben je niet de hele avond bezig aangekoekte resten weg te schrapen.

Tip 5: Gebruik een gourmetstel met keramische coating

Ben je toch toe aan een heel nieuw apparaat? Let dan goed op de coating. Tegenwoordig zijn er gourmetstellen met een keramische bakplaat. Deze kunnen vaak hogere temperaturen aan zonder dat de laag beschadigt en ze zijn veel makkelijker schoon te maken.

Watch on YouTube

Zo ga je de strijd aan met de luchtjes in huis

Zelfs met de beste ingrediënten ontkom je niet aan enige baklucht. Gelukkig zijn er genoeg manieren om te voorkomen dat die geur permanent blijft hangen.

Tip 6: Zet een aromadiffuser aan

Een geurkaars maskeert de lucht vaak alleen maar, waardoor je een weeïge mengeling krijgt van lavendel en hamburger. Een betere optie is een elektrische aromadiffuser (ook wel vernevelaar genoemd). Dit apparaat verspreidt via koude waterdamp een constante, frisse geur naar keuze door de kamer, zonder dat er verbranding aan te pas komt. Kies voor essentiële oliën die bekend staan om hun verfrissende werking, zoals citroengras, eucalyptus of dennen. De waterdamp helpt bovendien meteen tegen de droge lucht in huis als de verwarming hoog staat.

Tip 7: Laat de luchtreiniger draaien

Misschien heb je er al eentje staan, en anders is dit het moment: de luchtreiniger. Let er bij aanschaf op dat het apparaat een koolstoffilter heeft, want alleen HEPA is niet genoeg voor kookluchtjes. Een koolstoffilter absorbeert gassen en geuren. Zet het apparaat niet pas aan als je naar bed gaat, maar laat hem al draaien zodra het gourmetstel aangaat. Heb je een modern exemplaar met een app? Zet hem dan alvast op de hoogste stand voordat de eerste walm ontstaat.

Tip 8: Ventileer flink

Ramen openzetten klinkt logisch, maar doe het wel slim. Eén raampje op een kier doet weinig. Je hebt trek nodig. Zet aan weerszijden van de woning een raam of rooster open zodat de luchtstroom de damp direct meeneemt. Vind je het te koud worden? Zet de verwarming gerust tijdelijk wat hoger; de kosten daarvan wegen niet op tegen de stomerijkosten van je gordijnen. Plaats eventueel een simpele tafelventilator in de buurt van het gourmetstel (niet erop gericht, maar richting het open raam) om de rook een handje te helpen de juiste kant op te gaan.

Tip 9: Azijn & koffie

Het is een klassieker uit grootmoeders tijd, maar hij werkt nog steeds: azijn neutraliseert. Je kunt bakjes azijn neerzetten, maar voor het zware werk kun je na het eten beter even een pannetje water met een flinke scheut schoonmaakazijn op het fornuis koken. Laat de afzuigkap uit en laat de damp door de kamer trekken. Vind je de azijnlucht zelf te heftig? Gooi er dan wat citroenschillen, een kaneelstokje of kruidnagel bij. Zo ruikt je huis direct weer naar winterse gezelligheid in plaats van naar een snackbar. Wat ook kan, is koffie. Zet na het eten een paar schaaltjes met gemalen koffie (snelfiltermaling) in de woonkamer. De koffie neutraliseert de zware baklucht en vervangt deze door een neutraal, aards aroma. Voor een nog sterker effect kun je wat koffiebonen op een warme onderzetter leggen; door de restwarmte verspreiden ze een subtiele geur die de gourmetlucht naar de achtergrond verdrijft.

Tip 10: Maak meteen met schoon

Het is verleidelijk om na het eten uit te buiken op de bank en de ravage te laten voor wat het is. Doe het niet. Zolang het gourmetstel vet en warm in de kamer staat, blijft het geur verspreiden. Haal direct na het eten een stuk keukenrol over de plaat. Gebruik daarna een sopje van afwasmiddel en warm water om de plaat en de tafel (want ja, vetnevel komt overal) af te nemen. Geloof ons, door hier na het eten even een paar minuten tijd voor vrij te maken, bespaar je jezelf de volgende ochtend een hoop gourmetluchtfrustratie!

▼ Volgende artikel
Slimme stekker voor kerstverlichting: hier moet je op letten
© detry26 - stock.adobe.com
Zekerheid & gemak

Slimme stekker voor kerstverlichting: hier moet je op letten

Er zijn weinig dingen zo gezellig als kerstverlichting. Maar laten we eerlijk zijn: elke avond achter de bank of onder de boom kruipen (🤬 naalden in je knieën) om de stekker eruit te trekken: kan dat niet handiger? Zeker wel: met een slimme stekker maak je in één klap je 'domme' lichtsnoeren slim.

In dit artikel

Kerstverlichting slim maken hoeft niet ingewikkeld te zijn. In dit artikel lees je waar je op let bij het kiezen van een slimme stekker voor de feestdagen, welke modellen in Nederland goed scoren en hoe je een handig tijdschema instelt. Ook leggen we uit wat wel en niet kan met slimme stekkers, bijvoorbeeld als je verlichting wilt laten meebewegen met muziek.

Lees ook: Slimme stekkers: welke modellen zijn echt zuinig?

Met een slimme stekker, ook wel smart plug genoemd, stuur je de kerstverlichting aan via je telefoon, stel je tijdschema's in of roep je simpelweg naar je slimme speaker dat de kerstboom aan moet. Maar waar moet je op letten bij de aanschaf en welke stekkers zijn nu echt handig voor die specifieke kerstsituatie? Wij leggen het uit.

Waar moet je op letten bij een slimme stekker voor kerst?

Niet elke slimme stekker is even geschikt voor de decembermaand. Het eerste waar je goed op moet letten is het formaat van de stekkerbehuizing. Kerstverlichting zit namelijk vaak met meerdere adapters en stekkers in één verdeeldoos. Veel oudere modellen slimme stekkers zijn vrij breed, waardoor ze onbedoeld de stopcontacten links en rechts ervan blokkeren. Zoek daarom specifiek naar een compact of smal ontwerp, zodat je geen kostbare stroompunten verliest rondom de kerstboom.

Daarnaast is de manier waarop de stekker verbinding maakt, het zogenaamde protocol, een belangrijke keuze. De meest laagdrempelige optie is een wifi-stekker. Deze werkt direct samen met je router zonder dat je extra kastjes nodig hebt, wat het ideaal maakt voor beginners. Heb je echter al slimme verlichting zoals Philips Hue of IKEA Tradfri, dan is een stekker met het Zigbee-protocol vaak slimmer. Deze stekkers vormen samen een eigen netwerkje, waardoor je wifi niet overbelast raakt als je veel lampjes ophangt. Tegenwoordig zie je ook steeds vaker 'Matter' op de verpakking staan; dit is de nieuwe standaard die garandeert dat de stekker moeiteloos samenwerkt met zowel Apple, Google als Amazon.

Vergeet ook de locatie van je verlichting niet. Wil je lampjes in de heg, aan de schutting of langs de gevel slim maken, gebruik dan nooit een binnenstekker. Voor buitengebruik is een model met een IP44-certificering nodig. Dat betekent dat de behuizing beschermd is tegen spatwater, zoals regen of opspattend water, en geschikt is voor normaal gebruik buitenshuis. Let wel op: IP44 is niet waterdicht. De stekker mag dus niet onder water liggen en ook niet langdurig in een plas staan. Een plek waar water kan blijven staan, bijvoorbeeld op de grond zonder goede afwatering, is daarom minder geschikt. Je kunt dan beter een stekker met IP65 of hoger kiezen.

Tot slot kan een slimme stekker waarbij je het energieverbruik kunt aflezen in de app (zoals de TP-Link Tapo P115)  een fijne extra optie zijn. Zeker oudere kerstverlichting kan ongemerkt veel stroom verbruiken. Een stekker die het verbruik meet, geeft je inzicht en helpt je grip te houden op de energierekening in december.

©ID.nl

Lees ook: Kerstsfeer in huis? Dit kun je allemaal met Philips Hue

Zo stel je het perfecte tijdschema in

Het grote voordeel van een slimme stekker is dat je hem één keer instelt en er vervolgens niet meer naar om hoeft te kijken. Maar wat is nu een handig schema? Wij raden aan om te werken met een schema dat gebaseerd is op jouw leefritme én de stand van de zon.

Een ideaal weekschema voor werkende mensen begint vaak 's ochtends vroeg. Stel de stekker zo in dat de kerstverlichting rond 06:30 of 07:00 uur aangaat. Er is niets fijner dan opstaan in een donker huis waar de kerstboom al gezellig staat te branden. Laat de verlichting automatisch weer uitgaan rond 09:00 uur, wanneer je naar je werk vertrekt of het daglicht fel genoeg is.

Voor de avondinstelling is de 'zonsondergang-functie' (astro-timer) de beste optie. Bijna elke app van slimme stekkers heeft deze functie. Hiermee gaan de lampjes automatisch aan zodra het buiten donker wordt, wat in december al rond 16:30 uur kan zijn. Zo kom je nooit thuis in een donker huis. Stel als eindtijd een vast moment in waarop je meestal naar bed gaat, bijvoorbeeld 23:30 uur. Zo voorkom je dat de boom de hele nacht stroom staat te verbruiken voor de kat of de inbrekers. Heb je vakantie? Gebruik dan een aangepast schema. Laat de verlichting bijvoorbeeld pas om 09:30 uur aanspringen (lekker uitslapen!), zet hem uit tussen 11:30 en 16:00 uur (wanneer je veel daglicht hebt), laat hem daarna weer aanspringen en stel in dat alles weer uitgaat wanneer jij naar bed gaat.

FAQ: Kan ik mijn kerstboom laten knipperen op Spotify-muziek?

Een veelgestelde vraag is of je met een slimme stekker je kerstverlichting kunt laten meebewegen op de maat van je favoriete kerstplaylist op Spotify. Het korte antwoord is: nee, dat is met een slimme stekker helaas niet mogelijk en zelfs af te raden.

Een slimme stekker is namelijk een mechanische schakelaar. Als je die heel snel achter elkaar aan en uit zou laten gaan om een 'disco-effect' te creëren, hoor je de stekker niet alleen constant klikken, maar zal hij door de slijtage ook binnen de kortste keren kapotgaan. Bovendien zit er vaak een kleine vertraging op het wifi-signaal, waardoor het licht nooit strak in de maat zou lopen.

Wil je toch een lichtshow op 'All I Want for Christmas is You'? Dan heb je geen slimme stekker nodig, maar slimme verlichting. Kijk hiervoor bijvoorbeeld naar de speciale kerstverlichting van het merk Twinkly of de Festavia-snoeren van Philips Hue. Deze systemen zijn digitaal en kunnen via hun app (en een koppeling met Spotify of de microfoon van je telefoon) wél vloeiend van kleur veranderen en knipperen op de beat, zonder dat er iets slijt. Gebruik de slimme stekker dus puur voor het aan- en uitzetten van je traditionele 'domme' verlichting.

Watch on YouTube

Koopgids: 5 slimme stekkers voor je kerstverlichting

Philips Hue Smart Plug: voor iedereen die al slimme lampen van Philips Hue in huis heeft, is de Philips Hue Smart Plug veruit de meest logische keuze. Deze stekker integreert naadloos met je bestaande Hue Bridge en app. Het grote voordeel hiervan is dat je kerstboom direct onderdeel wordt van je lichtscènes. Als je via je slimme speaker het commando geeft om de 'Kerstsfeer' te activeren, gaat zowel je boom als je normale sfeerlicht in de juiste dimstand aan. Hij werkt via Zigbee, maar ondersteunt ook bluetooth voor directe aansturing.

Lees ook: Review Philips Hue Bridge Pro: dé bridge voor de toekomst

TP-Link Tapo P115: als je zoekt naar een betaalbare en zeer compacte oplossing, dan is de TP-Link Tapo P115 een goede kandidaat. TP-Link staat bekend om betrouwbare smarthome-producten voor een zachte prijs en dit model is zo klein ontworpen dat hij in een stekkerdoos geen andere stopcontacten blokkeert. De stekker werkt direct op je wifi-netwerk, dus je hebt geen extra hub nodig. Een prettige bijkomstigheid is dat dit kleine apparaatje ook nog eens nauwkeurig je stroomverbruik meet via de bijbehorende app.

Hombli Smart Outdoor Socket: wie lampjes wil in de voortuin of op het balkon, kan niet om de Hombli Smart Outdoor Socket heen. Hombli is een Nederlands merk dat bekendstaat om gebruiksvriendelijkheid en deze stekker is speciaal gebouwd voor buiten. Hij is robuust, heeft een IP44-classificatie en een stevig klepje dat het stopcontact beschermt tegen vocht en vuil. Via de app stel je eenvoudig in dat de buitenverlichting automatisch aangaat bij zonsondergang en weer uitgaat wanneer jij naar bed gaat.

Innr Smart Plug (SP 240): wil je wel gebruikmaken van het stabiele Zigbee-netwerk, bijvoorbeeld in combinatie met een Homey of Hue Bridge, maar vind je de originele Philips-stekker aan de prijzige kant? Dan is de Innr Smart Plug het perfecte alternatief. Innr specialiseert zich in producten die compatibel zijn met grote systemen, maar dan voor een lagere prijs. De SP 240 is slank vormgegeven en werkt in vrijwel alle gevallen vlekkeloos samen met je bestaande Zigbee-setup. Let er wel op dat deze stekker, wanneer gekoppeld via de Hue Bridge, niet zichtbaar is in Apple HomeKit.

Eve Energy: voor de Apple-gebruiker die zijn hele huis bedient via de Woning-app op de iPhone, is de Eve Energy de beste keuze. Deze robuuste stekker ondersteunt de moderne standaarden Matter en Thread. Dit zorgt ervoor dat het apparaat razendsnel reageert en het bereik van je smarthome-netwerk vergroot zonder je wifi te belasten. Handig: de app geeft uiterst gedetailleerde grafieken over je stroomverbruik en de geschatte kosten. 

©Philips

Kerstverlichting

Vrolijke lichtjes in de tuin