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

Zigbee coordinator working with any zigbee device (TZ-1186) #442

Open
Daniel-Craciun opened this issue Sep 28, 2024 · 10 comments
Open

Zigbee coordinator working with any zigbee device (TZ-1186) #442

Daniel-Craciun opened this issue Sep 28, 2024 · 10 comments
Labels

Comments

@Daniel-Craciun
Copy link

Question

Hello,

I'm trying to create a Zigbee coordinator which will connect to my custom made Zigbee devices and hopefully any other valid Zigbee device on the market. I've noticed in the examples given on the esp-zigbee-sdk, that all the coordinators define the endpoints/clusters they will 'listen' for (act as a client role for). However I don't want this behaviour but instead I want my coordinator to connect to any Zigbee device, without needing me to define which clusters I will 'listen' for.

Any thoughts on this if it's possible?

Many thanks!

Additional context.

No response

@github-actions github-actions bot changed the title Zigbee coordinator working with any zigbee device Zigbee coordinator working with any zigbee device (TZ-1186) Sep 28, 2024
@lpy4105
Copy link
Contributor

lpy4105 commented Sep 29, 2024

If you are trying to create a gateway, you could use esp_zb_ep_list_add_gateway_ep, see our Zigbee Gateway example.

@Daniel-Craciun
Copy link
Author

Daniel-Craciun commented Sep 29, 2024

Thank you the example was helpful. I had to erase the flash to get it working.

But I don't know how to get the attribute reporting working on it? I have setup an action handler using esp_zb_core_action_handler_register and using a zb_action_handler function which I copied from the thermostat example.

When I run the example with my Zigbee end device (it is working as it has been tested with a dongle) everything looks okay but nothing gets reported and I'm left with this message Receive Zigbee action(0x1005) callback

@ahmetcobanoglu
Copy link

@Daniel-Craciun If the sensor has reportable attribute, you can configure attribute reporting with esp_zb_zcl_config_report_cmd_req(esp_zb_zcl_config_report_cmd_t *cmd_req). But before that, you need to bind to the cluster where the attribute is registered.

@Daniel-Craciun
Copy link
Author

Thank you. Would I call this function in the coordinator or the end device? Also could I have an example snippet code to show how could I use this function as I feel that the Zigbee documentation is not very clear for me :)

@Daniel-Craciun
Copy link
Author

In addition I'm also trying to connect to end devices with multiple endpoints if that has any effect?

@mundevx
Copy link

mundevx commented Oct 1, 2024

same issue, created new thread on [https://github.com//issues/444]

@Daniel-Craciun
Copy link
Author

I've managed in the past to get an end device to report to a custom coordinator, where the coordinator does not need to constantly send read commands to the end device. I made it using the temperature/thermostat example (which instead of using temperature clusters I used analog input clusters which worked fine) but when I added multiple endpoints to the end device, only the first endpoint was able to work with the coordinator i.e the coordinator successfully picked up the report commands but only from the first end point. However the rest of the endpoints didn't work. It's almost like the coordinator can't bind to the other endpoints?? Am I missing something here? the documentation for zigbee-sdk is not very clear in my opinion for me.

@Daniel-Craciun
Copy link
Author

Hello everyone, I've finally managed to get multiple endpoints working in zigbee, my solution has been posted on this issue here #407. Hope this is helpful for anyone :)

@Hedda
Copy link
Contributor

Hedda commented Oct 8, 2024

@Daniel-Craciun can I suggest that you also check out Tasmota's sub-project called Zigbee2Tasmota (Z2T) here for reference, even though it is currently only comptible with Silicon Labs and Texas Instruments Zigbee Coordinator it might give you ideas:

Perhaps also check out the zha (and zigpy) project which can now indirectly use a ESP32-H2 Zigbee Coordinator via zigpy-espzb:

@Daniel-Craciun
Copy link
Author

Hello, sorry for the slow reply!

Thank you for the links. I have solved my problem for me. What I did is I adapted an exisiting Zigbee coordinator example (I used the thermostat example) and I just listed after the line of code, which defined that the coordinator will listen for temperature measurements, all the standard ZCL clusters which worked for me :).

Thank you everyone for your help again. Helpful as always!

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

No branches or pull requests

5 participants