Home Assistant can feel fast on the LAN and slower remotely even when Core executes the same automation because the client connection takes a different path. A local browser may cross one switch to reach Home Assistant; a remote phone may resolve public DNS, cross mobile or office networks, traverse the ISP path, enter a cloud proxy, VPN, tunnel, or reverse proxy, then maintain a WebSocket session back to the server.
The performance difference should therefore be measured as client-to-server delivery, not immediately blamed on Home Assistant CPU. A physical automation can complete locally in the same time while the remote dashboard takes longer to show the new state.
LAN Access Has Fewer Network Stages
Inside the home, a client can use the server's private address or an internal DNS name and avoid the public internet. Round trips are short, and the connection is usually unaffected by ISP upload capacity or a remote relay.
The Home Assistant Companion networking model supports separate internal and external connection paths, including internal URLs, external URLs, split DNS, and WebSocket-aware reverse-proxy requirements.
A slow LAN session should therefore be debugged inside the home first: Wi-Fi, DNS, browser/client rendering, reverse proxy used internally, VLAN routing, or the Home Assistant host itself.
Remote Access Adds DNS, WAN, Encryption, and an Ingress Method
A remote client normally needs a public or overlay name, TLS, an external route, and an access boundary such as Home Assistant Cloud, VPN, reverse proxy, or tunnel. Each stage can add latency or a reconnect point.
Remote overlays can also use different connection types. Current Tailscale guidance explains that direct peer connections usually provide the lowest latency and highest throughput, while relayed connections are a fallback when direct connectivity is not possible. The route itself can therefore change perceived Home Assistant responsiveness without changing Core execution time.
Do not adopt a universal remote-latency threshold. Measure your own route from the places you actually use it—cellular, office Wi-Fi, travel networks, or a second home—and record whether the path is direct or relayed.
WebSocket Stability Matters After the Initial Page Loads
Home Assistant dashboards receive continuing state changes after the initial HTML and JavaScript load. A connection that repeatedly drops and reconnects can feel much worse than its average bandwidth suggests.
A reverse proxy or tunnel must preserve the WebSocket path correctly. The Companion networking guidance warns that self-managed reverse proxies need WebSocket support; otherwise the UI may connect partially while live updates behave poorly.
Watch reconnects, failed WebSocket upgrades, proxy logs, and mobile network transitions. A phone switching from Wi-Fi to LTE can change source address and route even while the Home Assistant server itself remains healthy.
Remote Performance Can Be Limited by Home Upload
Home internet plans are often asymmetric. A remote dashboard request travels down to the home, but camera thumbnails, dashboard assets, state payloads, and streams must leave through the home's upload path.
High-bitrate camera views or several remote users can expose upload limits that no local client sees. A remote session that is slow only when a camera card opens is a different problem from an automation that takes too long to execute.
ZimaSpace's smart-home server workload guide makes the same distinction between core automation and heavier cameras, analytics, and companion services that add separate resource requirements.
Client Path Selection Can Make Two Phones Behave Differently
The Companion app chooses connection settings based on the configured Home network and URLs. A device that never recognizes the home network may continue using the external route even while sitting on the same Wi-Fi as Home Assistant.
A community support case shows the practical dependency: the app needs the correct external URL and home-network definition before the internal URL becomes the intended local path.
Compare the exact URL, DNS answer, proxy/VPN path, dashboard, and client when investigating performance. “Same Home Assistant server” is not the same test if the two clients use different ingress routes.
Measure Server Execution Separately From Client Delivery
| Measurement | What it isolates |
|---|---|
| Automation trigger → service call | Home Assistant logic |
| Service call → physical device feedback | Local device transport |
| LAN client → Home Assistant response | Local network and client |
| Remote client → Home Assistant response | WAN, ingress, relay, TLS, proxy/VPN |
| Server state update → client render | WebSocket and frontend path |
Call the server “slower remotely” only when the server-side execution itself changes. If the physical device responds on time but the remote screen updates later, the performance difference belongs after Core, on the remote delivery path.
FAQ
Why is the Home Assistant app fast on Wi-Fi but slow on mobile data?
Mobile data adds the public or private remote-access route, including ISP latency, DNS, TLS, and possibly a proxy, VPN, tunnel, or relay. The Home Assistant server may be executing at the same speed.
Tech & AI HUB
More to Read

Does Home Assistant Work Reliably Behind CGNAT or Double NAT?
CGNAT and double NAT usually do not affect local Home Assistant control; they mainly change how remote clients can create an inbound path to...

How Does Network Latency Affect Home Assistant During Internet Outages?
Internet loss and network latency are different failures: local device paths can stay fast while DNS, cloud integrations, gateways, or remote clients wait.

What Are Home Assistant Persistent Data Roles, and Why Do They Matter?
Home Assistant persistence is not one folder or database: configuration, registries, history, secrets, backups, and runtime definitions have different roles.

