UI Stuck on "Loading Data" After Login - Websocket 400 Error (Core 2025.10.1)

I’m experiencing an issue where my Home Assistant UI hangs indefinitely on “Loading data” after successful login (credentials + OTP). The HTTP server itself appears to work fine, as I can reach the login page without issues. Furthermore, the SSH server, automations and integrations still appear to work fine; I can log into SSH, my lights are turning on/off, my electric car is being charged when electricity price is low, etc.

System Details:

  • Hardware: Home Assistant Yellow (CM4)
  • Core: 2025.10.1
  • OS: 16.2
  • Recorder: MariaDB add-on
  • Network: Two NICs (192.168.1.176 main VLAN, 192.168.40.176 IoT VLAN)

Context:

This issue started shortly after migrating my network from a Ubiquiti Dream Router to a UCG Max + UniFi PoE Switch. The migration was done using UniFi backup + restore, and IP addresses were maintained. I’ve also had to move the HA Yellow within my network. It used to be hooked directly in the PoE port of my DR, but not it connects via a UniFi switch. I’m not 100% certain if the dashboard was accessible immediately after the network migration. I’ve run many tests, and found only one specific error (see next section).

Websocket Error:

SSH access works fine, so I’ve been able to run diagnostics. A local websocket test fails with a 400 error, which has been reported as an issue before.

Bash

curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" http://localhost:8123/api/websocket

Response:

Plaintext

HTTP/1.1 400 Bad Request
Unsupported version: #

This suggests the websocket API is rejecting connections locally, would this explain why Lovelace can’t load data after authentication?

Troubleshooting Completed:

:white_check_mark: Browser cache cleared (multiple devices/browsers)
:white_check_mark: ha core check passed (no YAML errors)
:white_check_mark: MariaDB running healthy, no database errors in logs
:white_check_mark: All custom components disabled (renamed custom_components folder)
:white_check_mark: Network connectivity verified (ping, DNS, routing all working)
:white_check_mark: Port 8123 listening on all interfaces (netstat confirmed)
:white_check_mark: Attempted Core downgrade to 2025.9.3
:white_check_mark: Re-upgraded to 2025.10.1 (no change)
:white_check_mark: No http: configuration in configuration.yaml (no reverse proxy settings)
:x: Local websocket test fails with 400 error
:x: No websocket-related errors appear in ha core logs

Questions:

Could the “400 Bad Request - Unsupported version” websocket error prevent Lovelace from loading?

Any other suggestions to restore my instance?

Potential Next Steps:

  • Clear frontend cache (rename .storage/frontend* files)
  • Clear Lovelace cache (rename .storage/lovelace* files)
  • Verify .storage file integrity (check for corruption during network migration)
  • Restore from Nabu Casa backup (last resort)

Any guidance would be greatly appreciated! Hope any of you have suggestions on how to resolve? :pray:

You are using a VLAN and separate networks. I would bet this is a DNS problem where something can’t talk to something. HA is designed to work with a flat subnet and anything else is considered advanced, and you have to understand what you are doing and how to diagnose and fix stuff. Reason, we don’t have access to your hardware and have no idea what is set-up.
Enterprise Smart Home Syndrome

1 Like

lol, yeah that’s funny and recognizable. Even though I think it doesn’t fully apply to “simply” having a separate vlan for IoT devices. These devices don’t always get updated or supported for the long times that IoT devices stay in a network.

However, I can always try disabling the virtual NIC and rely exclusively on the physical NIC in my primary network. So, I’ll do that!

1 Like

@Sir_Goodenough I’ve disabled the virtual NIC but it doesn’t change the behaviour