# Home Assistant

Wanneer je jouw woning wilt automatiseren, kom je al snel uit bij Home Assistant. Dit gratis en open-source automatiseringsplatform ondersteunt een enorme hoeveelheid IoT-apparaten (Internet of Things), waaronder Hue, Shelly, KlikAanKlikUit, Google Home en ESPHome.

Zelf maak ik dagelijks gebruik van Home Assistant om mijn huis slimmer en comfortabeler te maken. Denk bijvoorbeeld aan het automatisch schakelen van verlichting op basis van tijd, weersomstandigheden of gemeten lichtsterkte (luxwaarden). Maar ook praktische toepassingen zoals herinneringen wanneer de vuilniscontainer aan de straat moet worden gezet behoren tot de mogelijkheden. Vrijwel alles wat je kunt bedenken, is te automatiseren.

Daarnaast werk ik met ESPHome, waarmee je zelf slimme sensoren, schakelaars en andere elektronische oplossingen kunt bouwen op basis van ESP32-microcontrollers. Hierdoor zijn de mogelijkheden vrijwel onbeperkt en kunnen automatiseringen volledig worden afgestemd op jouw wensen.

# 6 Poort I/O ESP32 bord

Het doel van dit project is het ontwerpen van een modulaire PCB met 6 ingangen en 6 uitgangen, aangestuurd door een ESP32 die geïntegreerd kan worden met Home Assistant.

De uitgangen maken gebruik van een 2N7002 N-channel MOSFET en zijn geschikt voor het schakelen van belastingen tot maximaal 60 V en 300 mA.

De ingangen zijn uitgerust met PC817 optocouplers, waardoor galvanische scheiding wordt gerealiseerd. Dit maakt het mogelijk om externe signalen van bijvoorbeeld 12 V of 24 V veilig te verwerken.

1\. Hardware design

[![image.png](https://humfra.nl/uploads/images/gallery/2026-04/scaled-1680-/H36WQfdtphwRGDD7-image.png)](https://humfra.nl/uploads/images/gallery/2026-04/H36WQfdtphwRGDD7-image.png)

[![image.png](https://humfra.nl/uploads/images/gallery/2026-04/scaled-1680-/Zh6wEWH3P3kplOxZ-image.png)](https://humfra.nl/uploads/images/gallery/2026-04/Zh6wEWH3P3kplOxZ-image.png)

# 2. Software design

# 3. Home Assistant koppeling

# 99. Informatie bronnen

Gebruikte fora en websites om dit project mogelijk te maken:

- [https://github.com/ElPercha/PLsi](https://github.com/ElPercha/PLsi)
- [https://electronics.stackexchange.com/questions/637023/esp32-opto-isolated-relay-board-not-working-pc817-opto-isolator-2n3904-npn-bj](https://electronics.stackexchange.com/questions/637023/esp32-opto-isolated-relay-board-not-working-pc817-opto-isolator-2n3904-npn-bj)
- [https://www.reddit.com/r/AskElectronics/comments/1s548yw/circuit\_review\_esp32\_gpio\_external\_input/](https://www.reddit.com/r/AskElectronics/comments/1s548yw/circuit_review_esp32_gpio_external_input/)

[](https://humfra.nl/books/6-poort-io-esp32-bord/page/1-hardware-design)

# Espcontrol

[EspControl — No-Code Smart Home Touch Controller](https://jtenniswood.github.io/espcontrol/)

EspControl is open-source software voor ESP32-touchscreens. Op het moment van schrijven worden de volgende modellen ondersteund:

<table class="align-left" id="bkmrk-10.1-inch-jc8012p4a1" style="border-width:0px;border-style:hidden;"><colgroup><col style="width:240px;"></col><col style="width:240px;"></col></colgroup><tbody><tr style="height:10px;"><td>- <span style="color:rgb(60,60,67);background-color:rgb(255,255,255);">10.1-inch JC8012P4A1</span>
- <span style="color:rgb(60,60,67);background-color:rgb(255,255,255);">7-inch JC1060P470</span>
- <span style="color:rgb(60,60,67);background-color:rgb(255,255,255);">4.3-inch JC4880P443</span>
- <span style="color:rgb(60,60,67);background-color:rgb(255,255,255);">4-inch ESP32-P4 86 Panel</span>
- <span style="color:rgb(60,60,67);background-color:rgb(255,255,255);">4-inch 4848S040</span>

</td><td>![image.png](https://humfra.nl/uploads/images/gallery/2026-06/scaled-1680-/R4OII9ux5Q4sppaR-image.png)

</td></tr></tbody></table>

Zelf gebruik ik de 4848S040, die je via de bekende Chinese webshops kan aanschaffen voor ongeveer €18 per stuk. Dit is een 4-inch full-colour touchscreen met een uitstekende prijs-kwaliteitverhouding.

<span style="white-space:pre-wrap;">Als behuizing gebruik ik een 3D-geprint model van </span>[MakerWorld](https://makerworld.com/en/models/2581572-guition-esp32s3-4848s040-case-stand-v3#profileId-3013482)<span style="white-space:pre-wrap;">. </span>

De firmware kan eenvoudig worden geïnstalleerd via onderstaande link. Selecteer eerst het juiste schermtype, sluit vervolgens het scherm aan met een USB-kabel en kies de juiste COM-poort. Het flashen van de firmware duurt enkele minuten. Zodra de installatie is voltooid, start het scherm automatisch opnieuw op.

[Install EspControl Firmware | Espcontrol](https://jtenniswood.github.io/espcontrol/getting-started/install)

<span style="white-space:pre-wrap;">Na het opstarten maakt het scherm een eigen wifi-hotspot aan. Verbind met deze hotspot via je telefoon, tablet of laptop. Vervolgens kun je de wifi-instellingen configureren door in je browser naar het adres </span>**192.168.4.1**<span style="white-space:pre-wrap;"> te gaan.</span>

<span style="white-space:pre-wrap;">Als alles goed is gegaan, verschijnt er in Home Assistant automatisch een melding dat er een nieuw ESPHome-apparaat is gevonden. Je klikt dan eenvoudig op </span>**Add**<span style="white-space:pre-wrap;">. Mocht dit niet gebeuren, dan kun je het apparaat handmatig toevoegen via </span>**Settings → Devices &amp; Services → ESPHome → Add Device**<span style="white-space:pre-wrap;">. Voer hier het IP-adres van het scherm in en klik op </span>**Submit**.

<span style="white-space:pre-wrap;">De laatste stap is het openen van de instellingen van het zojuist toegevoegde apparaat door op het tandwiel-icoon te klikken. Schakel vervolgens de optie </span>**"Allow the device to perform Home Assistant actions"**<span style="white-space:pre-wrap;"> in. Deze instelling is essentieel. Wanneer deze optie niet is ingeschakeld, kan het scherm geen gegevens versturen naar Home Assistant, waardoor veel functionaliteit niet beschikbaar zal zijn.</span>

[Enable Actions | Espcontrol](https://jtenniswood.github.io/espcontrol/getting-started/home-assistant-actions)

Hoe je jouw device insteld kan ik een hoop over vertellen maar staat ook duidelijk uitgelegd op onderstaande link.

[EspControl Screen Setup | Espcontrol](https://jtenniswood.github.io/espcontrol/features/setup)

![image.png](https://humfra.nl/uploads/images/gallery/2026-06/scaled-1680-/b0xAyeJ7XSdUeKut-image.png)