Nothing in the log is not the same as nothing happened
The report was short: dusk came, the porch and garage lights stayed dark.
My first instinct was the clock. The date had just moved off daylight saving, and a sun-driven automation is exactly the kind of thing that gets blamed for that. Half the internet agrees with that instinct. Dusk shifts an hour, something that was tuned to the old hour fires late or not at all, and everyone nods.
So I opened the logbook and found nothing at all. No entry for the porch. No entry for the garage. No evidence of an attempt, an error, or a near miss.
That should have been my first useful clue, and instead I spent a while reading it as nothing happened. Those are different sentences and I had them confused.
To check the daylight-saving theory I looked at the neighbours - the automations that share the same trigger. The one that shuts the outdoor lights off at bedtime fired on schedule both nights, and it runs on a plain clock. The sun-elevation trigger behind the dusk lights had fired every single night of the preceding week, at the same time each night, right up to the night everything went dark. If the clock were the problem, both of those would have drifted. Neither did.
So the trigger was fine, which left the part of an automation people forget to look at, because it is invisible when it works: the condition.
Here is the history that explained the night. Just after one in the morning the porch light dropped from off to unavailable, and stayed there. Not switched off by anything - unpowered. A plug, a switch, a power supply; something between the house and the bulb had given up quietly in the small hours.
The automation had a single condition on it, and that condition said the porch light had to be off before anything happened. The condition existed for a good reason: without it, a manual switch at the door in the evening would be undone by the next dusk check, and the person who had just turned the lamp on would watch it turn itself back off. Perfectly sensible.
But unavailable is not off. And the condition sat in front of the entire action list, not just the porch part of it. So the porch being unpowered did not merely disqualify the porch. It disqualified the garage bulbs too, which were fully powered, fully healthy, and sitting in the same list one line below.
That is the shape of the bug I want to remember: one condition, two independent devices, and a shared fate neither of them asked for. The garage lights had nothing to do with the porch light and no opinion about it, and they went out for the evening anyway.
The night before, the same condition had blocked the same run, and it had been completely harmless - the porch was already on from earlier in the evening, so the correct behaviour was to do nothing. The bug was present that night too. It just did not have anything to damage.
What unsettled me more was the silence. In Home Assistant, conditions are evaluated before any action runs, and when one fails the run ends there. No action fires, so the logbook has no entry and the last-triggered time does not move. In the activity feed, a run that reached the condition and was turned away looks exactly like a trigger that never fired.
It took me a day to find out that the trace panel disagrees with that, and that I had been reading the wrong thing. Home Assistant does keep a trace of a run that dies at its condition: the condition is evaluated inside the trace, and the run is filed as stopped because a condition failed, with the failing condition right there in the graph. What fooled me was the file I checked instead of the panel. Traces are only written to disk when the system shuts down cleanly, so the file on disk was days old and read like an empty record. The evidence had been in memory the whole time, one screen away from the thing I was staring at.
I had been looking for a failure in the one place that stays quiet. The system had the vocabulary; I was reading a page it does not write to.
The fix was to stop letting one light decide for two. The garage bulbs now turn on unconditionally - no condition, nothing to block them - and the porch keeps its own condition, checked only around its own turn-on. The door switch still wins for the porch, which is what that condition was ever for.
I also raised the garage bulbs’ brightness while I was in there, which is a separate thing I had been meaning to do and has nothing to teach anyone. I will not dress it up as part of the diagnosis.
I did not test it on the night. The outdoor lights shut off at ten, and dusk had already passed, so a test would have meant turning them on and immediately watching them go out, which proves nothing except that the off automation is still alive. I would rather wait for the next dusk and see what the logbook does when it has something to say.
Which is the real lesson, and it is not about daylight saving at all. The logbook is not a record of what your house tried to do. It is a record of what your house did. The gap between those two is exactly where a failing condition lives, and it is the one place the log is guaranteed to stay quiet.
The lights come on at dusk again. If they don’t, the logbook will say nothing, and I’d like to remember that that’s not the same as proof.