Theorie:
Ein Zigbeenetzwerk besteht aus einer "Basisstation" (Coordinator genannt), sowie den Clients (Sensoren, Aktoren) und eventuell noch Routern, um Sensoren mit der Basis verbunden zu bekommen, die zu weit weg für eine direkte Verbindung sind. Ausserdem lässt sich so das Maximum an sensoren erhöhen, die an den Coordinator angehängt werden können (Maximum ist glaub ich 15 Geräte direkt am Coordinator).
Praxis:
An den Pi wird ein CC253x (meist der CC2531, empfehlenswert mit Antenne und räumlich vom Pi abgekoppelt, um Störquellen im Empfang zu vermindern) betreiben, und so der Pi (mit IOBroker) als Basisstation/Coordinator aufgesetzt. Dazu benötigt man die Firmware von hier: https://github.com/Koenkk/zigbee2mqtt und bindet alles unter dem IOBroker mit dem Zigbeeadapter ein.
Die Sensoren werden dann direkt angelernt. Je nach Hersteller der Sensoren muss man einen Knopf auf unterschiedliche Weise drücken, um das Pairing einzuleiten, und in IOBroker das Pairing an der Basis starten.
Router baut man mit CC2531 Sticks, betrieben in USB-Ladegeräten an der Steckdose. Reichweite bei mir: >20m und um einige Ecken herum. Damit können Sensoren in Bereichen betrieben werden, wo diese keinen Kontakt zur Basis hergestellt bekommen
Firmware flashen:
Am besten ein Adapterkabel besorgen (https://www.aliexpress.com/item/4000114704860.html -> die Platine mit den beiden Flachbandkabel reicht), die Sticks mittels 4 Jumperkabel an den GPIO des Pi anhängen und per Kommandozeile brennen:
Anleitung:
https://lemariva.com/blog/2019/07/zigbee-flashing-cc2531-using-raspberry-pi-without-cc-debugger
Hinweis: bei mir funktionierte die dort verlinkte Firmware für den Router nicht, eine funktionierende Version gibt es hier:
https://ptvo.info/cc2531-based-router-firmware-136/