zigpy هو مشروع تكامل مكدس بروتوكول Zigbee مستقل عن الأجهزة لتنفيذ مواصفات Zigbee القياسية كمكتبة Python 3.
يتيح لك تكامل Zigbee عبر zigpy توصيل أحد محولات Zigbee Coordinator العديدة الجاهزة للاستخدام باستخدام إحدى وحدات مكتبة راديو Zigbee المتوفرة المتوافقة مع zigpy للتحكم في الأجهزة المستندة إلى Zigbee. يوجد حاليًا دعم للتحكم في أنواع أجهزة Zigbee مثل أجهزة الاستشعار الثنائية (مثل أجهزة استشعار الحركة والأبواب)، وأجهزة الاستشعار (مثل أجهزة استشعار درجة الحرارة)، والأضواء، والمفاتيح، والأزرار، والأغطية، والمراوح، ومعدات التحكم في المناخ، والأقفال، ونظام إنذار الدخيل الأجهزة. لاحظ أن أجهزة Zigbee Green Power غير مدعومة حاليًا.
يتم دعم مكدسات Zigbee والأجهزة من العديد من الشركات المصنعة لشرائح الأجهزة المختلفة عبر مكتبات الراديو التي تترجم بروتوكول الاتصال الخاص بها إلى واجهة برمجة تطبيقات مشتركة تتم مشاركتها بين جميع مكتبات الراديو لـ zigpy. إذا لم تكن بعض أجهزة Zigbee Stack أو Zigbee Coordinator الخاصة بالمصنعين الآخرين مدعومة بواسطة zigpy، فمن الممكن لأي مطور مستقل أن يقوم بتكثيف وتطوير مكتبة راديو جديدة لـ zigpy والتي تترجم بروتوكول الاتصال الخاص بها إلى واجهة برمجة التطبيقات المشتركة التي يمكن لـ zigpy فهمها .
يحتوي zigpy على كود مشترك لتنفيذ إدارة حالة التطبيق ZCL (مكتبة Zigbee Cluster) وZDO (كائن جهاز Zigbee) والذي يتم استخدامه من قبل مكتبات الراديو المختلفة التي تنفذ الواجهة الفعلية مع وحدات الراديو من مختلف الشركات المصنعة. واجهة مكتبات الراديو المنفصلة مع محولات/وحدات أجهزة الراديو عبر USB وGPIO باستخدام بروتوكولات UART التسلسلية الأصلية المختلفة.
يستخدم مكون تكامل ZHA لـ Home Assistant ، وZigbee Plugin لـ Domoticz، وZigbee Plugin لـ Jeedom (برنامج منافس لأتمتة المنزل مفتوح المصدر) مكتبات zigpy كتبعيات، وبالتالي يمكن استخدامها كمراجع لتطبيقات مختلفة إذا كنت تبحث عن لدمج حل Zigbee في تطبيقك.
يتمتع zigpy بالقدرة على تنزيل وتنفيذ Zigbee OTAU (التحديثات عبر الأثير) للبرامج الثابتة لأجهزة Zigbee. يجب أن تتوافق ملفات صور البرنامج الثابت لتحديث Zigbee OTA مع تنسيق Zigbee OTA القياسي ويجب نشر عناوين URL لمصدر موفر OTA لإتاحتها للعامة. يتم أيضًا دعم التحديثات من دليل تحديث OTA المحلي ويمكن استخدامها كخيار لتحديثات البرامج الثابتة دون اتصال إذا قام المستخدم بتوفير ملفات البرامج الثابتة الصحيحة بتنسيق Zigbee OTA بنفسه.
دعم التنزيل التلقائي من موفري OTA الحاليين عبر الإنترنت في رمز موفر zigpy OTA متاح حاليًا فقط لأجهزة IKEA وInovelli وLEDVANCE/OSRAM وSALUS/Computime وSONOFF/ITEAD. يمكن إضافة الدعم لموفري OTA الإضافيين لأجهزة الشركات المصنعة الأخرى إلى zigpy في المستقبل، إذا قامت الشركات المصنعة للأجهزة بنشر صور البرامج الثابتة الخاصة بها علنًا وساهم المطورون بكود التنزيل المطلوب لهم.
للحصول على إرشادات محددة حول كيفية تثبيت واختبار zigpy أو المساهمة بتقارير الأخطاء والتعليمات البرمجية لهذا المشروع، يرجى الاطلاع على الإرشادات الموجودة في ملف CONTRIBUTING.md:
سيحتوي ملف CONTRIBUTING.md هذا على معلومات حول استخدام zigpy، واختبار الإصدارات الجديدة، واستكشاف الأخطاء وإصلاحها والإبلاغ عن الأخطاء، بالإضافة إلى تعليمات المكتبة + التعليمات البرمجية للمطورين والمزيد. يحتوي هذا الملف أيضًا على ملخصات قصيرة وروابط لمشاريع أخرى ذات صلة تعتمد بشكل مباشر أو غير مباشر على مكتبات zigpy.
يمكنك المساهمة في هذا المشروع إما كمستخدم نهائي، أو كمختبر (مستخدم متقدم يساهم في تقارير المشكلات/الأخطاء البناءة) أو كمطور يساهم في التعليمات البرمجية.
مكتبات الراديو لـ zigpy عبارة عن مشاريع منفصلة بمستودعاتها الخاصة وتتضمن منفاخًا (للتواصل مع أجهزة الراديو المعتمدة على Silicon Labs EmberZNet)، وzigpy-deconz (للاتصال بأجهزة الراديو المستندة إلى deCONZ من Dresden Elektronik)، و zigpy-xbee (للتواصل مع أجهزة الراديو المستندة إلى XBee). أجهزة راديو Zigbee)، zigpy-zigate للتواصل مع أجهزة الراديو المستندة إلى ZiGate، zigpy-znp أو zigpy-cc للتواصل مع أجهزة الراديو المستندة إلى Texas Instruments والتي تحتوي على برنامج ثابت لمنسق Z-Stack ZNP.
ملحوظة! يعتمد دعم Zigbee 3.0 أو عدمه في zigpy بشكل أساسي على أجهزة منسق Zigbee والبرامج الثابتة الخاصة به. تدعم بعض أجهزة تنسيق Zigbee Zigbee 3.0 ولكن قد يتم شحنها مع برنامج ثابت قديم لا يدعم ذلك، وفي هذه الحالة قد ترغب في ترقية البرنامج الثابت يدويًا بنفسك. قد لا تدعم بعض أجهزة تنسيق Zigbee الأخرى برنامجًا ثابتًا قادرًا على Zigbee 3.0 على الإطلاق ولكن لا يزال من الممكن أن تعمل بكامل طاقتها وميزات كاملة لتلبية احتياجاتك، (وهذا أمر شائع جدًا لأن العديد من أجهزة Zigbee، إن لم يكن معظمها، لا تحتوي على Zigbee 3.0 بعد أو أنها موجودة بالفعل) متوافق مع الإصدارات السابقة مع ملف تعريف Zigbee الذي يدعمه جهاز منسق Zigbee الخاص بك والبرامج الثابتة الخاصة به). كقاعدة عامة، يمكن لأجهزة تنسيق Zigbee الأحدث التي تم إصدارها أن تدعم عادةً البرامج الثابتة Zigbee 3.0 والأمر متروك للشركة المصنعة لإتاحة هذه البرامج الثابتة لها.
يتم أيضًا إصدار حزم جديدة من الإصدارات ذات العلامات عبر مشروع "zigpy" على PyPI
لا تزال الحزم الأقدم من الإصدارات ذات العلامات متاحة في مشروع "zigpy-homeassistant" على PyPI
يتم إصدار حزم الإصدارات الموسومة من مكتبات الراديو عبر مشاريع منفصلة على PyPI