Suggest consider deprecating all Zigbee 1.2 based firmware and older adapter hardware that was not designed to run newer firmware.
Directly related to this zha issue:
For reference, Silicon Labs was obtaining Zigbee 3.0 certifications for hardware platforms using EmberZNet 6.7.0 firmware. The CSA certification database shows Zigbee 3.0 certification entries based on EmberZNet 6.7.0 certified on February 26, 2020.
Consider listing adapters older than EFR32MG2x + firmware older than EmberZNet 6.7.x as "deprecated" in readme and upstream ZHA integration docs?
Meaning change so readme and ZHA docs clearly states/sais "deprecated" (instead of just saying that it is "supported but not recommended").
That is, without changing any code, just change official listing of support for EFR32MG1x, ETRX35x and Ember 35xx and similar older adapters + old EmberZNet firmware as being officially "deprecated" since a specific date, as deprecation warning.
Reason and arguments to deprecate Zigbee 1.2 coordinator that such old firmware and older Zigbee Coordinator adapter with slower MCU that have much less resources can lead to end-users having a bad experience which they might unfairly blame on the ZHA integration or the zigpy project.
Preferably also consider deprecation warning a such warning for such Zigbee Coordinator adapter in Home Assistant's ZHA UI. That way users will have been warned and you will have the option to remove support later when and if you like.
-
Add deprecation warnings to logs stating Silabs firmware older than EmberZNet 6.7.x is deprecated and recommend user to upgrade firmware.
-
Add deprecation warnings to logs stating bellows radio adapter hardware older than EFR32MG2x (i.e. all EFR32MG1x, ETRX35x and Ember 35xx ) is deprecated and recommend migrate to newer Zigbee Coordinator hardware.
-
Make old firmware deprecated and old hardware be flagged in Home Assistant's ZHA UI as deprecated.
PS: This might be easier to communicate if could deprecate all Zigbee 1.2 based firmware in all zigpy radio libraries at the same time(?), including XBee and ZiGate which have said that want to formally deprecated in upcoming Home Assistant release to then remove later:
Further arguments for adding such deprecation notice / legacy warnings in ZHA and zigpy radio libraries
While zha and zigpy will of course continue to supporting older Zigbee end-devices, zha/zigpy develpers might now want to seriously consider clearifying that using legacy Zigbee Coordinatior firmware and adapter hardware which was made to only support the Zigbee 1.2 specification should not be endorsed or encuraged in any way, and best way forward is probably to declare all those as deprecated.
Note! The suggestion here is not to actually remove support at this point, but only to warn about deprecating/deprecated firmware and radio adapter hardware. The goal with tis is to guide new and existing users towards using newer firmware and more modern radio adapter hardware that you plan to support long term, and discourage the use of those that will be phased out sooner rather than later because they are old and obosolete. This will help give users a better user experience and hopefully also mean fewer support issues due to old firmware and/or old hardware.
What deprecation notice / legacy warnings mean in this case in the simplest terms here is to activly recommend against using older firmware versions and old legacy radio adapter hardware that is no longer updated/maintained by the manufacturers (or in some cases have even been officially made end-of-life by the manufacturer). Preferably should also be officially listing deprecating in Home Assistant's ZHA integration documentation as well as the readme files for each zigpy radio library.
So while this project has always strived to run on almost all hardware, to keep the project moving forward and not having to support older legacy firmware and hardware forever you must sometimes make difficult decisions to deprecate old firmware and hardware, even if it is just on paper. In practice deprecation notices / legacy warning like this will only affect a small percentage of users, and ZHA users can already relativly easily upgrade or migrate to newer hardware. Even though they will be officially deprecated, you are giving existing users time to migrate to newer firmware and hardware.
Ultimatly this should help to reduce both technical debt by enabling you to eventuelly phase out old code, addressing security vulnerabilities in old firmware, while still allowing for graceful migrations, preserving backward compatibility until it will no longer be necessary to keep legacy support, benefiting both developers and end-users.
This will indirecttly also effect deprecate all firmware and radio adapter hardware not capable/suitible or designed for effectivly supporting firmware for the Zigbee 3.0 specification.
Suggest consider deprecating all Zigbee 1.2 based firmware and older adapter hardware that was not designed to run newer firmware.
Directly related to this zha issue:
For reference, Silicon Labs was obtaining Zigbee 3.0 certifications for hardware platforms using EmberZNet 6.7.0 firmware. The CSA certification database shows Zigbee 3.0 certification entries based on EmberZNet 6.7.0 certified on February 26, 2020.
Consider listing adapters older than EFR32MG2x + firmware older than EmberZNet 6.7.x as "deprecated" in readme and upstream ZHA integration docs?
Meaning change so readme and ZHA docs clearly states/sais "deprecated" (instead of just saying that it is "supported but not recommended").
That is, without changing any code, just change official listing of support for EFR32MG1x, ETRX35x and Ember 35xx and similar older adapters + old EmberZNet firmware as being officially "deprecated" since a specific date, as deprecation warning.
Reason and arguments to deprecate Zigbee 1.2 coordinator that such old firmware and older Zigbee Coordinator adapter with slower MCU that have much less resources can lead to end-users having a bad experience which they might unfairly blame on the ZHA integration or the zigpy project.
Preferably also consider deprecation warning a such warning for such Zigbee Coordinator adapter in Home Assistant's ZHA UI. That way users will have been warned and you will have the option to remove support later when and if you like.
Add deprecation warnings to logs stating Silabs firmware older than EmberZNet 6.7.x is deprecated and recommend user to upgrade firmware.
Add deprecation warnings to logs stating bellows radio adapter hardware older than EFR32MG2x (i.e. all EFR32MG1x, ETRX35x and Ember 35xx ) is deprecated and recommend migrate to newer Zigbee Coordinator hardware.
Make old firmware deprecated and old hardware be flagged in Home Assistant's ZHA UI as deprecated.
PS: This might be easier to communicate if could deprecate all Zigbee 1.2 based firmware in all zigpy radio libraries at the same time(?), including XBee and ZiGate which have said that want to formally deprecated in upcoming Home Assistant release to then remove later:
Deprecate XBee and ZiGate zha#436
Time to list Z-Stack 1.2 firmware and adapters based on CC253x as "deprecated" in readme and upstream? zigpy-znp#276
Time to list ConBee 2 / RaspBee 2 and older adapters + old deCONZ firmware as "deprecated" in readme and upstream? zigpy-deconz#276
Time to list EmberZNet firmware older than EmberZNet 6.7.x + adapters based on EFR32MG1x and older as "deprecated" in readme and upstream? #726
Further arguments for adding such deprecation notice / legacy warnings in ZHA and zigpy radio libraries
While zha and zigpy will of course continue to supporting older Zigbee end-devices, zha/zigpy develpers might now want to seriously consider clearifying that using legacy Zigbee Coordinatior firmware and adapter hardware which was made to only support the Zigbee 1.2 specification should not be endorsed or encuraged in any way, and best way forward is probably to declare all those as deprecated.
Note! The suggestion here is not to actually remove support at this point, but only to warn about deprecating/deprecated firmware and radio adapter hardware. The goal with tis is to guide new and existing users towards using newer firmware and more modern radio adapter hardware that you plan to support long term, and discourage the use of those that will be phased out sooner rather than later because they are old and obosolete. This will help give users a better user experience and hopefully also mean fewer support issues due to old firmware and/or old hardware.
What deprecation notice / legacy warnings mean in this case in the simplest terms here is to activly recommend against using older firmware versions and old legacy radio adapter hardware that is no longer updated/maintained by the manufacturers (or in some cases have even been officially made end-of-life by the manufacturer). Preferably should also be officially listing deprecating in Home Assistant's ZHA integration documentation as well as the readme files for each zigpy radio library.
So while this project has always strived to run on almost all hardware, to keep the project moving forward and not having to support older legacy firmware and hardware forever you must sometimes make difficult decisions to deprecate old firmware and hardware, even if it is just on paper. In practice deprecation notices / legacy warning like this will only affect a small percentage of users, and ZHA users can already relativly easily upgrade or migrate to newer hardware. Even though they will be officially deprecated, you are giving existing users time to migrate to newer firmware and hardware.
Ultimatly this should help to reduce both technical debt by enabling you to eventuelly phase out old code, addressing security vulnerabilities in old firmware, while still allowing for graceful migrations, preserving backward compatibility until it will no longer be necessary to keep legacy support, benefiting both developers and end-users.
This will indirecttly also effect deprecate all firmware and radio adapter hardware not capable/suitible or designed for effectivly supporting firmware for the Zigbee 3.0 specification.