Every time an automation runs, a debugging trace is generated regardless of whether the automation was completed, aborted, or suffered an error. Traces allow you to interactively inspect the state of the automation at every step and also check the values of variables and rendered templates. Traces can be accessed in the Automations Section of Configuration.
Automations created in YAML must have an
id assigned in order for debugging traces to be stored.
By default the last 5 traces are stored for each automation, this can be adjusted in the YAML configuration of an automation. Stored traces are reset each time Home Assistant restarts.
You can verify that your automation rules are being initialized correctly by watching both the realtime logs (
homeassistant.log in the configuration directory) and also the Logbook. The realtime logs will show the rules being initialized (once for each trigger), example:
INFO [homeassistant.components.automation] Initialized rule Rainy Day INFO [homeassistant.components.automation] Initialized rule Rainy Day INFO [homeassistant.components.automation] Initialized rule Rainy Day INFO [homeassistant.components.automation] Initialized rule Rain is over
The Logbook integration will show a line entry when an automation is triggered. You can look at the previous entry to determine which trigger in the rule triggered the event.
It is generally a difficult task to test an automation, especially if it includes several triggers and some conditions.
Please note that if you click on Trigger of an automation in the frontend, only the
action part will be executed by Home Assistant. That means you can’t test your trigger or condition part that way. It also means that if your automation uses some data from triggers, it won’t work properly as well just because
trigger is not defined in this scenario.
All this makes that Trigger feature pretty limited and nearly useless for debugging purposes so you need to find another way. Make sure you check and adapt to your circumstances appropriate examples from Automation Trigger, Conditions and Actions.
It is also useful to go to Configuration -> Server Control and click on Check Configuration button in Configuration validation section to make sure there are no syntax errors before restarting Home Assistant. In order for Check configuration to be visible, you must enable Advanced Mode on your user profile.
If your automation uses templates in any part, you can do the following to make sure it works as expected:
- Go to Developer tools -> Template tab.
- Create all variables (sources) required for your template as described at the end of this paragraph.
- Copy your template code and paste it in Template editor straight after your variables.
- If necessary, change your sources’ value and check if the template works as you want and does not generate any errors.