Skip to content

Conversation

Nullcaller
Copy link

@Nullcaller Nullcaller commented Apr 2, 2025

Proposed change

Add support for manufacturer-specific features of the following Yandex devices:

  • YNDX-00530 Dimmer
  • YNDX-00531 Single-gang Wired Switch
  • YNDX-00532 Double-gang Wired Switch
  • YNDX-00531 Single-gang Wireless Switch
  • YNDX-00532 Double-gang Wireless Switch
  • YNDX-00537 Single Relay
  • YNDX-00538 Double Relay

(YNDX-00534 and YNDX-00535 wireless switch quirks are only really there for automation triggers' sake)

Additional information

I've used code from Koenkk/zigbee-herdsman-converters#8345 and Koenkk/zigbee-herdsman-converters#9017 as reference for cluster attributes and commands.

Known issues (fixed):

  • Dimmer is pretty much untested. I'll test it when I have time.
  • Some of the endpoints added in replacement signatures are 'fake' and only work if the device is set into a 'decoupled' mode, if the endpoints are used in HA in any way when the device is not in the 'decoupled' mode, HA hangs until the requests time out.

Known issues (wontfix):

  • The led_indicator attribute is weird, I don't think it's working as it should on all devices. (Seems to be Yandex's problem)
  • Various buggy behavior that has to do with adding new devices. Probably Yandex's fault, because device adding pretty much always works flawlessly if you only start scanning for new devices in HA like 5 seconds after initiating device reset. And in the rare cases it doesn't, power cycling both the device and HA always helps, for some reason.
    • When adding devices, they get stuck in "Configuring" stage for a long while, but eventually get added (a restart of Home Assistant helps)
    • If SKIP_CONFIGURATION: True is added to replacement signature, devices don't get stuck in "Configuring" stage, but attribute reporting doesn't work
    • After adding double-gang switch or double relay, attribute reporting may not work for the second endpoint, which somehow gets fixed after pressing 'Reconfigure' on device page in HA

Checklist

  • The changes are tested and work correctly
  • pre-commit checks pass / the code has been formatted using Black
  • Tests have been added to verify that the new code works

YNDX-00530
YNDX-00531
YNDX-00532
YNDX-00537
YNDX-00538
Copy link

codecov bot commented Apr 2, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 91.41%. Comparing base (2fd3586) to head (e971a28).
Report is 49 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #3999      +/-   ##
==========================================
+ Coverage   91.04%   91.41%   +0.36%     
==========================================
  Files         331      341      +10     
  Lines       10698    11130     +432     
==========================================
+ Hits         9740    10174     +434     
+ Misses        958      956       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Nullcaller

This comment was marked as resolved.

@TheJulianJES TheJulianJES added needs reviewer answer An answer from a reviewer is needed (e.g. why a PR isn't acceptable in the current state). v2 quirk candidate This PR is a good fit to be converted to a v2 quirk. labels Apr 29, 2025
@TheJulianJES TheJulianJES changed the title Add support for Yandex devices: YNDX-00530, YNDX-00531, YNDX-00532, YNDX-00537 and YNDX-00538 Add Yandex devices: YNDX-00530, 00531, 00532, 00537, 00538 Apr 29, 2025
@Nullcaller

This comment was marked as outdated.

@Nullcaller Nullcaller changed the title Add Yandex devices: YNDX-00530, 00531, 00532, 00537, 00538 Add Yandex devices: YNDX-00530, 00531, 00532, 00534, 00535, 00537, 00538 Jun 25, 2025
@Nullcaller
Copy link
Author

As this quirk is quite basic, I don't really know whether it needs any tests. There is nothing functionally new to test here. It's all just wrapper classes, attributes and commands. I have tested it with pretty much all devices, though. It does work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs reviewer answer An answer from a reviewer is needed (e.g. why a PR isn't acceptable in the current state). v2 quirk candidate This PR is a good fit to be converted to a v2 quirk.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants