lhespress / zigpy-espzb

GNU General Public License v3.0
19 stars 4 forks source link

[REQUEST] Zigbee NCP firmware images for used in zigpy-espzb development and testing? #2

Open Hedda opened 6 months ago

Hedda commented 6 months ago

@lhespress (and @chshu) not sure if should post request here or in official repo at https://github.com/espressif/esp-zigbee-sdk

This is a feature request asking for pre-compiled firmware images related to https://github.com/zigpy/zigpy/issues/1052 and https://github.com/zigpy/zigpy-cli/pull/45 (previously https://github.com/zigpy/zigpy-cli/pull/42).

Useful to have pre-built binaries for each change release, as it will mean that developer topls does not need to be installed on users computer, resulting in wider userbase of testers.

That is, pre-compiled/pre-built firmware images ready to flash on ESP32-C6 and ESP32-H2 are needed for community testing:

https://github.com/espressif/esp-zigbee-sdk/tree/main/examples/esp_zigbee_ncp

Can you please provide a GitHub repository where you share prebuilt examples of Zigbee NCP firmware images, and maybe also Zigbee RCP, for Espressif ZNSP (Zigbee NCP Serial Protocol) to use for zigpy-espzb development and testing with specific reference hardware?

https://github.com/espressif/esp-zigbee-sdk/tree/main/examples/esp_zigbee_ncp

I am guessing that Espressif's official ESP32-C6 and/or ESP32-H2 are used as a reference "Zigbee Coordinator" hardware for this, or? E.g.:

Preferably list specific DevKits and Modules that should be used as hardware reference for development and testing:

Specifically, please share a compiled example of Zigbee NCP firmware for ESP32-C6 (and ESP32-H2) that can be with zigpy-espzb library.

PS: As an simple example for reference see this repository with nRF ZBOSS NCP firmware images for the nRF52840 Dongle by Nordic Semi:

https://github.com/kardia-as/nrf-zboss-ncp

Also check out these repository that provides community built firmware

https://github.com/grobasoz/zigbee-firmware/tree/master/ESP32-C6/Zigbee_RCP see request here -> https://github.com/grobasoz/zigbee-firmware/issues/48

https://github.com/darkxst/silabs-firmware-builder -> https://github.com/darkxst/silabs-firmware-builder/tree/main/firmware_builds

lhespress commented 6 months ago

@Hedda I have use https://github.com/zigpy/zigpy-cli/pull/45 tested it which flash NCP firmware to ESP32-H2-DevKitM-1. We will discuss whether provide a GitHub repository for firmware or not.

Hedda commented 6 months ago

I have use zigpy/zigpy-cli#45 tested it which flash NCP firmware to ESP32-H2-DevKitM-1. We will discuss whether provide a GitHub repository for firmware or not.

Uncompiled code is probably fine for zigpy developers, (however a shared/common configuration might still be also be good for reference so everyone is using the same standard settings when debugging), but offering precompiled Zigbee NCP image builds are needed when and if you want users that are not zigpy developers to start using this, meaning users that simply want to make a Zigbee Coordinator connected via serial-over-IP on their network (which I am sure will be the largest use case).

Alternativly you could offer a standard build scripts and step-by-step compilation instructions like these two community projects does, see:

https://github.com/darkxst/silabs-firmware-builder/

And

https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator

An upside to users building and compiling the Zgbee NCP firmware firmware themselves it that it it gives users the option to change some configurations before compiling, but a downside is that if not everyone is using the same default configuration then it can be harder to developers to troubleshoot issues if they are directly or indirectly caused by those configuration changes.

chshu commented 6 months ago

@Hedda The ESP Zigbee NCP and corresponding zigpy-cli is still under development and test phase, so the pre-compiled firmware is not realy useful at this moment. We will definitely release pre-compiled firmware once everything is ready.

Now we can run NCP firmware to ESP32-H2-DevKitM-1 for zigpy-cli development.

Could you reach out to me via email chenshu@espressif.com, looking forward to schedule a meeting with your team and discuss the future cooperation.

Hedda commented 5 months ago

Could you reach out to me via email chenshu@espressif.com, looking forward to schedule a meeting with your team and discuss the future cooperation.

To clarify; I'm just an enthusiast + user and not a member of the zigpy organization (nor a developer of zigpy or ZHA integration).

@chshu and @lhespress you should instead try to get in contact with puddly -> https://github.com/puddly (as he is one of the lead developers + an admin in the zigpy organization) and other members of the zigpy organization that are also leading developers of the ZHA integration in Home Assistant:

https://github.com/puddly

https://github.com/dmulcahey

https://github.com/Adminiuga

https://github.com/TheJulianJES

PS: By the way, you might also want to discuss cooperation with Nabu Casa as well as they lead the development of Home Assistant as a whole.

ss89 commented 5 months ago

I'm following (almost) all github issues created by Hedda about zigbee on nrf/esp32-h2/esp32-c6 since december last year and it seems like basic functionality (or even more?) is done and working now. If i get it right, then what's holding us back from using this implementation in zigpy of home assistant (zha addon) is only that this implementation must be installable via pip. When do you plan to release it? I would love to try it out via HA.

Hedda commented 5 months ago

If i get it right, then what's holding us back from using this implementation in zigpy of home assistant (zha addon) is only that this implementation must be installable via pip. When do you plan to release it? I would love to try it out via HA.

Off-topic, see seperate issue with request for that here -> https://github.com/lhespress/zigpy-espzb/issues/5 (which is also needed to include it in zigpy-cl https://github.com/zigpy/zigpy-cli/pull/45 )