Skip to content

Disable light transition time number entities by default#742

Draft
TheJulianJES wants to merge 2 commits intozigpy:devfrom
TheJulianJES:tjj/disable_light_transition_number_entities_default
Draft

Disable light transition time number entities by default#742
TheJulianJES wants to merge 2 commits intozigpy:devfrom
TheJulianJES:tjj/disable_light_transition_number_entities_default

Conversation

@TheJulianJES
Copy link
Copy Markdown
Contributor

DRAFT. Do not merge yet – see question at the bottom.

Proposed change

This disables the various transition config entities for lights by default.

Additional information

These entities are rarely used, as it also depends on how you turn on the light (e.g. with a brightness, or without), whether these apply, or the global ZHA option.

It also depends on the light when the individual "On transition time" and "Off transition time" entities are used, versus the "On/off transition time" entity. E.g. for most lights (and per spec), "On/off transition time" should not be used, unless both "On transition time" and "Off transition time" have a non-value, so 65535. We disallow setting this value via the number entity, for some reason.

Notes

The entity is not disabled for existing (paired) devices, only for ones paired with this version of ZHA (and newer).
The entity can still be enabled using Home Assistant.

Thoughts / Question

I'm not completely certain we should disable all these entities by default. Maybe we can conditionally only disable the "On/off transition time" entity if both the "On transition time" and "Off transition time" entities are supported as well? (Because in that case, the devices do not use the on/off entity, unless the on + off entities are set to none values.)

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.63%. Comparing base (696ab1c) to head (b46c208).
⚠️ Report is 4 commits behind head on dev.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev     #742   +/-   ##
=======================================
  Coverage   97.63%   97.63%           
=======================================
  Files          62       62           
  Lines       10814    10817    +3     
=======================================
+ Hits        10558    10561    +3     
  Misses        256      256           

☔ 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.

@Hedda
Copy link
Copy Markdown

Hedda commented Apr 20, 2026

These entities are rarely used

Rarely yes but I think this it is good example why some users choose migrate aware from ZHA and move to Zigbee2MQTT when config entitie are disabled by default ZHA. It may only require a single niche edge case to make a user move to Z2M if it offers configutation options for that by default.

The same arguments can probably can also be applies to PR that will disable light default move rate config entity by default:

I'm not completely certain we should disable all these entities by default.

Would it not be better to change the way these are exposed on the frontend-side in ZHA's UI so that they are not removed but instead hidden by default so that a user can still relativly easily access them if wanted in ZHA instead of pushing those users to feel like they need to migrate to Zigbee2MQTT if they want to get access to all advanced configurations?

For reference. this issue on the Open Home Foundations's roadmao talks about further shaping ZHA partially due to concerns that has been raised about ZHA missing feature parity with Z2M, and removing config entries is kind of the opposite, or?

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

Successfully merging this pull request may close these issues.

2 participants