ID.nl logo
MQTT: hét protocol voor domotica
© PXimport
Zekerheid & gemak

MQTT: hét protocol voor domotica

Er bestaan talloze domoticaprotocollen, maar uiteindelijk moet je ze allemaal aan elkaar knopen in één oplossing. MQTT (Message Queuing Telemetry Transport) is sinds jaar en dag hét protocol om boodschappen uit te wisselen op het gebied van het Internet of Things en domotica. Wat is het, hoe werkt het en hoe ga je ermee aan de slag in je eigen huis?

Als je een tijdje met domotica bezig bent, dan heb je waarschijnlijk apparaten in huis die allerlei protocollen gebruiken: Z-Wave, ZigBee, Thread, KNX, maar ook wifi en bluetooth zijn voor domotica bruikbaar. 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 domoticaplatformen die al deze standaarden ondersteunden. Zo heb je HomeKit van Apple, SmartThings van Samsung … Een groep bedrijven waaronder Apple, Google, Amazon en de ZigBee Alliance werken sinds kort samen aan een nieuwe standaard: Project Connected Home over IP. Maar we vragen ons af of die platformen zo dan wel lekker met elkaar gaan samenwerken. En dat terwijl 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).

01 Message Queuing Telemetry Transport

MQTT is ontwikkeld door IBM als een protocol dat efficiënt gebruikmaakt van de beschikbare netwerkbandbreedte en allerlei soorten data kan doorsturen. In MQTT staat de broker (de server) centraal, die de communicatie tussen zenders en ontvangers in goede banen leidt. Die zenders en ontvangers (de clients dus) worden in het MQTT-protocol publishers (uitgevers) en subscribers (abonnees) genoemd.

©PXimport

02 Boodschappen uitwisselen

Een broker kan meerdere clients hebben en elke client kan ook zowel zenden als ontvangen. Eigenlijk werkt de broker als tussenpartij zodat zenders en ontvangers niet van elkaars bestaan hoeven af te weten om boodschappen uit te wisselen.

Dat gaat als volgt: elke MQTT-boodschap heeft een onderwerp (topic) en een inhoud (payload). Een client die in een onderwerp geïnteresseerd is, abonneert zich daarop bij de broker. Een client die een boodschap wil sturen, publiceert zijn inhoud door een boodschap met een specifiek onderwerp naar de broker te sturen. Zodra de broker een boodschap ontvangt, stuurt hij die door naar alle clients die op dat onderwerp zijn geabonneerd.

©PXimport

03 Onderwerpen zoals url’s

Een ‘onderwerp’ in MQTT is vergelijkbaar met wat een url voor het web is. Zoals elke webpagina op het web een unieke url heeft, heeft elke eigenschap die je op MQTT wilt publiceren een uniek onderwerp. En net zoals bij een url heeft een MQTT-onderwerp een hiërarchische naam met onderdelen die van elkaar worden gescheiden door een /. Er is wel een belangrijk verschil: een onderwerp start nooit met een /.

Een ander verschil met url’s is dat er geen vastgelegde topdomeinen zijn. Elke toepassing is vrij om een hiërarchie te kiezen. Een domoticatoepassing als Home Assistant doet dat door de onderwerpen voor de toestand van zijn componenten van de volgende vorm te maken: <discovery_prefix>/<component>/[<node_id>/]<object_id>/state.

Daarbij is discovery_prefix standaard gelijk aan homeassistant, component het type component, zoals binary_sensor enzovoort. Een voorbeeld van een onderwerp is homeassistant/sensor/slaapkamer_temperature/state, die als inhoud de temperatuur van een temperatuursensor in de slaapkamer bevat, zoals 18.7.

©PXimport

04 Wildcards

MQTT gebruikt ook wildcards voor onderwerpen. Een client die in alle onderwerpen onder homeassistant/sensor/slaapkamer_temperature is geïnteresseerd, abonneert zich dan op homeassistant/sensor/slaapkamer_temperature/#. Hij krijgt dan ook boodschappen over de onderwerpen homeassistant/sensor/slaapkamer_temperature/last_updated, homeassistant/sensor/slaapkamer_temperature/last_changed enzovoort.

En als een client in alle onderwerpen van Home Assistant is geïnteresseerd is, abonneert hij zich op homeassistant/#. De wildcard # komt dus overeen met alle componenten vanaf dat niveau in de hiërarchie van het onderwerp. Het ultieme wildcard-onderwerp is #: hiermee ontvangt een client álle berichten van de MQTT-broker.

Soms is een client geïnteresseerd in alle onderwerpen met een specifieke naam van het onderste niveau, ongeacht van het niveau erboven. Daarvoor gebruik je de wildcard +, die overeenkomt met alle componenten van het onderwerp op het huidige niveau. Zo abonneer je je bijvoorbeeld eenvoudig op de boodschappen over de laatste veranderingen van alle sensors in Home Assistant: homeassistant/sensor/+/last_changed.

©PXimport

Conventies over de naamgeving

Omdat MQTT niets voorschrijft over de naamgeving van de onderwerpen, kiezen verschillende systemen hun eigen naamgeving. Gelukkig zijn er enkele conventies ontstaan. Een vroege conventie die door heel wat software wordt gevolgd, was mqtt-smarthome, maar dit project is de laatste jaren niet zo actief meer. Een recenter project is Homie. Dat is nog niet echt doorgebroken, maar wel veelbelovend. En uiteraard hebben ook domoticaplatformen zoals Home Assistant hun eigen MQTT-conventies. De bedoeling van zulke conventies is dat domotica-apparaten automatisch worden ontdekt, geconfigureerd en gebruikt, zodat ze plug-and-play met je domoticacontroller samenwerken.

©PXimport

05 MQTT-broker in de cloud

De gemakkelijkste manier om met MQTT aan de slag te gaan, is gebruik te maken van een MQTT-broker in de cloud. Dan hoef je zelf geen MQTT-broker te installeren, maar het nadeel is dat je van je internetverbinding afhankelijk bent. Voor een domoticasysteem is dat niet ideaal: als je internetverbinding uitvalt, werken je apparaten die via MQTT communiceren niet meer. Bovendien moet je erop vertrouwen dat de clouddienst de toegang tot zijn broker goed beveiligt.

Maar om te experimenteren met MQTT is een MQTT-broker in de cloud een goed begin. Dat kan bijvoorbeeld met Adafruit IO, een platform van Adafruit om eenvoudig sensordata naar de cloud te sturen. Maak een gratis account aan met een klik op Get Started for Free bovenaan rechts. Met dit gratis account kun je dertig datapunten per minuut verwerken, krijg je dertig dagen gratis opslag en heb je toegang tot vijf feeds. Nadat je ingelogd bent, klik je rechtsboven op View AIO Key. Laat deze pagina even open staan, want deze gegevens dien je dadelijk te kopiëren.

Bij Adafruit IO moet je nog iets speciaals doen omdat het extra beperkingen oplegt aan de MQTT-boodschappen. Je moet in de webinterface een nieuwe feed aanmaken en kijk daarna in de feedinformatie naar het bijbehorende MQTT-onderwerp. Die gebruikt de vorm gebruikersnaam/feeds/feed-key. Volg bijvoorbeeld de workshop over Adafruit IO, waarin je een vochtsensor via een ESP8266 gegevens naar Adafruit IO laat sturen.

©PXimport

06 MQTT Explorer

Als je eens wilt kijken welke boodschappen je MQTT-clients allemaal naar je broker sturen, dan is het handig om een gebruiksvriendelijke client te hebben. Bijvoorbeeld MQTT Explorer, dat zowel op Windows en macOS als op Linux draait.

In het venster van verbindingen dat na het opstarten verschijnt, klik je op het gele plusteken naast Connections om een nieuwe verbinding te definiëren. Geef de verbinding een naam (bijvoorbeeld Adafruit IO), zet Encryption (tls) aan, laat Protocol op mqtt:// staan, vul bij Host de hostname io.adafruit.com in en bij Port poortnummer 8883. Bij Username vul je je gebruikersnaam bij Adafruit IO in en bij Password je Adafruit IO-key. Klik dan op Advanced, verwijder de twee standaard aangemaakte abonnementen en voeg een abonnement toe op de wildcard gebruikersnaam/#. Keer terug naar het vorige venster, klik op Save om het profiel op te slaan en dan Connect om met de MQTT-broker te verbinden.

©PXimport

07 Boodschappen verkennen

Als je nu een met Adafruit IO verbonden sensor een getal laat sturen naar de feed (of in de webinterface van Adafruit IO bij de feed op Add Data klikt), krijg je dat in MQTT Explorer te zien. Let overigens op, want het gratis account van Adafruit IO is beperkt tot dertig publicaties per minuut.

Maar je kunt de MQTT-verbinding ook eenvoudig uitproberen door in MQTT Explorer zelf een boodschap te publiceren. Vul rechts in het kader Publish bij Topic het onderwerp van een van je feeds in, vink raw aan en vul in het tekstveld eronder je boodschap in, zoals een meetwaarde. Klik daarna op Publish. Je ziet de boodschap nu links in MQTT Explorer verschijnen en als je in de webinterface van Adafruit IO kijkt, zie je het getal bij de feed.

©PXimport

08 Mosquitto installeren

Voor een domoticasysteem is het beter om zelf een MQTT-broker in huis te installeren: dan ben je niet afhankelijk van een andere partij of een werkende internetverbinding. De bekendste broker is Eclipse Mosquitto. Gebruik je Home Assistant als domoticaplatform, dan kun je Mosquitto daarin als add-on installeren.

Een andere optie is Docker, waarmee je een MQTT-broker op je Raspberry Pi of je nas draait. We gaan er in de volgende instructies van uit dat je Docker hebt geïnstalleerd. Zie bijvoorbeeld het artikel op onze website over Docker op de Raspberry Pi.

Maak eerst de directory’s aan waarin het programma zijn gegevens kan opslaan:

sudo mkdir -p /var/lib/mosquitto/{config,data,log}

Maak een configuratiebestand voor Mosquitto:

sudo nano /var/lib/mosquitto/config/mosquitto.conf

En plaats daarin de volgende regels:

port 1883

persistence true

persistence_location /mosquitto/data/

log_dest file /mosquitto/log/mosquitto.log

Sla je wijzigingen op met Ctrl+O en sluit nano af met Ctrl+X. Download en start daarna de Docker-container van Mosquitto:

docker run -d --restart always -p 1883:1883 -v /var/lib/mosquitto:/mosquitto eclipse-mosquitto

Als je daarna de opdracht docker ps uitvoert, zie je de Docker-container draaien, ook na een herstart van je Raspberry Pi.

Maak nu een nieuw profiel in MQTT Explorer aan, vul de hostname of het ip-adres van je Raspberry Pi in en poortnummer 1883. In dit voorbeeld maken we geen gebruik van encryptie (TLS) en ook niet van een gebruikersnaam en wachtwoord.

MQTT-brokers om te testen

Wil je niet onmiddellijk een account bij een dienst aanmaken, dan kun je ook een gratis testserver zonder account gebruiken. Zo is er http://test.mosquitto.org. Bezoek je deze website, dan krijg je de benodigde verbindingsdetails te zien. Maak dan een profiel in MQTT Explorer met deze gegevens aan. Maar let op: iedereen kan alle boodschappen zien die naar deze MQTT-broker worden verstuurd. Stuur dus tijdens je test geen gevoelige gegevens in je boodschappen naar de broker.

©PXimport

09 Home Assistant

Als je al een domoticasysteem hebt draaien, is het nuttig om dat te integreren met je MQTT-broker. We tonen hier hoe je dat doet in Home Assistant (als je niet de Mosquitto-add-on hebt geïnstalleerd). Open in de webinterface van Home Assistant het menu Configuration / Integrations, klik op het oranje icoontje van het plusteken rechts onderaan en kies MQTT in de lijst met integraties.

Vul dan de verbindingsgegevens van je MQTT-broker in en vink Enable discovery aan. Klik op Submit. Daarna luistert Home Assistant naar boodschappen die naar je MQTT-broker worden verstuurd. Dankzij het mechanisme voor MQTT-discovery ontdekt Home Assistant zelfs automatisch nieuwe apparaten op je netwerk als die de conventies van Home Assistant volgen voor MQTT-boodschappen (zie ook het kader ‘Conventies over de naamgeving’).

Aan de andere kant kan Home Assistant met zijn integratie MQTT Statestream ook veranderingen in toestanden als MQTT-boodschappen publiceren. Op die manier krijg je een integratie in twee richtingen tussen Home Assistant en je MQTT-broker.

©PXimport

10 Node-RED

Ook Node-RED heeft een uitstekende ondersteuning voor MQTT. Zie onze basiscursus hoe je Node-RED installeert. Daarna kun je met de node mqtt in een Node-RED-flow laten reageren op een binnenkomende MQTT-boodschap.

Je definieert in de node het onderwerp waarnaar je luistert en de inhoud van de ontvangen boodschap wordt toegekend aan de payload van de node. Die kun je dan door andere nodes laten verwerken of in een dashboard tonen. Ook in de andere richting werkt het: met een node mqtt out kun je een MQTT-boodschap met een gegeven payload sturen naar een specifiek onderwerp. De nodes mqtt in als mqtt out vereisen beide dat je eerst een MQTT-broker met bijbehorende verbindingsinstellingen definieert.

©PXimport

11 Bluetooth

Heel wat goedkope sensors sturen hun gegevens door via bluetooth low energy. Zo kun je eenvoudig met een app op je smartphone de sensorgegevens uitlezen. Denk maar aan de Xiaomi Mi Flora-sensor die de temperatuur, lichtsterkte, grondvochtigheid en geleidbaarheid van de grond (een maat voor de hoeveelheid voedingsstoffen) meet. Xiaomi heeft ook bluetooth-thermometers, waarvan sommige zelfs met een e-ink-schermpje.

Deze en vele andere bluetoothsensors kun je met het programma bt-mqtt-gateway uitlezen op een Raspberry Pi. Het programma zet de meetgegevens dan om naar MQTT-boodschappen. Met de juiste configuratie, die je op de GitHub-pagina’s van bt-mqtt-gateway vindt, ontdekt Home Assistant zelfs automatisch de apparaten die door bt-mqtt-gateway worden uitgelezen.

©PXimport

12 Weersensors

Veel weersensors voor buiten, maar ook sommige temperatuursensors voor binnen, zenden hun meetgegevens op een radiofrequentie van 433,92 MHz. Dat is binnen de industriële, wetenschappelijke en medische frequentieband (ISM-band), die vrij mag worden gebruikt. Met een RTL-SDR-usb-dongel en bijbehorende antenne kun je alle sensors in en rond je huis uitlezen.

Dat doe je met de software rtl_433, die werkt op Windows, macOS en Linux (inclusief op een Raspberry Pi). Het programma herkent momenteel de protocollen van maar liefst 167 apparaten die in de ISM-band uitzenden. Het kan de ontvangen data ook naar een MQTT-broker sturen. Er is zelfs een Docker-container speciaal voor die taak, rtl_433toMQTT.

©PXimport

13 Z-Wave

Z-Wave is een draadloos mesh-protocol dat in Europa op een frequentie van 868,42 MHz werkt. Je hebt een speciale transceiver nodig om met de apparaten te communiceren. Je kunt die op een Raspberry Pi aansluiten, die dan als Z-Wave-gateway werkt. Mogelijke transceivers zijn de RaZberry die je op de gpio-header van de Pi bevestigt of een usb-transceiver zoals de Aeotec Z-Stick die je in een usb-poort van je Pi steekt.

Met Zwave2Mqtt op je Raspberry Pi vertaal je dan Z-Wave-boodschappen naar MQTT-boodschappen en omgekeerd. Op onze website vind je een cursus over de configuratie van Zwave2Mqtt. De software draait in Docker en biedt een webinterface waarmee je je Z-Wave-apparaten eenvoudig beheert. Er is ook integratie met MQTT-discovery van Home Assistant, zodat geconfigureerde apparaten automatisch in Home Assistant verschijnen.

©PXimport

14 ZigBee

Ook ZigBee is een populair draadloos mesh-protocol. Onder andere de lampen van Philips Hue en IKEA Trådfri maken gebruik van de technologie. De apparaten zijn meestal iets goedkoper dan vergelijkbare Z-Wave-apparaten. Met Zigbee2MQTT vertaal je ZigBee-boodschappen naar MQTT-boodschappen en omgekeerd. Je hebt daar wel een speciale transceiver voor nodig. Zigbee2MQTT werkt het best met de CC2531-usb-sniffer. Je moet daar eerst aangepaste firmware op flashen met een speciale downloadkabel en enkele jumperwires. Daarna sluit je de CC2531 via een usb-kabel aan op je Raspberry Pi. Dat zorgt voor minder storing, omdat ZigBee op dezelfde frequentieband (2,4 GHz) werkt als bluetooth en wifi. Zigbee2MQTT heeft in zijn standaardconfiguratie al MQTT-discovery voor Home Assistant ingebouwd.

©PXimport

15 KNX

Tot nu toe hebben we allemaal draadloze domoticaprotocollen besproken die je aan MQTT kunt koppelen, maar ook met bedrade protocollen zoals KNX is dit mogelijk. Zo is er knx-mqtt-bridge, die je rechtstreeks of in een Docker-container kunt draaien. KNX-boodschappen worden naar het MQTT-onderwerp knx/x/y/z geschreven, met x/y/z als het groepsadres. Waarden uit een groepsadres van KNX lezen, doe je door een MQTT-boodschap te sturen naar knx/x/y/z/read. En waarden naar een groepsadres schrijven, doe je met een boodschap naar knx/x/y/z/write.

Om dit project te gebruiken, heb je een KNX-ip-router nodig, die het KNX-netwerk met je computernetwerk verbindt. Knx-mqtt-bridge verbindt automatisch met je KNX-router via het multicast-adres. Je maakt het best in de ETS-software van je KNX-installatie een export van alle groepsadressen en hun datapunttypes. Naar dat xml-bestand verwijs je dan in het configuratiebestand van knx-mqtt-bridge. Op die manier worden waarden automatisch omgezet naar het juiste type vanuit hun ruwe waarden.

©PXimport

OpenMQTTGateway

De projecten waarnaar we in deze cursus verwijzen draaien voornamelijk op een Raspberry Pi, maar er zijn ook heel wat projecten die op minder krachtige hardware draaien. Interessant is bijvoorbeeld OpenMQTTGateway, dat op een ESP32, ESP8266 of Arduino draait. Je sluit dan op je microcontrollerbordje transceivers aan voor 433,92MHz-golven, bluetooth low energy, infrarood of LORA. De software ontvangt al die sensordata en stuurt ze in de vorm van MQTT-boodschappen naar je broker. Het project heeft een lijst met ondersteunde apparaten. Het voordeel van OpenMQTTGateway is dat het op een microcontroller draait, die minder beheer vraagt dan een Raspberry Pi.

©PXimport

16 Loxone

Een ander bekend bedraad domoticaprotocol is Loxone. Met PyLoxone kun je ondersteuning voor Loxone toevoegen aan Home Assistant. Als je dan MQTT Statestream in Home Assistant inschakelt, worden alle statusupdates van je Loxone-apparaten ook als MQTT-boodschappen gepubliceerd. Je stelt in het configuratiebestand van PyLoxone het ip-adres, poortnummer, gebruikersnaam en wachtwoord voor je Loxone-miniserver in.

Een andere oplossing is LoxBerry. Dat is een opensource-project dat op de Raspberry Pi draait en de functies van je Loxone-miniserver uitbreidt met behulp van allerlei plug-ins. Een van die plug-ins is MQTT Gateway, die Mosquitto als MQTT-broker installeert, en Loxone-boodschappen naar MQTT-boodschappen vertaalt en andersom. Op die manier zijn je Loxone-apparaten ook eenvoudig te integreren met Home Assistant, Node-RED en andere domoticasoftware.

17 Encryptie

In de voorbeeldconfiguratie van Mosquitto (stap 8) verloopt alle MQTT-verkeer onversleuteld. Dat is te verantwoorden als je je hele thuisnetwerk vertrouwt, maar anders schakel je beter encryptie in. Daarvoor dien je een TLS-certificaat voor de computer waarop Mosquitto draait aan te maken. In de online documentatie van Mosquitto vind je de nodige instructies.

Zodra je in het configuratiebestand van Mosquitto het gebruik van TLS hebt ingesteld en de clients ook hebt geconfigureerd, is de communicatie tussen alle clients en de broker versleuteld. Let op: dit is geen end-to-end-encryptie. De server kan dus alle communicatie lezen, omdat er bij gebruik van MQTT altijd een centrale broker dient te zijn.

©PXimport

18 Authenticatie en gebruikersrechten

In de standaardconfiguratie van Mosquitto kan iedereen op het netwerk zich abonneren op alle boodschappen om al het MQTT-verkeer af te luisteren. Dat kun je oplossen met authenticatie: je voegt gebruikers toe en maakt wachtwoorden voor hen aan, en stelt in dat Mosquitto alleen verbindingen van bekende gebruikers toestaat als ze zich met het juiste wachtwoord aanmelden.

Dat vul je dan nog aan met een toegangscontrolelijst. Daarin definieer je per gebruiker welke onderwerpen die gebruiker mag lezen en schrijven. Dat werkt ook hiërarchisch: zo kun je de gebruiker van Home Assistant lees- en schrijftoegang geven tot het wildcardonderwerp homeassistant/#, en de gebruiker van een dashboard om temperaturen weer te geven, beperken tot leestoegang tot de onderwerpen bt-mqtt-gateway/+/+/temperature en rtl433/+/+/+/temperature_C. Dankzij de flexibele hiërarchische opbouw van MQTT-onderwerpen is dat vrij eenvoudig.

MQTT over WebSocket

MQTT is ontworpen om over tcp/ip te draaien, meestal op poort 1883. Recentelijk is ook MQTT over WebSocket populair geworden, omdat dit het mogelijk maakt om rechtstreeks in een webbrowser via MQTT te communiceren. Daardoor kunnen webapplicaties dus met je MQTT-broker boodschappen uitwisselen. Een WebSocket-verbinding begint altijd als een http-aanvraag en schakelt dan over naar WebSocket. Een javascript-client in de web-app pakt de pakketten dan uit de WebSocket-laag uit en behandelt de MQTT-boodschappen die erin zitten. Andersom worden MQTT-boodschappen die de web-app wil sturen in een WebSocket-laag ingepakt en zo naar de MQTT-broker doorgestuurd. De broker moet dan uiteraard MQTT over WebSocket ondersteunen, wat bij populaire brokers zoals Mosquitto het geval is. MQTT over WebSocket verloopt meestal via poort 9001.

Ook geïnteresseerd in professionele beveiliging?

Vraag een offerte aan voor inbraakbeveiliging:

▼ Volgende artikel
Waar voor je geld: 5 draadloze in-ear oordopjes voor minder dan 75 euro
© ID.nl
Huis

Waar voor je geld: 5 draadloze in-ear oordopjes voor minder dan 75 euro

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Daarom speuren we een paar keer per week binnen een bepaald thema naar zulke deals. Muziek- of podcastliefhebber? Niets is zo fijn als ongestoord naar je favoriete nummers of podcasts luisteren. Met deze draadloze oordopjes heb je uitstekend geluid zonder de hoofdprijs te hoeven betalen.

True Wireless wil zeggen dat oordopjes of koptelefoons volledig draadloos zijn, zonder kabel tussen de oordopjes onderling. Ze maken verbinding via Bluetooth met bijvoorbeeld een smartphone. True Wireless wordt vooral gebruikt voor muziek luisteren, bellen en het handsfree bedienen van apparaten, met veel bewegingsvrijheid als belangrijkste voordeel. Wij vonden vijf betaalbare modellen voor je.

Sony WF-C500

Als je aan Sony denkt, denk je aan geluidskwaliteit, en de WF-C500 stelt op dat vlak zeker niet teleur. Het meest opvallende is de DSEE-technologie (Digital Sound Enhancement Engine). Deze techniek herstelt hoge frequentietonen die vaak verloren gaan bij het comprimeren van muziek, zoals bij sommige streamingdiensten. Hierdoor blijven je favoriete nummers rijker en gedetailleerder klinken. De pasvorm is klein en ergonomisch, waardoor ze ook voor langere luistersessies comfortabel in je oren blijven zitten. Met de bijbehorende Headphones Connect-app van Sony kun je het geluid volledig naar je eigen smaak aanpassen met een equalizer. De batterijduur is met 10 uur op een volle lading (en nog eens 10 uur extra via de oplaadcase) meer dan voldoende voor een paar dagen woon-werkverkeer of een lange studiesessie. Hoewel actieve ruisonderdrukking ontbreekt, sluiten de dopjes van zichzelf al redelijk goed af.

🎶Continue audioafspeeltijd: 10 uur (met oplaadcase 20 uur)
🔌Oplaadtijd: 2,5 uur
📡Bluetooth-versie: 5.0

JBL Tune Flex

Het unieke aan de JBL Tune Flex is de flexibiliteit in hoe je ze draagt. Standaard hebben ze een 'open' ontwerp, waardoor je bewust blijft van je omgeving. Dit is ideaal voor in het verkeer of op kantoor. Heb je toch behoefte aan meer isolatie en een diepere basrespons? Dan klik je de meegeleverde afsluitende oortips erop en verander je ze in een traditioneel in-ear model. Deze oordopjes zijn uitgerust met Active Noise Cancelling, warmee je storende achtergrondgeluiden wegfiltert, zodat je je volledig op je muziek of podcast kunt focussen. Het geluid zelf heeft de kenmerkende JBL Pure Bass-signatuur, wat zorgt voor een krachtig en energiek laag. Met de bijbehorende app kun je instellingen zoals de noise cancelling en het geluidsprofiel verder finetunen.

🎶Continue audioafspeeltijd: 8 uur (met oplaadcase 32 uur)
🔌Oplaadtijd: 2 uur
📡Bluetooth-versie: 5.2

Rolfstone Nova

De Rolfstone Nova is een interessant product van Nederlandse bodem. De ANC-functie filtert storende omgevingsgeluiden zoals het lawaai in de trein of het geroezemoes op kantoor effectief weg. Heb je juist wel behoefte aan contact met je omgeving, bijvoorbeeld in het verkeer? Dan schakel je eenvoudig de Ambient Mode in, die omgevingsgeluid juist versterkt doorlaat. De geluidskwaliteit is vol en helder, met een stevige bas die niet overheerst, wat het een prettige allrounder maakt voor verschillende muziekstijlen. Een ander sterk punt is de batterijduur; de oordopjes zelf gaan tot 7 uur mee en met de oplaadcase kun je dit verlengen tot een indrukwekkende 35 uur in totaal. Dankzij de IPX4-classificatie zijn ze bovendien zweet- en spatwaterdicht, waardoor ze ook prima geschikt zijn voor een rondje hardlopen. Ook handig: deze oordopjes kun je ook draadloos opladen!

🎶Continue audioafspeeltijd: 7 uur (met oplaadcase 35 uur)
🔌Oplaadtijd: 50 minuten
📡Bluetooth-versie: 5.2

Yamaha TW-E3B

Yamaha is geen onbekende in de muziekwereld en benadert oordopjes hierdoor net even anders dan de meeste merken. Bij de TW-E3B ligt de focus niet op de zwaarste bas of andere snufjes, maar juist op een natuurgetrouwe geluidsweergave en de gezondheid van je gehoor. Het belangrijkste kenmerk is Yamaha’s unieke ‘Listening Care’-technologie, waarmee het geluid op een intelligente manier wordt aanpgepast wanneer je op een lager volume luistert. Het zorgt ervoor dat je zowel de lage als de hoge tonen helder blijft horen, zonder dat je de muziek hard hoeft te zetten. Hierdoor kun je langer en veiliger genieten van een vol en rijk geluid. De algehele klank is, zoals je van Yamaha mag verwachten, zeer gebalanceerd en authentiek, bedoeld om de muziek te laten klinken zoals de artiest het heeft bedoeld. De oordopjes zelf zijn compact en licht, wat zorgt voor een comfortabele pasvorm. Met een IPX5-certificering zijn ze bovendien bestand tegen zweet en regen, dus een workout of een wandeling in een bui is geen enkel probleem. De batterij gaat zo'n 6 uur mee, met nog eens 18 uur extra via de oplaadcase.

🎶Continue audioafspeeltijd: 6 uur (met oplaadcase 24 uur)
🔌Oplaadtijd: 2 uur
📡Bluetooth-versie: 5.0

Oppo Enco Buds2

Oppo is een merk dat je misschien kent van de smartphones, maar ze maken ook zeer capabele audio-producten. De Enco Buds2 zijn daar een perfect voorbeeld van. Het meest in het oog springende kenmerk is de grote 10mm titanium driver, die zorgt voor een diepe en indrukwekkende basweergave die je normaal in duurdere oordopjes zou verwachten. Via de bijbehorende HeyMelody-app kun je kiezen uit verschillende ‘Enco Live’ geluidseffecten om de audio af te stemmen op jouw voorkeur, zoals een ‘Bass Boost’ voor nog meer impact. Een andere handige feature is de speciale ‘Game Mode’ die de vertraging tussen beeld en geluid minimaliseert, wat ideaal is voor het kijken van video’s of het spelen van games op je telefoon. De batterijduur is met 7 uur per lading en een totaal van 28 uur met de case uitstekend. De bediening gaat via aanraking en is ook nog eens te personaliseren. Dit alles maakt de Oppo Enco Buds2 een zeer complete en betaalbare keuze.

🎶Continue audioafspeeltijd: 7 uur (met oplaadcase 28 uur)
🔌Oplaadtijd: 1,5 uur
📡Bluetooth-versie: 5.2

▼ Volgende artikel
Honor 400 review – Boeiende midranger
© Rens Blom
Huis

Honor 400 review – Boeiende midranger

Honor is in Nederland – na al die jaren aanwezigheid – nog steeds een klein merk met een beperkte bekendheid. Best zonde, want toestellen als de Honor 400 laten zien dat de fabrikant een goede prijs-kwaliteitverhouding kan bieden. In deze review lees je meer over deze midrange smartphone.

Uitstekend
Conclusie

De Honor 400 is een waardevolle toevoeging aan het midrange smartphonesegment. Het toestel laat op veel vlakken een (erg) positieve indruk achter en krijgt zes jaar softwareupdates, waardoor je hem lang kunt gebruiken. Wij zijn al met al enthousiast over de Honor 400.

Plus- en minpunten
  • Premium ontwerp...
  • Goed scherm
  • Lange accuduur
  • Zes jaar software-updates
  • ...maar niet helemaal waterdicht
  • Minder krachtig dan sommige concurrenten
  • Drukke software

Strak ontwerp

Een midrange smartphone kan er heus premium uitzien, bewijst Honor met zijn nieuwste model. De Honor 400 heeft een frame van kunststof, een achterkant van mat glas en oogt naar onze mening erg fraai. Met 184 gram is de smartphone van gemiddeld gewicht. Je kunt hem lastig met één hand bedienen, wat vooral te wijten is aan het forse 6,55inch-scherm.

©Rens Blom

De Honor 400 draagt een IP65-certificering, wat wil zeggen dat hij tegen stof en een flinke regenbui kan. Let op: het toestel is niet bedoeld om mee te nemen in het zwembad. Sommige concurrerende smartphones kunnen dat wel.

©Rens Blom

Goed scherm

Het is vandaag de dag moeilijk om een midrange smartphone met een slecht scherm te vinden. Er is echter een groot verschil tussen een prima en een echt goed scherm. De Honor 400 is voorzien van een echt goed scherm. Het 120Hz-oledscherm heeft een hoge resolutie van 2736 x 1264 pixels, waardoor het beeldscherm scherper oogt dan een standaard Full-HD-display (1920 x 1080 pixels). De kleuren, maximale helderheid en functies om je ogen minder te vermoeien zijn allemaal indrukwekkend.

©Rens Blom

Specificaties

Van een midrange smartphone mag je anno 2025 krachtige en complete hardware verwachten. Honor heeft de expertise in huis om aan die verwachting te voldoen, maar weet ons niet op alle vlakken te overtuigen. Laten we beginnen met de processor. Dat is een Qualcomm Snapdragon 7 Gen 3. Een echte midrange processor die op zich snel genoeg is voor alle populaire apps. In dit prijssegment kun je echter ook krachtiger smartphones in huis halen. Dat merk je vooral bij het spelen van games. Daar is de Honor 400 geen koning in.

Voor de hoeveelheid werkgeheugen geldt hetzelfde. Met de 8 GB in de Honor 400 hoef je echt niet te klagen, maar er zijn veel concurrerende toestellen die over 12 GB beschikken. Op de lange termijn kun je daar profijt van hebben, want software- en app-updates lijken steeds meer werkgeheugen op te eisen.

©Rens Blom

Honor hecht blijkbaar meer waarde aan de hoeveelheid opslagcapaciteit. Want waar de meeste midrange smartphones het moeten doen met 256 GB, zit er 512 GB in de Honor 400. Een zee aan opslagruimte, waar na de installatie van de smartphone zo'n 475 GB van beschikbaar blijft.

Lange accuduur

De accuduur vinden we een heel belangrijk punt bij een smartphone. Honor scoort hier goed, want de 5300mAh-accu in de Honor 400 houdt het bij ons gemengde gebruik probleemloos een lange dag vol. We laden de smartphone op als we naar bed gaan of doen dat 's ochtends, als we onder de douche stappen. Opladen kan met maximaal 66 watt. Een adapter moet je – door EU-wetgeving – zelf regelen.

Aardig om te vermelden is dat de Honor 400 een silicium-koolstofaccu heeft. Dit nieuwe type accu voor smartphones kan meer energie opslaan, zonder fysiek groter te zijn dan de vorige generatie accu's. Meer energie leidt tot een hogere capaciteit – gemeten in mAh – en zo dus meer stroom voor jou als gebruiker. Steeds meer (midrange) smartphones krijgen een silicium-koolstofaccu. Honor loopt dus in de voorhoede mee.

©Rens Blom

Een 200 megapixel-camera

Achter op de Honor 400 vind je twee camera's en een grote flitser. De hoofdcamera heeft een zeer hoge resolutie van 200 megapixels en combineert al die pixels standaard om betere foto's in een lagere resolutie te maken. De camera presteert ruim voldoende, ook bij minder licht. Over de groothoeklens zijn we minder enthousiast, maar in de meeste situaties kun je er prima mee uit de voeten.

Hieronder van links naar rechts: de hoofdcamera (1X), de groothoekcamera en 4x zoom via de hoofdcamera.

©Rens Blom

Hoewel de Honor 400 geen aparte zoomcamera heeft, kun je wel aardig zoomen. Dat is te danken aan de megaresolutie van de hoofdcamera. Je zoomt in de camera-app in via de hoofdcamera, die eigenlijk een uitsnede maakt van een foto en het 'ingezoomde' resultaat aan je voorlegt. Onderstaande fotoserie laat zien wat je op die manier kunt bereiken. De herenhuizen aan de overkant van de gracht staan er duidelijk genoeg op.

©Rens Blom

Drukke software

De Honor 400 is voorzien van Android 15, voorzien van Honors eigen softwareschil. Die schil vinden we visueel en qua functies nogal druk. We vinden het ook jammer dat Honor wat extra apps zoals TikTok, Temu en Block Blast! op het toestel installeert. Gelukkig kun je ze verwijderen. Positiever zijn we over de samenwerking tussen Google en Honor om allemaal nuttige AI-functies in de telefoon te bakken. Daar kun je zeker leuk mee experimenteren.

©Rens Blom

Tot slot het updatebeleid. Honor scoort goede punten door de smartphone zes jaar Android-upgrades en beveiligingsupdates te geven. Dat is langer dan veel concurrenten.

Conclusie: Honor 400 kopen?

De Honor 400 is een waardevolle toevoeging aan het midrange smartphonesegment. Het toestel laat op veel vlakken een (erg) positieve indruk achter en krijgt zes jaar software-updates, waardoor je hem lang kunt blijven gebruiken. Wij zijn al met al enthousiast over de Honor 400.