Device trigger - sync value with initialHaFormData #20810
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed change
When
computeInitialHaFormData
sets up the form for the first time in device triggers, we need to actually push those selections to the value as well, or else the trigger can be broken. Consider this trigger:computeInitialHaFormData
sees the trigger contains a required select selector with 1 item, and defaults to selecting the first item. But until user interacts with the form there is no actualzone
key published to the trigger value. Since it is already selected, clicking it again does nothing. Therefore this trigger is broken and there's no way to make the visual editor accept this trigger (without dropping into yaml mode), as seen by the error that there is a required zone, but it is already selected.I might have thought we needed something similar for device conditions or device actions, but those don't use
computeInitialHaFormData
馃しType of change
Example configuration
Additional information
Checklist
If user exposed functionality or configuration variables are added/changed: