zigpy adalah proyek integrasi tumpukan protokol Zigbee yang independen terhadap perangkat keras untuk mengimplementasikan spesifikasi standar Zigbee sebagai pustaka Python 3.
Integrasi Zigbee melalui zigpy memungkinkan Anda menghubungkan salah satu dari banyak adaptor Koordinator Zigbee yang tersedia menggunakan salah satu modul perpustakaan radio Zigbee yang kompatibel dengan zigpy untuk mengontrol perangkat berbasis Zigbee. Saat ini terdapat dukungan untuk mengendalikan jenis perangkat Zigbee seperti sensor biner (misalnya sensor gerak dan pintu), sensor (misalnya sensor suhu), lampu, sakelar, tombol, penutup, kipas, peralatan pengatur suhu, kunci, dan sistem alarm penyusup. perangkat. Perhatikan bahwa perangkat Zigbee Green Power saat ini tidak didukung.
Tumpukan Zigbee dan perangkat keras dari banyak produsen chip perangkat keras yang berbeda didukung melalui perpustakaan radio yang menerjemahkan protokol komunikasi milik mereka ke dalam API umum yang dibagikan di antara semua perpustakaan radio untuk zigpy. Jika beberapa tumpukan Zigbee atau perangkat keras Koordinator Zigbee untuk pabrikan lain belum didukung oleh zigpy, pengembang independen mana pun dapat meningkatkan dan mengembangkan perpustakaan radio baru untuk zigpy yang menerjemahkan protokol komunikasi miliknya ke dalam API umum yang dapat dipahami zigpy .
zigpy berisi kode umum yang mengimplementasikan manajemen status aplikasi ZCL (Zigbee Cluster Library) dan ZDO (Zigbee Device Object) yang digunakan oleh berbagai perpustakaan radio yang mengimplementasikan antarmuka aktual dengan modul radio dari produsen berbeda. Perpustakaan radio terpisah berinteraksi dengan adaptor/modul perangkat keras radio melalui USB dan GPIO menggunakan protokol serial UART asli yang berbeda.
Komponen integrasi ZHA untuk Home Assistant , Plugin Zigbee untuk Domoticz, dan Plugin Zigbee untuk Jeedom (perangkat lunak otomatisasi rumah sumber terbuka yang bersaing) semuanya menggunakan pustaka zigpy sebagai dependensi, sehingga dapat digunakan sebagai referensi implementasi yang berbeda jika mencari untuk mengintegrasikan solusi Zigbee ke dalam aplikasi Anda.
zigpy memiliki kemampuan untuk mengunduh dan melakukan Zigbee OTAU (Pembaruan Over-The-Air) dari firmware perangkat Zigbee. File gambar firmware pembaruan Zigbee OTA harus sesuai dengan format Zigbee OTA standar dan URL sumber penyedia OTA harus dipublikasikan untuk ketersediaan publik. Pembaruan dari direktori pembaruan OTA lokal juga didukung dan dapat digunakan sebagai opsi untuk pembaruan firmware offline jika pengguna menyediakan sendiri file firmware berformat Zigbee OTA yang benar.
Dukungan untuk pengunduhan otomatis dari penyedia OTA online yang ada dalam kode penyedia OTA zigpy saat ini hanya tersedia untuk perangkat IKEA, Inovelli, LEDVANCE/OSRAM, SALUS/Computime, dan SONOFF/ITEAD. Dukungan untuk penyedia OTA tambahan untuk perangkat produsen lain dapat ditambahkan ke zigpy di masa mendatang, jika produsen perangkat mempublikasikan gambar firmware mereka secara publik dan pengembang menyumbangkan kode unduhan yang diperlukan untuk mereka.
Untuk instruksi spesifik tentang cara menginstal dan menguji zigpy atau menyumbangkan laporan bug dan kode ke proyek ini, silakan lihat panduan di file CONTRIBUTING.md:
File CONTRIBUTING.md ini akan berisi informasi tentang penggunaan zigpy, pengujian rilis baru, pemecahan masalah dan pelaporan bug, serta instruksi perpustakaan + kode untuk pengembang dan banyak lagi. File ini juga berisi ringkasan singkat dan tautan ke proyek terkait lainnya yang secara langsung atau tidak langsung bergantung pada perpustakaan zigpy.
Anda dapat berkontribusi pada proyek ini baik sebagai pengguna akhir, penguji (pengguna tingkat lanjut yang menyumbangkan masalah konstruktif/laporan bug) atau sebagai pengembang yang menyumbangkan kode.
Perpustakaan radio untuk zigpy adalah proyek terpisah dengan repositorinya sendiri dan mencakup bellow (untuk berkomunikasi dengan radio berbasis Silicon Labs EmberZNet), zigpy-deconz (untuk berkomunikasi dengan radio berbasis deCONZ dari Dresden Elektronik), dan zigpy-xbee (untuk berkomunikasi dengan radio berbasis XBee Radio Zigbee), zigpy-zigate untuk berkomunikasi dengan radio berbasis ZiGate, zigpy-znp atau zigpy-cc untuk berkomunikasi dengan Texas Radio berbasis instrumen yang memiliki firmware koordinator Z-Stack ZNP.
Catatan! Dukungan Zigbee 3.0 atau tidak di zigpy terutama bergantung pada perangkat keras koordinator Zigbee Anda dan firmware-nya. Beberapa perangkat keras koordinator Zigbee mendukung Zigbee 3.0 tetapi mungkin dikirimkan dengan firmware lama yang tidak mendukungnya, dalam hal ini Anda mungkin ingin memperbarui sendiri firmware tersebut secara manual. Beberapa perangkat keras koordinator Zigbee lainnya mungkin tidak mendukung firmware yang berkemampuan Zigbee 3.0 sama sekali tetapi masih dapat berfungsi penuh dan memiliki fitur lengkap untuk kebutuhan Anda, (hal ini sangat umum karena banyak atau sebagian besar perangkat Zigbee belum atau belum memiliki Zigbee 3.0 kompatibel dengan profil Zigbee yang didukung oleh perangkat keras koordinator Zigbee Anda dan firmware-nya). Sebagai aturan umum, perangkat keras koordinator Zigbee terbaru yang dirilis biasanya dapat mendukung firmware Zigbee 3.0 dan terserah pada pabrikannya untuk menyediakan firmware tersebut untuk mereka.
Paket baru dari versi yang diberi tag juga dirilis melalui proyek "zigpy" di PyPI
Paket lama dari versi yang diberi tag masih tersedia di proyek "zigpy-homeassistant" di PyPI
Paket versi perpustakaan radio yang diberi tag dirilis melalui proyek terpisah di PyPI