ZHA integration support for ZGP (Zigbee Green Power) devices via zigpy?

No, the method for factory resetting and putting devices into pairing/joining mode is entirely device firmware specific which is totally independent of which Zigbee gateway solution you are using. So you just need to read/follow the device hardware manufacturer manual for the specific device for how to factory reset it and how to put it into pairing/joining mode.

I think i made some progress as i see messages in the logs which could not parsed. So looks like the device can communicate with HA if am not wrong

Log1


Logger: bellows.ezsp.protocol
Source: runner.py:179 
First occurred: 09:58:40 (25 occurrences) 
Last logged: 10:03:19

Failed to parse frame gpepIncomingMessageHandler: b'7fd6d5003e1f71013e1f71016b02010000d5090000138a2d22a2ff00'
Failed to parse frame gpepIncomingMessageHandler: b'7cd6d6003e1f71013e1f71016b00000000ffffffffe0ffffffffff2e02c5f2a835585ccd1a43d08badddcf2ace49e86f22d7b0d609000004111011121314151617226062636465666768'
Failed to parse frame gpepIncomingMessageHandler: b'7fd6d7003e1f71013e1f71016b02010000d709000068c5233053ff00'
Failed to parse frame gpepIncomingMessageHandler: b'7fd7d8003e1f71013e1f71016b02010000d8090000100c9299c5ff00'
Failed to parse frame gpepIncomingMessageHandler: b'7fd6d9003e1f71013e1f71016b02010000d909000014baa9d58bff00'

Log2


Logger: homeassistant
Source: /usr/src/homeassistant/homeassistant/runner.py:137 
First occurred: 09:58:41 (20 occurrences) 
Last logged: 10:03:19

Error doing job: Exception in callback ThreadsafeProxy.__getattr__.<locals>.func_wrapper.<locals>.check_result_wrapper() at /usr/local/lib/python3.11/site-packages/bellows/thread.py:110
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/local/lib/python3.11/site-packages/bellows/thread.py", line 111, in check_result_wrapper
    result = call()
             ^^^^^^
  File "/usr/local/lib/python3.11/site-packages/bellows/ezsp/__init__.py", line 339, in frame_received
    self._protocol(data)
  File "/usr/local/lib/python3.11/site-packages/bellows/ezsp/protocol.py", line 180, in __call__
    result, data = self.types.deserialize(data, schema)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/bellows/types/__init__.py", line 9, in deserialize
    value, data = type_.deserialize(data)
                  ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/zigpy/types/struct.py", line 302, in deserialize
    value, data = field.type.deserialize(data)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/zigpy/types/basic.py", line 851, in deserialize
    item, data = cls._item_type.deserialize(data)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/zigpy/types/basic.py", line 190, in deserialize
    raise ValueError(f"Data is too short to contain {byte_size} bytes")
ValueError: Data is too short to contain 1 bytes

Log3


Logger: zigpy.zcl
Source: runner.py:179 
First occurred: 00:51:21 (119 occurrences) 
Last logged: 10:03:19

[0x94AC:242:0x0021] Unknown cluster command 0 b'\x88T>\x1fq\x01\xd4\t\x00\x00\x17\x00\xac\x94\xff'
[0x94AC:242:0x0021] Unknown cluster command 0 b'\x88T>\x1fq\x01\xd5\t\x00\x00\x13\x00\xac\x94\xff'
[0x94AC:242:0x0021] Unknown cluster command 0 b'\x88T>\x1fq\x01\xd7\t\x00\x00h\x00\xac\x94\xff'
[0x94AC:242:0x0021] Unknown cluster command 0 b'\x88T>\x1fq\x01\xd8\t\x00\x00\x10\x00\xac\x94\xff'
[0x94AC:242:0x0021] Unknown cluster command 0 b'\x88T>\x1fq\x01\xd9\t\x00\x00\x14\x00\xac\x94\xff'

ZHA Device Request

2 Likes

I have a LED Trading 9126 (or is it a 9133) push button coupler, and I’m seriously considering to go back to z2mqtt tonight, because I need it working yesterday. Would be really nice to get this going. Green Power devices sound nice anyway. Lots of FOH hardware that we are missing here.

2 Likes

@zillion42 Did you get the push button coupler working?

If anyone else has “Friends of Hue” (FOH) devices that are white-label products made in partnership with Philips/Signify and based on the standard EnOcean PTM 215Z module with just a custom switch cover (like example Niko 91004, NodOn CWS-4-1-01_HUE, Vimar 03906, Sunricher SR-ZGP2801K4-FOH-E, LED-Trading 9125, Feller 4120.2.S.FMI.61) then I suggest that you test pairing/joining it to ZHA and post feedback in zha-device-handlers repo about which exact Zigbee Coordinator and firmware you tested with → [Device Support Request] Add Friends of Hue Zigbee Green Power EnOcean Switch · Issue #2477 · zigpy/zha-device-handlers · GitHub

1 Like

FYI, there is now an initial code pull request draft for the zigpy library to add initial support for a proper ZGP (Zigbee Green Power) implementation. From the comments it is still unclear which Zigbee stacks will work (e.i. radio type of Zigbee Coordinator radio adapters), and likely it will initially not be supported to pair ZGP devices directly with the Zigbee Coordinator and instead the initial implementation might only support ZGP end devices via ZGP proxy devices (e.i. Zigbee 3.0 compatible Zigbee Router devices acting as a ZGP proxy).

If you can program in Python and are interested in helping out with the implementation then note that the developer of that new code pull request for zigpy is currently only asking for help from other developers in reviewing his code patches there (end-users should not post there unless already know how to contribute with code testing without handholding), so testers without coding expertise should wait until this first pull request has been merged and the ZHA integration has been updated with newer zigpy release version that has it merged/committed → Zigbee Green Power Support by konistehrad · Pull Request #1282 · zigpy/zigpy · GitHub

Please, if you just want to ”+1” or discuss off-topic workarounds that are not actually not directly related to zigpy then this specific issue in the zigpy repository is not the place to do that. Please don’t post here, instead post in Home Assistant community forum.

End-users can also find more information in the GitHub feature tracker issues but also refrain from posting there → https://github.com/zigpy/zigpy/issues/341

The way to only ”+1” this without spamming the developers then is to simply press the thumbs up emoji :+1: on the GitHub posts.

image

Again, also wote and post in the(se) existing Home Assistant community forum thread(s) as that is still the best way to show your interest in this.

1 Like

FYI, while it was initially looking like only newer Silicon Labs EFR32MGxx and Texas Instrument CC26xx/CC13xx based adapters would get ZGP support in the work-in-progress patch that the zigpy developers are working on, Dresden-Elektronik’s has now also released ConBee III (ConBee 3) Zigbee Coordinator adapter with ZGP-capable firmware. (I assume this means that ConBee 2 and RaspBee 2 or older deconz adapter are likely to not ever get support for ZGP support under ZHA, but at least there is hope for ConBee fans):

Following this thread for a while now - hoping to get my friends-of-hue wall switch operational with ZHA. Looks like this is where the magic is happening now:
https://github.com/home-assistant/core/pull/106118
Would be awesome if this could make it into one of the upcoming HA releases!

1 Like

No that actually unrelated (which is mentioned if you read the comments there), instead you need to wait for this upstream pull request to be completed and then merged into the zigpy library → https://github.com/zigpy/zigpy/pull/1282

OK, thanks for clarifying. That one doesn’t seem to have as much activity in the last couple of weeks. Patience…

I read that a tree fell on his house so I am sure that he has been busy with that, so yeah, have patience. He has posted here that he still plan to get back to it when ge can:

FYI, it looks like development might have started up again on this ZGP pull request:

2 Likes

FYI, from the comment here by konistehrad related to ZHA Device Handlers version 2 (ZHA-Quirks V2) architectural design developer discussion it sounds as he now has some time again to continue working on his ZGP pull request for zigpy:

Still no news in Zigbee Green Power Support by konistehrad · Pull Request #1282 · zigpy/zigpy · GitHub so we do not know when or if that PR will get merged into zigpy.

The CSA ( Connectivity Standards Alliance, formerly the Zigbee Alliance) has hower since released updated Green Power Revision 1.1.2 specifications for Zigbee-based Energy-harvesting Technology:

The latest revision of the Green Power standard, Revision 1.1.2 (Zigbee PRO Green Power feature specification Basic functionality set version 1.1.2) introduces additional features and scripts that simplify testing and allow Green Power developers to use the same unified test harness for Green Power receiver products as used for the traditional Zigbee protocol.

3 Likes

are there any news about ZGP for ZHA?

thanks for any information

Unfortunate not any good news as konistehrad only posted in the pull request that he is swamped with other stuff but can assist if someone else qould be willing to pick up leading the development.

You can read/follow developers progress yourself in Zigbee Green Power Support by konistehrad · Pull Request #1282 · zigpy/zigpy · GitHub but please do not post there yourself unless you are a developer yourself that can help out for real.

1 Like

My solution to this problem.
Buy a second zigbee usb stick like conbee 3 and install Zigbee2Mqtt addon and setup everything.

you can run zigbee2mqtt on another zigbee-channel, my channel is 11 and have a different one for zha.

its working perfectly with Zigbee Green Power devices and if you have another zigbee device which has more attributes than zha, you can add it to zigbee2mqtt instead of zha.

I think this is a faster solution than waiting for a zgb integration into zha.

I so not recommend buying a ConBee today unless you are going to use DeCONZ/Phoscon. If you are going to use Zigbee2MQTT or ZHA then you should today buy a CC2652P or EFR32MG21 based USB dongle, see arguments why here:

it doesn‘t matter which usb stick, you can also buy a sonoff stick but until now my ZGP feller switches are working now perfectly with zigbee2mqtt

sometimes I think zigbee2mqtt is doing the job smoother than zha.

it was just an idea for all those people who are looking for a solution right now and have some ZGP devices and can not use them with ZHA.

don‘t now if this pull-request will be merged in the next few months.

It does matter as the ConBee is not as well maintained/supported in Zigbee2MQTT as newer Taxas Instruments and Silicon Labs based Zigbee Coordinator adapters, so you will do yourself a disservice if you buy a ConBee but not plan on using Dresden Elektronik’s own Zigbee Gateway application. Again see → Zigbee buyer's guide - #2 by Hedda