ID.nl logo
Zo zet je het Home Assistant-dashboard helemaal naar je hand
Huis

Zo zet je het Home Assistant-dashboard helemaal naar je hand

In Home Assistant kun je alle mogelijke apparaten en diensten toevoegen om je smarthome aan te sturen. Al snel wordt dat onoverzichtelijk, maar gelukkig biedt het smarthomepakket talloze mogelijkheden om aangepaste dashboards te maken, zodat alles op een handige plaats staat. En voor wie het uiterlijk wil aanpassen, zijn er ook allerlei mogelijke thema’s.

In dit artikel laten we zien hoe je Home Assistant naar je hand kunt zetten. Daarvoor nemen we de volgende stappen:

  • Kaarten toevoegen en configureren
  • Entiteiten tonen en erop filteren
  • Extra dashboard toevoegen
  • Uitbreidingen toevoegen

Ook interessant om te lezen: Maak je eigen controller voor Home Assistant

Wanneer je je op de webinterface van Home Assistant aanmeldt, krijg je standaard het dashboard Overzicht te zien. Home Assistant maakt ook een tweede dashboard aan, Energie (zie het kader ‘Energiedashboard’). Een dashboard bevat allerlei zogenoemde kaarten: dit zijn types visualisaties van entiteiten in je smarthome. Zo wordt het weerbericht op een andere manier gevisualiseerd dan sensoren of knoppen. Home Assistant bevat zo’n dertig kaarten en je kunt dit aantal nog uitbreiden.

Home Assistant maakt standaard een kaart aan voor elke ruimte waaraan je minstens één apparaat hebt toegekend. Dat geeft al een overzicht, maar nadat je veel apparaten hebt toegevoegd, krijg je per ruimte een kader met een lange lijst van entiteiten. Dat is waarschijnlijk niet het overzicht dat je wenst. Gelukkig kun je de dashboards volledig naar je hand zetten. 

Dashboard configureren

De eerste stap om je dashboard te configureren, is om de controle over te nemen van Home Assistant. Het programma vult het dashboard dan niet meer automatisch met de entiteiten van toegevoegde apparaten, maar geeft je de mogelijkheid om dat zelf te doen. Klik daarvoor rechts bovenaan op de drie puntjes en kies dan Configureer UI.

Standaard behoudt Home Assistant de bestaande inhoud van het dashboard als je de controle overneemt. Klik op Begin met een leeg dashboard als je met een wit blad wilt beginnen. Klik vervolgens op Controle nemen. Je bent nu in de bewerkingsmodus.

In de bewerkingsmodus kun je je dashboard naar wens aanpassen.

Kaarten toevoegen

Klik in de bewerkingsmodus rechts onderaan rechts op Voeg kaart toe. Je krijgt nu een visueel overzicht van de dertig soorten kaarten die Home Assistant standaard ondersteunt. Voor elk type kaart waarvoor Home Assistant een compatibele entiteit kent in je systeem, zie je een voorbeeld.

Er zijn kaarten voor een knop, voor één entiteit, of een lijst of kleine blokjes met entiteiten, een graadmeter, een geschiedenisgrafiek, een lamp inclusief schuifregelaar om te dimmen, een sensorgrafiek, de weersverwachting enzovoort. Klik op de kaart die je wilt gebruiken en kies dan de entiteit die je wilt tonen uit de uitklaplijst.

Home Assistant geeft je de keuze uit dertig soorten kaarten om je dashboard mee te vullen.

Kaart configureren

In de kaartconfiguratie stel je het uiterlijk van de kaart in. Home Assistant vult standaard al de naam van de entiteit in en toont het standaardicoontje van het type entiteit, bijvoorbeeld van een lamp. Beide kun je hier nog aanpassen.

Voor het icoontje typ je in het tekstveld Icoon een omschrijving in, waarna je de namen van ondersteunde icoontjes te zien krijgt, zoals mdi:desk-lamp of mdi:floor-lamp. Deze komen uit de lijst Material Design Icons. Rechts krijg je onmiddellijk een voorbeeldweergave te zien op de kaart.

Je kunt hier ook een thema kiezen en dat thema geldt dan alleen voor deze kaart. Verderop in dit artikel gaan we verder in op die thema’s, ze geven je dashboard of individuele kaarten een ander uiterlijk.

Je kunt ook instellen wat er gebeurt als je de kaart in de mobiele interface vasthoudt of erop dubbeltikt. Zo kun je dan meer informatie tonen, naar een ander onderdeel van Home Assistant navigeren of zelfs een specifieke url openen. Klik tot slot op Opslaan, waarna je kaart in je dashboard te zien is. Klik bovenaan rechts op Klaar wanneer je alle gewenste kaarten hebt toegevoegd.

Stel in hoe de kaart er in je dashboard moet uitzien. 

Energiedashboard Onder het overzichtsdashboard maakt Home Assistant standaard ook een energiedashboard aan. Als je hier voor het eerst op klikt, krijg je instructies om het aan te maken op basis van de nodige informatie. Om je verbruik en teruglevering te kunnen visualiseren, heb je een slimme meter nodig en een apparaatje dat de P1-poort van je slimme meter uitleest. Om je zonne-energieproductie te visualiseren, moet de omvormer van je zonnepanelen door Home Assistant uit te lezen zijn. Verder kun je ook een ondersteund batterijsysteem toevoegen en een bron voor je gasverbruik en waterverbruik. Nadat je dit alles hebt toegevoegd, toont het energiedashboard je in één oogopslag de energiehuishouding van je woning.

Lees ook het artikel: Automatisch energie besparen met Home Assistant

Meerdere entiteiten

Sommige kaarten ondersteunen meerdere entiteiten. De eenvoudigste manier om die in een kaart te tonen, is om in de bewerkingsmodus op Voeg kaart toe te klikken en dan op het tabblad Per entiteit in plaats van het standaard geselecteerde Per kaart. Vink nu de entiteiten aan die je samen wilt tonen. Je kunt hier ook zoeken op naam. Klik op Doorgaan om op basis van deze entiteiten een kaart te maken.

Home Assistant kiest nu een kaarttype dat meerdere entiteiten ondersteunt en toont je het resultaat van de suggestie. Kies Toevoegen aan dashboard als je dit goed vindt of klik op Kies een andere kaart als je de informatie toch op een andere manier wilt visualiseren. Dan kies je het gewenste kaarttype uit de lijst. Daarna kun je de kaart configureren, waarbij je altijd ook het resultaat van je wijzigingen onmiddellijk te zien krijgt.

De volgorde van de entiteiten verander je door ze te verslepen. En in het kaarttype Entiteiten kun je ook bij elke entiteit de weergavenaam instellen.

Plaats eenvoudig meerdere entiteiten in één kaart.

Kaarten stapelen

Verder zijn er ook kaarten waarmee je van meerdere kaarten een groep maakt. Dat is handig als je bijvoorbeeld enkele sensorgrafieken onder elkaar wilt tonen, zodat je aan de hand van de tijd-as hun waarden altijd met elkaar kunt vergelijken op hetzelfde moment. Voeg daarvoor een Verticale stapel toe. In de configuratie kies je de eerste kaart die je wilt toevoegen. Nadat je die hebt geconfigureerd, klik je op het plusteken om een volgende kaart aan de stapel toe te voegen. De verschillende kaarten die je aan een stapel toevoegt, hoeven niet van hetzelfde type te zijn.

Met een Horizontale stapel toon je overigens kaarten op een rij naast elkaar en met een Raster toon je meerdere kaarten in een matrix met rijen en kolommen. Het zijn allemaal manieren om wat meer structuur in je kaarten te brengen, wat zeker nuttig is op het kleinere scherm van je telefoon. Dan verzeker je je ervan dat wat onder elkaar hoort te staan, ook altijd onder elkaar zichtbaar is.

Kaarten kun je horizontaal, verticaal of in een raster stapelen.

Voorwaardelijke kaart

Een andere nuttige complexere kaart is de voorwaardelijke kaart. Hiermee toon je alleen een andere kaart wanneer een of meerdere gegeven entiteiten een specifieke waarde hebben. Dat is handig om bijvoorbeeld informatie van een apparaat zoals een printer alleen te tonen wanneer het apparaat is ingeschakeld. Voeg daarvoor in de bewerkingsmodus de kaart Voorwaardelijk toe.

Kies bij Voorwaarden de entiteit die beschikbaar moet zijn, kies eronder Status is niet gelijk aan en voor de status unavailable. Je kunt meerdere entiteiten bij de voorwaarden toevoegen. Die moeten dan allemaal de gevraagde status hebben.

In het tabblad Kaart kies je de kaart die wordt getoond als aan de voorwaarden is voldaan. Overigens kun je hier ook een stapel plaatsen, waarin dan meerdere kaarten komen.

Deze kaarten tonen we alleen wanneer de printer is ingeschakeld.

Entiteiten filteren

Nog een interessante kaart is het entiteitsfilter. Hierin definieer je een lijst met entiteiten die je alleen wilt tonen in een bepaalde status. Zo toon je eenvoudig een lijst met lampen die nog aan zijn, zodat je voor het slapengaan of het verlaten van je huis in één oogopslag ziet welke lampen je vergeten bent uit te schakelen.

Voor het entiteitsfilter is er helaas nog geen visuele editor beschikbaar. In de kaartconfiguratie krijg je daarom YAML-code te zien, met daarnaast gelukkig wel het resultaat zoals het in je dashboard te zien zal zijn. Bij entities vul je voor elke entiteit een regel zoals de volgende in:

- entity: switch.staanlamp_switch

    name: Staanlamp

Achter - entity: staat de ID van de entiteit. Die ID vind je via Instellingen / Apparaten & Diensten en dan in het tabblad Entiteiten in de kolom Entiteits-ID bij de gewenste entiteit. Tot slot vul je bij state_filter bijvoorbeeld - 'on' in als je lampen wilt tonen die nog aan zijn.

Toon deze lampen alleen wanneer ze aan zijn.

Extra weergaven

Tot nu toe heb je in je dashboard alles op één pagina toegevoegd. Maar als je in de bewerkingsmodus op het plusteken bovenaan bij Home klikt, voeg je een tabblad toe. Dit tabblad kun je een titel en een icoontje geven. Met een icoontje erbij wordt de titel overigens niet getoond. Bij Zichtbaarheid stel je in welke gebruikers deze weergave kunnen zien (zie ook het kader ‘Aangepaste weergave voor elke gebruiker’). Zodra je je weergave hebt aangemaakt, voeg je hier kaarten aan toe.

Ook van de standaardweergave pas je met een klik op het potloodicoontje de eigenschappen aan, zoals de naam, het icoontje en de zichtbaarheid.

Een dashboard kan bestaan uit meerdere tabbladen. 

Extra dashboard toevoegen

Naast de standaard aangemaakte dashboards Overzicht en Energie kun je zelf nog extra dashboards aanmaken (via de zijbalk krijg je hier toegang tot). Open Instellingen / Dashboards en klik rechts onderaan op Dashboard toevoegen. Geef het dashboard een titel en icoontje. Nadat je het dashboard hebt aangemaakt, krijg je de titel en het icoontje in de zijbalk te zien.

Standaard wordt ook dit dashboard gevuld met alle apparaten die Home Assistant kent, maar ook hier kun je de controle over het dashboard overnemen en dit vullen met je eigen kaarten.

Een extra dashboard aanmaken is eenvoudig gebeurd.

Uitbreidingen met HACS

Je kunt Home Assistant nog uitbreiden met extra kaarten en thema’s. Vele daarvan zijn te installeren vanuit HACS: de Home Assistant Community Store. Die biedt een gestroomlijnde manier om allerlei aanpassingen voor Home Assistant te installeren. Om HACS te installeren, dien je eerst enkele stappen te doorlopen. Open je profiel door op je naam linksonder te klikken en schakel de Geavanceerde modus in. Open dan Instellingen / Add-ons en klik rechtsonder op Add-on winkel. Klik op Terminal & SSH en installeer die. Dat duurt even en daarna klik je op Starten.

Als je Weergeven in zijbalk inschakelt, kun je links op Terminal klikken om een webterminal te openen. Hier vul je de volgende opdracht in om HACS te installeren:

wget -O - https://get.hacs.xyz | bash -

Herstart nu Home Assistant: klik op Instellingen, klik rechts bovenaan op het menu (met de drie puntjes), klik daarna nog twee keer op Home Assistant herstarten en tot slot nog eens op Herstarten.

Wanneer Home Assistant is herstart, klik je op Instellingen / Apparaten & Diensten en dan rechts onderaan op Integratie toevoegen. Zoek op HACS, vink alles aan en klik op Opslaan. Volg dan de instructies. Je hebt hiervoor een (gratis) account bij GitHub nodig. Klik tot slot op Voltooien.

Installeer HACS als integratie voor extra kaarten en thema’s.

Kaarten en thema’s toevoegen

Nu de integratie van HACS is geïnstalleerd, vind je in de linkerzijbalk het nieuwe onderdeel HACS. Als je hierop klikt, vind je extra kaarten en thema’s onder Frontend. Klik rechts onderaan op Repositories verkennen en downloaden. Standaard krijg je nu alle uitbreidingen te zien voor het uiterlijk van Home Assistant. Vink je alleen Lovelace aan, dan krijg je alleen kaarten en andere visuele elementen te zien. Vink je alleen Thema aan, dan beperkt de lijst zich tot thema’s.

Als je iets ziet dat je interesseert, klik er dan op om een pagina met extra informatie te zien. Wil je het installeren, klik dan rechts onderaan op Download. Wanneer het om een thema gaat, kun je nu in de bewerkingsmodus van je dashboard het thema instellen in je weergave of zelfs in een individuele kaart.

En als je een extra kaart hebt geïnstalleerd, komt die beschikbaar in de lijst met kaarten wanneer je in de bewerkingsmodus op Voeg kaart toe klikt.

Voeg extra kaarten en thema’s toe vanuit HACS.

Scènes en scripts

Zoals je ziet, is Home Assistant helemaal naar je hand te zetten. Verder kent het smarthomesysteem ook nog scènes. Een scène is een toestand van enkele apparaten. Stel dat je tijdens het tv-kijken de grote lamp van de woonkamer wilt dimmen of uitzetten, maar juist de ledstrip achter de tv wilt inschakelen, dan voeg je beide apparaten aan een scène Tv kijken toe en stel je hun toestand in. Scènes zijn ook via het dashboard te activeren.

Tot slot kun je ook nog scripts aanmaken. Een script is een opeenvolging van acties, maar met extra’s zoals tests, vertragingen en herhalingen. Een script is vanuit het dashboard te activeren, maar kun je ook in een automatisering als actie uitvoeren.

Home Assistant met het thema Noctis.

Aangepaste weergave voor elke gebruiker Nuttig om te weten is dat Home Assistant meerdere gebruikers ondersteunt en dat je voor elke gebruiker kunt instellen welke weergaven die te zien krijgt. Wil jij een volledig overzicht van al je smarthome-apparatuur, maar hoeven je kinderen dat niet allemaal te zien? Dat kan perfect.

Je maakt een nieuwe gebruiker aan in Instellingen / Personen door een klik onderaan rechts op Persoon toevoegen. Geef de persoon een naam en schakel Persoon toestaan om in te loggen in. Kies dan een gebruikersnaam (die kan anders zijn dan de getoonde naam) en vul een wachtwoord in.

Als die gebruiker ook je Home Assistant-installatie mag beheren (bijvoorbeeld om apparaten toe te voegen, updates uit te voeren en dashboards aan te passen), schakel je Beheerder in. Daarna kies je in de configuratie van elke weergave voor welke gebruikers die zichtbaar is.

▼ Volgende artikel
Review JBL Flip 7 – Kleine speaker speelt luider dan ooit
© JBL
Huis

Review JBL Flip 7 – Kleine speaker speelt luider dan ooit

De Flip 7 voegt heel wat toe aan het beproefde succesrecept van JBL. Is dat voldoende om de iconische bluetooth-speaker weer de publieksfavoriet te maken? Dat lees je in deze review.

Fantastisch
Conclusie

Met een prijs van bijna 150 euro is de Flip 7 niet de goedkoopste bluetooth-speaker die je kunt aanschaffen. Je krijgt wel heel wat voor die prijs. Want niet alleen is deze JBL heel goed opgewassen tegen een slechte behandeling, hij projecteert muziek met veel emotie de kamer in. Ook voor buiten in de tuin of het strand heeft de Flip 7 de power om een feestje te bouwen. Het betere batterijleven en de gecontroleerde bassen van deze generatie zijn mooie upgrades ten opzichte van de Flip 6, al vind je misschien die oude versie voor een veel lagere prijs. Dan is het afwegen wat je belangrijk vindt. 

Plus- en minpunten
  • Goede accuduur
  • Speelt loeihard voor zo'n klein ding
  • IP68-label
  • Veel kleurkeuzes
  • Auracast
  • Op wat afstand geplaatst krachtige kamervuller
  • Relatief hoge prijs
  • Niet de lichtste speaker
  • Lus en karabijnhaak geen grote vernieuwing

Met de Flip 7 brengt JBL een update uit voor een wel zeer populaire bluetooth-speaker. Zoals die '7' al aangeeft, is dat verre van de eerste keer dat dit gebeurt. Deels gaat het dan om kleuren en design, zodat een nieuwe Flip helemaal de laatste trends volgt. Maar ook deze keer weet het bedrijf weer op technisch vlak wat verbeteringen toe te voegen. Auracast en AI Sound Boost zijn de belangrijkste, naast een verhoogde batterijduur van 16 uur.

Beschikbaar in zeven kleuren 

Even belangrijk zijn de nieuwe kleurtjes, met een weelderig paars als de opvallendste. Een 'Squad' camouflage-editie ontbreekt ook niet, terwijl een oranje randje rond het JBL-letterlogo een subtielere toevoeging is. De adviesprijs blijft 149,99 euro, dat blijft onveranderd.

©JBL

De Flip 7 is verkrijgbaar in zeven kleuren, waaronder een aantal nieuwe.

Het design van de Flip is grotendeels onveranderd gebleven sinds de eerste versie uit 2012. Ook de Flip 7 is een kleine cilinder, ongeveer even groot als een blik bier van een halve liter. Je kunt hem neerleggen of recht plaatsen. En aan elke uiteinde vind je een (passieve) woofer met het JBL-logo. Zodra je muziek iets luider zet, zie je ze heen en weer dansen. Een iconische gimmick mag je het noemen, maar het verhoogt wel de fun-factor. Hetzelfde design zie je ook terugkomen bij de grotere bluetooth-speakers van JBL, zoals de even nieuwe Charge 6 en de Xtreme 4.  

Met haak of lus te gebruiken

Niet zoveel veranderingen op designvlak dus. Maar details zijn belangrijk en dat is ook waar JBL zijn pijlen op richt. Een opvallend toevoeging is de mogelijkheid om een lus van stevig textiel of een karabijnhaak aan de speaker vast te maken. Beide accessoires vind je in de doos. Hoewel je de haak of lus kunt verwijderen via een kliksysteem, zit het muurvast genoeg om de Flip 7 zorgeloos aan een rugzak te hangen. 

©JBL

De haak of lus zit muurvast via een handig mechanisme.

Bestand tegen water en stof 

De Flip 7 is gemaakt om overal mee naartoe te nemen. Het IP68-etiket maakt duidelijk dat er weinig is waar deze speaker niet tegen kan. Stof en water deren hem niet gauw. Je kunt deze speaker in het (ondiepe) zwembad laten vallen en hem gewoon daarna weer gebruiken. De Flip 7 is daarmee ook net iets meer waterbestendig dan zijn voorganger. De hele behuizing is bovendien heel robuust, met dikke rubberen dopje aan de uiteinden. Het geeft echt de indruk dat je deze bluetooth-speaker niet gauw kapot zou krijgen. Handig op de camping, maar ook gewoon thuis in een tienerkamer.

©Jamie Biesemans

In de JBL Portable-app vind je niet veel opties.

Zeer goede batterijduur

Qua vermogen gaat de Flip 7 er niet echt op vooruit, maar 35 W is wel indrukwekkend voor zo'n klein ding. Door het gebruik van AI Sound Boost kan de speaker wel luid én helder blijven spelen, wat best indrukwekkend is. AI is natuurlijk een geweldig buzzwoord momenteel; hier worden AI-algoritmes in ieder geval gebruikt om de woofer en tweeter optimaal te laten presteren. Playtime Boost heeft ook een impact op de klank. Schakel dit via de JBL Portable-app in en de speelduur wordt verlengd van 14 tot maximaal 16 uur. Houd er wel rekening mee dat je dan geen audiopreset van de equalizer kunt gebruiken.

Bouw een feestje met meerdere speakers

De JBL Portable-app heb je eigenlijk niet echt nodig om de speaker te bedienen, tenzij je via de equalizer nog de klank wilt aanpassen of een stereopaar wil vormen met een tweede Flip 7. Je kunt daarnaast meerdere compatibele JBL-speakers koppelen zodat ze allemaal dezelfde muziek spelen. Leuk om op een feestje met vrienden een groot muzieksysteem te bouwen. Dit kon vroeger ook al, via PartyTogether in de app, maar nu voegt JBL ook Auracast aan de Flip 7 (en de Charge 6) toe. Je kunt echter geen oude en nieuwe speakers combineren.

©Jamie Biesemans

De Auracast-knop licht op als je deze functie gebruikt.

Even tikken op het knopje met het A-logo op de speaker volstaat zo om de Flip 7 een Auracast-stream te laten afspelen. En je kunt compatibele speakers blijven toevoegen, er lijkt geen rem op het aantal te staan.

Luider zonder vervorming

Op het vlak van geluidskwaliteit is de Flip 7, onder andere dankzij AI Sound Boost, een indrukwekkende speaker geworden. Zelfs als je hem hard zet, wordt muziek open neergezet – zeker als je rekening houdt met het formaat van deze speaker. JBL opteert natuurlijk graag voor wat extra bass, wat de Flip 7 heel geschikt maakt voor feestjes of om even stoom af te blazen tussen het studeren door.

Lage tonen zijn vaak het moeilijkst voor kleine speakers, maar hier kun je dankzij de diepe audiokennis van JBL rekenen op bassen die merkbaar aanwezig zijn. Stemmen worden goed geplaatst, waardoor je helder podcasts kunt beluisteren.

©JBL

De speaker klinkt ook buiten zeer goed.

Warmer geluid

Door zijn kleinere formaat en relatief eenvoudige opbouw (met slechts één tweeter) is de Flip 7 wel nogal directioneel. Dat heb je vaak bij dit type speakers. Heel dichtbij hoor je het snel doffer worden als je wat schuiner gaat zitten. Ideaal is als je de Flip 7 wat verder weg plaatst en met het JBL-logo naar je feestgezelschap richt. Dan wordt Stromae's 'Ma Meilleure Ennemie' van het tweede seizoen van het indrukwekkende 'Arcane' heel vol in de kamer geplaatst, met een afgemeten beat die de track zijn snelheid geeft. Het is zeker een warm geluid, wat het heel oorvriendelijk maakt als 'Colors' van Black Pumas in de achtergrond speelt. Als het gaat om een feestje of gewoon een gezellig moment, dan doet de Flip 7 uitstekend zijn werk.

Conclusie

Met een prijs van bijna 150 euro is de Flip 7 niet de goedkoopste bluetooth-speaker die je kunt aanschaffen. Je krijgt wel heel wat voor die prijs. Want niet alleen is deze JBL heel goed opgewassen tegen een slechte behandeling, hij projecteert muziek met veel emotie de kamer in. Ook buiten heeft de Flip 7 de power om een feestje te bouwen. Het betere batterijleven en de gecontroleerde bassen van deze generatie zijn upgrades ten opzichte van de Flip 6, al vind je misschien die oude versie voor een veel lagere prijs. Dan is het afwegen wat je belangrijk vindt. 

▼ Volgende artikel
Bedien je slimme apparaten met een zelfgebouwd touchscreen
© InfiniteFlow - stock.adobe.com
Huis

Bedien je slimme apparaten met een zelfgebouwd touchscreen

Houd je van knutselen én automatiseer je alles in en om je huis met Home Assistant? Kijk dan zeker eens naar ESPHome. Je kunt eindeloos variëren met componenten. Dankzij de koppeling met Home Assistant bouw je gemakkelijk en voor weinig geld een lichtschakelaar of sensor, om maar wat te noemen. De LVGL-bibliotheek zorgt ervoor dat je nu ook eenvoudig met een touchscreen en zelfbedachte gebruikersinterface kunt werken. We laten zien hoe dat werkt met tips voor passende projecten.

In dit artikel laten we zien hoe je een touchscreen-interface bouwt voor Home Assistant met ESPHome en LVGL:

  • Installeer ESPHome en configureer een ESP32-microcontroller voor je project
  • Sluit een touchscreen aan en stel de juiste GPIO-pinnen en drivers in
  • Gebruik LVGL-widgets voor een interactieve interface
  • Integreer je touchscreen met Home Assistant voor directe bediening van je slimme apparaten

Lees ook: 5 fouten die je niet moet maken in je smarthome

Code downloaden

In dit artikel staat een voorbeeld van wat YAML-code. Omdat YAML erg gevoelig is voor foute spaties, kun je die code beter downloaden en daarna bekijken of kopiëren. In het bestand espcode.txt staan alle regels voorbeeldcode zoals ze in dit artikel aan bod komen. Maar je vindt ook een uitgewerkt voorbeeld in het bestand cyd-demo.yaml. Beide bestanden zijn hier te downloaden.

Uitgewerkt voorbeeld

Het meest uitgewerkte voorbeeld voor de demo met LVGL vind je op deze GitHub-pagina van auteur Gertjan Groen. In de code die je kunt downloaden (ook in het losse bestand cyd-demo.yaml) hebben we ook de RGB-led op de achterzijde toegevoegd, die je bijvoorbeeld als statusmelding kunt gebruiken. Verder is een timer toegevoegd om de backlight te regelen, zodat deze bij inactiviteit wordt uitgeschakeld. Tot slot laten we zien hoe je de GPIO-pinnen kunt gebruiken via de I2C-bus. Op de GitHub-pagina vind je nog meer handige informatie.

ESPHome maakt het heel makkelijk om apparaten te maken voor een slim huis, zoals je eigen sensors. Zo bouwden we eerder al eens een luchtkwaliteitsmonitor, een infraroodzender/ontvanger en een controller met drukknoppen en leds, waarmee je apparaten kunt bedienen en de status aflezen. Hoe je dat doet, lees je in dit artikel: Zo maak je met ESPHome apparaten geschikt voor je smarthome.

De basis voor ESPHome is een kleine, voordelige en zuinige microcontroller, meestal de ESP32. ESPHome ondersteunt enorm veel componenten en biedt daardoor haast onbegrensde mogelijkheden. We helpen je kort op weg met ESPHome, maar gaan ook meteen een stapje verder met de toevoeging van een touchscreen en de LVGL-bibliotheek. Daar kun je sinds augustus 2024 officieel gebruik van maken binnen ESPHome.

Met LVGL kun je aan de hand van widgets een grafische gebruikersinterface opbouwen en weergeven (zie kader ‘Grafische interfaces met widgets’). Soms kom je de term HMI (Human Machine Interface) tegen, waarmee een grafische gebruikersinterface voor het bedienen van apparatuur wordt bedoeld.

De kracht van ESPHome is dat je niet alleen lokaal aangesloten apparaten bedienbaar kunt maken, bijvoorbeeld via een relais, maar ook alle apparaten die je binnen Home Assistant gebruikt.

Grafische interfaces met widgets

LVGL staat voor Light and Versatile Graphics Library. Het is een opensource-bibliotheek die sinds 2016 bestaat. Je kunt ermee werken binnen ESPHome, Arduino, Tasmota en openHASP. Het laatste project is zelfs specifiek bedoeld voor microcontrollerfirmware met LVG.

De bibliotheek is heel licht, waardoor het soepel en snel kan werken op apparaten met beperkte capaciteit, bijvoorbeeld met een microcontroller. Bovendien kan LVGL flexibel met verschillende lay-outs, schermformaten en invoermethodes werken. Naast touchscreens kun je ook bijvoorbeeld muis, toetsenbord, losse knoppen en draaiknoppen toevoegen.

Via meer dan dertig widgets kun je een grafische gebruikersinterface opbouwen. Het uiterlijk is via thema’s en stijlen eenvoudig aan te passen. Bovendien kun je met animaties werken.

LVGL wordt gebruikt in slimme apparaten zoals thermostaten, smartwatches en keukenapparatuur, en zelfs in touchscreens voor industriële omgevingen. Op de website vind je enkele interactieve demo’s voor bekende toepassingen, waarbij de gebruikersinterface in de browser wordt getoond.

Met LVGL kun je via widgets een gebruikersinterface bouwen.

1 Wat gaan we doen?

Met ESPHome kun je relatief eenvoudig apparaatjes voor je slimme huis maken. Een voordeel ten opzichte van bijvoorbeeld Arduino en MicroPython is dat je niet hoeft te programmeren. Je hoeft alleen een configuratiebestand te maken waarin je de gebruikte microcontroller, verbindingsgegevens voor je wifi-netwerk en alle aangesloten componenten aanduidt. Hierna wordt firmware gemaakt en weggeschreven op je microcontroller. Alleen die eerste keer is dit soms wat lastig. Heb je het eenmaal werkend? Alle keren erna kun je heel eenvoudig de configuratie aanpassen en over-the-air (OTA) naar de microcontroller sturen.

In dit artikel gaan we met LVGL werken. Hiermee kun je binnen ESPHome grafische interfaces maken via widgets. Voor veel projecten zul je daarom niet eens componenten hoeven aan te sluiten, maar heb je genoeg aan een touchscreen. Denk bijvoorbeeld aan een lichtknop en helderheidsregeling voor een slimme lamp in Home Assistant, zoals we in dit artikel demonstreren. Je kunt natuurlijk ook geavanceerdere gebruikersinterfaces maken voor vrijwel elk apparaat in Home Assistant.

©pozitivo - stock.adobe.com

Je kunt bijvoorbeeld zelf een gebruikersinterface voor je slimme lampen bouwen, zodat je ze eenvoudig kunt bedienen.

2 Wat heb je nodig?

Wat hardware betreft, is het vrij eenvoudig. De ESP32-chip heeft snel de voorkeur boven de verouderde ESP8266-versie, zeker als je met een touchscreen gaat werken. De Raspberry Pi Pico W (zie gelijknamig kader) is ook een optie, maar die wordt nog niet volledig ondersteund binnen ESPHome.

Makkelijk om mee te starten is een eenvoudig ontwikkelbordje rondom de ESP32 dat je voor ongeveer 5 euro kunt aanschaffen. Het is wel fijn als je hier goede documentatie bij hebt, zodat je op zijn minst weet waar alle aansluitingen zitten.

Er zijn diverse varianten van de ESP32-module. Bekende opties zijn de ESP-WROOM-32E, ESP32-C3 en ESP32-S3. De ESP32-C3 wordt vaak in extra compacte bordjes gebruikt, die je onder de naam ‘super mini’ tegenkomt – handig als je niet veel aansluitingen nodig hebt of niet veel ruimte hebt.

De ESP32-S3 is een fijne optie vanwege de beschikbaarheid van PSRAM (Pseudo Static RAM), een voordelig type werkgeheugen dat onder meer nuttig is bij grafische toepassingen. Staat een touchscreen centraal in jouw project en wil je snel van start, overweeg dan een model met ingebouwde ESP32-chip (zie volgende paragraaf).

De ESP32-module is in verschillende uitvoeringen verkrijgbaar.

Raspberry Pi Pico W

De Raspberry Pi Pico is een voordelige en flexibele serie ontwikkelbordjes rondom de RP2040-microcontroller. De eerste versie verscheen in januari 2021. De Pico W is vanwege de wifi-connectiviteit een interessante optie voor ESPHome. Recent werd de Pico 2 W aangekondigd die op meerdere fronten is verbeterd. Dat model is op het moment van schrijven echter nog niet geschikt voor ESPHome.

De Raspberry Pi Pico W is ook bruikbaar in Home Assistant.

3 Touchscreen

Als je een touchscreen gaat gebruiken in je ESPHome-project, dan kun je eventueel een los exemplaar op de microcontroller aansluiten en configureren. Maar je kunt ook een touchscreen met ingebouwde ESP32 kiezen. Dat is vaak veel handiger en goedkoper. Je hoeft niet te solderen en kunt direct een gebruikersinterface bouwen in YAML-code. Het scheelt ook wat tijd. Bovendien zijn er zelfs modellen compleet met behuizing.

Kies een scherm dat door ESPHome wordt ondersteund. De website van ESPHome geeft goede suggesties. Je kunt ook afgaan op ervaringen van anderen. Het kan dan een iets grotere uitdaging zijn om de juiste configuratie voor je display in ESPHome te vinden. Je zult daarbij waarschijnlijk wel even moeten experimenteren, niet alleen bij het instellen van je display, maar ook bijvoorbeeld voor het touchgedeelte. Zelfs bij het vrij gangbare touchscreen dat we in dit artikel gebruiken, was dat een beetje prutsen.

Kies een touchscreen dat door ESPHome wordt ondersteund.

4 Scherm met ESP32

Voor dit artikel hebben we een eenvoudige ESP32-2432S028 gebruikt, met een resistief touchscreen van 2,8 inch met 240 × 320 pixels. Dit model wordt ook wel de ‘Cheap Yellow Display’ genoemd, wat vooral met de gele printplaat te maken heeft.

Er zijn meerdere varianten. Zo wordt in de schermpjes vaak de ILI9341-chip als aansturing gebruikt, maar soms ook de ILI9342, zoals in ons exemplaar. Dat vergt dan een heel kleine, maar noodzakelijke aanpassing in je configuratie.

Je kunt het scherm flexibel inzetten voor je IoT-projecten. Zoek je een wat groter touchscreen, dan kun je bijvoorbeeld de CrowPanel van Elecrow overwegen. Die is er in een versie van 5 inch (ca. 32 euro) en 7 inch (ca. 42 euro), inclusief acrylbehuizing en verzending via de fabrikant. Beide versies hebben een touchscreen met hoge resolutie van 800 × 480 pixels en zijn voorzien van de modernere ESP32-S3-chip. Het touchscreen is capacitief, wat zeker voor kleinere bedieningselementen fijner werkt dan het resistieve touchscreen in ons goedkope alternatief.

Tegenwoordig bestaan er ook ronde touchscreens. Een leuke optie (zij het met beperkte schermruimte) is de ESP32-2424S012 met een ESP32-C3-microcontroller, een rond kleuren-touchscreen van 1,28 inch en in een witte of zwarte behuizing. Makerfabs heeft een vergelijk schermpje zonder behuizing. De LilyGo T-RGB heeft een wat groter 2,1inch-scherm (zonder behuizing), maar is ruim twee keer zo duur.

De ESP32-2432S028 is een voordelig scherm (onder), een wat duurder alternatief is het capacitieve 5inch-aanraakscherm met ESP32 van Elecrow (boven).

5 Add-ons voor ESPHome

Hoewel je bijvoorbeeld een pc met Python kunt gebruiken voor het bewerken van je configuratiebestanden en het flashen van de microcontroller met de software voor ESPHome, is het meestal veel makkelijker om de add-on voor ESPHome binnen Home Assistant te gebruiken. Dat geeft ook een ander groot voordeel: je kunt de configuratie voor alle apparaten met ESPHome binnen Home Assistant beheren. Je zult zeker in de testfase veel wijzigingen aan de configuratie moeten maken.

Via de add-on voor ESPHome voeg je eenvoudig microcontrollers toe.

6 Microcontroller toevoegen

We gaan nu een verse microcontroller toevoegen. Je kunt eventueel ESPHome Web gebruiken om de microcontroller voor te bereiden voor gebruik met ESPHome, maar wij geven zoals gezegd de voorkeur aan de ESPHome-add-on, die je binnen Home Assistant kunt openen.

Je kunt voor deze methode de microcontroller gewoon via usb aansluiten op je eigen pc, maar dit vereist wel dat je Home Assistant opent via een beveiligde https-verbinding. Lukt dat niet? Als alternatief kun je de microcontroller ook via usb aansluiten op het systeem met Home Assistant zelf, voordat je verder gaat in ESPHome.

Het dashboard van ESPHome toont alle toegevoegde apparaten.

Ook leuk: Werk met wat je hebt: creëer je eigen alarmsysteem met Home Assistant

7 Configuratie

Klik binnen ESPHome op New device om een nieuwe microcontroller te initialiseren. Vul bij Name een naam in voor het apparaat. Bij Network name vul je de naam (SSID) in van het wifi-netwerk waarmee de microcontroller moet verbinden en bij Password het bijbehorende wachtwoord. Klik dan op Next.

In de volgende stap zal ESPHome een configuratiebestand maken, firmware bouwen en de microcontroller flashen. Klik daarvoor dus eerst op Connect. Als het goed is, kun je nu de com-poort selecteren waarmee de microcontroller is verbonden. Zie je geen com-poort, dan zul je eerst drivers moeten installeren. De instructies krijg je als je het venster sluit zonder een com-poort te selecteren. Als de verbinding is gelukt, zal de installatie verdergaan. Lukt het niet? Dan kun je kiezen voor Skip this step gevolgd door een handmatige configuratie.

Vul een naam in en de details voor het wifi-netwerk.

Toepassingen voor een touchscreen

Er zijn veel leuke toepassingen voor een touchscreen. Zo kun je bijvoorbeeld een soort weerstation maken, dat je voorziet van actuele informatie van Home Assistant. Ook kun je live de opbrengst van je zonnepanelen laten zien of het verbruik in huis. Je zou een schermpje voor Music Assistant kunnen maken met bijvoorbeeld de weergave van het nummer en volumeregeling (zie ook: Met Music Assistant ben jij de baas over jouw muziekcollectie). Tot slot kun je een scherm gebruiken voor statusmeldingen of loggegevens.

8 Touchscreen met ESP32

We gebruiken in dit artikel zoals gezegd de ESP32-2432S028 als voorbeeld. Dit is een touchscreen met ingebouwde ESP32-chip. Dit apparaatje kun je direct toevoegen aan ESPHome: precies zoals in paragraaf 7 staat omschreven, al moesten we in dit geval na het aanwijzen van de com-poort wel de boot-knop even indrukken.

Overigens bevat het apparaat meestal een voorgeprogrammeerde demo met een gebruikersinterface op basis van LVGL. Die zie je als je hem zo uit de doos op een voeding aansluit. Je kunt daarmee meteen de werking controleren. Je zult bij een model met resistief aanraakscherm overigens iets harder moeten drukken dan je misschien gewend bent.

We gebruiken dit voordelige 2,8inch-aanraakscherm, dat ook wel ‘Cheap Yellow Display’ wordt genoemd.

9 Schermconfiguratie

Na het toevoegen van je touchscreen heb je direct een basisconfiguratie voor ESPHome. Via Edit kun je deze configuratie aanpassen. Zowel voor het aansturen van het display als de registratie van het aanraken wordt SPI (Serial Peripheral Interface) gebruikt. Voor onze ESP32-2432S028 is dit de configuratie, rekening houdend met de gebruikte interne GPIO-pinnen:

We voegen nu eerst de configuratie van het display toe en in paragraaf 11 het touchgedeelte. Voor het display is de configuratie als volgt:

Merk op dat er ook een (oudere) variant van dit touchscreen is met de ILI9341. In dat geval gebruik je model: ILI9341 en invert_colors: false. Na het maken van de aanpassingen kies je Install. Je kunt nu kiezen hoe je de firmware wilt overbrengen. Meestal kies je Wirelessly voor over-the-air-updates. Het apparaat hoeft daarbij niet meer met jouw pc te zijn verbonden.

Binnen ESPHome kun je eenvoudig de configuratie bewerken.

10 LVGL-bibliotheek

Binnen ESPHome kon je voorheen met displays werken door binnen de component display met lambda bijvoorbeeld teksten met een bepaald lettertype naar je scherm te sturen. Als je LVGL gaat gebruiken, gebruik je geen lambda meer, maar alleen LVGL en widgets. Als eerste voegen we de LVGL-bibliotheek toe aan de YAML-code:

lvgl:
  buffer_size: 25%

De optie buffer_size is ons geval noodzakelijk, vanwege de afwezigheid van PSRAM. In paragraaf 13 voegen we ook nog widgets toe. Omdat we dat hier nog niet hebben gedaan, zie je na het flashen als het goed is een demo met een knop, checkbox, cirkel met tekst en schuifbalk.

11 Configuratie touchscreen

Bediening via het scherm is nog niet mogelijk. Daarvoor moeten we het touchscreen toevoegen aan de configuratie van ESPHome:

Bewaar de aanpassingen en installeer de nieuwe firmware. Controleer of je de demo goed kunt bedienen. De regels onder on_touch zorgen dat in de logs de geregistreerde coördinaten worden getoond. Er kunnen aanpassingen nodig zijn in de regels onder calibration en transform.

12 Backlight

Het display is voorzien van een achtergrondverlichting (backlight) via pin 21. We definiëren deze output als volgt:

Daarna configureren we de achtergrondverlichting, waarbij we verwijzen naar de hierboven gedefinieerde output.

Na het flashen zal de backlight standaard aanstaan. Eventueel kun je deze vanuit Home Assistant aan- en uitzetten en de helderheid ervan regelen, bijvoorbeeld op basis van afwezigheid. Je kunt ook een script maken om de helderheid bij inactiviteit terug te brengen. Daarvoor verwijzen we je naar het uitgewerkte voorbeeld op GitHub (zie kader ‘Code downloaden’).

Binnen Home Assistant kun je eventueel ook de backlight aan- en uitzetten.

13 Widgets toevoegen

Onder de regel lvgl kun je nu de gewenste LVGL-componenten toevoegen aan je YAML-configuratie. Denk aan bijvoorbeeld knoppen, schuifregelaars, grafieken of labels. In dit voorbeeld voegen we aan de bovenkant alleen twee widgets toe voor een dimbare led, te weten een schakelaar (button) en schuifregelaar (slider).

De meeste opties dienen voor het positioneren van de widget. We geven bijvoorbeeld de breedte (width) en hoogte (height) aan, halen de widgets iets van de rand of met x en y, en regelen de uitlijning met align. Het gedeelte bij on_click zorgt dat de bewuste lamp in Home Assistant wordt omgeschakeld bij het klikken op de button. Voor de slider doen we hetzelfde onder on_release. Die acties zijn overigens om veiligheidsredenen niet direct mogelijk. In paragraaf 16 leggen we uit hoe je dit kunt toestaan.

We voegen in dit voorbeeld alleen twee eenvoudige widgets toe.

Cookbook voor ESPHome en LVGL

We houden het hier redelijk eenvoudig, maar je kunt natuurlijk veel geavanceerdere gebruikersinterfaces maken. Zo is bijvoorbeeld een geneste structuur mogelijk, kun je op verschillende manieren een grid maken, en met pagina’s individuele schermen of secties in je gebruikersinterface maken. Daarbij kan elke pagina zijn eigen widgets hebben. ESPHome geeft op zijn website in een ‘cookbook’ nog wat praktische voorbeelden voor het werken met LVGL, ook in combinatie met Home Assistant.

De website van ESPHome heeft veel voorbeelden voor het werken met LVGL.

14 Interactie met Home Assistant

De entiteit voor de dimbare lamp heeft in Home Assistant de naam light.wledkantoor. De waardes zijn nodig om de widgets de juiste status te kunnen geven. Daarom voegen we hieronder een binary_sensor toe voor de status (aan of uit) en een sensor voor het helderheidsniveau. We werken vervolgens bij on_state en on_value de widgets bij als de status verandert in Home Assistant. Bij id vul je uiteraard de id van de betreffende widget in.

Gebruik de logfunctie om te zien of bijvoorbeeld een status verandert.

15 Toevoegen aan Home Assistant

De add-on voor ESPHome hebben we gebruikt om de microcontroller van firmware te voorzien. Maar je zult het apparaat hierna nog wel moeten toevoegen aan Home Assistant. Dat is heel eenvoudig: het wordt automatisch gevonden. In Home Assistant zie je via Instellingen / Apparaten en diensten het bewuste apparaat direct terug op het tabblad Integraties. Klik op de knop Toevoegen om het aan Home Assistant toe te voegen.

Het apparaat met ESPHome moet je nog toevoegen aan Home Assistant.

16 Acties toestaan

Als je het touchscreen bedient, zal Home Assistant een melding geven dat het ESPHome-apparaat heeft geprobeerd een actie in Home Assistant uit te voeren. Standaard is dit om veiligheidsredenen niet toegestaan, maar dit is eenvoudig op te lossen.

Ga naar Instellingen / Apparaten en klik dan onder het kopje Geconfigureerd op ESPhome. Achter het bewuste apparaat klik je vervolgens op Configureren. Zet een vinkje bij Toestaan dat het apparaat Home Assistant-acties uitvoert. Klik op Verzenden. Hierna zijn alle acties zoals het omschakelen van de lamp en regelen van de helderheid wel toegestaan.

Zorg dat het apparaat acties in Home Assistant mag uitvoeren.