zigpy เป็นโปรเจ็กต์การรวมส แต็กโปรโตคอล Zigbee ที่ไม่ขึ้นกับฮาร์ดแวร์เพื่อใช้ข้อกำหนดมาตรฐาน Zigbee เป็นไลบรารี Python 3
การรวม Zigbee ผ่าน zigpy ช่วยให้คุณสามารถเชื่อมต่อหนึ่งในอะแดปเตอร์ Zigbee Coordinator ที่มีจำหน่ายทั่วไปได้ โดยใช้หนึ่งในโมดูลไลบรารีวิทยุ Zigbee ที่พร้อมใช้งานซึ่งเข้ากันได้กับ zigpy เพื่อควบคุมอุปกรณ์ที่ใช้ Zigbee ขณะนี้มีการรองรับการควบคุมประเภทอุปกรณ์ Zigbee เช่น เซ็นเซอร์ไบนารี (เช่น เซ็นเซอร์ตรวจจับความเคลื่อนไหวและประตู) เซ็นเซอร์ (เช่น เซ็นเซอร์อุณหภูมิ) ไฟ สวิตช์ ปุ่ม ฝาครอบ พัดลม อุปกรณ์ควบคุมอุณหภูมิ ระบบล็อค และระบบเตือนผู้บุกรุก อุปกรณ์ โปรดทราบว่าอุปกรณ์ Zigbee Green Power ยังไม่รองรับในปัจจุบัน
สแต็กและฮาร์ดแวร์ของ Zigbee จากผู้ผลิตชิปฮาร์ดแวร์หลายรายได้รับการสนับสนุนผ่านไลบรารีวิทยุ ซึ่งแปลโปรโตคอลการสื่อสารที่เป็นกรรมสิทธิ์ของตนให้เป็น API ทั่วไปซึ่งใช้ร่วมกันระหว่างไลบรารีวิทยุทั้งหมดสำหรับ zigpy หาก Zigbee Stack หรือฮาร์ดแวร์ Zigbee Coordinator สำหรับผู้ผลิตรายอื่นยังไม่รองรับ zigpy ก็เป็นไปได้ที่นักพัฒนาอิสระจะก้าวขึ้นและพัฒนาไลบรารีวิทยุใหม่สำหรับ zigpy ซึ่งจะแปลโปรโตคอลการสื่อสารที่เป็นกรรมสิทธิ์ของตนให้เป็น API ทั่วไปที่ zigpy สามารถเข้าใจได้ .
zigpy มีโค้ดทั่วไปที่ใช้การจัดการสถานะแอปพลิเคชัน ZCL (Zigbee Cluster Library) และ ZDO (Zigbee Device Object) ซึ่งถูกใช้โดยไลบรารีวิทยุต่างๆ ที่ใช้อินเทอร์เฟซจริงกับโมดูลวิทยุจากผู้ผลิตหลายราย อินเทอร์เฟซไลบรารีวิทยุแยกต่างหากพร้อมอะแดปเตอร์/โมดูลฮาร์ดแวร์วิทยุผ่าน USB และ GPIO โดยใช้โปรโตคอลอนุกรม UART ดั้งเดิมที่แตกต่างกัน
ส่วนประกอบการรวม ZHA สำหรับ Home Assistant , ปลั๊กอิน Zigbee สำหรับ Domoticz และปลั๊กอิน Zigbee สำหรับ Jeedom (ซอฟต์แวร์ระบบอัตโนมัติในบ้านแบบโอเพ่นซอร์สที่แข่งขันกัน) ล้วนใช้ไลบรารี zigpy เป็นการพึ่งพา ดังนั้นจึงสามารถใช้เป็นข้อมูลอ้างอิงของการใช้งานที่แตกต่างกันได้ หากต้องการ เพื่อรวมโซลูชัน Zigbee เข้ากับแอปพลิเคชันของคุณ
zigpy มีความสามารถในการดาวน์โหลดและดำเนินการ Zigbee OTAU (การอัปเดตแบบ Over-The-Air) ของเฟิร์มแวร์อุปกรณ์ 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