Problem Statement:
Currently, in Home Assistant, automations can be edited both through the GUI and directly in YAML, providing great flexibility for users. However, this same functionality is missing for helpers such as input_boolean
, input_text
, input_number
, etc., which can only be created and edited through the GUI. Helpers created via the GUI are stored in a hidden database (.storage
folder), making it impossible to edit them directly in YAML.
This creates an inconsistency between how automations and helpers are handled, and limits the flexibility for users who prefer working with YAML for their configurations. It also impacts the ability to efficiently use version control (e.g., Git), as helpers created through the GUI cannot be tracked or modified directly in YAML files.
Proposed Solution:
- Allow users to edit helpers (
input_boolean
,input_text
,input_number
, etc.) in both the GUI and YAML, similar to how automations are currently managed. - Provide an “Edit in YAML” option for helpers, allowing users to switch between GUI and YAML.
- Store helpers in a separate YAML file (e.g.,
helpers.yaml
) when manually edited, while still allowing GUI-based modifications to update the same file. This ensures all changes are visible and trackable.
Why This is Important:
- Consistency: Enabling editing of both automations and helpers in both the GUI and YAML will create a more consistent user experience in Home Assistant.
- Flexibility: Advanced users often prefer YAML as it provides more control and the ability to use version control systems like Git. Being able to edit helpers in YAML would make it easier to manage complex configurations and automations.
- Efficiency: YAML editing is often faster for users who are comfortable with code, especially when it comes to bulk changes or copying configurations.
- Troubleshooting: Direct access to YAML makes it easier to troubleshoot issues, as users can see exactly how a helper is configured.
Use Cases:
This feature would be particularly useful for:
- Advanced users who want full control over their configurations.
- Developers working with Home Assistant who want to use version control to track changes.
- Users managing complex automations and configurations where it is beneficial to copy settings between different instances or systems.