When a Home Assistant automation appears to trigger but the light, switch, or other device does nothing, the problem is often downstream of the trigger: a condition evaluates to false, the wrong entity is targeted, an action fails, or the integration cannot deliver the command. Diagnose the run before rebuilding the automation.
1. Confirm that the automation actually ran
Open Settings → Automations & scenes, select the automation, and inspect its traces. Open the latest trace that matches the time you expected it to run. If there is no trace, check the trigger first: confirm the entity ID, trigger type, required state, and any time or numeric threshold. For a state trigger, remember that the entity must make the configured transition; already being in the target state may not create a new transition.
Official reference: Home Assistant automation troubleshooting and traces.
2. Find the first step that did not behave as expected
- Trigger did not fire: verify the entity ID and the exact state or event in Developer Tools → States and the trace timeline.
- Condition failed: inspect each condition’s actual values at the time of the run. A time condition, presence condition, or numeric-state condition can block an otherwise valid trigger.
- Action was skipped: inspect Choose, If/then, Repeat, and Wait steps. A branch may not match, or a wait may time out.
- Action ran but nothing changed: confirm the target entity and service/action, then test the action manually using the same target.
3. Test the target separately
Check that the target entity still exists and is available. An entity renamed during a device or integration change can leave an automation pointing at an old ID. If the action targets a group, area, script, or scene, test that target independently. Avoid deleting and recreating devices until you have confirmed the actual failure.
4. Check execution mode and overlapping runs
If an automation is still waiting or running, its mode can affect what happens when another trigger arrives. Review the automation’s mode and any delay, wait, or long-running action. Do not change the mode blindly: single, restart, queued, and parallel have different behavior and the right choice depends on the task.
5. Use a safe minimal test
- Duplicate the automation or save a copy before making major changes.
- Temporarily simplify the test to one known trigger and one harmless action.
- Run the trigger and inspect the trace.
- Add the original conditions and actions back one at a time until the failure returns.
This isolates the failing step instead of changing several settings at once. If the trace shows that the action completed but the device did not respond, investigate the device integration or network rather than rewriting the trigger.
Related troubleshooting
If the automation is not starting at all, see our guide to Home Assistant automations that do not run. If a device is unavailable, use our smart-light disconnection checklist before rebuilding automations.
Quick checklist
- Latest trace exists and matches the expected time.
- Trigger and conditions show the expected values.
- Target entity exists and is available.
- Action succeeds when tested independently.
- Execution mode and waits suit the automation.
Bottom line: the trace usually tells you whether the failure is the trigger, a condition, a branch, or the action itself. Fix the first failing step and retest before making broader changes.











