[V4] Integration von Zigbee2mqtt

Bisher habe ich meine PRs auf dem GitHub von @AlexTrovato erstellt, da er derjenige ist, der die Entwicklungen am Zigbee2mqtt-Dienst vorangetrieben hat. Er hat immer eine offene PR auf dem offiziellen GitHub für den Dienst.
Machen wir so weiter?
@AlexTrovato, möchtest du immer noch so arbeiten (hast du noch Zeit dafür) oder soll ich eine neue PR auf dem Gladys-GitHub erstellen?

Hallo @Reno, vielleicht ist es besser, wenn du deinen eigenen Pull Request direkt erstellst, du hast ja die ganze Arbeit übernommen.

Hallo hallo,
Was ist der Unterschied zwischen Zigbee2mqtt und der ZiGate? :thinking:

Die Zigate kann für ZigbeeMQTT verwendet werden:

  • Zigate sammelt die Zigbee-Informationen
  • ZigbeeMQTT überträgt diese Informationen über MQTT (ein Kommunikationsprotokoll).

Ach so, danke für die Erklärung

Um diesen Beitrag zu vervollständigen, hier die Antwort des „Lieferanten“ dieser modifizierten Chips:

"Hi,

vielen Dank für Ihre Nachricht. Zunächst möchte ich Ihnen mitteilen, dass ich die Sticks vor dem Versand teste, sodass sie einwandfrei funktionieren, aber ich kann keine Garantie geben.

Ich berechne 31€ pro CC2531 mit Antennenmodifikation und Gehäuse. Wenn Sie einen zusätzlichen Router benötigen, können Sie einen zusätzlichen CC2531, der als Router geflasht wurde, zum gleichen Preis auswählen.

Ich habe kein Alu mehr (und es ist auch kein echtes Aluminium, es hatte Aluminiumpartikel darin). Der Ersatz für die Farbe Alu ist Silber (J). Gleicher Preis für alle Farben.

Die günstigste Versandoption innerhalb Europas ohne Versicherung und Sendeverfolgung beträgt 5,5€ (Brief, auf eigenes Risiko). Mit Sendeverfolgung sind es 9,9€"

Das macht dann 36€50. Teurer, aber alles ist fertig, und es gibt das kleine Gehäuse dazu, sehr hübsch.
Ich zögere noch, aber ich glaube, ich werde mich dazu hinreißen lassen ^.^

@bobdivx in Gladys oder Zigbee2MQTT integrieren?

Daher meine Frage, man unterstützt nicht zigbee2mqtt, man muss die Kompatibilität einreichen und vor allem muss man das Gerät mit einem zigbee2mqtt-Firmware flaschen können.

Das betreffende Produkt ist ein CC2530, also vielleicht gibt es eine Möglichkeit, aber es gibt sehr wenig Informationen. An deiner Stelle würde ich es vergessen.

Hallo @Reno!

Ich bin dein PR auf GitHub, geht alles gut oder brauchst du Hilfe? :slight_smile:

Zögere nicht, diese PR ist super und ich denke, sie wird ein Erfolg, wenn sie für die gesamte Gladys-Community verfügbar ist!

Ich nutze die Gelegenheit, dass @Reno online ist, um dich zu fragen: Wird deine aktuelle Arbeit das Problem lösen, das ich habe? Meine Xiaomi-Lampen, die ich nicht in Gladys integrieren kann, obwohl sie korrekt erkannt werden.

Hallo zusammen,

Ich gebe zu, die Zeit ist gerade etwas verwirrend und komplex zu handhaben…
Code-seitig habe ich mir gerade einen neuen Rpi4-Entwicklungsserver aufgebaut, um das, was ich schreibe, vollständig testen zu können, denn WSL ist super zum Entwickeln, aber für die Interaktion mit der Hardware (USB-Dongle) muss ich auf das Zielsystem gehen.
Außerdem hatte ich in den letzten 15 Tagen nicht viel Zeit (Kommunalwahlen, Lockdown, Homeoffice, …).
Ich habe meinen Test-RPi letzte Nacht fertiggestellt und bin jetzt wieder voll einsatzfähig, um den Service effizienter weiterzuführen. Ich denke, ich werde die Gelegenheit nutzen, um ein Tutorial zur Entwicklungs-RPi zu erstellen, solange es noch frisch ist…
Ich melde mich bei dir, wenn ich Probleme habe, in dieser Woche.

@bobdivx, der Zigbee2mqtt-Service in Gladys basiert auf dem gleichnamigen Projekt, das wir unverändert nutzen. Wenn das von dir erwähnte Gerät nicht von diesem Projekt unterstützt wird, wird es nicht funktionieren. Du musst dich dann an die Community wenden, um zu sehen, ob Entwickler an der Integration des neuen Geräts arbeiten können. Da es auf CC253x basiert, sollte das kein großes Problem sein.
Was deinen Bedarf betrifft, die Reichweite von Zigbee für den Einsatz im ganzen Haus (dein großes Haus) zu erhöhen, denke ich, dass es besser ist, dies zu nutzen, um es in Gladys in Form von Gladys-Slave-Maschinen zu integrieren, die mit zusätzlichen Dongles ausgestattet sein könnten. All das ist, soweit ich mich nicht irre, von @pierre-gilles vorgesehen, aber wird Teil der nächsten Entwicklungsphase.
Außerdem, aufgrund der Verwendung von Docker-Containern für Zigbee2mqtt, denke ich, dass es relativ einfach wäre, dies direkt auf einem anderen Rpi als dem, der Gladys ausführt, ohne größere Probleme zu implementieren, indem man einfach auf den MQTT-Container verweist, der auf der Gladys-Maschine verwendet wird.
Sobald ich die Entwicklung des automatischen Container-Starts von Gladys abgeschlossen habe, werde ich schnell prüfen, ob dies umsetzbar ist.

@guim31, hallo, ich hatte vor einiger Zeit ein neues Docker-Image des Dienstes erstellt und wartete auf dein Feedback dazu.

Hast du es testen können?
Hast du immer noch das gleiche Problem mit dieser Version?

Mein Ziel ist es, alle Geräte, die noch Probleme bereiten, zu testen und kompatibel zu machen. Ich werde also deine Lampen prüfen, aber ich brauche Feedback, denn ich habe nicht alle Geräte zu Hause.

Entschuldigung, ich hatte es nicht verstanden ^^

Ich habe es gestern getestet und habe genau das gleiche Problem.

Danke für deine Antwort und die Zeit, die du diesem Projekt widmest :folded_hands:

Kommst du nicht dazu, es von deinem Rechner aus zu testen? :confused: Kannst du von WSL aus nicht auf die USB-Ports zugreifen? Bei einer schnellen Internetsuche bin ich auf Artikel gestoßen wie:

Ich kenne mich mit Windows überhaupt nicht aus, aber meiner Meinung nach sollte es möglich sein, die Hardware direkt an deinem PC zu nutzen, denn den Code auf den Pi zu laden, um ihn zu testen, ist doch ein Albtraum! ^^

@pierre-gilles, tatsächlich habe ich Schwierigkeiten…

Nach deiner Nachricht dachte ich, dass ich vielleicht etwas auf Windows übersehen habe. Also habe ich erneut versucht, eine Möglichkeit zu finden, die Dongles unter Wsl anzuzeigen, aber ohne Erfolg…

Daher bin ich zu Rpi zurückgekehrt, aber jetzt habe ich Probleme mit der Installation von Modulen unter Node.
Die Erkennung der Dongles funktionierte gut, aber seit 3 Tagen ist es unmöglich, einen zu erkennen. Ich habe die Entwicklungsumgebung mehrmals neu erstellt, aber es ist mir nicht gelungen, meine Dongles wiederzufinden… Ich bin sogar auf ältere Commits zurückgegangen, auf master, und trotzdem kein Dongle…
Das Problem muss also von npm install kommen, aber ich weiß nicht, wie ich es lösen soll.
Wenn jemand eine Idee hat, soll er nicht zögern.

Problem gelöst! :v:

Für Info (kann anderen helfen), ich bin wie ein Anfänger hereingelegt worden… :woozy_face:

Da ich als Entwickler auf dem PC (WSL) arbeite, starte ich Gladys auf dem PC.
Anschließend, um die USB-Dongle-Erkennung zu testen, wechsle ich zu einer Raspberry Pi für die Entwicklung, da es unter WSL nicht funktioniert.
Dafür pushe ich vom PC auf GitHub und pull vom GitHub auf die Raspberry Pi. Anschließend verbinde ich mich über den Browser meines PCs mit der Gladys-Instanz der Raspberry Pi.
Dadurch hole ich auf meiner Raspberry Pi die Grundkonfiguration des Projekts, einschließlich der front/config.js.

Ich hatte also seit 3 Tagen die Variable, die den Backend definiert, auf localhost (also meinen PC, gesehen vom Browser, der auf dem PC läuft) statt auf die IP meiner Raspberry Pi.
Daher kommunizierte das front der Raspberry Pi mit dem server (Backend) des PCs, der lief und die Dongles nicht sehen konnte (deshalb gehe ich ja über die Raspberry Pi…).
3 Abende, um das zu verstehen.
Was für ein Idiot! :rage:

@Reno Schön, dass du dein Problem gelöst hast!

Versuche aber, dich mit jemandem in Verbindung zu setzen, der auf Windows entwickelt, um das auf Windows zum Laufen zu bringen, denn klar, wenn du auf dem Pi entwickelst, wirst du Monate brauchen, um voranzukommen… :slight_smile:

Ich entwickle auf Windows und Linux

Voraussetzungen für Windows

  • Node LTS
  • Aktuelles npm => npm install npm @ latest -g
  • Notwendiges für gyp => npm install --global windows-build-tools
  • SQLite (SQLite Home Page)

Nichts anderes (man kann auch mit WSL, aber das ist hier unnötig)

Ich hole das Thema nochmal hoch, die Integration ist eingefroren, bis der MQTT-Service reifer ist?

Warten wir auf einen reiferen MQTT-Service? Mir scheint, dass zigbee2mqtt seine eigenen Topics veröffentlicht und konsumiert, was ähnlich wie das Tasmota-Modul ist und daher außerhalb des spezifischen Gladys-MQTT-Bereichs liegt.

Genau, das Thema schien in Standby zu sein, aber @Reno hat die PR übernommen.