Om gebruik te maken van Zigbee2MQTT ben ik begonnnen met de goedkope CC2531 USB adapter met ingebouwde PCB antenne. Verder heb ik nog extra CC2530 + CC2591 routers gebouwd om het bereik te vergroten.
Dit werkt op zich erg goed, maar het kan altijd beter. Sinds kort ondersteunt Zigbee2MQTT ook de CC26X2R1 adapter. Deze is wat duurder (US$ 40,=), maar erg krachtig, ondersteunt meer directe connecties (50 vs. 20 met CC2531), meer cached routes (100/200 vs. 30/0 met CC2531) en heeft bovendien een erg groot bereik. Deze is verder krachtig genoeg om gebruik te maken van de nieuwste Zigbee 3.0 standaard.
Om bovenstaande redenen heb ik de CC26X2R1 adapter aangeschaft. Verder heb ik de planning om deze in een 3D geprinte behuizing te plaatsen.
Eventueel kun je ook nog een externe antenne aansluiten, maar dan moet je een weerstandje (erg klein) verleggen. Zie ook onderstaande uitleg van de connecties op het bord.
Om de externe antenne aan te sluiten moet je een weerstand 90 graden draaien op je bord, dus die moet je even los solderen, draaien en weer vast solderen.
Vooralsnog lijk ik deze externe antenne niet nodig te hebben. Mijn ervaring is dat dit bord duidelijk een veel beter bereik heeft dan de CC2531 adapter.
Flashen CC26X2R1
Om de CC26X2R1 van de juiste firmware te voorzien moet je onderstaande stappen zorgvuldig volgen:
- Sluit de CC26X2R1 aan op een vrije USB poort van je Windows PC
- Open de UniFlash Tool
- Wis de inhoud van de CC26X2R1 door te kiezen: “Settings & Utilities” menu, kies optie “Erase entire flash (You must reconnect to the target afterwards)” bij de ‘manual erase section’ en voer de actie uit. Ik kreeg nog de vraag om een update uit te voeren en dat heb ik gedaan. Hierna heb ik nogmaals een ‘Manual Erase Entire Flash’ gedaan.
- Sluit de UniFlash Tool
- Verwijder de CC26X2R1 van de USB poort en sluit hem weer opnieuw aan op vrije USB van je Window PC
- Open de UniFlash Tool
- Verander in het menu “Settings & Utilities” de “Erase Settings during Program Load” setting naar de waarde “All Unprotected Sectors”
- In het menu “Program” laad je de .hex file
- Flash de firmware door hier op de [Load Image] button te drukkken.
Wacht tot er onderin verschijnt: ‘Program Load completed succesfully’ - Sluit de UniFlash Tool
Je hebt nu de CC26X2R1 succesvol van nieuwe firmware voorzien en kunt deze gaan gebruiken met Zigbee2MQTT.
Configuratie op Raspberry PI
Als je het CC26X2R1 device aansluit op je Raspberry Pi zul je zien dat deze bekend is onder 2 USB devices:
ttyACM0: deze wordt voor data gebruikt (en die moet je dus kiezen)
ttyACM1: deze wordt voor debugging gebruikt
Met het commando ‘ls -la /dev/serial/by-id’ vind je de volgende device-id’s:
usb-Texas_Instruments_XDS110__03.00.00.05__Embed_with_CMSIS-DAP_L1100DHL-if00 -> /dev/ttyACM0 usb-Texas_Instruments_XDS110__03.00.00.05__Embed_with_CMSIS-DAP_L1100DHL-if03 -> /dev/ttyACM1
Dit betekent dus dat je het ‘device id’ dat eindigt op if00 moet kiezen voor data.
Configuratie van Zigbee2MQTT
Ik ben weer volledig ‘schoon’ begonnen met de configuratie van Zigbee2MQTT door een default configuration.yaml te gebruiken en de database.db file te verwijderen uit de ‘/opt/zigbee2mqtt/data’ directory. Verder heb ik de ‘pan_id’ in de default ‘/opt/zigbee2mqtt/data/configuration.yaml’ file veranderd naar een nieuwe waarde. Start hierna Zigbee2MQTT opnieuw op en pair al je ZigBee devices weer.
homeassistant: false permit_join: true mqtt: base_topic: zigbee2mqtt server: 'mqtt://192.168.1.70:1883' serial: port: /dev/serial/by-id/usb-Texas_Instruments_XDS110__03.00.00.05__Embed_with_CMSIS-DAP_L1100DHL-if00 disable_led: false advanced: log_level: info # Optional: ZigBee pan ID (default: 0x1a62) pan_id: 0x1a68 # Optional: ZigBee channel, changing requires re-pairing of all devices. Default: 11 # (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems) channel: 11
Zie ook mijn vorige blog met tips voor het pairen. Je zult merken dat dit pairen met de CC26X2R1 een stuk ‘soepeler’ gaat.
Bereik
Na een aantal weken werken met de CC26X2R1 in combinatie met drie CC2530 routers merk ik toch wel dat al mijn ZigBee sensoren een stuk stabieler zijn en een veel beter signaal hebben. Dit zie je mooi in een Grafana grafiek waarbij ik de Link Quality van elke ZigBee sensor handig in de gaten kan houden.
Conclusie
De CC26X2R1 is een erg krachtige adapter met veel mogelijkheden en ZigBee 3.0 support. Het verschil met een CC2531 oplossing merk je wel. Vooral de ondersteuning voor meer devices is erg prettig. Je kunt tenslotte je bestaande ZigBee 1.2 routers (CC2530) blijven gebruiken met deze adapter wat fijn is.
Denk je dat het ook mogelijk zou moeten zijn om alles niet opnieuw te hoeven pairen?
Helaas is dat volgens mij niet mogelijk. Zover ik heb kunnen lezen op internet moet je met een nieuwe pan_id beginnen. Ik moet er wel bij zeggen dat ik het niet op mijn originele pan_id geprobeerd heb. Het leek mij het beste om ‘vers’ te beginnen om eventuele issues uit te sluiten.
Mijn ervaring is dat pairing nu een stuk gemakkelijker en sneller gaat als met de CC2531. Binnen een uur had ik al (28) mijn devices (Routers, Xiaomi Motion, Xiaomi Cube, Xiaomi Switch, Xiaomi Smoke, Xiaomi Door, Xiaomi Vibration en Xiaomi Waterleak sensors) gepaired.
Hmm, daar valt inderdaad ook iets voor te zeggen. Heb 36 devices, Ik neem aan dat ik geen aanpassingen hoef te doen in Domoticz?
Ik ga er ook maar eens 1-tje bestellen. Ik vind mijn netwerk soms net wat te instabiel / onbetrouwbaar. (denk aan lampen die niet reageren op sensoren met een timeout melding.
Bedankt voor je leuke en behulpzame blog’s!
Mag ik je even hartelijk danken voor deze post! Ik had nog geen zigbee2mqtt, maar dankzij jouw post gelijk de CC26xR1 in huis gehaald. Ik kreeg ook de melding dat ik moest updaten, maar dat ging bij mij wat minder soepel: ik moest aardig wat drivers installeren voordat het lukte.
Maar inderdaad gaat het pairen supersnel (xiaomi sensoren en een paar Hue lampen). Bereik is ook niet slecht, al haal ik de bovenste verdieping wss niet. Binnenkort een CC2531 die ik als router ga inzetten, ben benieuwd.
Nogmaals bedankt, super leuke en informatieve site!
Bedankt voor je compliment Jelle. In principe zouden je Hue lampen ook als repeater dienst moeten doen in je Zigbee netwerk (want 220V). Dan moeten ze natuurlijk wel altijd van spanning zijn voorzien.
Verder zou ik aanraden om CC2530 + CC2591 als router in te zetten i.p.v. CC2531. Dat werkt erg goed bij mij.
Mooi zigbee project waar ik zelf ook aan wil beginnen. Mag ik vragen waar je de TI CC26x2R1 gekocht hebt?
Nu heb ik redelijk veel soldeer ervaring maar weinig met smd, is het een beetje te doen om de weerstand los te solderen? Heb een goed soldeerstation maar geen heatgun.
Bedankt voor je mooie blog en inspiratie,
Ik heb deze rechtstreeks bij Ti zelf besteld (link). Binnen 1 week had ik deze toen in huis. Ik heb er zelf geen externe antenne op aangesloten daar dit bij mij niet nodig was. Het bereik was met de CC26X2R1 nl. veel beter als met de CC2531.
Bedankt voor de duidelijke instructie