Smart Home Automations Not Running? Troubleshooting Every Platform
When Your Smart Home Stops Being Smart
There's nothing more frustrating than an automation that worked perfectly for months suddenly going silent. You walk through the front door expecting your lights to turn on, your thermostat to adjust, and your favorite playlist to start playing. Instead, you're greeted by darkness and silence. I've been there more times than I'd like to admit, and over the years I've built up a mental checklist for diagnosing these failures across every major platform.
The tricky part about automation debugging is that the problem could live at any layer of the stack: the automation logic itself, the device it's trying to control, the network connecting them, or even something as mundane as a time zone setting. Let's walk through each platform systematically, then tackle the cross-platform issues that trip up everyone.
Home Assistant Automations
Home Assistant gives you the most control over your automations, which also means there are more places things can break. Start your debugging here.
Check Automation State in Developer Tools
The first thing I do when a Home Assistant automation stops firing is head to Developer Tools > States. Search for your automation entity (it'll be something like automation.turn_on_porch_lights_at_sunset) and check its state. If it shows off, the automation has been disabled, either manually or by another automation. This catches the problem about 30% of the time in my experience.
Also check the Last Triggered attribute. If it shows a date from weeks ago, the automation's trigger conditions may no longer be met. If it shows "unknown" or "unavailable," you likely have a configuration issue.
YAML Validation Errors
If you're using YAML-based automations (rather than the UI editor), a single misplaced space can silently break everything. Go to Developer Tools > YAML and click Check Configuration. This will flag syntax errors that prevent automations from loading. I've seen an entire automations file fail to load because of a tab character that snuck in where spaces were expected.
One gotcha: Home Assistant won't always tell you about YAML errors at startup. Check your Home Assistant logs under Settings > System > Logs. Filter for "automation" and look for warning or error entries. Missing entity IDs in your automation conditions are a common source of silent failures.
Entity State Issues
Your automation might be perfectly configured but referencing an entity that's in an unexpected state. For example, if your automation triggers when binary_sensor.front_door changes to on, but that sensor has gone unavailable because its Zigbee coordinator lost contact, the automation will never fire. Check the actual state of every entity in your trigger and condition blocks.
This is especially common after updating Home Assistant or replacing a device. The entity ID might have changed (e.g., from light.living_room to light.living_room_2), silently breaking every automation that references it.
Restart vs. Reload
After making changes to YAML automations, you need to reload them. Go to Developer Tools > YAML and click Reload Automations. A full Home Assistant restart isn't necessary for automation changes, but it is required if you've changed your configuration.yaml includes or added new integrations. I've wasted hours troubleshooting an automation that simply hadn't been reloaded yet.
Trace Your Automations
Home Assistant's automation trace feature is invaluable. Go to Settings > Automations, click on the problematic automation, and check the Traces tab. This shows you exactly what happened during each execution attempt, including which conditions passed or failed and what actions were taken. If there are no traces at all, the trigger never fired.
Alexa Routines
Alexa Routines are simpler than Home Assistant automations, but they have their own frustrating failure modes.
Account Sync Issues
When an Alexa Routine stops working, the first thing to try is saying "Alexa, discover devices." If you've recently updated a smart home skill or changed device names, Alexa may have lost track of the device the routine targets. After discovery, go into the Alexa app, open the routine, and verify each action still shows a valid device (not "device unavailable").
Device Offline Problems
Open the Alexa app and go to Devices > All Devices. Look for any devices showing as offline. If the target device for your routine is offline, the routine will technically "run" but produce no visible result. This is maddening because Alexa won't notify you that the routine partially failed. Devices from brands like TP-Link Kasa, Meross, and Wemo are particularly prone to showing offline after router restarts or firmware updates.
Routine Conditions and Timing
If you have a scheduled routine that stopped working, check whether your Echo device's time zone is correct. Go to Devices > [Your Echo] > Settings > Time Zone. I've seen Daylight Saving Time transitions break scheduled routines because the Echo's time zone was set to a non-DST zone.
For routines triggered by phrases, make sure you haven't accidentally created a conflicting routine with a similar trigger phrase. Alexa sometimes picks the wrong one.
The Alexa Plus Factor
With Amazon's recent rollout of Alexa Plus, some users have reported that routines behaved differently after the automatic upgrade. If your routines broke around the time Alexa Plus was enabled on your devices, try saying "Alexa, exit Alexa Plus" to revert, and see if that resolves the issue. Then re-enable it and rebuild the routine if needed.
Google Home Automations
Google has been transitioning from the older "Routines" system to the newer "Automations" system in the Google Home app, and this transition has created confusion.
Automations vs. Routines
The new Automations feature in the Google Home app is separate from the old Routines. If you set up automations in the new system, they live under the Automations tab in the Google Home app. Old routines may still exist but might not function the same way. Check both places if something isn't working.
New-style Automations support device-state triggers (like "when motion is detected" or "when a door opens"), which old Routines didn't. But they can be flaky with certain device brands. In my experience, devices connected through the Google Home ecosystem natively (like Nest products) are far more reliable as automation triggers than third-party devices connected via cloud-to-cloud integrations.
Device Responsiveness
"Hey Google, sync my devices" is your friend here. If a device stops responding to automations, forcing a sync often resolves it. Also check that the device is still assigned to the correct room in the Google Home app, since some automations are room-dependent.
Starter Failures
Google's automation "starters" (triggers) sometimes just stop firing. I've had motion-sensor-based automations stop working for no apparent reason. The fix that works most often: delete the automation entirely and recreate it from scratch. It's annoying, but Google's automation engine sometimes gets into a state where editing an existing automation won't fix it.
Apple HomeKit Automations
HomeKit automations are generally reliable once they're working, but the initial setup has several non-obvious requirements.
Home Hub Requirement
This is the number one issue I see people miss: HomeKit automations require a Home Hub. Without an Apple TV, HomePod, or HomePod Mini acting as your Home Hub, automations simply won't run when you're not home, and time-based automations won't run at all. Go to the Home app, tap the three-dot menu, then Home Settings > Home Hubs & Bridges to verify you have an active hub. If it says "Not Connected," that's your problem.
Location-Based Automations Failing
"When I Arrive" and "When I Leave" automations rely on your iPhone's location services. If these aren't working, check: Settings > Privacy & Security > Location Services. Make sure Location Services is on globally and that the Home app is set to Always. Also check System Services at the bottom of Location Services and make sure HomeKit is enabled.
GPS accuracy also matters. If you live in an area with poor GPS signal (dense urban areas with tall buildings, for example), the geofence might not trigger reliably. You can't adjust the geofence radius in HomeKit, which is frustrating. If this is a persistent issue, consider using a time-based automation instead, or switch the trigger to a motion sensor near your entrance.
Automation Conditions
HomeKit lets you add conditions to automations (like "only after sunset" or "only when someone is home"). If your automation has conditions, verify each one. The "people" conditions depend on the location of every person's iPhone in your Home. If a family member's iPhone has Location Services turned off for the Home app, the "when nobody is home" condition might never evaluate correctly.
Confirm Automation Isn't Disabled
Tap on the automation in the Home app and scroll down. There's a toggle at the bottom to enable/disable the automation. It's easy to accidentally flip this off. Also check whether the automation is set to "Ask Before Running" instead of running automatically. This is the default for some automation types, and it means you'll get a notification you have to tap instead of it running on its own.
Cross-Platform Issues
Some problems aren't specific to any one platform. These affect everyone.
Wi-Fi Devices Going Offline
The most common reason automations fail across all platforms: the target device lost its Wi-Fi connection. Wi-Fi-based smart plugs (Kasa, Meross, Wemo), bulbs (Wiz, LIFX), and switches are the usual culprits. Check your router's client list to see if the device is actually connected. If it fell off the network, power-cycle the device and check my dedicated guide on fixing Wi-Fi smart device connectivity for a permanent solution.
Time Zone and DST Settings
I cannot emphasize this enough: check your time zone settings on every platform. Home Assistant has a time zone setting in configuration.yaml and in the UI under Settings > System > General. Your Alexa device has its own time zone. Google Home uses your phone's time zone. After Daylight Saving Time changes, scheduled automations can shift by an hour if any component in the chain has an incorrect time zone.
Geofencing and GPS Accuracy
Location-based automations depend on your phone's GPS, which is inherently imprecise. Factors that degrade GPS accuracy include being in a parking garage, heavy cloud cover, dense tree canopy, and urban canyons. Wi-Fi positioning helps, but it requires your phone to be connected to a known Wi-Fi network.
For Home Assistant users, the Companion App's location tracking settings matter enormously. Go to Settings > Companion App > Location and make sure background location is enabled. You can also adjust the zone radius in Home Assistant to make the geofence larger, which helps with triggering reliability at the cost of precision.
Conflicting Automations
This one bites smart home enthusiasts who've accumulated lots of automations over time. If you have one automation that turns off lights at 11 PM and another that keeps them on when motion is detected, the behavior depends on which one runs last. In Home Assistant, you can use mode: restart or mode: queued to control this. On other platforms, you'll need to add conditions to prevent conflicts.
I recommend keeping a simple spreadsheet or document listing all your automations, their triggers, and their actions. When something breaks, this makes it much faster to spot conflicts.
Systematic Debugging Checklist
When an automation fails, work through this list in order. I've arranged it from most common to least common causes.
- Is the target device online? Check the device in its native app and in your router's client list.
- Is the automation enabled? It may have been accidentally toggled off.
- Has anything changed recently? Firmware updates, app updates, new devices, router changes, or password changes can all break automations.
- Are entity/device IDs still valid? Renamed or re-paired devices get new IDs, silently breaking references.
- Are the trigger conditions actually being met? Use platform-specific tools (HA traces, Alexa activity log) to verify the trigger fires.
- Is the time zone correct? Check on both the platform and any devices involved.
- Is there a network issue? Can you manually control the device from the same platform?
- Are there conflicting automations? Another automation may be overriding this one.
- Is your hub/bridge running? HomeKit needs a Home Hub. Zigbee devices need a coordinator. Z-Wave devices need a controller.
- Have you tried deleting and recreating? Sometimes automation engines get into a corrupt state. Start fresh as a last resort.
Preventing Future Failures
After you've fixed the immediate issue, take steps to prevent it from happening again.
Use Local Protocols When Possible
Automations that depend on cloud services (Alexa, Google, cloud-based device APIs) are inherently less reliable than local ones. If you're using Home Assistant, prefer Zigbee and Z-Wave devices (like Philips Hue with the Zigbee integration, or Zooz Z-Wave switches) that communicate locally. They'll keep working even when your internet goes down.
Set Up Monitoring
In Home Assistant, you can create an automation that notifies you when another automation hasn't fired in a certain period. For example, if your "morning lights" automation hasn't triggered by 8 AM, send a push notification. This way, you catch failures quickly instead of discovering them days later.
Keep Automations Simple
Complex automations with many conditions are harder to debug. If you find yourself with a single automation that has ten conditions and five actions, consider breaking it into smaller, focused automations. Each one is easier to test and troubleshoot independently.
Document Everything
This sounds tedious, but maintaining a list of your automations, what they do, and what devices they depend on saves enormous time when something breaks. I keep mine in a simple text file that I update whenever I add or change an automation. Future you will thank present you.
Smart home automation is powerful, but it requires maintenance. Treat your automation system like a garden: regular attention keeps everything running smoothly, and ignoring it leads to weeds and dead patches. The good news is that once you've debugged a few failures, you develop an intuition for where to look first, and troubleshooting goes from a frustrating multi-hour ordeal to a quick five-minute fix.