Discover scalar composite features in Home Assistant - #32363
Conversation
9bc2097 to
5f6341a
Compare
|
Superseded by the current live validation notes in the PR description. |
83f963b to
dfc285f
Compare
|
I think this is similar to #32362 (comment), maybe we should change the device expose instead? I think we over-used |
dfc285f to
27217e5
Compare
|
Agreed on the distinction. This PR is scoped to safe scalar composite children only; atomic composite controls that need one object payload should stay composite or be represented differently in the converter. The water-valve work also has a converter-side split where possible, so this generic path is for the remaining cases where scalar config/diagnostic values are still nested inside a composite. |
1ffc261 to
b6fb937
Compare
3851bdd to
de2e4b2
Compare
de2e4b2 to
3042bbb
Compare
Design outcome
This remains draft intentionally.
Reviewer feedback pointed out that broad scalar-composite discovery is the wrong default when a converter can expose independent values directly. The SONOFF valve work moved the affected irrigation/manual-watering values to scalar exposes in zigbee-herdsman-converters, which is the preferred fix for that device and avoids Home Assistant discovery guessing intent from composite children.
Current scope if this is revived
Review note
Koenkk suggested changing the device expose instead, because
compositeshould only be used when multiple values must be written together. This PR is therefore kept separate from the converter-side fix and intentionally does not try to generalize beyond the remaining safe cases.Home Assistant limitation
MQTT discovery can set
entity_categoryandenabled_by_default, but it cannot create arbitrary custom sections on a device page or attach sibling entities to a valve more-info dialog. Grouped irrigation/manual-control UI still needs a dashboard/card or future Home Assistant support.Status
Kept as draft, not ready for merge. The practical path is to continue fixing over-used composites in zigbee-herdsman-converters first, then revisit this only if a clear generic gap remains.