-
Notifications
You must be signed in to change notification settings - Fork 4
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
How to get started with zigpy-zboss and Home Assistant? #20
Comments
You need to manually patch directly in the Home Assistant core, modify the source by patching the ZHA component (”zha” under components) inside it to include zigpy-zboss as well as add ”zboss” to the ZHA manifest (manifest.json) as a new radio type, in the same way that the zha component there already includes for example zigpy-znp and ”znp” radio type in ZHA manifest -> https://github.com/home-assistant/core/tree/dev/homeassistant/components/zha -> https://github.com/home-assistant/core/blob/dev/homeassistant/components/zha/manifest.json Alternatively, I believe you can copy the ZHA component and use that as a custom component itself to override the built-in core integration or maybe perhaps even rename it? -> https://developers.home-assistant.io/docs/creating_component_index/ (a tip, if you try to do that, is to know that the manifest.json file has support for a version key which you could set to a higher version than one that comes with the core and thus it will not overwrite it on updates. |
Thanks @Hedda ! |
FYI, there is also related discussion in zigpy-zboss issue #2 as well as more general discussion in zigpy issue zigpy/zigpy#394 |
Hi @ajlennon, have you succeeded with ZHA configuration to work with zigpy-zboss? I would like to start using nrf52840 dongle as Zigbee NCP and feel a bit lost about the required steps to get there. |
For reference, also see non-developer forum discssion -> https://community.home-assistant.io/t/nordic-semi-nrf52840-chips-with-zboss-zigbee-stack-now-usable-as-zigbee-coordinator-for-the-zha-integration-via-new-radio-library-for-zigpy/570196 |
Well to be honest I stopped. I wasn't really keen on Zigbee and was much more interested in OpenThread so we're now working on OpenThread on 802.15.4 ! |
I started digging into this tonight and have flashed the device and started creating custom component (using container so this appeared easier) but man... I'm stuck. Do I need to copy the zboss folder into my custom ZHA and then edit all files where radio is mentioned and add call to zboss? |
You should be able to copy the ZHA integration, add a diff --git a/homeassistant/components/zha/core/const.py b/homeassistant/components/zha/core/const.py
index c286d0112e9..f3bb6f9c2e7 100644
--- a/homeassistant/components/zha/core/const.py
+++ b/homeassistant/components/zha/core/const.py
@@ -10,6 +10,7 @@ import zigpy.application
import zigpy.types as t
import zigpy_deconz.zigbee.application
import zigpy_xbee.zigbee.application
+import zigpy_zboss.zigbee.application
import zigpy_zigate.zigbee.application
import zigpy_znp.zigbee.application
@@ -262,6 +263,8 @@ class RadioType(enum.Enum):
zigpy_xbee.zigbee.application.ControllerApplication,
)
+ zboss = ("ZBOSS", zigpy_zboss.zigbee.application.ControllerApplication)
+
@classmethod
def list(cls) -> list[str]:
"""Return a list of descriptions.""" From there, the radio type will show up and you can set up ZHA to point to the serial port. |
I flashed a Xiao nRF52840 earlier this evening. It shows up over usb serial as expected. When I create the custom component as noted above, I get:
Removing the version key from manifest.json reverts back to the non-custom component. A little googling indicated that a mismatch between the component folder name and the domain key of manifest.json can generate the above error. I checked and they're the same. I also removed the integration and recopied it from a current version off GitHub. I think this is a super cool project and am excited to try it out! Thanks for the inspiring work to all involved and any assistance you may have to offer in advance. |
Still trying... I did a
|
zigpy-zboss does not appear to be compatible with Python 3.11. @DamKast Since this repository is based on zigpy-znp, take a look at this PR I made to zigpy-znp that removes unnecessary type duplication within radio libraries: zigpy/zigpy-znp#225 |
I have set up a development environment for Developing with Visual Studio Code + devcontainer and added zigpy-zboss support roughly as described by @puddly above. The missing part of the puzzle is how to pass through /dev/ttyACM0 to the devcontainer. That would be useful information as part of the "How to get started". |
I do not have much experience with Docker or other PaaS/CaaS systems for handling containers, I use virtual machines instead. I know that if you are using Docker then you to install and use something like Docker Compose for adding configuration to forward your device from the host machine to the Docker container instance, see: https://www.home-assistant.io/integrations/zha#cant-connect-to-usb-device-and-using-docker also check that the the USB or serial device is not being claimed other services on the host, see example. PS: Probably does not help but FYI, there are additional tips regarding installation and configuration in these zigpy documents: |
Hi there!
I have a number of Nordic DKs and dongles here (e.g. nRF52840 Dongle) and would love to connect these up to HA.
I've programmed up the dongle with the right firmware and I have tried to add the integration into HA. The serial port is detected but I can't see how to get zigpy-zboss in here to support zboss?
Any advice would be much appreciated !!!
Thanks,
Alex
The text was updated successfully, but these errors were encountered: