Need help: After HA restart, UI doesn't load

Hello everyone,
first-time poster here. I’ve been using HA Green for about 1,5 yrs now, and so far I was able to solve every problem I ran into by reading guides, watching tutorials etc, but yesterday I ran into a problem I seem to be unable to solve by myself. So if anyone is able and willing to help me, please do so :smiley:

Also, I apologize for the pretty long post, I just tried to include as many details as possible to maybe make it easier to find a solution.

Yesterday I decided to work on some (mainly minor) issues and errors I had found in the logs. From what I remember, what I did was:

  • changing kelvin to color_temp_kelvin in some light automations

  • uninstall the Grocy Add-On and 3 Grocy Integrations / Cards

  • in configuration.yaml:

    • exclude the data of one of my integrations from the recorder
    • migrate 2 template sensors to the new syntax (see this post: Deprecation of legacy template entities in 2025.12 ) - it’s easily possible that I made a mistake here, since I have no idea of templating (or programming in general) and just tried to follow the instructions as closely as possible.
  • Mosquitto: in configuration, I deleted 3 lines (certfile, keyfile, require_certificate) in the customize-section, as they caused errors in the logs and were (sort of) duplicates anyway. Since I can imagine that I made a mistake here, here’s the details:

    • before:
      logins:
      require_certificate: false
      certfile: fullchain.pem
      keyfile: privkey.pem
      customize:
      active: false
      folder: mosquitto
      certfile: fullchain.pem
      keyfile: privkey.pem
      require_certificate: false
    • after:
      logins:
      require_certificate: false
      certfile: fullchain.pem
      keyfile: privkey.pem
      customize:
      active: false
      folder: mosquitto
  • Also I updated some integrations and cards, one of which was the sports tracker (can’t think of the exact name right now), which prompted me to restart HA after the update.

  • My last step (after the aforementioned restart) would have been to update HA from 2025.12.1 to 2025.12.3 - but I didn’t get around to that step anymore.

Now, I’ll freely admit that I’m an idiot, because I did all these changes without restarting HA even once. I only restarted when the sports tracker “told” me to do it. After that restart, the UI didn’t load on my PC anymore (I had pressed F5 a bit too quickly). On the tablet, I saw that I received a notification in Fully Kiosk that during the boot process, some “things” couldn’t be loaded, including “default_config”. Shortly after the tablet also went into the “Loading data” screen, so I wasn’t able anymore to take a screenshot or foto of the notification.
I tried restarting HA a couple of times (by holding the button on the Green for 6 seconds or 12 seconds respectively), but nothing changed. It took me until the 4th or 5th restart to realise that actually, HA seemed (and still seems) to work properly, it’s only the UI that doesn’t load. My various automations seem to work fine (only maybe a bit slow here and there), Zigbee2MQTT seems to work, Govee2MQTT and Music Assistant as well.

I tried several things I found here in the forum and in other forums, like using anonymous mode in the browser, trying homeassistant.local:8123 / homeassistant:8123 (without “local”) / 192.168.XXX.XX:8123 / Remote Access via Nabu Casa - but none of it worked, the UI sticks to “Loading data”. I also re-added the Green to my LAN, and restarted my internet connection.

I use Home Assistant Green (2025.12.1), the SkyConnect Zigbee dongle (connected via a long USB cable to avoid interference) with Zigbee2MQTT + Mosquitto, about 80 WLAN devices, and also about 80 Zigbee devices / sensors, with numerous repeaters (plugs etc.) around the house. I use my Windows PC to work on automations etc., I got some Android tablets with Fully Kiosk, and use the Companion App on my phone. The result is the same on all of these devices, the UI doesn’t load and sticks to “Loading data”.

I got a (hopefully full) backup from 2 days ago, but I’ve never restored HA from a backup, and the thought of maybe losing all of my automations (over 150) due to having to restore makes me nervous :smiley:

So, does anyone have any idea what else I could try to get the UI to load again, without having to restore the whole system?

Many thanks in advance!

Start here first, connect a monitor and keyboard/mouse to your green, and you will see the HA-Console,you should be able to immediate se if it’s up and running.
There should be some guides in here with instructions to find i.e the logfile etc. but mainly … read the menues in a structured manner, at the prompt type help

ha > help

PS, just for the fun of it, start at the prompt by rebooting HA, and try to follow the startup sequence flashing by, best scenario You should see none or a few minor “red colored failure”

ha > host reboot

Next step would be to try and repair/rebuild, Supervisor and Core

ha >supervisor repair

ha >core rebuild

Don’t be afraid of restore. It is basically a snapshot of your system at the time. Use that as a last resort after following @boheme61 's advice.

You probably have a configuration error that prevents Home Assistant from loading. Post your configuration.yaml here using </> tags.

Haha damn, I was hoping I wouldn’t have to connect the monitor/keyboard, but ok, I’ll try and see how far I get - thank you!

I will, as soon as I manage to connect the monitor and find my way around the console :smiley:
Or is there another way to get the config.yaml? Is there a way to get it out of the backup file or smth?

did you do a backup, just before you rebooted it(failure time) , if not which config.yaml will you look at ? and how will you get “latest working” into the system
PS

  • You can perform a backup/restore in the CLI/prompt, as well as edit in your config yaml

So use this 1st time as a lesson , so you will be comfortable in this environment for next time you need it :wink:

I have an automation that backups daily and uploads the backup to Nabu Casa, Google Drive and OneDrive, so I got a backup from the night before, which is also before all of my changes yesterday. And, since my automations still seem to work, there is also a backup from about 12 hours ago, AFTER my changes and the beginning of the whole problem. Therefore, I could restore to the point before I effed it up, but also I have a backup file from after I effed it up :smiley: Only question is whether or not it is possible to get the configuration.yaml out of either of these backups.

What is “smth”? Depending on how you did the backups, you might be able to extract the configuration.yaml file, but you would need to use a Linux computer. If you used the default backup, then the data may likely be encrypted. You did save the key?

You cannot get the configuration.yaml file from the console, but the information we can see there may point to an easy solution.

When you get Home Assistant running you should install the Samba Share add-on. This exposes your Home Assistant folders so that you can use the Windows File Explorer and any text editor, like Notepad++. This is the easiest way (at least for me) to edit your configuration.yaml file.

1 Like

if the backups are unencrypted, you can open them with 7zip. If they are encrypted, there are decrypt scripts floating on the forum to decrypt them.

GitHub - cogneato/ha-decrypt-backup-tool

smth = something :smiley: sorry for the confusion :smiley:

I deactivated the encryption, I don’t have Linux, but maybe I can send the file to a friend who uses Linux.

About Samba: I installed that at the very beginning actually (because of some HA Setup tutorial video), but back then never really understood why I would need it, and deactivated it a couple of months later, thinking I wouldn’t need it anyway. Stupid me.

They are unencrypted afaik - do I still need a Linux Computer to do that?

7zip works on windows too.

https://www.7-zip.org/

@francisp So, I was able to get both the last working config.yaml and also the non-working config.yaml with 7z - thanks a lot for this hint!!

@stevemann here are my 2 config.yaml’s:

    1. the last functional configuration.yaml
    1. below: the non-functional configuration.yaml
# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes
  extra_module_url:
    - /local/hacsfiles/lovelace-card-mod/card-mod.js
    - /local/community/lovelace-card-mod/card-mod.js
    - /homeassistant/config/www/community/lovelace-card-mod/card-mod.js 
  javascript_version: latest

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

homeassistant:
  packages: !include_dir_named packages

python_script:

recorder:
  exclude:
    entities:
        sensor.team_tracker

sensor:
  - platform: time_date
    display_options:
      - 'time'
      - 'date'
      - 'time_date'

  - platform: wl_monitor
    name: "WL Monitor"
    stops:
      - '845'
      - '834'
      - '305'
      - '337'
      - '2046'
      - '2013'
      - '293'
      - '284'
      - '846'
      - '2016'
      - '2043'
      - '304'
      - '2645'

  - platform: template
    sensors:
      midea_current_humidity:
        friendly_name: "midea_current_humidity"
        value_template: "{{ state_attr('humidifier.midea_dehumidifier_P0000000Q12459E58E9728', 'current_humidity') }}"
        unit_of_measurement: "%"
      midea_target_humidity:
        friendly_name: "midea_target_humidity"
        value_template: "{{ state_attr('humidifier.midea_dehumidifier_P0000000Q12459E58E9728', 'humidity') }}"
        unit_of_measurement: "%"

input_select:
  dehumidifier_fan_mode:
    name: "Fan Mode"
    options:
      - Silent
      - Medium
      - High
    icon: "mdi:animation-outline"
  dehumidifier_modes:
    name: "Modes"
    options:
      - Target_humidity
      - Continuous
      - Smart
      - Dryer
    icon: "mdi:animation-outline"

binary_sensor:
  # Quelle: https://community.home-assistant.io/t/automation-shower-detection-trigger-when-humidity-increases-in-10-minutes/162250
  # Tracks 3 humidity readings over 5 minutes. If the change is greater than 10%, evals to true. (10/(60*5))
  - platform: trend
    sensors:
      dusche_badewanne:
        friendly_name: "Dusche_Badewanne"
        max_samples: 3
        entity_id: sensor.bad_hygrometer_humidity
        sample_duration: 300
        min_gradient: 0.03333
        device_class: occupancy 
        
template:
  - binary_sensor:
      - name: "Waschmaschine"
        unique_id: "Waschmaschine_läuft"
        state: ""
        device_class: occupancy
        icon: mdi:washing-machine
      - name: "Geschirrspüler"
        unique_id: "Geschirrspüler_läuft"
        state: ""
        device_class: occupancy
        icon: mdi:dishwasher   

XXXXXXXXXXXXXXXXXXXXXX

# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes
  extra_module_url:
    - /local/hacsfiles/lovelace-card-mod/card-mod.js
    - /local/community/lovelace-card-mod/card-mod.js
    - /homeassistant/config/www/community/lovelace-card-mod/card-mod.js 
  javascript_version: latest

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

homeassistant:
  packages: !include_dir_named packages

python_script:

recorder:
  exclude:
    entities:
        sensor.team_tracker
        sensor.wl_monitor

sensor:
  - platform: time_date
    display_options:
      - 'time'
      - 'date'
      - 'time_date'

  - platform: wl_monitor
    name: "WL Monitor"
    stops:
      - '845'
      - '834'
      - '305'
      - '337'
      - '2046'
      - '2013'
      - '293'
      - '284'
      - '846'
      - '2016'
      - '2043'
      - '304'
      - '2645'

input_select:
  dehumidifier_fan_mode:
    name: "Fan Mode"
    options:
      - Silent
      - Medium
      - High
    icon: "mdi:animation-outline"
  dehumidifier_modes:
    name: "Modes"
    options:
      - Target_humidity
      - Continuous
      - Smart
      - Dryer
    icon: "mdi:animation-outline"

binary_sensor:
  # Quelle: https://community.home-assistant.io/t/automation-shower-detection-trigger-when-humidity-increases-in-10-minutes/162250
  # Tracks 3 humidity readings over 5 minutes. If the change is greater than 10%, evals to true. (10/(60*5))
  - platform: trend
    sensors:
      dusche_badewanne:
        friendly_name: "Dusche_Badewanne"
        max_samples: 3
        entity_id: sensor.bad_hygrometer_humidity
        sample_duration: 300
        min_gradient: 0.03333
        device_class: occupancy 
        
template:
  - binary_sensor:
      - name: "Waschmaschine"
        unique_id: "Waschmaschine_läuft"
        state: ""
        device_class: occupancy
        icon: mdi:washing-machine
      - name: "Geschirrspüler"
        unique_id: "Geschirrspüler_läuft"
        state: ""
        device_class: occupancy
        icon: mdi:dishwasher        
  
  - sensor:
      - unit_of_measurement: '%'
        default_entity_id: sensor.midea_current_humidity
        name: midea_current_humidity
        state: '{{ state_attr(''humidifier.midea_dehumidifier_P0000000Q12459E58E9728'',
          ''current_humidity'') }}'        

  - sensor:
      - unit_of_measurement: '%'
        default_entity_id: sensor.midea_target_humidity
        name: midea_target_humidity
        state: '{{ state_attr(''humidifier.midea_dehumidifier_P0000000Q12459E58E9728'',
          ''humidity'') }}'`   

The only thing that stands out to me is the list of entities in the recorder key should have dashes.

recorder:
  exclude:
    entities:
      - sensor.team_tracker
      - sensor.wl_monitor

When you restart Home Assistant it checks for valid configuration, and it won’t restart if there are errors. You should see it in Notifications (in the sidebar).

What about the migrated template sensors? In the non-functional version, they are at the very end, and I’m not sure if I did it correctly. I got “- sensor” twice, and 2 empty lines. Don’t ask me why I did it this way, instead of just doing it like I did it for the 2 template binary sensors right above.

Empty lines are ignored.
template: is the keyword and the dash means a member of a list. So

template:
  - sensor
    - parameters about this sensor...
  - sensor
    - parameters about the second sensor.
    - even more parameters

is correct syntax. (But I am wrong more often than not).
So, this is a list of sensor templates.

Yes, you can. It’s in the directory /mnt/data/supervisor/homeassistant (HAOS only)

vi is your only editor option there however. Not very friendly but usable.

1 Like

Depends on how you install Home Assistant. HAOS Bare Metal it’s in /config

I did not know that vi was an option. But extracting the file using 7Zip is a lot less painful. I remember using vi on a DEC PDP-8; I hoped to never see it again, but in my next job I had to learn HPL. Kids today don’t know how easy they have it.

1 Like

That’s from the Home Assistant Docker container. From the OS it’s the path I stated above. They are the same directory.

As I said, depends on how you install Home Assistant. In a bare metal install you don’t see the /mnt directory.