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

[REQUEST] ZiGate radio library to support for the zigpy library used by ZHA component in Home Assistant #129

Open
Hedda opened this issue Jan 21, 2019 · 9 comments

Comments

@Hedda
Copy link

commented Jan 21, 2019

Please consider writing a ZiGate radio library that works with the zigpy library for Home Assistant:

https://github.com/zigpy/zigpy

zigpy is a is Zigbee protocol stack integration project that is designed to work with separate radio libraries which can each interface with multiple USB and GPIO radio adapters/modules over different native serial protocols.

This zigpy library is implemented as a native Zigbee Home Automation Hub (ZHA) component for Home Assistant.

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

The main benefit with the modular design of zigpy is that software like Home Assistant only need to support this one solution as zigpy then abstracts support for multiple radios serial protocols via radio module libraries:

https://github.com/zigpy/zigpy-xbee
https://github.com/zigpy/zigpy-deconz
https://github.com/zigpy/bellows

@doudz

This comment has been minimized.

Copy link
Contributor

commented Jan 21, 2019

I've started to implement it https://github.com/doudz/zigpy-zigate
it's not working yet, I'm waiting for stuff to make test

@max5962

This comment has been minimized.

Copy link

commented Jan 23, 2019

what are the pros and the cons of using zigpy vs your component @doudz ?

@doudz

This comment has been minimized.

Copy link
Contributor

commented Jan 24, 2019

  • Pros :

    • well integrated in HA
    • Better zigbee protocol support
  • Cons :

    • low level so it doesn't use the zigate commands
    • not compatible with python 3.4 (not a problem for HA but I can't reuse it for Jeedom for example)
@Hedda

This comment has been minimized.

Copy link
Author

commented Jan 24, 2019

Another pro for end-users is zigpy's open modular design made to support different Zigbee radio modules (radios from different hardware manufacturers that does not use the same low-level protocol to communicate with the hardware). Because of this modular design of zigpy, at least in theory, you will get more developers with different Zigbee adapter hardware working on the same interface integration and open source libraries for the component in open source software, like Home Assistant.

From an end-users point-of-view it should in theory not matter which Zigbee adapter you buy, as long as some developer(s) have written a custom radio library for zigpy for the low-level protocol that it is using so that zigpy can comminicate with the specific firmware on that hardware.

https://github.com/zigpy/zigpy

This modular design of zigpy is very similar to that which have already existed for Z-Wave in the open source community for many years, where you can buy almost USB or GPIO Z-Wave controller adapter from any hardware manufacturer and it will "just work" with all open source home automation software since almost all of them use the same library (ie. the OpenZWave libary).

Sure some Zigbee adapter hardware manufacturers who do not yet get the open source concept might not like the modular design of the zigpy library since it gives end-users the option to go buy hardware adapters from their competition, but I think that this modular design will benefit everyone, including Zigbee adapter hardware manufacturers, developers, and end-users.

@max5962

This comment has been minimized.

Copy link

commented Jan 24, 2019

Hello.
First thanks you for detailed answer!

@doudz what's the issues of not using zigate commands ?

@doudz

This comment has been minimized.

Copy link
Contributor

commented Jan 25, 2019

@max5962 zigpy generate raw zigbee command packet so we will only use a few set of zigate commands like permit join or raw aps data request, the others are just unneeded

@Hedda

This comment has been minimized.

Copy link
Author

commented Jan 25, 2019

@doudz would it be any point for @fairecasoimeme to further extend the serial protocol / serial API of the ZiGate firmware so that zigpy could make more advanced use of its firmware features and function?

@doudz

This comment has been minimized.

Copy link
Contributor

commented Jan 25, 2019

@Hedda I've no time right now to work on zigpy implementation. The point I have to investigate is how zigpy will handle zigate's response, I don't know yet if we need a new "raw aps data response" on zigate or if current responses are enough

@Hedda

This comment has been minimized.

Copy link
Author

commented Mar 20, 2019

@doudz congratulations on making such great progress with your zigpy-zigate project for Zigpy!

@fairecasoimeme fairecasoimeme referenced this issue Jul 12, 2019

Merged

V3.1a #209

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.