Home Assistant template sensors aanmaken gids
Je kent het wel: je hebt een stapel sensoren liggen, een Home Assistant installatie die draait, en je wilt iets specifieks meten wat de fabrikant niet had voorzien. Misschien wil je het gemiddelde energieverbruik van je wasmachine over de afgelopen week, of een simpele schakelaar die aangeeft of het buiten koud is én het regent. Dit is waar de magie van template sensors begint. Ze zijn de lijm die je slimme huis samenbrengt, waardoor je losse componenten omtovert tot zinvolle inzichten. Deze gids leert je precies hoe je die krachtige bouwstenen zelf maakt, zonder dat je een programmeercursus hoeft te volgen.
Wat zijn template sensors eigenlijk?
Stel je voor dat je een leeg canvas hebt. Een template sensor is een virtuele sensor die je zelf tekent op basis van bestaande data. Het is geen fysiek apparaat dat je in de muur draait. In plaats daarvan haalt Home Assistant gegevens op van je bestaande sensoren – temperatuur, vochtigheid, stroomverbruik, status van schakelaars – en combineert of verwerkt die tot iets nieuws. Denk aan een sensor die de "gevoelstemperatuur" berekent, of een die simpelweg "thuis" of "weg" zegt als je geen zin hebt in complexe automatiseringen.
Waarom is dit zo’n gamechanger voor je domotica hub? Omdat het je onafhankelijk maakt van de beperkingen van fabrikanten. Soms leveren sensoren net niet de data die je nodig hebt. Met een template sensor creëer je precies wat je mist. Je haalt de rauwe data uit je bestaande smart home hub, of dat nu een Homey Pro is of een Home Assistant installatie, en geeft het betekenis. Het is de ultieme vrijheid voor wie net dat stapje verder wil gaan dan de standaard opties.
Het mooie is dat je geen programmeerwonder hoeft te zijn. De syntax is logisch en leest vaak als gewone taal. Je zegt eigenlijk: "Neem de waarde van sensor.woonkamer_temp, tel er 2 bij op, en noem dat de nieuwe waarde." Home Assistant doet de rest. Het is de perfecte manier om je domotica kopen-ervaring te maximaliseren; je haalt veel meer uit je investering door slimme combinaties te maken.
Waarom zou je ze gebruiken?
De meest voor de hand liggende reden is consolidatie. Stel, je hebt drie verschillende temperatuursensoren in je woonkamer van verschillende merken. Eén van Aqara, één van Shelly, en één vanuit je slimme thermostaat. In plaats van drie losse grafieken te bekijken, maak je één template sensor die het gemiddelde neemt. Dit geeft je een veel realistischer beeld van de daadwerkelijke kamertemperatuur. Het maakt je dashboard overzichtelijker en je automatiseringen betrouwbaarder.
Een andere krachtige toepassing is logica toevoegen aan je slimme huis. Een standaard bewegingssensor detecteert alleen beweging. Een template sensor kan "activiteit in de woonkamer" detecteren als het licht aan is én er beweging is, maar alleen tijdens kantooruren. Dit soort logica is essentieel voor geavanceerde automatiseringen. Het is het verschil tussen een sensor die reageert en een sensor die begrijpt wat er gebeurt.
Denk ook aan het vertalen van data. Je hebt een sensor die "on" of "off" retourneert, maar jij wilt een sensor die "Actief" of "Rustig" toont op je dashboard. Met een template sensor herschrijf je de output naar iets wat voor jou logisch is. Dit maakt je interactie met je Home Assistant of Homey Pro veel prettiger. Je kijkt niet meer naar cryptische codes, maar naar heldere, begrijpelijke informatie.
Uiteindelijk draait het allemaal om efficiëntie. Waarom zou je een extra dure sensor kopen als je de data al hebt liggen? Met een template sensor bespaar je geld en creëer je een slimmere omgeving. Het is de digitale versie van een Zwitserse zakmes; je hebt maar één tool nodig om veel verschillende problemen op te lossen.
De basis: Je eerste template sensor maken
Laten we beginnen met een simpel voorbeeld. Stel, je wilt een sensor die aangeeft of het buiten koud is, gebaseerd op je buitentemperatuursensor. We gaan ervan uit dat je een sensor hebt met de naam sensor.buiten_temperatuur. Je wilt een nieuwe sensor die "Koud" zegt als het onder de 10 graden is, en "OK" als het warmer is. Dit is een perfecte eerste stap om de logica te begrijpen.
Je opent je Home Assistant configuratie. Dit doe je meestal via de "Settings" -> "Devices & Services" -> "Helpers" (of via YAML als je dat voorkeur hebt, maar we blijven hier benaderbaar). Kies voor het aanmaken van een nieuwe "Template" helper. Je krijgt dan een scherm te zien waar je de basisinformatie invult. Geef je sensor een logische naam, bijvoorbeeld sensor.weer_status. Dit is de naam die je later overal in je dashboard en automatiseringen gebruikt.
Het hart van de sensor is het veld waar je de template invoert. Voor dit voorbeeld gebruik je een eenvoudige "if-else" structuur. In de template-code ziet dat er zo uit:
{% if states('sensor.buiten_temperatuur') | float < 10 %} Koud {% else %} OK {% endif %}
Wat hier gebeurt is best logisch. We checken de status van onze buitentemperatuur sensor. De "| float" zorgt ervoor dat de tekstuele waarde wordt omgezet naar een getal (decimaal), zodat we ermee kunnen rekenen. Als dat getal lager is dan 10, toon je "Koud". Anders toon je "OK". Sla de sensor op en je zult zien dat deze direct verschijnt in je lijst met entiteiten, meteen klaar voor gebruik in je dashboards.
Als je een Home Assistant installatie hebt die net iets langer draait, weet je misschien al dat je ook de UI kunt gebruiken om dit soort templates te maken. Dit heet de "Visual Editor". Je kunt vaak kiezen uit een lijst met sensoren en operatoren. Dit is ideaal voor beginners. Je klikt gewoon "sensor.buiten_temperatuur", kiest "is kleiner dan", vult "10" in, en typt de waarden "Koud" en "OK" in. Dit is de makkelijkste manier om te starten met domotica.
Onthoud goed dat je altijd even moet testen. Nadat je de sensor hebt opgeslagen, ga je naar "Developer Tools" -> "States". Zoek je nieuwe sensor op en bekijk de huidige waarde. Pas de temperatuur van je bron-sensor handmatig aan (als dat kan) of wacht op een natuurlijke verandering om te zien of je template correct reageert. Dit voorkomt teleurstellingen en zorgt ervoor dat je systeem betrouwbaar blijft.
Geavanceerde templates: Berekeningen en tijd
Nu we de basis onder de knie hebben, gaan we een stapje verder. Laten we kijken naar het berekenen van gemiddelden, iets wat vaak wordt gevraagd voor energiemonitoring. Stel je hebt een sensor die het huidige vermogen in Watt meet (bijvoorbeeld van een Shelly Plug S, prijs rond de €25-€30). Je wilt weten wat het gemiddelde verbruik is over de afgelopen 24 uur. Hiervoor gebruiken we de "history_stats" integratie, wat eigenlijk een hulpmiddel is voor templates.
Een krachtige functie binnen Home Assistant is de mogelijkheid om tijdreekenen te analyseren. Laten we een sensor maken die aangeeft hoe lang je slimme lampen (bijv. Philips Hue, prijs vanaf €15 per stuk) vandaag aan hebben gestaan. Dit geeft inzicht in je verbruik zonder dat je een dure energiemeter per lamp nodig hebt. We combineren hier de status van een lamp met de tijd dat deze status actief was.
Je kunt deze gegevens ophalen door te kijken naar de "state" van een entiteit over een periode. Een voorbeeld van een template die de totale tijd in seconden berekent dat een lamp aan was vandaag, ziet er technisch uit maar is logisch opgebouwd:
{{ states('sensor.lamp_aan_vandaag') }}
Maar om die sensor te vullen, gebruiken we in de YAML-configuratie (of via de UI als je de "Utility Meter" integratie gebruikt) de volgende logica: we sommen de tijd op dat de lamp "on" was. Dit doen we door te kijken naar de geschiedenis. Een eenvoudigere manier voor beginners is de "Integration" sensor. Deze kan het verbruik over tijd uitrekenen. Als je een sensor hebt die Watt meet, kun je een template maken die de verbruikte energie in kWh berekent: {{ (states('sensor.vermogen') | float * 0.000277778) | round(2) }}. Dit vermenigvuldigt de Watt met een factor (omgerekend naar kWh) en rondt het af.
Je kunt ook tijd-based templates maken. Stel je wilt een sensor die "Spitsuur" zegt tussen 07:00 en 09:00 en tussen 16:30 en 18:30. Dit doe je door te kijken naar het uur van de dag. De template functie now() geeft je de huidige tijd. Hiermee kun je logische checks doen. Als je een sensor wilt die aangeeft of je verbruik "hoog" of "laag" is op basis van de tijd van de dag, combineer je tijd met energiedata. Dit is superhandig voor dynamische tarieven van energieleveranciers.
Denk ook aan de "Attribute" templates. Een sensor heeft niet alleen een waarde, maar ook eigenschappen (attributes). Stel je hebt een sensor voor je slimme thermostaat (prijs ca. €150-€200 voor een goed systeem). Je kunt een template maken die specifiek de target temperatuur uithaalt, los van de huidige temperatuur. Dit doe je met: {{ state_attr('climate.woonkamer', 'temperature') }}. Dit is handig als je een widget op je telefoon wilt die alleen de gewenste temperatuur toont, niet de huidige.
De kracht van deze geavanceerde templates zit hem in de combinatie. Je kunt meerdere sensors samenvoegen. Een sensor die zegt: "Als het donker is (zonsondergang) én de bewegingssensor detecteert iets, én de tijd is na 22:00, dan is de status 'Nachtmodus'." Dit soort complexe logica maakt je smart home hub echt intelligent. Het gaat van "apparaten aansturen" naar "woning begrijpen".
Praktische tips voor dagelijks gebruik
Een veelgemaakte fout is het te complex maken van templates. Houd het simpel. Als je een template ziet die 10 regels lang is, vraag jezelf af: "Kan ik dit opdelen in twee kleinere sensors?" Misschien heb je eerst een sensor nodig die "Is het koud?" berekent, en daarna een tweede die checkt "Is het koud en donker?". Dit maakt debuggen veel makkelijker. Als er een fout is, weet je direct in welke stap het misgaat.
Geef al je templates logische en unieke namen. Gebruik een systeem zoals "sensor.[ruimte]_[functie]_[berekening]". Bijvoorbeeld: sensor.woonkamer_gemiddelde_temp_24u. Dit voorkomt chaos in je lijst met entiteiten. Als je later een nieuwe sensor toevoegt of een oude vervangt, weet je direct welke template je moet aanpassen. Een goed systeem is het halve werk, zeker als je je domotica stap voor stap uitbreidt.
Test, test, test! Voordat je een template gebruikt in een kritieke automatisering (zoals de verwarming uitzetten), test je hem eerst in een veilige omgeving. Gebruik de "Developer Tools" in Home Assistant om de template rechtstreeks uit te proberen. Plak je code in het template veld en kijk wat de output is. Je kunt daar ook testwaardes invoegen om te zien hoe je template reageert op extreme situaties, zoals een sensor die "None" retourneert of een uitschieter in temperatuur.
Denk na over de update-frequentie. Sommige templates worden elke seconde bijgewerkt, andere alleen als een bronsensor verandert. Voor energieberekeningen wil je misschien snelle updates, maar voor een gemiddelde temperatuur over een week is een update elke 5 minuten meer dan genoeg. Te veel templates die constant rekenen kunnen je systeem vertragen, vooral op een Raspberry Pi. Houd rekening met de hardware van je hub, of het nu een Homey Pro (€399) of een custom build is.
Als je een Homey Pro gebruikt, werkt het net iets anders. Daar gebruik je vaak de "Flow" interface om logica te bouwen, maar je kunt ook "Virtual Devices" aanmaken die als sensor dienen. De principes blijven hetzelfde: combineer bestaande data tot nieuwe informatie. Of je nu kiest voor de open-source vrijheid van Home Assistant of de gebruiksvriendelijkheid van Homey Pro, de mindset van een template sensor is universeel in de domotica wereld. Begin klein, experimenteer veel, en bouw zo je ideale slimme huis.
