kardia-as / zigpy-zboss

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

zigpy-zboss radio library for ZHA installable as custom component for Home Assistant via HACS? #2

Open Hedda opened 1 year ago

Hedda commented 1 year ago

Any ideas on how to make this new radio library easier to test by pre-alpha testers without making installation too complicated?

Ex. install a custom repository via HACS (Home Assistant Community Store)? -> https://hacs.xyz/docs/faq/custom_repositories/

As one possible option, could it maybe be a good idea to try to update the old "zha-custom-radios" project (or fork puddly's old custom component from older zigpy-znp revisions that was mentioned since the v0.0.10 release?) in order to make the zigpy-zboss radio library easier for alpha/beta-testers to install as a custom component via HACS?

https://github.com/zha-ng/zha-custom-radios

That (now obsolete) "zha-custom-radios" project was a custom component package for Home Assistant (with its ZHA component for zigpy integration) that allows users to test out new zigpy radio libraries and hardware modules before they have officially been integrated into ZHA. This enabled developers and testers to test new or updated zigpy radio modules without having to modify the ZHA component in the Home Assistant core source code.

puddly commented 1 year ago

Custom components can no longer modify Home Assistant in a compatible way, there's no way to make it work. It's easier to just use ZHA as a custom component itself and modify the source directly.

Hedda commented 1 year ago

It's easier to just use ZHA as a custom component itself and modify the source directly.

@puddly Any sggestion on pre-alpha test instructions in README.md for testing ZHA integration in Home Assistant core & OS?

E.g. something similar to these instructions?

https://github.com/zigpy/zigpy/blob/dev/CONTRIBUTING.md#testing-new-releases

https://github.com/zigpy/zigpy/blob/dev/CONTRIBUTING.md#setup

https://github.com/zigpy/zigpy-znp/blob/dev/README.md#home-assistant

Or should @kardia-as fork the whole zha component and package it as a custom component available via a custom repository?

https://hacs.xyz/docs/faq/custom_repositories/

Understand that the zha component could be usable as a custom component if it was renamed to something other than "ZHA"?

https://github.com/home-assistant/core/tree/dev/homeassistant/components/zha

E.i. fork zha component and package zigpy-zboss with it inside that forked repository + add custom_components manifest.json?

https://hacs.xyz/docs/publish/integration/

That is, can we make this new radio library easier to test by pre-alpha testers without making it too complicated or hard to install?

kklem0 commented 1 year ago

It's easier to just use ZHA as a custom component itself and modify the source directly.

@puddly Any sggestion on pre-alpha test instructions in README.md for testing ZHA integration in Home Assistant core & OS?

E.g. something similar to these instructions?

https://github.com/zigpy/zigpy/blob/dev/CONTRIBUTING.md#testing-new-releases

https://github.com/zigpy/zigpy/blob/dev/CONTRIBUTING.md#setup

https://github.com/zigpy/zigpy-znp/blob/dev/README.md#home-assistant

Or should @kardia-as fork the whole zha component and package it as a custom component available via a custom repository?

https://hacs.xyz/docs/faq/custom_repositories/

Understand that the zha component could be usable as a custom component if it was renamed to something other than "ZHA"?

https://github.com/home-assistant/core/tree/dev/homeassistant/components/zha

E.i. fork zha component and package zigpy-zboss with it inside that forked repository + add custom_components manifest.json?

https://hacs.xyz/docs/publish/integration/

Or work with ZHA/HA to import this lib?

puddly commented 1 year ago

Or work with ZHA/HA to import this lib?

I'd like to heavily verify the Zigbee stack and library before including it in ZHA: once people start using hardware, it's very difficult to migrate them away, since the software side must be maintained nearly perpetually after that. We currently have three stable Zigbee stacks (EmberZNet, Z-Stack, and deCONZ) so it would need to be on the level of stability as those to be included in ZHA. For now, testing it out by patching ZHA is good enough for developers interested in trying it out.