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

Set different default CONFIG_MAX_END_DEVICE_CHILDREN for each EZSP version or separate for EM35x and EFR32? #294

Closed
Hedda opened this issue Aug 10, 2020 · 2 comments

Comments

@Hedda
Copy link
Contributor

Hedda commented Aug 10, 2020

Following-up on home-assistant/core#36563 and #269

@Adminiuga Maybe default maximum of end devices children should now be set separately for each EZSP version or separate default amount for EM35x and EFR32?

While the limitation of directly connected end device children is not really directly related to EZSP version, could setting a different default limit per EZSP version be a workaround to be able to set a higher default for the newer EFR32 MG1 (Mighty Gecko Series 1) and MG2 (Mighty Gecko Series 2) chips which have a much more powerful MCU and should be able to handle more directly connected end device children?

Point is that maybe the default upper limit should set differently depending on which hardware chip is used if possible, or?

For example, we can probably assume that an EFR32 MG1 and MG2 chips can handle many more end devices than the EM35x ("Ember") based devices, and we can probably also assume that the EFR32 MG2 (Mighty Gecko Series 2) can handle more directly connected end device children than EFR32 MG1 (Mighty Gecko Series 1).

I would just find it strange if a EFR32 MG2 (Mighty Gecko Series 2) can not handle more than 24 directly connected end device children when Texas Instruments competing chips can handle 50 directly connected end device children
without any problems and TI's previous chip could even handle 100 https://github.com/Koenkk/Z-Stack-firmware/blob/master/coordinator/README.md

Maybe post a recommended table similar to that of Koenkk Z-Stack coordinator firmwares but for Silicon Labs chips?

Overiew

Z-Stack Device Zigbee Direct children Routes Notes
Z-Stack_Home_1.2 (default) CC2531 1.2 HA 20 30/0
CC2530, CC2530 + CC2591, CC2530 + CC2592 1.2 HA 16 30/0
Z-Stack_Home_1.2 (source_routing) CC2531, CC2530, CC2530 + CC2591, CC2530 + CC2592 1.2 HA 5 40/40
Z-Stack_3.0.x CC2531 3.0 15 40/0 - Discussion #1445
- Max 40 Zigbee 3.0 devices
CC2530, CC2530 + CC2591, CC2530 + CC2592 3.0 10 40/0 - Discussion #1445
- Max 40 Zigbee 3.0 devices
CC2538 + CC2592 3.0 100 200/400 - Discussion #1568
- Max 200 Zigbee 3.0 devices
Z-Stack_3.x.0 CC26X2R1, CC1352P_2 3.0 50 100/200 - Discussion #1429
- Max 200 Zigbee 3.0 devices

I'm a Zigbee2MQTT user, which one should I use?

This depends:

  • Zigbee 3.0 coordinators are only recommended for CC26X2R1 and CC1352P_2 (other devices might not be powerful enough)
  • If you have a network of 1 - 30 devices, the Z-Stack_Home_1.2 default firmware is recommended.
  • If you have a network of 30+ devices, the Z-Stack_Home_1.2 source routing firmware is recommended.
  • Note that the source routing firmware only supports 5 direct children, therefore you need to have routers in range of the coordinator.

Legend

  • Z-Stack: Z-Stack is the Zigbee stack for Texas Instruments Zigbee devices
  • Device: The Zigbee hardware
  • Zigbee: Zigbee version, for more information read What's New in Zigbee 3.0
  • Direct children: Number of children that directly can join the coordinator. Note that this is not the maximum network size. For more information, read the Zigbee2MQTT FAQ about device limit
  • Routes: This indicates how many routes the coordinator can keep in memory. For example 100/200 would mean that: 100 normal routes and 200 source routes can be kept in memory. 0 source routes mean that source routing is disabled. Source routes improve the performance for larger (40+ nodes) networks. For more information read Large ZigBee Networks and Source Routing
    .
@Adminiuga
Copy link
Collaborator

would just find it strange if a EFR32 MG2 (Mighty Gecko Series 2) can not handle more than 24 directly connected end device

It's not about how much it can support, but how the firmware was configured by default. I think the home-assistant/core#36563 was something else as there were report when bellows was throwing out of memory error, until it was power cycled.
The different profiles for different chips are not going to be there, but users always can reconfigure the parameters using configuration file.
But I'm considering just dropping all defaults (but for version 4 of the protocol and a few very specific stack configuration options) and thus relying on the defaults configured by the vendor.

@Adminiuga
Copy link
Collaborator

Max children reverted back to 32.

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