Package: zigpy-zboss
zigpy-zbosszigpy-zbossis a Python library project that adds support for common Nordic Semiconductor nRF modules tozigpy (a open source Python Zigbee stack project)and other Network Co-Processor radios that uses firmware based onZOI (ZBOSS Open Initiative) by DSR.Together with the zigpy library and a home automation software application with compatible Zigbee gateway implementation, (such as for example theHome Assistant's ZHA integration component), you can directly control Zigbee devices from most product manufacturers, like; IKEA, Philips Hue, Inovelli, LEDVANCE/OSRAM, SmartThings/Samsung, SALUS/Computime, SONOFF/ITEAD, Xiaomi/Aqara, and many more.Hardware requirementsNordic Semi USB adapters and development kits/boards based on nRF52840 SoC are used as reference hardware in the zigpy-zboss project:nRF52840 donglenRF52840 development kitFirmwareDevelopment and testing in zigpy-zboss project is done with a firmware image built using theZBOSS NCP Host samplefrom Nordic Semi:nrf-zboss-ncp- Compiled ZBOSS NCP Host firmware image required to be flash on the nRF52840 device.Releases via PyPITagged versions will also be released via PyPIhttps://pypi.org/project/zigpy-zboss/https://pypi.org/project/zigpy-zboss/#historyhttps://pypi.org/project/zigpy-zboss/#filesExternal links, documentation, and other development referencesZBOSS NCP Serial Protocol (v1.5) prepared by DSR Corporation for ZOIhttps://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html- Specifically see the ZBOSS NCP sample, Zigbee CLI examples, and the ZBOSS NCP Host user guide.https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/zigbee/ncp/README.htmlhttps://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v4.1.0%2Fzigbee_only_examples.htmlhttps://developer.nordicsemi.com/nRF_Connect_SDK/doc/zboss/3.6.0.0/zboss_ncp_host_intro.htmlhttps://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/zigbee/architectures.html#ug-zigbee-platform-design-ncp-detailshttps://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/zigbee/ncp/README.html#zigbee-ncp-samplehttps://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/zigbee/tools.html#ug-zigbee-tools-ncp-hosthttps://developer.nordicsemi.com/nRF_Connect_SDK/doc/zboss/3.6.0.0/zboss_ncp_host.htmlhttps://developer.nordicsemi.com/nRF_Connect_SDK/doc/zboss/3.11.2.1/zboss_ncp_host_intro.htmlhttps://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/zigbee/tools.htmlhttps://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/zigbee/tools.html#ug-zigbee-tools-ncp-hostZBOSS NCP Host (v2.2.1) source codehttps://github.com/zigpy/zigpy/issues/394- Previous development discussion about ZBOSS radio library for zigpy.https://github.com/zigpy/zigpy/discussions/595- Reference collections for Zigbee Stack and related dev dockshttps://github.com/MeisterBob/zigpy_nrf52- Other attemt at making a zigpy library for nFR52https://gist.github.com/tomchy/04ac4ff78d6e117d33ab92d9cc1de779- Another attemt at making a zigpy controller for nFROther radio libraries for zigpy to use as reference projectsNote! The initial development of the zigpy-zboss radio library for zigpy stems from information learned from the work in thezigpy-znpproject.zigpy-znpThezigpy-znpzigpy radio library for Texas Instruments Z-Stack ZNP interface and has been the primary reference to base the zigpy-zboss radio library on. zigpy-znp is very stable with TI Z-Stack 3.x.x, (zigpy-znp also offers some stand-alone CLI toolsthat are unique for Texas Instruments hardware and Zigbee stack).zigpy-deconzThezigpy-deconzis another mature radio library for Dresden Elektronik'sdeCONZ Serial Protocol interfacethat is used by the deconz firmware for their ConBee and RaspBee seriies of Zigbee Coordinator adapters. Existing zigpy developers previous advice has been to also look at zigpy-deconz since it is somewhat similar to the ZBOSS serial protocol implementation.zigpy deconz parserzigpy-deconz-parserallow developers to parse Home Assistant's ZHA component debug logs using the zigpy-deconz radio library if you are using a deCONZ based adapter like ConBee or RaspBee.bellowsThebellowsis made Silicon LabsEZSP (EmberZNet Serial Protocol)interface and is another mature zigpy radio library project worth taking a look at as a reference, (as both it and some other zigpy radio libraires have some unique features and functions that others do not).How to contributeIf you are looking to make a code or documentation contribution to this project suggest that you try to follow the steps in the contributions guide documentation from the zigpy project and its wiki:https://github.com/zigpy/zigpy/blob/dev/Contributors.mdhttps://github.com/zigpy/zigpy/wikiAlso see:https://github.com/firstcontributions/first-contributions/blob/master/README.mdhttps://github.com/firstcontributions/first-contributions/blob/master/github-desktop-tutorial.mdRelated projectszigpyzigpyis aZigbee protocol stackintegration project to implement theZigbee Home Automationstandard as a Python library. Zigbee Home Automation integration with zigpy allows you to connect one of many off-the-shelf Zigbee adapters using one of the available Zigbee radio library modules compatible with zigpy to control Zigbee devices. There is currently support for controlling Zigbee device types such as binary sensors (e.g. motion and door sensors), analog sensors (e.g. temperature sensors), lightbulbs, switches, and fans. Zigpy is tightly integrated withHome Assistant'sZHA componentand provides a user-friendly interface for working with a Zigbee network.zigpy-cli (zigpy command line interface)zigpy-cliis a unified command line interface for zigpy radios. The goal of this project is to allow low-level network management from an intuitive command line interface and to group useful Zigbee tools into a single binary.ZHA Device HandlersZHA deviation handling in Home Assistant relies on the third-partyZHA Device Handlersproject (also known unders zha-quirks package name on PyPI). Zigbee devices that deviate from or do not fully conform to the standard specifications set by theZigbee Alliancemay require the development of customZHA Device Handlers(ZHA custom quirks handler implementation) to for all their functions to work properly with the ZHA component in Home Assistant. These ZHA Device Handlers for Home Assistant can thus be used to parse custom messages to and from non-compliant Zigbee devices. The custom quirks implementations for zigpy implemented as ZHA Device Handlers for Home Assistant are a similar concept to that ofHub-connected Device Handlers for the SmartThings platformas well as that ofzigbee-herdsman converters as used by Zigbee2mqtt, meaning they are each virtual representations of a physical device that expose additional functionality that is not provided out-of-the-box by the existing integration between these platforms.ZHA integration component for Home AssistantZHA integration component for Home Assistantis a reference implementation of the zigpy library as integrated into the core ofHome Assistant(a Python based open source home automation software). There are also other GUI and non-GUI projects for Home Assistant's ZHA components which builds on or depends on its features and functions to enhance or improve its user-experience, some of those are listed and linked below.ZHA ToolkitZHA Toolkitis a custom service for "rare" Zigbee operations using theZHA integration componentinHome Assistant. The purpose of ZHA Toolkit and its Home Assistant 'Services' feature, is to provide direct control over low level zigbee commands provided in ZHA or zigpy that are not otherwise available or too limited for some use cases. ZHA Toolkit can also; serve as a framework to do local low level coding (the modules are reloaded on each call), provide access to some higher level commands such as ZNP backup (and restore), make it easier to perform one-time operations where (some) Zigbee knowledge is sufficient and avoiding the need to understand the inner workings of ZHA or Zigpy (methods, quirks, etc).ZHA Device Exporterzha-device-exporteris a custom component for Home Assistant to allow the ZHA component to export lists of Zigbee devices.ZHA Network Visualization Cardzha-network-visualization-cardwas a custom Lovelace element for Home Assistant which visualize the Zigbee network for the ZHA component.ZHA Network Cardzha-network-cardwas a custom Lovelace card for Home Assistant that displays ZHA component Zigbee network and device information in Home Assistant