Hoe installeer je Zigbee2MQTT op een Raspberry Pi met een Sonoff Dongle-P
Stel je voor: je zonnepanelen wekken overdag stroom op, maar je elektrische auto laadt pas 's nachts op het duurste tarief. Je slimme thermostaat schiet tekort omdat hij niet praat met je laadpaal.
Je wilt alles zelf sturen, zonder dure abonnementen. Hier komt Zigbee2MQTT in beeld.
Het is een krachtige brug die al je goedkope Zigbee-sensoren en schakelaars direct in Home Assistant of Node-RED krijgt, via een USB-stick in je Raspberry Pi. Vandaag bouwen we die brug met een Sonoff Dongle-P. Je krijgt een echte doe-het-zelf oplossing die je energiebeheer naar een hoger niveau tilt.
Wat je in huis moet halen
Voordat we beginnen, check even of je de juiste spullen bij elkaar hebt liggen. Niets is zo vervelend als halverwege stilstaan omdat één klein onderdeel ontbreekt.
- Raspberry Pi: Een Pi 3B+ of nieuwer (4 of 5) draait soepel. Reken op ongeveer €40-70 voor een tweedehandsje of €60-90 voor nieuw.
- Opslag: Een MicroSD-kaart van 16GB of meer (klasse 10). Kost een tientje. Tip: een SSD via USB is nog beter voor de levensduur.
- Zigbee-dongle: Sonoff Zigbee 3.0 USB Dongle Plus (model ZBDongle-P). Deze koop je voor €15-25. Zorg dat je de 'P' versie hebt, die is krachtiger dan de 'E'.
- Stroom & Netwerk: Een goede 5V/3A voeding en een internetkabel of stabiele WiFi. Gebruik bij voorkeur bedraad internet voor je Pi.
- Optioneel maar handig: Een USB-verlengkabel van 1 meter. Dit is cruciaal! De Pi geeft namelijk storing af op de dongle. Hang de dongle los van de Pi om interferentie te vermijden.
De Sonoff Dongle-P is de hoofdrolspeler, maar de rest is net zo belangrijk voor een stabiele setup. Reken op een uurtje tot anderhalf uur voor de hele klus. De software installatie duurt 30 minuten, de configuratie en testen de rest.
Stap 1: Raspberry Pi voorbereiden
Je Pi is het brein. We installeren eerst het besturingssysteem.
- Download en brand de SD-kaart: Gebruik de Raspberry Pi Imager. Kies OS -> Raspberry Pi OS Lite (64-bit). Zet bij 'Advanced Options' SSH aan en vul je WiFi in (als je niet bedraad gaat). Brand de kaart. Duurt 5-10 minuten.
- Start op en login: Stop de kaart in de Pi, sluit internet en stroom aan. Wacht 2 minuten. Open een terminal (Mac/Linux) of PuTTY (Windows). Login met
ssh pi@raspberrypi.local(of het IP-adres). Wachtwoord is standaardraspberry. - Update je systeem: Voer dit meteen uit om bugs te voorkomen:
sudo apt update && sudo apt upgrade -y. Dit duurt 5-15 minuten afhankelijk van je internet. - Installeer Docker: Dit maakt installeren kinderspel. Voer deze regel een voor een in:
curl -fsSL https://get.docker.com | shsudo usermod -aG docker pi
We gaan uit van Raspberry Pi OS Lite (64-bit), want je hebt geen bureaublad nodig. Dit bespaart resources.
Veelgemaakte fout: Vergeet niet uit te loggen en weer in te loggen na de usermod-commando, anders werkt Docker niet zonder sudo. Typ exit en log opnieuw in.
Stap 2: Sonoff Dongle-P aansluiten en configureren
Hier gaat het gebeuren. De Dongle-P is een stukje hardware dat praat met al je Zigbee-apparaten: je goedkope Aqara sensoren, de Ikea lampen of die ene schakelaar van de Action.
- Sluit de Dongle aan: Steek de Dongle-P in de USB-poort van de Pi. Gebruik die verlengkabel die ik noemde! Hang de dongle ver van de Pi (minimaal 30 cm) om storing te vermijden. Dit is essentieel voor een stabiel netwerk.
- Vind het pad: In de terminal typ je:
ls /dev/serial/by-id. Je ziet iets alsusb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_.... Kopieer die lange naam tussen de aanhalingstekens. Dit is je 'pad' naar de dongle. - Check de firmware: De Dongle-P moet de juiste versie draaien. Meestal is die goed, maar checken kan via de Zigbee2MQTT Assistant app op je telefoon (iOS/Android). Zet je Pi in de 'pairing modus' door de Dongle even los te koppelen en weer aan te sluiten. Open de app, kies je Dongle (COM poort) en kies 'Coordinator'. Als je firmware ouder is dan 2023, update hem dan via de officiële site (zoek op "CC2652P firmware update"). Dit duurt 5 minuten.
We moeten hem eerst herkennen en de juiste firmware geven. Tip: Schrijf het pad van de dongle op een briefje.
Die heb je zo meteen nodig.
Stap 3: Zigbee2MQTT installeren via Docker
De magie begint. We draaien Zigbee2MQTT in een Docker-container.
- Maak een map: Typ:
mkdir /home/pi/zigbee2mqtten dancd /home/pi/zigbee2mqtt. - Maak het configuratiebestand: Typ:
nano configuration.yaml. Plak hier de basisconfiguratie. Dit is een voorbeeld voor energiebeheer, let op de aanpassingen:
Drukhomeassistant: true permit_join: false mqtt: base_topic: zigbee2mqtt server: mqtt://localhost:1883 serial: port: '/dev/serial/by-id/PL2303HXA_HUSBtoUART-if00-port0' # PAS DIT AAN MET JE EIGEN PAD! advanced: log_level: warn network_key: GENERATE_NEW # Dit genereert automatisch een veilige sleutel pan_id: 6754 ext_pan_id: [0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD]Ctrl+Oom op te slaan,Enter, enCtrl+Xom af te sluiten. - Docker Compose bestand: Maak een bestand
docker-compose.yml:nano docker-compose.yml. Plak dit:
Let op: je moet het pad hieronder ook aanpassen naar jouw specifieke ID. Sla op en sluit af (Ctrl+O, Enter, Ctrl+X).version: '3.8' services: zigbee2mqtt: container_name: zigbee2mqtt image: koenkk/zigbee2mqtt restart: unless-stopped volumes:- ./configuration.yaml:/app/data/configuration.yaml
- /dev/serial/by-id/PL2303HXA_HUSBtoUART-if00-port0:/dev/ttyACM0 # PAS DIT OOK AAN!
- TZ=Europe/Amsterdam
- Start de container: Typ:
docker compose up -d. Docker haalt nu het beeld en start het op. Duurt 2-5 minuten.
Dit houdt je systeem schoon en maakt updates simpel. We maken een mapje en een configuratiebestand. Veelgemaakte fout: Vergeet niet het pad in zowel configuration.yaml als docker-compose.yml aan te passen! Als je de verkeerde ID gebruikt, start de container niet.
Stap 4: Koppelen met Home Assistant en je energie-apparaten
Nu is het tijd om je apparaten te koppelen. We doen dit via de webinterface van Zigbee2MQTT.
Zorg dat je Home Assistant al draait (bijvoorbeeld via Docker of OS).
- Open de interface: Open je browser en ga naar
http://[IP-van-je-Pi]:8080. Je ziet de Zigbee2MQTT interface. Als dit niet werkt, check dan de logs metdocker logs -f zigbee2mqtt. - Permit Join: Zet de schakelaar 'Permit Join' bovenaan aan. Dit opent het netwerk voor 2 minuten.
- Koppel je eerste apparaat: Druk op de knop van je Zigbee-apparaat (bijvoorbeeld een Aqara energiemeter of een Shelly
