Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid

© Gorodenkoff Productions OU

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid

Geplaatst: 31 januari 2024 - 08:29

Koen Vervloesem

Talloze acties in een slim huis kunnen afhangen van je aanwezigheid. Laat je verlichting bijvoorbeeld automatisch uitschakelen wanneer je de kamer verlaat. Of stuur een waarschuwing wanneer het dakraam nog open staat terwijl er al vijf minuten niemand meer op zolder is. Met Home Assistant en ESPresense zijn deze scenario’s eenvoudig te realiseren, via bluetooth of door extra sensors toe te voegen.

Een smarthome is niet zo nuttig als het alleen maar allerlei apparaten aan elkaar knoopt, maar je nog zelf alles handmatig moet aansturen via een app of webinterface. In het ideale geval gebeurt er zoveel mogelijk automatisch. Nu bestaan er ook allerlei manieren om beweging of aanwezigheid van personen te detecteren. Op basis daarvan kan je smarthome dan actie ondernemen.

In dit artikel realiseren we dit met Home Assistant. We gaan ervan uit dat je dit opensourcesysteem voor een smarthome al hebt geïnstalleerd. Heb je nog geen Home Assistant draaien? Lees dan dit artikel: Eén apparaat om heel je slimme huis mee aan te sturen? Het kan!

We koppelen Home Assistant vervolgens aan één of meer ESP32-ontwikkelbordjes waarop ESPresense draait: firmware die specifiek is ontwikkeld om de aanwezigheid van personen (of apparaten) te detecteren.

1 MQTT-broker installeren

ESPresense stuurt boodschappen via MQTT wanneer het aanwezigheid detecteert. Je hebt dus een MQTT-broker nodig. Die installeer je eenvoudig in de vorm van een add-on voor Home Assistant. Klik in de webinterface van Home Assistant op Instellingen / Add-ons en dan rechts onderaan op Add-on winkel. Kies bij de officiële add-ons Mosquitto broker. Klik op Installeer en wacht even tot de installatie is voltooid.

Open daarna het tabblad Configuratie. Vul bij Logins een gebruikersnaam en wachtwoord in waarmee ESPresense op de MQTT-broker kan aanmelden. Dat moet in de volgende vorm:

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-ba1AjYgDRkOcINiyEye0ZA

Klik daarna op Opslaan en op Herstart. In het tabblad Logboek zie je de add-on opstarten.

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-NDs2NXl-RziXBc19GoZyCw

Definieer een gebruiker en bijbehorend wachtwoord voor de MQTT-broker.

2 MQTT-integratie

Je hebt nu een MQTT-broker draaien, maar die draait los van Home Assistant. Om Home Assistant met de broker te laten spreken, moet je nog een integratie toevoegen. Ga daarvoor naar Instellingen / Apparaten & diensten, klik rechts onderaan op Integratie toevoegen en kies MQTT. Je ziet nu meerdere beschikbare integraties, maar eentje ervan staat afzonderlijk onder Ontdekt met de naam MQTT. Klik hierop en bevestig met Opslaan dat je verbinding wilt maken met de MQTT-broker van de add-on die je eerder hebt geïnstalleerd.

Daarna zie je in je lijst met integraties Mosquitto broker staan van het type MQTT. Klik op Configureer. Test nu of de verbinding correct werkt. Vul daarvoor onderaan bij het kopje Luisteren naar ‘onderwerp’ in het tekstveld voor het onderwerp test in en klik ernaast op Begin met luisteren. Vul bovenaan bij Publiceer een bericht bij het onderwerp eveneens test in en bij het bericht testbericht. Klik op Publiceer. Als onderaan je testbericht verschijnt, weet je dat de verbinding met de MQTT-broker werkt.

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-YECNMoLzQ5OiAsNuioZ3PA

Een succesvolle test van de verbinding met de MQTT-broker.

3 ESPresense installeren

ESPresense installeer je op een ESP32-ontwikkelbordje, dat je plaatst in de buurt van waar je je aanwezigheid wilt detecteren. De eenvoudigste manier van aanwezigheidsdetectie is via bluetooth: het bordje detecteert dan de bluetooth-signalen die je telefoon, smartwatch of een andere bluetooth-beacon verstuurt. Dit werkt met de meeste dualcore-ESP32-bordjes. Zie de pagina Base Stations van ESPresense voor meer informatie over de compatibiliteit.

Open de pagina Firmware installation in Google Chrome of Microsoft Edge. Sluit je ESP32-bordje via usb op je computer aan en kies bij Flavor de variant van de firmware die je wilt installeren. Standard werkt voor de meeste ontwikkelbordjes. Heb je een van de M5Atom-bordjes van M5Stack, dan kies je M5Atom. Bij Version laat je de standaardkeuze staan. Klik daarna op Connect. De browser vraagt je dan om een seriële poort te kiezen. Zie je er geen verschijnen, terwijl je bordje wel via usb is aangesloten, dan krijg je na een tijdje een dialoogvenster te zien met links naar drivers. Installeer die en probeer het opnieuw. Kies Install ESPresense en vink daarna ook Erase device aan.

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-TV98SBheTf2Ftx7wFU2Xaw

Installeer de firmware van ESPresense van in je browser.

4 Configuratie

Nadat de installatie is voltooid, vul je het SSID en wachtwoord van je wifi-netwerk in, en klik je op Connect. Wanneer je ESP-bordje met je wifi-netwerk is verbonden, kun je in je browser met een klik op Visit device de configuratiepagina op de ingebouwde webserver van ESPresense bezoeken. Dit is een heel lange pagina, maar de meeste opties hoef je niet in te stellen.

Je kunt de taal bovenaan op Nederlands instellen, maar het grootste deel van de configuratie is nog niet vertaald. De belangrijkste instelling is Room. Dit is de naam van de kamer waarin je het ESP32-bordje plaatst. Het is ook de locatie die Home Assistant toont als ESPresense je aanwezigheid detecteert. Daarna vul je onder MQTT bij Server het ip-adres van je MQTT-broker in, en daaronder de gebruikersnaam en het wachtwoord die je in paragraaf 1 hebt ingesteld. De poort houd je op 1883. Klik onderaan op Opslaan en bovenaan op Herstarten.

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-YBoBxs0vTfGGR0mFt2fWhg

Configureer ESPresense via de ingebouwde webinterface.

5 MQTT-berichten

Nadat je ESPresense op ESP32-bordjes in meerdere kamers hebt geïnstalleerd, kun je je aanwezigheid in al die kamers detecteren. Maar controleer eerst of je ESPresense-bordjes hun informatie naar de MQTT-broker doorsturen. Open daarvoor in Home Assistant Instellingen / Apparaten & diensten en klik op MQTT. Klik naast Mosquitto broker op Configureren, vul onder Luisteren naar ‘onderwerp’ bij Onderwerp om op te abonneren het onderwerp espresense/# in, schakel Opmaken JSON inhoud in en klik op Begin met luisteren.

Als alles goed gaat, krijg je nu voor elk bluetooth-apparaat dat een van je ESPresense-bordjes detecteert een bericht binnen. Achter "mac" staat het bluetooth-adres van het gedetecteerde apparaat en achter "distance" de geschatte afstand in aantal meters van het apparaat tot het ESP32-bordje. Achter "id" komt de unieke naam waarmee ESPresense het apparaatje identificeert. Klik op Stop met luisteren wanneer dit werkt.

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-fKY3avt2T4WhQctJOGu6Sg

Na de installatie van ESPresense ontvangt je MQTT-broker talloze detectieberichten.

6 Apparaten identificeren

Nu is het belangrijk dat je kunt identificeren welk apparaat welk ID heeft. Dat doe je het best in een mobiele app als nRF Connect for Mobile, die op Android en iOS werkt. Open de app, scan naar bluetooth-apparaten en druk dan in de lijst van gevonden apparaten op het apparaat dat je interesseert, zodat je meer informatie te zien krijgt. Het belangrijkste is het MAC-adres, van de vorm FB:AE:ED:8B:7F:7F.

We gaan er hier overigens van uit dat het om een bluetooth-beacon gaat. Op de pagina Beacons van ESPresense vind je een lijst met ondersteunde apparaten. Zie ook het kader ‘Je smartphone volgen’ als je je aanwezigheid op basis van je smartphone wilt detecteren. Zoek nu in de MQTT-onderwerpen naar een apparaat met het opgegeven MAC-adres (maar dan in de vorm fbaeed8b7f7f) en noteer het bijbehorende ID, zoals sd:0xfcd2.

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-U_zASjJoR46B91R-4Ex0OQ

Zoek in nRF Connect for Mobile het MAC-adres op van het apparaat dat je wilt detecteren.

7 Home Assistant configureren

Nu moet je in Home Assistant nog configureren dat de MQTT-berichten van ESPresense waarin je geïnteresseerd bent aan het juiste apparaat worden gekoppeld. Installeer daarvoor via Instellingen / Add-ons de File editor en schakel na de installatie de optie Weergeven in zijbalk in. Daarna klik je in de linkerzijbalk van Home Assistant op File editor. Dit opent het configuratiebestand config/configuration.yaml van Home Assistant. Voeg hieraan de volgende regels toe:

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-chd4VrzzQQ-XDyEWvj59bg

Bij device_id vul je het ID in dat je in paragraaf 6 hebt gevonden en bij name een naam waaronder je het apparaat in Home Assistant wilt zien. Voor elk apparaat waarvan je zo de aanwezigheid wilt detecteren, voeg je bovenstaande regels toe, behalve sensor:, dat maar één keer hoeft. Sla het bestand op met een klik op het icoontje van de diskette bovenaan rechts. Open Instellingen / Systeem en klik op het icoontje bovenaan om Home Assistant te herstarten.

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-c8qWlY8kTua4fA1oiKjbLQ

Configureer welke apparaten je met ESPresense wilt opvolgen.

8 Aanwezigheid in Home Assistant

Als je nu in Instellingen / Apparaten & diensten op het tabblad Entiteiten klikt en zoekt naar de naam die je in de vorige stap voor je apparaat hebt gedefinieerd, vind je een sensor voor de aanwezigheid van je apparaat. Is het apparaat niet gevonden, dan heeft de sensor de status not_home.

Als het apparaat wel gevonden is, dan krijgt de sensor als status de naam van het dichtstbijzijnde ESPresense-bordje, zoals woonkamer of bureau. Je krijgt ook een attribuut te zien met de afstand. Je kunt deze sensor nu op je dashboard tonen en gebruiken in automatiseringen.

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-XmBCXGb-QKO3jTXyEWn1aA

Home Assistant herkent de locatie van je apparaat.

9 Personen detecteren via radar

Bluetooth is handig om personen te detecteren, maar dit heeft één groot nadeel: het werkt alleen als die personen een bluetooth-apparaat daadwerkelijk bij zich hebben. Als het je niet uitmaakt wie er is, maar je gewoon wilt weten óf er een persoon aanwezig is, zijn er andere technologieën, zoals mmWave-sensors (zie ook het kader ‘Bewegings- en aanwezigheidssensors’).

Een populair product is de mmWave-sensor LD2410, die radiogolven op een frequentie van 24 GHz verstuurt en op basis van de gereflecteerde golven personen kan detecteren. Dit werkt zowel voor bewegende als voor stilstaande personen, wat dus ideaal is voor thuisautomatisering. De sensor bestrijkt een gebied in een hoek van ongeveer zestig graden met een bereik tot 5 meter. ESPresense heeft ondersteuning voor de LD2410 ingebouwd.

10 LD2410 aansluiten

De LD2410 komt op een bordje met vijf aansluitingen in 1,27mm-pitch. Dat is helaas de helft van de afmetingen van de normale 2,54mm-pitch van jumperdraden die in een breadboard of op de pinnen van een ESP32-ontwikkelbordje passen. In dat geval zul je de aansluitdraden moeten solderen. Het bordje komt zoals op de foto ook in een variant met een header (de witte aansluiting rechts op de foto) waarin een meegeleverde 1,27mm-stekker past met aan de andere kant jumperdraden met 2,54mm-stekker.

De aansluitingen worden in de oriëntatie op de foto van boven naar beneden gebruikt voor OUT, UART_Tx, UART_Rx, GND en 5 V. ESPresense heeft alleen OUT, GND en 5 V nodig. Op de pin OUT komt een hoog signaal (3,3 V) als de sensor een persoon detecteert en een laag signaal (GND) indien niet. Sluit 5 V van de LD2410 op 5 V van de ESP32 aan, GND op GND en OUT op GPIO13 van de ESP32.

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-T2jX1yFtS0Cb2sjOmLuVbA

De LD2410 geeft een signaal op de pin OUT bij aanwezigheid van een persoon.

11 LD2410 configureren

Sluit je ESP32-bordje op stroom aan en wacht even tot het is opgestart en verbonden is met wifi. Log dan op de webinterface in en scrol naar GPIO Sensors. De instellingen voor de LD2410 staan onder het kopje Radar. Verander Radar motion pin type naar Pulldown en vul bij Radar motion pin de GPIO-pin in waarop je de OUT van de sensor hebt aangesloten, in ons geval dus 13. Klik op Save en dan Restart device.

Kijk nu in Home Assistant bij Instellingen / Apparaten & diensten en klik op het tabblad Entiteiten. Zoek dan naar de naam van je ESPresense-apparaat waarop je de LD2410 hebt aangesloten. De entiteit voor de aanwezigheidsdetectie heet ESPresense [Naam apparaat] Motion. Zolang er iemand binnen het bereik van de sensor is, of die nu beweegt of niet, heeft die entiteit in Home Assistant de status Gedetecteerd.

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-K0nb0JhRSseCdFvPjNFi2w

Configureer de pin waarop de radarsensor zijn signaal geeft.

12 Beweging detecteren via een PIR-sensor

Een ander type sensor is een PIR-sensor. Die meet het infraroodlicht dat door voorwerpen of personen in zijn gezichtsveld wordt uitgestraald. Als de sensor een plotselinge verandering in het infraroodlicht detecteert, betekent dit dat er beweging is.

Een voorbeeld van zo’n PIR-sensor is de AM312, die drie pinnen heeft. De VIN van de sensor sluit je op 3,3 V van de ESP32 aan, GND op GND en OUT op GPIO13. Sluit je ESP32-bordje op stroom aan en wacht even tot het is opgestart en met verbonden is wifi. Log dan op de webinterface in en scrol naar GPIO Sensors. De instellingen voor de PIR-sensor staan onder het kopje PIR. Verander PIR motion pin type naar Pulldown en vul bij PIR motion pin de GPIO-pin waarop je de OUT van de sensor hebt aangesloten, in ons geval dus 13.

Vergeet ook niet de radarsensor uit te schakelen als je die eerder op dit bordje had aangesloten. Dat doe je door bij Radar motion pin de waarde -1 in te vullen. Klik op Save / Restart device, waarna je bewegingssensor ook bij de entiteiten binnen Home Assistant te zien is.

Wie niet weg is, is gezien! Automatiseer je huis op basis van aanwezigheid-ZVHye4PwQLuOE31H10cAgg

De AM312 is een populaire PIR-sensor om beweging te detecteren.

13 En verder

ESPresense ondersteunt ook nog de HX711. Dit is een versterker voor gewichtssensors. Je verbindt dan een of meer gewichtssensors met de HX711 en die geeft een signaal aan je ESP32 wanneer die een gewicht detecteert. Zo’n gewichtssensor plaats je dan bijvoorbeeld onder de matras van je bed of onder het zitvlak van je stoel. Zo automatiseer je eenvoudig taken die moeten gebeuren als je in bed ligt of op je stoel zit. Bekijk tot slot ook de pagina Troubleshooting op de website van ESPresense. Daarin vind je tips voor als je tegen problemen aanloopt. 

0

Powered by

logo
Deel dit artikel
Voeg toe aan favorieten