Add native automation conflict detection and resolution at the engine level #2355
Unanswered
jdshul01
asked this question in
Automations & scripts
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Describe the feature
I’d like to add native automation conflict detection to the Home Assistant automation and script engine.
Currently, Home Assistant allows multiple automations to act on the same entity simultaneously without awareness of each other. When two or more automations issue conflicting commands (e.g., turn_on vs turn_off, brightness changes, mode changes), the last action wins silently. This makes debugging difficult and leads to unpredictable behavior.
The proposed feature would:
• Detect when multiple active automations target the same entity or entity attributes
• Identify conflicting actions within overlapping time windows
• Provide engine-level options for handling conflicts, such as:
• Priority-based execution
• Explicit override rules
• Block / cancel lower-priority actions
• Warn-only mode for diagnostics
• Expose conflict metadata to the UI, logs, and automation traces
This would be handled inside the automation engine, not as a UI-only feature, and would work regardless of YAML or UI-based automations.
Use cases
• Lighting automations where presence, time-of-day, and manual override automations compete
(e.g., motion turns lights on while “sleep mode” turns them off)
• Climate control automations where comfort, energy-saving, and manual adjustments overlap
• Security workflows where one automation disarms devices while another re-arms them
• Media automations where multiple triggers attempt to change volume, source, or power state
• Complex homes with layered logic (presence → mode → room → device), where conflicts are common but invisible
In all cases, the automation “works” but behaves unpredictably, making troubleshooting extremely difficult.
Current workarounds
• Manually adding conditions everywhere to prevent overlap
• Creating input_booleans / helpers to act as pseudo-locks
• Carefully sequencing delays and time windows
• Splitting logic across multiple automations and scripts
• Using naming conventions and comments to document intent
These approaches are fragile, difficult to maintain, and do not scale as automation complexity grows.
Anything else?
• Other automation platforms (e.g., Node-RED, enterprise workflow engines) provide native conflict handling or state locks
• This feature would significantly improve:
• Automation reliability
• Debugging experience
• User trust in automations “just working”
• Even a warn-only / diagnostic-only first implementation would provide huge value to advanced users
Beta Was this translation helpful? Give feedback.
All reactions