Closed nitobuendia closed 4 years ago
Thanks for your interest in this topic but this is not something that we would consider right now.
Hi @balloob, in order to respect the time that has been invested in bringing this proposal, could you kindly elaborate what's wrong with this proposal or why is this "not something that we would consider right now"?
If this is related to ADR-0010, there's an open discussion on #399 on this topic and this is a very needed complement to it, as the HOW matters for the IF.
Additionally, even if it's not something that you would consider right now, where's a good place for discussions? Community does not seem the right place and this is the official channel for architecture decisions.
Thanks for caring about the Open Source community.
Context
Issue #399 discusses about the possibility of allowing YAML configuration. On this issue, we discuss one of the possible ways of implementing YAML Support with minimal cost.
As I understand, YAML Configuration is still required for some integrations. As such, YAML entry points like
async_setup_platform
will still be supported by core. Hence, the main cost of supporting YAML is the specific cost of each component to add a config flow.This issue proposes a solution which significantly minimizes and centralizes the cost.
Proposal
The overall proposal is that YAML configuration leverages all the same infrastructure that UI flows leverages. In more detail:
.storage
entities will use the same data structure for all static configuration data..storage
. Config flows may require merging dictionaries.version
as a parameter, which will allow to translate set up between versions with the same async_migrate_entry.async_setup_platform
andasync_setup_entry
will read the configuration and use the same flow to start the device. (Similar to how cast works today or this PS4 example).Consequences
First of all, this solves all the problems introduced by the deprecation of YAML on device integrations which is being discussed on this issue.
Second, this improves the issues and cost for contributors to maintain YAML configuration by:
.storage
and YAML entities.