question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Support for missing ZCL foundation commands

See original GitHub issue

File src/zcl/definition/foundation.ts states:

https://github.com/Koenkk/zigbee-herdsman/blob/878388fb767d39a8f560179895a18345322f7f6a/src/zcl/definition/foundation.ts#L154-L165

Reading these lines, I understand that when zigbee-shepherd was refactored into zigbee-herdsman most recent ZCL foundation / global commands were intentionally left out just for the sake of simplicity and no real demand for those commands.

However, as more and more manufacturers adopt ZigBee, specially its quite opinionated 3.x version along the ZigBee Cluster Library, we’re seeing an increasing number of devices making use of these ZCL commands, specially readStruct, writeStruct and writeStructRsp.

I found out about this the hard way when trying to implement the toZigbeeconverter for Livolo covers, but I can imagine that many other devices are currently missing support for advanced settings in their Z2M integrations also because of this limitation.

I think it is time to support those commands, and I’d be happy to work on them.

I can’t call myself an expert in the ZigBee stack at all, but I’ve been lurking the space for 10 years and I’m familiar with sniffing 802.15.4 traffic, can read and understand the specification, I’m well-seasoned in reverse-engineering stuff, and have written more TypeScript than I’d like to admit, so I feel confident I can come up with something that lives up to the quality standards of this project.

So, before I jump into implementing anything, I wanted to ask the devs here, specially @Koenkk, whether this is a good idea, or whether am I missing any reason why this shouldn’t be worked on.

Cheers!

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
Koenkkcommented, Mar 16, 2021

The reason that these were not added yet was indeed that we didn’t have any devices which use these commands. If you have a device which does it would be great if you can implement it! (but just implement the ones which are actually used by devices)

0reactions
aesedepececommented, Mar 20, 2021

Superseded by #333 for now 🚀

Read more comments on GitHub >

github_iconTop Results From Across the Web

zcl_incoming reached for zcl command - Zigbee & Thread forum ...
Below i including a few parameters to help the code analyze: void zclSampleSw_Init( byte task_id ) ... Incoming ZCL Foundation command/response messages
Read more >
ZigBee Cluster Library Specification
Global discovery commands from ZHA 1.2. CCB 1277 1444 1505 1923 2092. Chapter 3:ZCLVersion attribute of Basic cluster is 0x02.
Read more >
Make distinction between manufacturer attributes and ... - GitHub
As far as I understand, manufacturer attribute ids do not need to be exclusive to the foundation attribute ids. The ZCL specification says:....
Read more >
ZCLCluster (OSGi Compendium Release 8) - OSGi Docs
Writes a set of attributes on the cluster using the ZCL Write Attributes or the Write Attributes Undivided commands, according to the passed...
Read more >
How to use the zigpy.zcl.foundation.Command function in zigpy
To help you get started, we've selected a few zigpy.zcl.foundation.Command examples, based on popular ways it is used in public projects.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found