ZHA integration to get full support for ZGP (Zigbee Green Power) devices?

Hope ZHA will soon get support for ZGP (Zigbee Green Power / Zigbee GreenPower) devices?

ZGP (Zigbee Green Power) technology is used by ultra-low power devices. ZGP specification is a part if the official Zigbee 3.0 standard and is today supported by most modern Zigbee Coordinator adapters.

https://csa-iot.org/all-solutions/green-power/

https://community.silabs.com/s/article/what-is-zigbee-green-power-x?language=en_US

https://training.ti.com/zigbee-green-power-enable-battery-less-devices

Fact is that ZHA is today missing ZGP device support which is a limitation that I believe, at least in a few use cases, might a showstopper why some people choose to go with Zigbee2MQTT or simply buy Philips Hue Bridge instead of going with Home Assistant’s ZHA integration (which is based on zigpy).

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

https://github.com/zigpy/zigpy

Anyway, zoic21 submitted a pull request which would add ZGP support to zigpy once reviewed and merged. He is asking for help there to test that code is OK and this new feature do not break anything:

https://github.com/zigpy/zigpy/pull/656

You can find a list of Zigbee Green Power devices in the zigpy feature request issue for ZGP here:

https://github.com/zigpy/zigpy/issues/341

Summery; Zigbee Green Power ZGP), a.k.a. “Zigbee GreenPower”, is a subset feature of Zigbee the that allows for extreme low-power and energy-harvesting technology to be used directly with the Zigbee stack. Most common examples of Zigbee Green Power devices for home automation are rocker wall switches which use batteryless self-powered technology (from EnOcean) to work without a battery.

Wireless ZGP devices (end devices) for home automation devices may be powered by either different self-powered energy harvesting solutions or switches and sensors that can operate for up to a decade on a single battery coin-cell battery. Energy harvesting technology enables the maintenance-free battery-less / battery-free devices (end devices) such as switches and remotes operating in a Zigbee network. Zigbee Green Power V2 is included as a subset in the Zigbee 3.0 specification (Z3), however that is based on Zigbee Green Power V2 energy-harvesting technology that was a subset of the previous Zigbee PRO standard.

https://zigbeealliance.org/wp-content/uploads/2019/11/Green-Power-White-Paper.pdf

Certified ZGP products:

Most common are the PTM215ZE/PTM215Z and PTM216Z modules by EnOcean which are sold to OEM which create products:

Friends of Hue partnership switches from ABB (Sweden), Illumra (USA), Kichler (USA), MAKRIS by Imoon (Italy), Vimar (Italy), Busch-Jaeger (Germany), Senic (Germany), Niko (Belgium), Sunricher (Hong Kong), Koizumi (Japan), Legrand (France), and John Lewis (UK) which I believe all use either the older EnOcean PTM 215ZE module or the newer EnOcean PTM 216Z module.

Examples Philips Hue compatible ZGP switches:

PS: zoic21 is the lead developer of Jeedom and this will also add ZGP support to its Zigbee Beta plugin.

9 Likes

Any update on this ?? Any chance to add senic buttons to zha yet :yum:

Update: zoic21 submitted a new PR that needs to be reviewed by the ZHA/zigpy devs as the next step:

https://github.com/zigpy/zigpy/pull/656

Unfortunaly there has been no updates from the zigpy devs on what is holding that new PR back now:

https://github.com/zigpy/zigpy/discussions/706

is there a way to already test this ??

Ask how you can test development branch for pull request → https://github.com/zigpy/zigpy/pull/656

Currently need would need to download and test this dev branch → https://github.com/jeedom/zigpy

Instructions on testing new releases → https://github.com/zigpy/zigpy/blob/dev/CONTRIBUTING.md

Any news on this add-on ?? Will there be a release, I’m not quite following all actions on Git… (not sure what’s happening there with all the technical terms…

They are still working on it and they want help with code review as well as help from users willing to test it with ZGP and other devices to check for bugs/regressions. Again, you can follow the progress here:

https://github.com/zigpy/zigpy/pull/656

If you do not understand what they are discussion then you can at least see that pull request #656 for zigpy remains as “Open” status (which means that it has not yet been accepted), so you can first track it there to watch if and when it get changes from “Open” to “Merged” status. If and when that happens then need to wait until the next release of that zigpy library and then for Home Assistant core to update to that version of zigpy, only once all that is done will the initial feature for this be available in the next Home Assistant after than, but please understand and remember that even if and when that happens this should initially be seen as an experimental feature and as such might not be stable in the beginning.

Is this still worked on , it seems 15 jun was the last post there. Better switch to deconz? Or is there still hope ?

Yes I think it is still being working and I understand that the Jeedom Zigbee plugin which uses a fork of the zigpy library has ZGP active in their fork. I believe they will only use that fork until merged upstream:

I don’t believe that any of the developers working on that code for zigpy is reading posts on this forum.

Again you should really be following the progress on this development via the PR on zigpy GitHub here:

PS: Understand that zigpy is open source library only being worked on by volenteers in their spare time.

Hi what is the timeframe for this integration?

2 Likes

Unfortunately, there is no timeframe since no zigpy developer(s) is currently working on code for ZGP.

puddly posted comment https://github.com/zigpy/zigpy/issues/656#issuecomment-947951634 (in PR https://github.com/zigpy/zigpy/pull/656) that the current patch code from that pull request can not be accepted today as it is until it has been slightly re-written as the code patch for it will need to be cleaned up to be more readable by someone (e.i. a volunteering Python developer) before it can be acceptable for re-review before it can be merged, so new developer volunteer(s) are wanted to fix/change the previously submitted code patch!

puddly also mentioned in that same comment that zigpy developers have since that original patch was originally submitted done a ton of other underlying background work in refactoring the zigpy library code which could indirectly make a new patch for ZGP be easier to implementation (and even more unrelated changes have been merged into zigpy for the better since puddly’s comment), such as code restructuring and refactoring, cleanups, and other improvements or changes to the zigpy library and its radio libraries, many smaller and a few major, that in all should in theory now make it possible to write cleaner code patches today if someone like to step up and pick up this project again.

By the way, one of the major other indirectly related changes is that zigpy has otherwise been updated to be compliant with the Zigbee Cluster Library Specification revision 7 (ZCL7) and Zigbee Cluster Library Specification revision 8 (ZCL8) which among other things does state that every Zigbee 3.0 device with routing capabilities (router or coordinator) must implement Green Power Basic Proxy (GPBP) v1.1.1 functionality for forwarding compatibility (i.e. ZGP routing capability) to be granted Zigbee 3.0 Certification in order to further support Zigbee Green Power capabilities.

PS: Remember ZHA/zigpy are currently just a hobby projects developed by volunteers without pay, as such new features will probably only be priotized if volteering developers have a personal interest in it.

PPS: I believe one thing that could maybe could help speed this along would be to donate ZGP devices to lead developers puddly and Adminiuga as might increase their interest if they owned ZGP devices.

4 Likes

I’m curious. Any updates on this topic?

The last I heard/read was that developer(s) volunteers were still wanted/needed to clean up the code patch from the pull request previously submitted by zoic21 to the zigpy library and re-submit new a PR.

Please read my previous comment above → https://community.home-assistant.io/t/zha-might-soon-get-support-for-zgp-zigbee-green-power-devices/277149/11

@majkrzak apparently commented in that discussion a few days ago offering to volunteer but seems he noted that do not exactly know what to fix/change in order to make it acceptable for a new review:

There is further general development discussion about it in the feature request for for it in zigpy repo:

I recently purchased the new SkyConnect coordinator, partly as a way of supporting Nabu Casa, and partly to get onto what I believed would be the best supported Zigbee coordinator for H.A.

After receiving it I learned that it uses a chipset that still only has experimental support in Z2M. So I converted my H.A. setup to use ZHA. That generally works great – and actually seems more stable and responsive then Z2M – but I’m no longer able to use my six green-power based control buttons (all based on EnOcean PTM 215Z) :sob:

If SkyConnect and ZHA are meant to power the premier H.A. experience, then this issue with no green power support really needs to get resolved.

Suggest that you also post that comment to this inofficial SkyConnect forum thread as I do not think there is any official feedback communication channel for Nabu Casa support of the SkyConnect(?):

1 Like

FYI, this pull request for ZHA documentation would at least mention this limitation in an introduction:

https://github.com/home-assistant/home-assistant.io/pull/24494

## Introduction

ZHA integration follows the official Zigbee specification standards and uses one Zigbee Coordinator to set up and control a Zigbee network. Once ZHA has been installed and the Zigbee Coordinator is configured you will be able to directly join/pair Zigbee Router Device and Zigbee End Device products to that Zigbee network, regardless of the manufacturer and brand of that Zigbee-based product. Please see the respective sections below for compatible Zigbee radio modules hardware (physical radio adapter) and information on supported Zigbee devices.

Before installing the integration you will need to buy and connect a Zigbee Coordinator adapter to the computer running the Home Assistant installation. The general recommendation is to buy a newer model of Zigbee Coordinator adapter hardware and to flash the latest firmware to it, the reason that is it will usually offer better interoperability with all functions of most Zigbee 3.0 compliant devices on the market.

Supported devices are Zigbee Router Devices, which are normally mains-powered that act as Zigbee signal repeaters within the Zigbee network mesh to extend its range and improve coverage, and Zigbee End Devices, which will not act as Zigbee signal repeaters and are usually but not always battery-operated sensors.

### Limitations

Note that ZHA only supports connecting one dedicated Zigbee Coordinator adapter with a single Zigbee network and that the Zigbee Coordinator adapter cannot already be connected or used by any other application. Any devices that are or have previously been connected to another Zigbee implementation will also need to first be reset to their factory default settings before they can be paired/joined to ZHA, please see each device manufacturer’s documentation.

ZHA does not yet support devices that can only use the (“Zigbee Green Power”) profile which is used in a few batteryless self-powered or energy harvesting devices, (such as for example; Philips Hue Click, Philips Hue Tap, and some “Friends of Hue” partnership switches). The reason for this is that ZGP profile support has not yet been implemented in the zigpy library.

ZHA does not support devices that can only use the ZSE (“Zigbee Smart Energy”) profile because “Zigbee SE” is not part of the Zigbee 3.0 specification standard and thus not implemented in the Zigbee stack of commonly available Zigbee Coordinator adapters.