Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZBOSS NCP host (TZ-349) #124

Open
kklem0 opened this issue Oct 13, 2023 · 10 comments
Open

ZBOSS NCP host (TZ-349) #124

kklem0 opened this issue Oct 13, 2023 · 10 comments

Comments

@kklem0
Copy link

kklem0 commented Oct 13, 2023

Is your feature request related to a problem?

The current release only has ZBOSS RCP, but our old implementation uses ZBOSS NCP host.

Describe the solution you'd like.

The ZBOSS libraries for the NCP host include the following stack layers:

Zigbee cluster library (ZCL)
Commissioning logic (part of ZDO)
ZBOSS NCP serialization protocol
ZBOSS platform support layer for Linux-based OS

Since you use ZBOSS already if it is possible that we can use our old implementation with ZBOSS NCP host or if we need to rewrite it against esp-zigbee-sdk.
It would be enough for us if we could get the ZBOSS NCP SoC firmware files.

Describe alternatives you've considered.

No response

Additional context.

No response

@Hedda
Copy link
Contributor

Hedda commented Nov 4, 2023

+1 yes please consider adding support for ZBOSS NCP host for Zigbee NCP (Network Co-Processor) mode?

This feature request is also related to espressif/esp-zboss-lib#4

Currently is seems like the ESP ZBOSS can only be used Zigbee via a RCP (Radio Co-Processor) mode and no support for ZBOSS NCP host?

See example:

https://developer.nordicsemi.com/nRF_Connect_SDK/doc/zboss/3.11.2.0/zboss_ncp_host_intro.html

https://developer.nordicsemi.com/nRF_Connect_SDK/doc/zboss/3.11.2.0/zboss_ncp_host.html

ZBOSS NCP host as Zigbee NCP mode is required to implement support in the zigpy-zboss radio library for zigpy as a Zigbee Coordinator adapter interface which is used by the ”ZHA” Zigbee gateway integration that is built-into Home Assistant:

kardia-as/zigpy-zboss#19

https://github.com/kardia-as/zigpy-zboss

https://github.com/zigpy/zigpy

https://www.home-assistant.io/integrations/zha

@Hedda
Copy link
Contributor

Hedda commented Nov 17, 2023

ZBOSS NCP support would probably also be prefered for Zigbee2Tasmota (Z2T) compatible in Tasmota:

arendst/Tasmota#20045

For reference, Tasmotas's Zigbee2Tasmota (Z2T) already supports Texas Instruments ZNP and Silicon Labs EZSP Zigbee stacks/interfaces with respective Zigbee Coordinator adapter running Zigbee firmware in NCP (Network Co-Processor) mode:

https://tasmota.github.io/docs/Zigbee/

@chshu
Copy link
Collaborator

chshu commented Nov 30, 2023

@kklem0 @Hedda We are working on a ESP Zigbee NCP solution, which will be based on the ESP Zigbee APIs, and provide the serial interface to communicate with host.

We will also prepare a corresponding zigpy python library to work with Home Assistant.

The draft version will be ready in 2024 January.

@kklem0
Copy link
Author

kklem0 commented Nov 30, 2023

🎉

@Hedda
Copy link
Contributor

Hedda commented Nov 30, 2023

We are working on a ESP Zigbee NCP solution, which will be based on the ESP Zigbee APIs, and provide the serial interface to communicate with host.

@chshu Nice! Will that API be compatible with the standard ZBOSS NCP serial protocol that and CLI the zigpy-zboss library already supports?

https://github.com/kardia-as/zigpy-zboss

Please see related feature request discussion here -> kardia-as/zigpy-zboss#19

That is, if your serial interface will be 100% ZBOSS compatible then there is no need for a seperate zigpy radio library.

@Hedda
Copy link
Contributor

Hedda commented Nov 30, 2023

@chshu also see related upstream discussion in the zigpy repository here -> zigpy/zigpy#1052

@chshu
Copy link
Collaborator

chshu commented Dec 1, 2023

Will that API be compatible with the standard ZBOSS NCP serial protocol that and CLI the zigpy-zboss library already supports?

@Hedda The ESP Zigbee NCP will not be compatible with ZBOSS NCP.

With ZBOSS NCP, users need to run ZCL and part of ZDO on host. We want to integrate ZCL and ZDO in the ESP Zigbee NCP as well, so host can handle the application logic only. If some hosts already have ZCL implementation, it's also flexible to access the NCP network layer directly.

@Hedda
Copy link
Contributor

Hedda commented Dec 1, 2023

The ESP Zigbee NCP will not be compatible with ZBOSS NCP.

With ZBOSS NCP, users need to run ZCL and part of ZDO on host. We want to integrate ZCL and ZDO in the ESP Zigbee NCP as well, so host can handle the application logic only. If some hosts already have ZCL implementation, it's also flexible to access the NCP network layer directly.

Ok, I can see that might be wanted for complete onboard solutions like Zigbee for Tasmota, though popular open-source Zigbee frameworks like zigpy (for Home Assistant’s ZHA + Zigbee Plugin for Domoticz) and zigbee-herdsman (for Zigbee2MQTT and IoBroker) have their own ZCL and ZDO implementations.

@Hedda
Copy link
Contributor

Hedda commented Dec 31, 2023

We are working on a ESP Zigbee NCP solution, which will be based on the ESP Zigbee APIs, and provide the serial interface to communicate with host.

We will also prepare a corresponding zigpy python library to work with Home Assistant.

The draft version will be ready in 2024 January.

FYI, assume this related pull request for zigpy-cli -> zigpy/zigpy-cli#42 is indication that making progress on -> zigpy/zigpy#1052

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants