NEWS
ZigBee und die Anbindungen - Verwirrung
-
Moin !
Ich habe gestern Abend versucht meinen CC2531 in IOB (am Pi3) ans Laufen zu bekommen. Leider noch ohne jeden Erfolg. Mein Motion Sensor hat sich zwar 1x verbunden, aber ohne Readings. Inzwischen blinkt der Stick nur noch Rot wenn man sich mit ihm verbindet (hoffe das neues Flashen da heute Abhilfe schafft ...).
Was mir gestern aufgefallen ist das es scheinbar einige Versionen für ZigBee und IOB gibt.- Einmal der aktuelle ZigBee Adapter für IOB (schainbar bei mir Version 0.10.2)
- Dann gibts davon noch 1 oder 2 Forks im Github
- Dann gib es noch das Projekt Mqtt2Zigbee
und evtl. noch das ein oder andere was ich noch nicht gesehen habe.
Was ist denn jetzt die beste Variante die man nutzen sollte um möglichst viele Geräte im IOB mit ZigBee nutzen zu können? Kann das ZigBee Iob Adapter generell auch alle Geräte die Mqtt2Zigbee unterstützt? Oder müssen neue Geräte immer in jedem Projekt eingepflegt werden?
Und was ist eigentlich im Moment der neuste Stand vom ZigBee IOB Adapter?
Und wenn wir gerade bei dem Wirrwarr sind ... Was genau macht eigentlich diese "zigbee-shepherd" Bibliothek?Vielleicht kann ja mal jemand ein paar klärende Worte finden Danke
Grüße Dominik
-
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-debuggerHinweis: 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/ -
@moelski sagte in ZigBee und die Anbindungen - Verwirrung:
[SNIP]Was mir gestern aufgefallen ist das es scheinbar einige Versionen für ZigBee und IOB gibt.
- Einmal der aktuelle ZigBee Adapter für IOB (schainbar bei mir Version 0.10.2)
- Dann gibts davon noch 1 oder 2 Forks im Github
- Dann gib es noch das Projekt Mqtt2Zigbee
und evtl. noch das ein oder andere was ich noch nicht gesehen habe.
Was ist denn jetzt die beste Variante die man nutzen sollte um möglichst viele Geräte im IOB mit ZigBee nutzen zu können? Kann das ZigBee Iob Adapter generell auch alle Geräte die Mqtt2Zigbee unterstützt? Oder müssen neue Geräte immer in jedem Projekt eingepflegt werden?
Und was ist eigentlich im Moment der neuste Stand vom ZigBee IOB Adapter?
Und wenn wir gerade bei dem Wirrwarr sind ... Was genau macht eigentlich diese "zigbee-shepherd" Bibliothek?Vielleicht kann ja mal jemand ein paar klärende Worte finden Danke
Grüße Dominik
Hallo,
fangen wir vorne an. Die Hardware hat @Becks0815 bereits gut beschrieben, wobei ich kein besonderer Freund davon bin selbstgeflashte Router auf cc223x Basis zu nutzen. Ich nutze da eher Lampen und/oder Steckdosen, da jeder Router der keine weitere Funktion hat im Netz einen Node belegt, und die Gesamtanzahl an Nodes im Netz begrenzt ist.
Nun zur Software-Seite:
Vereinfacht gesprochen ist der ioBroker.zigbee adapter ein Frontend, das die im zigbee2mqtt implementierten Bibliotheken zur Kommunikation mit der Firmware auf dem cc2531 nutzt.
zigbee2mqtt ist ein Software-Paket mit dem die unterstützten Geräte per MQTT angesprochen werden können, bzw. per MQTT Statusänderungen melden. Es ist technisch möglich, direkt mit diesem Projekt und dem MQTT Adapter Zigbee Geräte am iobroker zu betreiben, allerdings muss dann die Ansteuerung für jedes Gerät einzeln einkonfiguriert werden.
"zigbee-shepherd-converters" ist eine im zigbee2mqtt beheimatete Bibliothek, die eine Umsetzung der Hardwarespezifischen Kommunikation zwischen Koordinator und Endgerät im Zigbee-Netz auf einen hardware-unabhängigen Standard übernimmt. Mit dazu gehört auch, die Hardware wenn nötig zu "konfigurieren", damit diese sich wie gewünscht verhält.
"ioBroker.zigbee" ist der native ioBroker adapter, der auf Basis der zigbee-shepherd-converters bestimmte in der Bibliothek definierte Geräte im Objektbaum des ioBroker abbildet.
Aus der Erklärung sollte erkennbar sein, warum ein neues Gerät in beiden sowohl im zigbee-shepherd(-converters) als auch im ioBroker.zigbee implementiert werden muss, wobei die Implementation im zigbee-shepherd sehr Hardware-nah ist und eigentlich nur funktioniert wenn man zum implementieren die Hardware zur Hand hat, während das adaptieren des ioBroker.zigbee in vielen Fällen auch ohne Hardware erfolgreich sein kann.
Als letztes zu den Versionen:
- im Stable (also auf npm) ist aktuell der die Version 0.10.5
- die aktuelle beta-Version des offiziellen Adapters (auf Github) ist inzwischen 0.11.5, und zu finden unter iobroker/iobroker.zigbee.
- verschiedene Entwickler (z.Bsp. @arteck und ich) haben eigene forks, um Testversionen zu erstellen deren Anpassungen in mehr oder weniger regelmässigen Abständen in den offiziellen Adapter übertragen werden. Diese Versionen sollten ausschliesslich auf direkte Anfrage des entsprechenden Entwicklers installiert werden - ansonsten kann es interessante Effekte geben.
Ich hoffe ich habe damit auch die Fragen zur Software-Seite beantwortet.
A.
-
Hallo miteinander,
ich hätte mal einige Fragen.
Ich setze seit längerer Zeit einen CC2531, einen Conbee-Stick und 5 Mi-Hubs ein um meine Zigbeegeräte übers Haus verteilt anzusprechen.
Denn CC2521 lasse ich quasi nur noch zu Testzwecken mitlaufen, da ich immer wieder Verbindungsabbrüche hatte.
Der Conbee läuft schon wesentlich stabiler und ist auch von der Reichweite super.
An den Mi-Hubs hängen momentan 73 Geräte. Diese laufen am stabilsten. Ich habe nun aber auch schon einige Geräte die zwar über die MiHome-App laufen, der Adapter wird aber nur sehr "zögerlich" aktualisiert, so dass ich viele Geräte nicht mehr (oder mit eingeschränkter Funktionalität) in den IOBroker bekomme.
Ich habe auf der Githubseite von R lelesen: https://github.com/Koenkk/zigbee2mqtt/issues/1429
Dieser soll eine gute Reichweite haben und 200 Geräte verwalten können.
Nun meine Fragen:- Wird dieser vom Zigbeeadapter unterstützt und hat schon jemand Erfahrung damit)
- Brauche ich nur den LauchXL-CC: https://www.digikey.de/product-detail/de/texas-instruments/LAUNCHXL-CC2650/296-43750-ND/5844795 oder zusätzlich das Entwicklungskit: https://www.digikey.de/products/de/rf-if-and-rfid/rf-evaluation-and-development-kits-boards/859?k=CC2652&pkeyword=CC2652?
Wäre toll, wenn mir jemand weiterhelfen könnte. Ich könnte dann vielleicht mit allen Geräten auf eine Umgebung ziehen.
Gruß DocGame
-
Schade, dass niemand Antworten auf meine Fragen hat.
Ich habe jetzt einfach mal ein "CC2652RB-ND" direkt bei TI in Amerika bestellt. Mal sehen wann der kommt und wie das Ergebnis ist.
Das Gehäuse habe ich mir vorsorglich schon einmal gedrucktGruß DocGame