-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Proposal for a new scene editor #20094
Conversation
Nice. |
The problem starts because the "more info" dialogs are being reused. I think virtual "more info" dialogs will be needed that allow to edit the scene state instead of the live state to prevent scenes to modify states. To improve the user experience it would be great if the state, that the scene sets, can be seen in the scene editor instead of clicking it open. I find the visualization from a screenshot in #10064 very inspirational, although that's for the automation editor. I think the suggested changes will help but aside from these suggestions, this would be a big refactoring since there are multiple entity types. |
Nice idea. I do have some questions:
|
Only calls scene.activate and nothing else. So no coupling.
There isn't, so N/A.
Did not add one in this proposal. Could maybe be added, wasn't convinced if it was necessary. |
I like the idea of not activating the scene immediately after you click on a scene, so you can see it, change the name, icon or whatever. I'm not sure how I feel about individual capture buttons per device, would a new user understand this immediately? I can see the pros of this approach but... What do you think about a "read-only" mode that is on by default and if you want to edit the scene it is still activated? If we would go the way of this PR, I think the activate button, and an activate for a single device buttons should be way more prominent. @Madelena can you pitch in here? |
I admit that this is more complicated and may have a bit more of a learning curve, maybe design/ux team can come up with some ideas to make it prettier. I do think the ability to partial edit a scene can be really useful though, I wouldn't really like if the only way to change anything was to activate everything. The usecase that came to mind was I recall reading about someone who had a scene for bedtime or something which put his computer into an off state. The scene could not be edited, as every time he wanted to edit it, it shutdown the computer on which he was trying to change it 😂 |
@karwosts I think it might be a good idea to separate this PR into two PR's; one for the scene activation issue, another one for the capture buttons. |
I'm not sure the concepts can be easily separated. Anyway I am awaiting further concrete instruction from reviewers before taking further action. |
There hasn't been any activity on this pull request recently. This pull request has been automatically marked as stale because of that and will be closed if no further activity occurs within 7 days. |
This comment was marked as off-topic.
This comment was marked as off-topic.
Unstale. @Madelena your feedback was requested, do you think there is anything we can take from this to improve the scene editor? |
@karwosts we're working on a revised solution for this. I'll post it here today for review. |
@karwosts after much debate we've opted for this design. It does differ from your original proposal but it targets the main problems of scenes:
https://www.figma.com/design/TJ1yBZUyOWQtLmugi239BU/HA-12?node-id=0-1&t=3LfqlBPSrDVHV1pv-1 |
The new design didn't have everything that I initially wanted, but I think it's got enough in it to be interesting. I've put up a new PR (#22847) with most of the requested changes. Will close this one and continue there. |
❤️ @karwosts Yes we know, but it addresses the core problems with the scene editor right now. We'll continue to iterate on scenes in the future. |
Proposed change
A change to the current behavior of the scene editor is currently one of the most-voted requested features, and I spent a little time thinking about an alternative behavior that might be more user friendly and less surprising. I came up with the following:
In this proposal scenes are no longer activated simply because the scene editor is opened. Instead of yoking the config in the scene editor to the live status of all the devices in the scene, add a "capture" button for each device/entity that allows user to copy the current state of that device only into their scene. This allows decoupling the current state from the scene being edited.
By using this behavior, scene can be partially edited without having to take live the state of all other devices in the scene, and user can pick and choose which to update. Capture button also serves as an indicator that the current state of the device is not equal to the state saved in the scene.
This also adds an "Activate" button to the overflow menu, in case user wants to choose to activate the full scene.
As a possible enhancement, because the scene config state is decoupled from the live state, this would allow for adding a yaml editor here to allow for fine tweaking the scene state in yaml (similar to how automations elements can be edited in ui or yaml). But that has not been implemented yet.
Hasn't been tested that extensively yet, but just wanted to get an idea of if the UI might be something we would want to go for.
Type of change
Example configuration
Additional information
https://community.home-assistant.io/t/improve-scene-editor-allow-scene-edits-without-setting-devices-states/151053
Checklist
If user exposed functionality or configuration variables are added/changed:
Summary by CodeRabbit