{"id":139,"date":"2026-03-17T08:53:52","date_gmt":"2026-03-17T08:53:52","guid":{"rendered":"https:\/\/unen.nl\/?p=139"},"modified":"2026-03-17T09:06:41","modified_gmt":"2026-03-17T09:06:41","slug":"slimme-esphome-multisensor-un-sensor-12","status":"publish","type":"post","link":"https:\/\/unen.nl\/?p=139","title":{"rendered":"Slimme ESPHome multisensor: UN-SENSOR-12"},"content":{"rendered":"\n<p>In een slim huis lijkt het vaak alsof alles draait om lampen, scenes en fancy dashboards. Maar eerlijk?<br>Het echte werk gebeurt achter de schermen.<\/p>\n\n\n\n<p>Daar zit de logica. En die logica heeft input nodig.<\/p>\n\n\n\n<p>Daarom heb ik mijn eigen ESPHome sensor gebouwd: <strong>UN-Sensor-12<\/strong>.<br>Geen marketingnaam, gewoon praktisch. Zoals het hoort.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"225\" height=\"225\" src=\"https:\/\/unen.nl\/wp-content\/uploads\/2026\/03\/espnodmcu2.jpg\" alt=\"\" class=\"wp-image-141\" srcset=\"https:\/\/unen.nl\/wp-content\/uploads\/2026\/03\/espnodmcu2.jpg 225w, https:\/\/unen.nl\/wp-content\/uploads\/2026\/03\/espnodmcu2-150x150.jpg 150w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Waarom ik deze sensor heb gebouwd<\/h2>\n\n\n\n<p>Ik liep tegen een klassiek probleem aan:<br>te veel losse sensoren, te weinig overzicht.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bewegingssensor hier<\/li>\n\n\n\n<li>Deurcontact daar<\/li>\n\n\n\n<li>Temperatuur ergens anders<\/li>\n<\/ul>\n\n\n\n<p>En natuurlijk: batterijen die altijd leeg zijn op het verkeerde moment.<\/p>\n\n\n\n<p>Dus dacht ik: dit kan beter.<\/p>\n\n\n\n<p>Ik wilde \u00e9\u00e9n sensor die:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Meerdere deuren monitort<\/li>\n\n\n\n<li>Klimaatdata meet<\/li>\n\n\n\n<li>Altijd online is (geen batterijen)<\/li>\n\n\n\n<li>Direct reageert<\/li>\n\n\n\n<li>En er ook nog een beetje netjes uitziet in de webinterface<\/li>\n<\/ul>\n\n\n\n<p>Resultaat: deze multisensor.<br>En eerlijk is eerlijk: hij draait inmiddels een groot deel van mijn huis.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wat doet deze sensor precies?<\/h2>\n\n\n\n<p>De UN-Sensor-12 hangt bij mij in de gang en registreert:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udeaa Deuren<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gang deur<\/li>\n\n\n\n<li>WC deur<\/li>\n\n\n\n<li>Kast deur<\/li>\n<\/ul>\n\n\n\n<p>Perfect voor:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verlichting automatisch aan\/uit<\/li>\n\n\n\n<li>Aanwezigheidsdetectie<\/li>\n\n\n\n<li>Nachtlogica (niemand wil verblind worden om 03:00)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83c\udf21 Klimaat<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Temperatuur<\/li>\n\n\n\n<li>Luchtvochtigheid<\/li>\n<\/ul>\n\n\n\n<p>Niet super high-end (DHT11), maar meer dan voldoende voor:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trends<\/li>\n\n\n\n<li>Basis automatiseringen<\/li>\n\n\n\n<li>\u201cWaarom is het hier ineens zo warm?\u201d momenten<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udcf6 Diagnostiek<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WiFi signaal<\/li>\n\n\n\n<li>Uptime<\/li>\n\n\n\n<li>ESPHome versie<\/li>\n<\/ul>\n\n\n\n<p>Oftewel: als er iets stuk gaat, weet je het meteen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">De configuratie uitgelegd<\/h2>\n\n\n\n<p>De kracht zit in de eenvoud. Hieronder de belangrijkste onderdelen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Basis &amp; hardware<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">esphome:<br>  name: unsensor12<br>  friendly_name: UNSENSOR12esp8266:<br>  board: nodemcuv2<\/pre>\n\n\n\n<p>Gewoon een NodeMCU. Goedkoop, stabiel en perfect voor dit soort projecten.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Netwerk (belangrijk!)<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">wifi:<br>  ssid: !secret wifi_ssid<br>  password: !secret wifi_password<br>  manual_ip:<br>    static_ip: 192.168.226.15<\/pre>\n\n\n\n<p>Ik gebruik een <strong>vast IP-adres<\/strong>. Waarom?<\/p>\n\n\n\n<p>Omdat niets zo irritant is als een sensor die ineens een ander IP heeft en \u201cverdwijnt\u201d.<br>Stabiliteit &gt; magie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Deursensoren<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">binary_sensor:<br>  - platform: gpio<br>    name: \"Gang Deur\"<br>    pin: D6<\/pre>\n\n\n\n<p>Simpel en effectief.<\/p>\n\n\n\n<p>Belangrijk detail:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mode: INPUT_PULLUP<\/pre>\n\n\n\n<p>Hierdoor heb je geen externe weerstand nodig. Minder gedoe, minder kans op fouten.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Temperatuur &amp; luchtvochtigheid<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">- platform: dht<br>  model: DHT11<br>  pin: D4<\/pre>\n\n\n\n<p>Ja, de DHT11 is niet de Ferrari onder de sensoren.<br>Maar hij doet wat hij moet doen \u2014 en dat is precies genoeg.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">OTA &amp; API<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">api:<br>  encryption:<br>    key: \"...\"ota:<br>  - platform: esphome<\/pre>\n\n\n\n<p>Dit is waar ESPHome echt fijn wordt:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Direct gekoppeld aan Home Assistant<\/li>\n\n\n\n<li>Updates over WiFi<\/li>\n\n\n\n<li>Geen kabels, geen gedoe<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">De webinterface: niet standaard, maar beter<\/h1>\n\n\n\n<p>De standaard ESPHome webinterface is\u2026 prima.<\/p>\n\n\n\n<p>Maar \u201cprima\u201d is niet waarom je dit soort projecten bouwt.<\/p>\n\n\n\n<p>Dus ik heb hem aangepast.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Custom loader (alles in \u00e9\u00e9n keer laden)<\/h2>\n\n\n\n<p>Deze loader doet een paar slimme dingen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Laadt de offici\u00eble ESPHome UI<\/li>\n\n\n\n<li>Laadt mijn eigen CSS en scripts<\/li>\n\n\n\n<li>Voorkomt dubbel laden<\/li>\n\n\n\n<li>Heeft nette foutafhandeling<\/li>\n<\/ul>\n\n\n\n<p>Kort gezegd: hij maakt de interface robuust en uitbreidbaar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">styling (vun.css)<\/h2>\n\n\n\n<p>Ik heb de UI een volledige makeover gegeven:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Donker thema (want ogen)<\/li>\n\n\n\n<li>Cards met schaduw en diepte<\/li>\n\n\n\n<li>Duidelijke hi\u00ebrarchie<\/li>\n\n\n\n<li>Accentkleuren die echt iets betekenen<\/li>\n<\/ul>\n\n\n\n<p>Resultaat: een interface die voelt alsof hij onderdeel is van Home Assistant.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Interactie (pulse.js)<\/h2>\n\n\n\n<p>Dit script is misschien wel mijn favoriete onderdeel.<\/p>\n\n\n\n<p>Wat doet het?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Actieve rijen worden gehighlight<\/li>\n\n\n\n<li>Waardes die veranderen geven een \u201cpulse\u201d<\/li>\n\n\n\n<li>Werkt zelfs in shadow DOM (ESPHome UI is tricky)<\/li>\n<\/ul>\n\n\n\n<p>Oftewel: je ziet direct wat er gebeurt, zonder te zoeken.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"https:\/\/unen.nl\/wp-content\/uploads\/2026\/03\/Screenshot-2026-03-17-100555-1024x574.png\" alt=\"\" class=\"wp-image-144\" srcset=\"https:\/\/unen.nl\/wp-content\/uploads\/2026\/03\/Screenshot-2026-03-17-100555-1024x574.png 1024w, https:\/\/unen.nl\/wp-content\/uploads\/2026\/03\/Screenshot-2026-03-17-100555-300x168.png 300w, https:\/\/unen.nl\/wp-content\/uploads\/2026\/03\/Screenshot-2026-03-17-100555-768x430.png 768w, https:\/\/unen.nl\/wp-content\/uploads\/2026\/03\/Screenshot-2026-03-17-100555.png 1321w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Waarom dit project zo goed werkt<\/h1>\n\n\n\n<p>Wat dit project sterk maakt, is niet de techniek op zich, maar de combinatie:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Betrouwbare hardware<\/strong><\/li>\n\n\n\n<li><strong>Slimme configuratie<\/strong><\/li>\n\n\n\n<li><strong>Visuele feedback<\/strong><\/li>\n\n\n\n<li><strong>Directe integratie met Home Assistant<\/strong><\/li>\n<\/ul>\n\n\n\n<p>En misschien nog belangrijker:<br>alles is onder controle. Geen black boxes.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Wat zou ik verbeteren?<\/h1>\n\n\n\n<p>Natuurlijk is niets perfect:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DHT11 \u2192 upgraden naar DHT22 of BME280<\/li>\n\n\n\n<li>Behuizing netter maken<\/li>\n\n\n\n<li>Eventueel uitbreiden met motion sensor<\/li>\n<\/ul>\n\n\n\n<p>Maar eerlijk?<br>Voor dagelijks gebruik werkt dit al verrassend goed.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Conclusie<\/h1>\n\n\n\n<p>Deze sensor is zo\u2019n project dat klein begint, maar uiteindelijk een groot deel van je huis aanstuurt.<\/p>\n\n\n\n<p>En dat is precies wat je wilt:<\/p>\n\n\n\n<p>\ud83d\udc49 Minder losse componenten<br>\ud83d\udc49 Meer controle<br>\ud83d\udc49 Betrouwbare automatisering<\/p>\n\n\n\n<p>En stiekem ook een beetje trots als alles werkt zoals je het bedacht hebt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In een slim huis lijkt het vaak alsof alles draait om lampen, scenes en fancy dashboards. Maar eerlijk?Het<\/p>\n","protected":false},"author":2,"featured_media":140,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,7],"tags":[],"class_list":["post-139","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-esphome","category-home-assistant"],"_links":{"self":[{"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/posts\/139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/unen.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=139"}],"version-history":[{"count":3,"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/posts\/139\/revisions"}],"predecessor-version":[{"id":145,"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/posts\/139\/revisions\/145"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/media\/140"}],"wp:attachment":[{"href":"https:\/\/unen.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=139"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unen.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=139"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unen.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}