Geef je MQTT-gebaseerd domoticasysteem een dashboard met Homepoint op een M5Stack Core

Je domoticasysteem stuur je in veel gevallen aan via een webinterface op je laptop of een mobiele app op je smartphone. Maar altijd toegang tot je domoticasysteem hebben via een klein schermpje aan de muur is zeker zo handig. Je kunt zo'n apparaatje zelf in elkaar knutselen met een microcontrollerbordje, een schermpje en wat knoppen, maar als je het in de woonkamer wilt gebruiken, wil je niet dat er allerlei losse draadjes en printplaatjes te zien zijn.

Homepoint op een M5Stack Core

M5Stack, een jong Chinees bedrijf, biedt allerlei producten aan die gebouwd zijn rond een ESP32-microcontroller, die er niet als een ontwikkelbordje uitzien. Vooral interessant is de M5Stack Core BASIC Kit: een modulair, stapelbaar ESP32-bordje met een lcd-scherm van 2 inch en drie knoppen in een sobere behuizing. Die ziet er niet slecht uit in je woonkamer. De module is heel compact: 13 mm hoog, en 54 mm lang en breed. Ik heb er ondertussen al enkele in huis staan.

Een van de programma's die je op de M5Stack Core 1 kunt installeren, is Homepoint. Het biedt een interface om een op MQTT gebaseerd domoticasysteem aan te sturen en de status van sensors te tonen.

Voor Computer!Totaal schreef ik een artikel over hoe je Homepoint op je M5Stack Core installeert en er een dashboard voor je domoticasysteem van maakt. Ik leg er diverse configuraties uit. Een volledige configuratie vind je ook in het artikel dat ik een tijdje geleden over Homepoint in het Engelstalige gedeelte van mijn blog schreef.

Een systeem zoals Homepoint op een apparaatje zoals de M5Stack Core maakt je domoticasysteem veel toegankelijker. Een dashboard dat altijd beschikbaar is zonder dat je een laptop hoeft open te klappen of een smartphone moet ontgrendelen, doet je veel meer gebruikmaken van de sensorgegevens. Zo is de vraag "Is het koud buiten?" hier nu snel beantwoord :-)

1

De M5Core2 is momenteel nog niet ondersteund.

MQTT: hét protocol voor domotica

Als je een tijdje met domotica bezig bent, dan heb je waarschijnlijk apparaten in huis die allerlei protocollen gebruiken: Z-Wave, ZigBee, KNX, Loxone, maar ook Wi-Fi en Bluetooth. Dat levert al snel een taalbarrière op vanwege alle apparaten die hun eigen taaltje spreken.

Fabrikanten dachten daar iets op te hebben gevonden: ze ontwikkelden hun eigen domoticaplatforms die al deze standaarden ondersteunden. Zo heb je HomeKit van Apple en SmartThings van Samsung. En uiteraard bestaan er ook opensourceplatforms die hetzelfde bereiken, zoals Home Assistant.

Maar waarom al die moeite doen als er al twintig jaar een open protocol bestaat om op een gestandaardiseerde manier boodschappen uit te wisselen via ip-netwerken? MQTT (Message Queuing Telemetry Transport) is hét protocol voor domotica. Op de website van het project staat het concept van MQTT mooi geïllustreerd:

/images/mqtt-publish-subscribe.png

In een artikel in Computer!Totaal leg ik uit hoe MQTT werkt en hoe je het voor domotica gebruikt, bijvoorbeeld door een MQTT-broker zoals Eclipse Mosquitto op een Raspberry Pi of Linux-server in huis te installeren. Je leest er ook hoe je Home Assistant en Node-RED met je MQTT-broker integreert.

Het grootste deel van het artikel besteed ik aan allerlei projecten die andere protocols met MQTT koppelen en die je op een Raspberry Pi kunt installeren:

  • bt-mqtt-gateway om Bluetooth-sensoren uit te lezen

  • rtl_433toMQTT om via een RTL-SDR usb-dongle draadloze weersensoren uit te lezen die in de ISM-band rond 433,92 MHz uitzenden

  • Zwave2Mqtt om Z-Wave-apparaten aan te sturen

  • Zigbee2MQTT om Zigbee-apparaten (inclusief Philips Hue en IKEA Trådfri) aan te sturen

  • knx-mqtt-bridge om KNX-apparaten aan te sturen

  • LoxBerry met zijn MQTT Gateway om met Loxone-apparaten te communiceren

De meeste van deze projecten gebruik ik al jaren in mijn eigen domoticasysteem thuis, dat op een Raspberry Pi 4 draait.

Flexibel domoticasysteem

Waarom dan niet een domoticaplatform als Home Assistant gebruiken, dat ook allerlei protocols ondersteunt en een alles-in-éénoplossing aanbiedt? Ik ben zo inderdaad begonnen, maar Home Assistant is nogal beperkend: er wordt van uitgegaan dat je alles op één machine draait. Maar als je Raspberry Pi met Home Assistant in de kelder staat en je Zigbee-apparaten vooral op de zolder, zul je weinig ontvangst hebben met de Zigbee-transceiver op je Raspberry Pi aangesloten. Door bovenstaande programma's al die protocols naar MQTT te laten vertalen, kun je ze in principe allemaal op een andere machine draaien, die je plaatst waar die het beste bereik heeft.

Bovendien bestaat MQTT al veel langer dan Home Assistant en is het heel flexibel. Ik gebruik nog altijd Home Assistant, maar niet als alles-in-éénoplossing: in mijn domoticasysteem is het gewoon een van de vele onafhankelijk werkende componenten, namelijk een front-end. Home Assistant is dan ook uitstekend met MQTT te integreren. Wil ik ooit overschakelen naar een andere front-end, dan kan dat heel eenvoudig zonder dat dit een impact heeft op de andere componenten, zolang die front-end maar MQTT ondersteunt. En als ik bt-mqtt-gateway en rtl_422toMQTT wil vervangen door OpenMQTTGateway op een ESP32-microcontrollerbordje, dan kan dat ook. Dankzij MQTT kan mijn domoticasysteem met mijn veranderende wensen mee evolueren.