fairecasoimeme / ZiGate

Zigate is an Universal Zigbee Gateway
http://zigate.fr
171 stars 59 forks source link

[SUGGESTION] Assist in enhancing the zigpy-zigate library for feature parity (ZiGate radio library for Zigpy) #319

Open Hedda opened 4 years ago

Hedda commented 4 years ago

Suggest that you actively assist in coding the downstream zigpy-zigate library project so that it reaches feature parity with ZiGate.

https://github.com/zigpy/zigpy-zigate

Summery; the zigpy-zigate library project needs help from the whole ZiGate community to make it into a more mature library as some functions, features and commands are still missing to make the zigpy-zigate radio library API have all the same capabilities as the upstream ZiGate API.

What is needed is to map all enhanced functions, features and commands that the ZiGate firmware/hardware supports so that the zigpy-zigate library translate them and pass them along back and forth with the common zigpy API used by all radio libraries for zigpy.

zigpy-zigate is a radio library for zigpy which is used as a Zigbee stack abstraction layer in Home Assistant's ZHA integration component implementation that in turn adds native support for multiple Zigbee adapters, including all ZiGate hardware.

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

and:

https://github.com/zigpy/zigpy/

There is also another proof-of-concept project that might bring direct-attached ZiGate hardware support to Domoticz via zigpy:

https://github.com/pipiche38/Domoticz-Zigpy

It should benefit both your ZiGate sales and maybe also your upstream development if there was improved feature parity (complete support for all ZiGate enhanced features) for ZiGate hardware dongles in all applications that will use zigpy-zigate.

Fact is that without enhanced ZiGate support in zigpy-zigate some end-users might prefer buying other hardware than ZiGate.

https://github.com/zigpy/zigpy-zigate/issues

Some examples of enhancements needed or missing features and functions lacking translation in the current zigpy-zigate library:

https://github.com/zigpy/zigpy-zigate/issues/42 https://github.com/zigpy/zigpy-zigate/issues/38 https://github.com/zigpy/zigpy-zigate/issues/47 https://github.com/zigpy/zigpy-zigate/issues/44 https://github.com/zigpy/zigpy-zigate/issues/43 https://github.com/zigpy/zigpy-zigate/issues/45 https://github.com/zigpy/zigpy-zigate/issues/19 https://github.com/zigpy/zigpy-zigate/issues/16 https://github.com/zigpy/zigpy-zigate/issues/56 https://github.com/zigpy/zigpy-zigate/issues/57

PS: Currently there is only one developer that is working on zigpy-zigate and have not had too much time to spend on on zigpy.

Hedda commented 4 years ago

@fairecasoimeme any feedback? Could you maybe try to get the ZiGate community involved in improving zigpy-zigate support?

Hedda commented 4 years ago

Perhaps @doudz + @pipiche38 have input in regards to this as well as better contacts @fairecasoimeme and ZiGate community?

fairecasoimeme commented 4 years ago

Hi, I'll try to check that when that will be possible. There are anothers priorities but I don't forget zigpy which is important for us. Fred

max5962 commented 3 years ago

@Hedda Indeed, i'm looking for an replacement, zigpy-zigate is outdated and unmaintained. Since 2 major version of Hass, my zigate network is completly unstade.

pipiche38 commented 3 years ago

I think there is not much to make the zigpy-zigate working

max5962 commented 3 years ago

@pipiche38 if you do not use ZHA, what do you use ?

pipiche38 commented 3 years ago

I'm using DomoticZ and I'm the developer of the ZiGate plugin for Domoticz.

For zigpy-zigate I had a look in the past, as I was also interested to use zigpy for Domoticz, but unfortunately zigpy and zha_quirks are developed for ZHA and have not much documentation. For example maintaining the zigpy-zigate is not a big issue ( I know pretty much the Zigate protocol and way to work), but there is not much documentation from zigpy/zha on what do they expect.

On the other side, I know that Jeedom is also using zigpy to interface with most of the Zigbee controler, and Zigate works as well, so they might have enhanced the zigpy-zigate module without transferring the update

Last, you might want to use a fork https://github.com/puddly/zigpy-zigate which seems to be maintenain by one of the zigpy developper

ruimarinho commented 3 years ago

@max5962 I gave up on ZiGate due to lack of support from @fairecasoimeme. Basically the community was built on the shoulders of @pipiche38 and @doudz and their time is limited for so many requests. The ZHA integration on Home Assistant is completely broken - some devices won't pair at all and others will drop at random intervals, something I never experienced even with the original custom component by @doudz.

At the end of the day, I'm grateful for all the work that @pipiche38 and @doudz put into ZiGate, making it "production" ready on home automation apps, but I've decided to move on to https://www.tubeszb.com/ based on the CC2652P2 module.

To understand how ZiGate support is so broken, I can't even find help to get it to run as a router on my network. Basically I have a €60 expensive paperweight sitting on my desk.

pipiche38 commented 3 years ago

@ruimarinho , the zigate in router mode works great. you simply need to use the proper firmware ( https://github.com/badzz/Zigate-Router )

And as said the lack of documentation on zigpy / zha makes hard to devlop/maintain the zigpy-zigate

Last, as @fairecasoimeme is concerned, I think that the development of the firmware is done correctly and all the features that I required (either to include specific fancy devices) are done on time. So I don't think you can really blame him.

fairecasoimeme commented 3 years ago

hello, I think you are confusing a lot of things. I take care of the ZiGate firmware and I have always responded positively to requests for help from @pipiche38 or @doudz on firmware upgrades.

On ZHA, I have absolutely no knowledge of the zigpy library but I am always ready to help the developers to modify or improve the firmware in the use of Zigpy.

@Doudz and @pipiche38 do a remarkable job and use their leisure time to develop these libraries

On ZHA, which I have already used with the ZiGate, I cannot see how a device cannot pair if it is Zigbee 3.0 compatible. The only problem that was brought up to me is on the ZiGate-Wifi where there are disconnections related to TCP when the devices do not speak enough.

I remind you that Jeedom uses Zigpy-Zigate and that everything is working correctly and that to my knowledge, there are no devices that cannot be paired.