zigpy ist ein hardwareunabhängiges Zigbee-Protokoll-Stack- Integrationsprojekt zur Implementierung von Zigbee- Standardspezifikationen als Python 3-Bibliothek.
Die Zigbee-Integration über Zigbee ermöglicht Ihnen den Anschluss eines von vielen handelsüblichen Zigbee Coordinator-Adaptern mithilfe eines der verfügbaren, mit Zigbee kompatiblen Zigbee-Funkbibliotheksmodule, die mit Zigbee kompatibel sind, um Zigbee-basierte Geräte zu steuern. Derzeit wird die Steuerung von Zigbee-Gerätetypen wie binären Sensoren (z. B. Bewegungs- und Türsensoren), Sensoren (z. B. Temperatursensoren), Lichtern, Schaltern, Knöpfen, Abdeckungen, Ventilatoren, Klimageräten, Schlössern und Einbruchmeldeanlagen unterstützt Geräte. Beachten Sie, dass Zigbee Green Power-Geräte derzeit nicht unterstützt werden.
Zigbee-Stacks und Hardware von vielen verschiedenen Hardware-Chip-Herstellern werden über Funkbibliotheken unterstützt, die ihr proprietäres Kommunikationsprotokoll in eine gemeinsame API übersetzen, die von allen Funkbibliotheken für Zigpy gemeinsam genutzt wird. Wenn ein Zigbee-Stack oder Zigbee-Koordinator-Hardware für andere Hersteller noch nicht von zigpy unterstützt wird, kann jeder unabhängige Entwickler eine neue Funkbibliothek für zigpy entwickeln, die sein proprietäres Kommunikationsprotokoll in die gemeinsame API übersetzt, die zigpy verstehen kann .
zigpy enthält gemeinsamen Code zur Implementierung der Anwendungsstatusverwaltung von ZCL (Zigbee Cluster Library) und ZDO (Zigbee Device Object), der von verschiedenen Funkbibliotheken verwendet wird, die die eigentliche Schnittstelle mit den Funkmodulen verschiedener Hersteller implementieren. Die separaten Funkbibliotheken sind über USB und GPIO mit Funk-Hardwareadaptern/-modulen verbunden und nutzen verschiedene native serielle UART-Protokolle.
Die ZHA-Integrationskomponente für Home Assistant , das Zigbee-Plugin für Domoticz und das Zigbee-Plugin für Jeedom (konkurrierende Open-Source-Hausautomationssoftware) verwenden alle Zigpy-Bibliotheken als Abhängigkeiten und könnten daher bei Bedarf als Referenzen für verschiedene Implementierungen verwendet werden um eine Zigbee-Lösung in Ihre Anwendung zu integrieren.
zigpy hat die Möglichkeit, Zigbee OTAU (Over-The-Air-Updates) der Firmware von Zigbee-Geräten herunterzuladen und durchzuführen. Die Bilddateien der Zigbee OTA-Update-Firmware sollten dem Standard-Zigbee-OTA-Format entsprechen und die Quell-URLs der OTA-Anbieter müssen für die öffentliche Verfügbarkeit veröffentlicht werden. Updates aus einem lokalen OTA-Update-Verzeichnis werden ebenfalls unterstützt und können als Option für Offline-Firmware-Updates verwendet werden, wenn der Benutzer selbst korrekte Zigbee OTA-formatierte Firmware-Dateien bereitstellt.
Unterstützung für den automatischen Download von bestehenden Online-OTA-Anbietern im Zigpy-OTA-Anbietercode ist derzeit nur für IKEA-, Inovelli-, LEDVANCE/OSRAM-, SALUS/Computime- und SONOFF/ITEAD-Geräte verfügbar. Unterstützung für zusätzliche OTA-Anbieter für Geräte anderer Hersteller könnte in Zukunft zu Zigpy hinzugefügt werden, wenn Gerätehersteller ihre Firmware-Images öffentlich veröffentlichen und Entwickler den erforderlichen Download-Code für sie bereitstellen.
Spezifische Anweisungen zum Installieren und Testen von Zigpy oder zum Beitragen von Fehlerberichten und Code zu diesem Projekt finden Sie in den Richtlinien in der Datei CONTRIBUTING.md:
Diese CONTRIBUTING.md-Datei enthält Informationen zur Verwendung von zigpy, zum Testen neuer Versionen, zur Fehlerbehebung und Fehlerberichterstattung sowie Bibliotheks- und Codeanweisungen für Entwickler und mehr. Diese Datei enthält auch kurze Zusammenfassungen und Links zu anderen verwandten Projekten, die direkt oder indirekt von Zigpy-Bibliotheken abhängen.
Sie können zu diesem Projekt entweder als Endbenutzer, Tester (fortgeschrittener Benutzer, der konstruktive Problem-/Fehlerberichte beisteuert) oder als Entwickler, der Code beisteuert, beitragen.
Radiobibliotheken für zigpy sind separate Projekte mit eigenen Repositorys und umfassen Bellows (für die Kommunikation mit Silicon Labs EmberZNet-basierten Radios), zigpy-deconz (für die Kommunikation mit deCONZ-basierten Radios von Dresden Elektronik) und zigpy-xbee (für die Kommunikation mit XBee-basierten Radios). Zigbee-Funkgeräte), zigpy-zigate für die Kommunikation mit ZiGate-basierten Funkgeräten, zigpy-znp oder zigpy-cc für die Kommunikation mit Texas Instruments-basierten Funkgeräten, die über die Z-Stack ZNP-Koordinator-Firmware verfügen.
Notiz! Ob Zigbee 3.0 in Zigpy unterstützt wird oder nicht, hängt in erster Linie von der Hardware Ihres Zigbee-Koordinators und seiner Firmware ab. Einige Zigbee-Koordinator-Hardware unterstützt Zigbee 3.0, wird jedoch möglicherweise mit einer älteren Firmware ausgeliefert, die dies nicht unterstützt. In diesem Fall sollten Sie die Firmware möglicherweise selbst manuell aktualisieren. Einige andere Zigbee-Koordinator-Hardware unterstützt möglicherweise keine Firmware, die überhaupt Zigbee 3.0 unterstützt, aber dennoch voll funktionsfähig ist und alle Funktionen für Ihre Anforderungen erfüllt (dies kommt sehr häufig vor, da viele, wenn nicht die meisten Zigbee-Geräte noch nicht über Zigbee 3.0 verfügen oder dies tun). abwärtskompatibel mit einem Zigbee-Profil, das von der Hardware Ihres Zigbee-Koordinators und seiner Firmware unterstützt wird). Als allgemeine Regel gilt, dass neuere Zigbee-Koordinator-Hardware normalerweise die Zigbee 3.0-Firmware unterstützen kann und es Sache des Herstellers ist, diese Firmware für sie verfügbar zu machen.
Neue Pakete getaggter Versionen werden auch über das „zigpy“-Projekt auf PyPI veröffentlicht
Ältere Pakete getaggter Versionen sind weiterhin im Projekt „zigpy-homeassistant“ auf PyPI verfügbar
Pakete getaggter Versionen der Radiobibliotheken werden über separate Projekte auf PyPI veröffentlicht