Problem statement
To be ironed out, but in short: trigger IDs are unnecessarily hard to discover and work with.
For each trigger the user defines, we allow them to set a trigger ID. This setting is hidden in the UI by the default, but can be shown from the trigger's overflow menu:
Next, the user is presented with a blank text input, allowing them to set whatever they want as the ID. In conditions and actions, they can then choose the "triggered by" condition and choose from the trigger IDs that they've set:
We feel that this is an unnecessarily complex flow to introduce more flexibility into automations. The fact that the ID is hidden in an overflow menu represents a significant barrier. Additionally, using a technical term like ID adds to the complexity. Given our goal of making Home Assistant more approachable, we feel this is a quick win.
Scope & Boundaries
In scope
- Improving how users can reference triggers within the automation editor UI by:
- Auto-generating trigger IDs (keeping backward compatibility for those that have manually defined them)
- Showing the trigger itself in the UI picker for the "triggered by" condition, rather than the IDs.
Not in scope
- Defining trigger/condition/action input and output, paving the way for a node-based editor. We want to keep this small.
Foreseen solution
Manually setting trigger IDs should be something advanced, to be used in case you really want fine-grained control over what the trigger is referred to as. Besides that use case, it should "just work". By this we mean:
- Auto-generating a (static) trigger ID for every trigger automatically.
- Displaying the actual trigger in the condition picker, rather than the IDs (for manually set IDs we can consider showing them, but we shouldn't show the automatically generated ones).
No response
Community signals
Risks & open questions
No response
Appetite
No response
Execution issues
No response
Decision log
Problem statement
To be ironed out, but in short: trigger IDs are unnecessarily hard to discover and work with.
For each trigger the user defines, we allow them to set a trigger ID. This setting is hidden in the UI by the default, but can be shown from the trigger's overflow menu:
Next, the user is presented with a blank text input, allowing them to set whatever they want as the ID. In conditions and actions, they can then choose the "triggered by" condition and choose from the trigger IDs that they've set:
We feel that this is an unnecessarily complex flow to introduce more flexibility into automations. The fact that the ID is hidden in an overflow menu represents a significant barrier. Additionally, using a technical term like ID adds to the complexity. Given our goal of making Home Assistant more approachable, we feel this is a quick win.
Scope & Boundaries
In scope
Not in scope
Foreseen solution
Manually setting trigger IDs should be something advanced, to be used in case you really want fine-grained control over what the trigger is referred to as. Besides that use case, it should "just work". By this we mean:
No response
Community signals
Risks & open questions
No response
Appetite
No response
Execution issues
No response
Decision log