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

Another way #17

Open
andryblack opened this issue Oct 20, 2024 · 1 comment
Open

Another way #17

andryblack opened this issue Oct 20, 2024 · 1 comment

Comments

@andryblack
Copy link

Instead of create separate adaption of any new protocol of any new manufacturer we may create firmware for different platforms with same common protocol.
I write basic implementation for ZBOSS NCP protocol for esp32 with coordinator role supported almost all command used by zigbee2mqtt project. Maybe it is more optimal to support one stack - defined protocol on different platforms.

@puddly
Copy link
Contributor

puddly commented Oct 20, 2024

The serial protocol itself is usually a simple implementation detail, the various stacks differ in their supported features and ordering of operations (e.g. adding endpoints before the network is up, forwarding/sending raw ZDO commands without processing, TC link keys, weird quirks).

Once you start mixing two sources of quirks into one protocol, you basically have two stacks again, just separated by if statements for each one...

That being said, I think Espressif uses the ZBOSS stack, so it probably shares those quirks. We have an in-progress ZBOSS implementation already for ZHA, I'll give your firmware a try: https://github.com/kardia-as/zigpy-zboss

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants