zigpy 는 Zigbee 표준 사양을 Python 3 라이브러리로 구현하기 위한 하드웨어 독립적인 Zigbee 프로토콜 스택 통합 프로젝트입니다.
zigpy를 통한 Zigbee 통합을 사용하면 zigpy와 호환되는 사용 가능한 Zigbee 무선 라이브러리 모듈 중 하나를 사용하여 많은 기성 Zigbee 코디네이터 어댑터 중 하나를 연결하여 Zigbee 기반 장치를 제어할 수 있습니다. 현재 바이너리 센서(예: 모션 및 도어 센서), 센서(예: 온도 센서), 조명, 스위치, 버튼, 커버, 팬, 실내 온도 조절 장비, 잠금 장치 및 침입자 경보 시스템과 같은 Zigbee 장치 유형 제어가 지원됩니다. 장치. Zigbee Green Power 장치는 현재 지원되지 않습니다.
다양한 하드웨어 칩 제조업체의 Zigbee 스택과 하드웨어는 자체 통신 프로토콜을 zigpy용 모든 무선 라이브러리에서 공유되는 공통 API로 변환하는 무선 라이브러리를 통해 지원됩니다. 다른 제조업체의 일부 Zigbee 스택 또는 Zigbee 코디네이터 하드웨어가 아직 zigpy에서 지원되지 않는 경우 모든 독립 개발자가 zigpy가 이해할 수 있는 공통 API로 독점 통신 프로토콜을 변환하는 zigpy용 새 라디오 라이브러리를 개발할 수 있습니다. .
zigpy에는 다양한 제조업체의 무선 모듈과 실제 인터페이스를 구현하는 다양한 무선 라이브러리에서 사용되는 ZCL(Zigbee Cluster Library) 및 ZDO(Zigbee Device Object) 애플리케이션 상태 관리를 구현하는 공통 코드가 포함되어 있습니다. 별도의 무선 라이브러리는 다양한 기본 UART 직렬 프로토콜을 사용하여 USB 및 GPIO를 통해 무선 하드웨어 어댑터/모듈과 인터페이스합니다.
Home Assistant용 ZHA 통합 구성 요소 , Domoticz용 Zigbee 플러그인 및 Jeedom용 Zigbee 플러그인(경쟁 오픈 소스 홈 자동화 소프트웨어)은 모두 zigpy 라이브러리를 종속성으로 사용하므로 살펴보는 경우 다양한 구현의 참조로 사용할 수 있습니다. Zigbee 솔루션을 귀하의 애플리케이션에 통합합니다.
zigpy에는 Zigbee 장치 펌웨어의 Zigbee OTAU(Over-The-Air Update)를 다운로드하고 수행할 수 있는 기능이 있습니다. Zigbee OTA 업데이트 펌웨어 이미지 파일은 표준 Zigbee OTA 형식을 준수해야 하며 OTA 공급자 소스 URL은 공개적으로 게시되어야 합니다. 로컬 OTA 업데이트 디렉터리의 업데이트도 지원되며 사용자가 올바른 Zigbee OTA 형식의 펌웨어 파일을 직접 제공하는 경우 오프라인 펌웨어 업데이트를 위한 옵션으로 사용할 수 있습니다.
zigpy OTA 제공업체 코드의 기존 온라인 OTA 제공업체 자동 다운로드 지원은 현재 IKEA, Inovelli, LEDVANCE/OSRAM, SALUS/Computime 및 SONOFF/ITEAD 장치에서만 사용할 수 있습니다. 장치 제조업체가 펌웨어 이미지를 공개적으로 게시하고 개발자가 필요한 다운로드 코드를 제공하는 경우 향후 다른 제조업체 장치에 대한 추가 OTA 공급자에 대한 지원이 zigpy에 추가될 수 있습니다.
zigpy를 설치 및 테스트하거나 이 프로젝트에 버그 보고서 및 코드를 제공하는 방법에 대한 구체적인 지침은 CONTRIBUTING.md 파일의 지침을 참조하세요.
이 CONTRIBUTING.md 파일에는 zigpy 사용, 새 릴리스 테스트, 문제 해결 및 버그 보고는 물론 개발자를 위한 라이브러리 + 코드 지침 등에 대한 정보가 포함되어 있습니다. 이 파일에는 zigpy 라이브러리에 직간접적으로 의존하는 다른 관련 프로젝트에 대한 짧은 요약과 링크도 포함되어 있습니다.
최종 사용자, 테스터(건설적인 문제/버그 보고서에 기여하는 고급 사용자) 또는 코드에 기여하는 개발자로서 이 프로젝트에 기여할 수 있습니다.
zigpy용 라디오 라이브러리는 자체 저장소가 있는 별도의 프로젝트이며 벨로우즈 (Silicon Labs EmberZNet 기반 라디오와 통신용), zigpy-deconz (Dresden Elektronik의 deCONZ 기반 라디오와 통신용) 및 zigpy-xbee (XBee 기반 라디오와 통신용)를 포함합니다. Zigbee 라디오), ZiGate 기반 라디오와의 통신을 위한 zigpy-zigate , zigpy-znp 또는 zigpy-cc Z-Stack ZNP 코디네이터 펌웨어가 있는 Texas Instruments 기반 라디오와 통신합니다.
메모! zigpy의 Zigbee 3.0 지원 여부는 주로 Zigbee 코디네이터 하드웨어와 해당 펌웨어에 따라 다릅니다. 일부 Zigbee 코디네이터 하드웨어는 Zigbee 3.0을 지원하지만 그렇지 않은 이전 펌웨어와 함께 배송될 수 있습니다. 이 경우 수동으로 펌웨어를 업그레이드해야 할 수도 있습니다. 일부 다른 Zigbee 코디네이터 하드웨어는 Zigbee 3.0을 전혀 지원하지 않지만 여전히 완벽하게 기능하고 사용자의 요구에 맞게 완전한 기능을 제공할 수 있는 펌웨어를 지원하지 않을 수 있습니다. (이는 대부분의 Zigbee 장치가 아직 Zigbee 3.0을 지원하지 않거나 Zigbee 코디네이터 하드웨어 및 해당 펌웨어에서 지원하는 Zigbee 프로필과 역호환 가능합니다. 일반적으로 출시된 최신 Zigbee 코디네이터 하드웨어는 일반적으로 Zigbee 3.0 펌웨어를 지원할 수 있으며 이러한 펌웨어를 사용할 수 있게 만드는 것은 제조업체의 몫입니다.
태그된 버전의 새 패키지도 PyPI의 "zigpy" 프로젝트를 통해 출시됩니다.
태그된 버전의 이전 패키지는 PyPI의 "zigpy-homeassistant" 프로젝트에서 계속 사용할 수 있습니다.
태그된 버전의 라디오 라이브러리 패키지는 PyPI의 별도 프로젝트를 통해 출시됩니다.