Right now the helpers created in UI live only in UI. They’re not saved in any yaml file so we cannot edit them manually and unfortunately some of the options are not available through the UI. Also editor for some helpers does have the same set of features/fields when in edit more when compare to create mode.
So it would be great if we could edit Helpers in the UI the same way automations editor allows switching to yaml code. That way we could use full potential of the available options.
Using the UI to create helpers has a lot of advantages over using yaml:
The UI has some kind of wizard that guides you through the creation process
The UI shows at least the most important porperties and display the correct editor for it. So you don’t have to know the exact format of every property.
The entity can be connected to an existing device, which does not seem to be possible in pure YAML
The entity has a unique ID and so it can be renamed etc.
There is a related WTH about why can’t we edit helpers. The UX around helpers is pretty poor compared to all the improvements that have been made to the Home Assistant UI.
For a number of helpers the settings dialogs don’t even let you see the configuration you supplied to create the helper.
Another related potential WTH is that all helper integrations are labeled as internal but the quality of the implementation varies widely.
For the most part, all helpers can be edited after the fact in the UI with some restrictions. E.g. You can’t modify utility meter source entity because that would change config entry and essentially create a new entity.
For the most part, all helpers can be edited after the fact in the UI with some restrictions.
For History Stats, you can’t even see what entity it is based on.
Maybe it is a gap around the config flow that there isn’t a way to show read-only configuration options, but I’ve had to dig through core.config_entities.json to see what the config is for some helps.
Yes, there’s a WTH about this already showing a read only field when you edit it.
Config entries for these integrations are typically generated from the entity_id, so when you change it, you get a “new config” which is why it’s restricted like that.
What do you mean “Until the UI is improved”? Our hands are tied with editing the source entity because that’s the only immutable thing that we can reference for both yaml & UI based entities.
Here’s the underlying config entry that has the details. Note that it is the elements of options that should editable (or at least be visible if it needs to be read only) in the settings dialogs.
It would also be great if options was editable in YAML similarly to automations and scripts.
Tested again with 2024.12.0, Name is a required field for History Stats. if you don’t supply a value it defaults to unnamed statistics. See the screen shot above.
Please understand that you can seed UUID’s with static strings. I have no idea why you have this “bone” to pick with me. I’ve already linked why the options are missing, there shouldn’t be a need to continue this convo with me any more as we now have the real reason the options are omitted.
Here’s the comment pulled from the link above:
It was done on purpose like this as if you would change anything coming from the “page 1” it would distort it’s own statistics.
I tried to clarify by showing what history stats is currently doing in terms of entity naming, whether there is a unique ID, and the configuration data that isn’t visible.