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

[REQUEST] Add some kind of blacklisting feature that lists and give users warnings user about devices known to have buggy firmware? #349

Open
Hedda opened this issue Jan 8, 2025 · 6 comments

Comments

@Hedda
Copy link

Hedda commented Jan 8, 2025

Please consider adding some kind of blacklisting feature that maintains a list of "known bad devices and firmware" with short info on the specific problem with each such device and in ZHA UI inside Home Assistant a expose that warning message so it will gives end-users some kind of warnings in the GUI about the problem seen for those that are known to have buggy firmware or hardware. Good or bad idea?

I'm not suggesting devices should be blacklisted as in blocked from working, but would be great with a UI warning inside ZHA.

FYI, Z-Wave JS integration already has the equivalent feature (with the list and comments being hosted in the code of the node-zwave-js library), and today it shows a custom warning text for device ID:s with known problems with specific devices based on what warning comment has been entered for their device ID.

Here are a few concrete examples of devices/firmware that should probably be listed and what the warning should be about:

  • Sonoff S26 Plug DE/FR/UK (Zigbee ID: "S26R2ZB") - ITead SKUs: S26R2ZBTPF, S26R2ZBTPE, and S26R2ZBTPG)

    • Warning: The first batch of this device mode is known to ship with firmware 2.0.0 have been proven to cause frequent disconnects and go offline after a period of time, including when operating as a Zigbee Router for other devices. A fix is available in firmware 2.1.1 and higher, but the older firmware does not support OTA, so devices have to be sent to Sonoff/ITead to get a replacement.
  • Tuya Zigbee USB Range Extender / USB Dongle Signal Repeater (Zigbee ID: "TS0207") - Tuya SKU: "RP280".

  • Tuya Smart Plug 16A with Power Monitoring (Zigbee ID: TS011F | _TZ3000_w0qqde0g | _TZ3000_gjnozsaz | _TZ3000_zloso4jk | _TZ3000_fgwhjm9j | _TZ3000_rdfh8cfs), white-label product so also sold under different brands and model names, such as ex. NAS-WR01B by Neo.

    • Warning: This device is buggy and sends large negative Electric Consumption (Energy Metering) Reports from time to time."
  • Aqara first-generation battery-operated sensors (many)

    • Warning: Aqara first-generation battery-operated sensors are known to not self-heal or automatically reconnect to any other Zigbee Router than what it was initially connected to. There are no firmware upgrades. _The workaround is to manually re-pair the device in-place if the it disconnects or you want it to connect to a other Zigbee Router device.
  • Xiaomi first-generation battery-operated sensors (many)

    • Warning: Aqara first-generation battery-operated sensors are known to not self-heal or automatically reconnect to any other Zigbee Router than what it was initially connected to. There are no firmware upgrades. _The workaround is to manually re-pair the device in-place if the it disconnects or you want it to connect to a other Zigbee Router device.
  • IKEA Trådfri devices XYZ with firmware XYZ

The background why I think that the ZHA integration should have this feature is that noticed that the Z-Wave JS and the official Z-Wave integration for Home Assistant have a similar feature/function where they show a warning in Home Assistant's UI under the device inside the integration, presumably taken from a simple list with ID of specific devices (and device firmware) that are (often infamously) known to have buggy / bad firmware or hardware that is known to have a specific unwanted problem.

See example these warnings users get for the "Neo Wall Plug Switch" (NAS-WR01ZE) for which there even is a Zigbee counterpart:

image

Another exammple Z-Wave device warning message is this shown for the "Qubino Mini Dimmer" (ZMNHHD):

image

Few more concrete Z-Wave device examples of warning messages can be found in node-zwave-js metadata for these Z-Wave devices:

@puddly
Copy link
Contributor

puddly commented Jan 8, 2025

This is supported and needs to be added to individual quirks: #292 + zigpy/zigpy#1495

@Hedda
Copy link
Author

Hedda commented Jan 8, 2025

This is supported and needs to be added to individual quirks: #292 + zigpy/zigpy#1495

Nice! Are there already some quirk(s) in the zha-device-handlers repository with real-world example(s) of that being used as yet?

And what about getting those warning messages exposed in the UI for the device in the ZHA integration (HA component)?

Anyway, suggest that these specific devices should have some warnings and could then probably be used as examples for this(?):

  • Sonoff S26 Plug DE/FR/UK (Zigbee ID: "S26R2ZB") - ITead SKUs: S26R2ZBTPF, S26R2ZBTPE, and S26R2ZBTPG)

    • Warning: The first batch of this device mode is known to ship with firmware 2.0.0 have been proven to cause frequent disconnects and go offline after a period of time, including when operating as a Zigbee Router for other devices. A fix is available in firmware 2.1.1 and higher, but the older firmware does not support OTA, so devices have to be sent to Sonoff/ITead to get a replacement.
  • Tuya Zigbee USB Range Extender / USB Dongle Signal Repeater (Zigbee ID: "TS0207") - Tuya SKU: "RP280".

    • Warning: This device model has been proven to cause network stability issues. They are known to sometimes act as an black-hole for Zigbee traffic coming from non-Tuya devices under certain circumstances.
  • Tuya Smart Plug 16A with Power Monitoring (Zigbee ID: TS011F | _TZ3000_w0qqde0g | _TZ3000_gjnozsaz | _TZ3000_zloso4jk | _TZ3000_fgwhjm9j | _TZ3000_rdfh8cfs), white-label product so also sold under different brands and model names, such as ex. NAS-WR01B by Neo.

    • Warning: This device is buggy and sends large negative Electric Consumption (Energy Metering) Reports from time to time."

@puddly
Copy link
Contributor

puddly commented Jan 8, 2025

PRs are always welcome for any devices with v2 quirks! https://github.com/zigpy/zigpy/blob/07e0451ce5317185e04b38e43aeb9fb168c62f28/tests/test_quirks_v2.py#L1200-L1205

If a device doesn't have a quirk, one can always be written to just add an alert like this.

@Hedda
Copy link
Author

Hedda commented Jan 8, 2025

OK, but I should add that I do not have any of those devices myself. The discussion about this was instead raised indirectly here:

Out of those mentioned none seems to have an existing v2 quirk, and only the TS011F seems to have a quirk v1 today:

I'm not going to be converting that v1 quirk into a v2 quirk myself in order to just add this type of device warning message. 🙄

Again, I don't have those devices myself so only know what is posted for them in Blakadder's and Zigbee2MQTT device databases.

Note that because do not have those mentioned devices I can not test it myself.

@puddly
Copy link
Contributor

puddly commented Jan 8, 2025

Then the other ones (without quirks) can be directly supported with an "alert-only" quirk exactly like in the unit test!

@Hedda
Copy link
Author

Hedda commented Jan 20, 2025

What about exposing such warning message alerts in the ZHA integration UI similar to how the Z-Wave JS integration does?

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