Why rebooting after every single change

Howdy!

Can someone explain to me why almost every single change you make to the configs or software in general requires a reboot.

I’ve been working in IT industry for awhile now and our production servers (Running CentOS) haven’t been rebooted in at least a year. Meanwhile, we constant update / install new software and change configurations.

Was very surprised by this fact… It’s almost like if there is a small problem - reboot. Another problem - reboot.

Cheers!

2 Likes

You don’t need to reboot the OS.
You can restart hass under Configuration -> General -> Server Management after config of components.
When you use Lovelace as UI, you only have to refresh the browser.

If its an automation, group, or script, you can reload those from the Configuration menu. Reload core will pull in customization values some of the time. A restart (not reboot) is recommended once you have everything working like you want it. You’re right on everything else, you have to restart to make changes to the main configuration, sensors, etc.

Gotcha, just seems a bit strange being that it’s *nix and not windows that’s all :slight_smile:

You just need to restart the service though. That’s not really anything to do with what the OS is.

1 Like

I am a long term fhem user and have set up HA just recently because of the much better user interface. Was very surprised that in HA the addition of a new device component requires a restart of the server/service most of the time.

1 Like

I think it’s due to the way that the configs are read in.
All serialized from yaml

I think

I suspect it’s an architectural decision. The simplest way to handle a change (add/modify/delete something) is to simply start from scratch: restart the system and process everything from the beginning.

OpenHAB works the same way. Only difference is it monitors its config files for changes. If it detects the file has been altered, it automatically restarts and loads it. It is convenient but can pose a possible problem if you made syntax errors. HA lets you ‘check config’ before committing your changes.

Both systems have low ‘granularity’. In other words, they only see things at the level of a file (its all or nothing). They don’t understand that you only added one sensor or made one minor change (sensor’s name).

FWIW, the home automation system I’ve used for many years has high granularity. I can add a new driver (a.k.a. component), a switch, change the name of a sensor, add automation logic, or just tweak a single line of an automation, without ever having to restart the HA system. In other words, there’s just no reason to restart it. Perhaps some day Home Assistant will work this way as well.

1 Like

This guy reboots it every single time - https://www.youtube.com/channel/UCLecVrux63S6aYiErxdiy4w
lol :slight_smile:

When I last used OH, it could add sensors modify the UI ect. on the fly. if there was an error yes the interface wouldn’t show up and I had to correct the error, save the file and the UI would show up again.

Sensors were added real time, and if I had error in my code I would get a error pointing(most of the time) to the line and charater which the error. so changes were done in the UI in 2-3 sec not 2-3 min cycles. I make many mistakes on both platforms so I have alot of deveopment cycles.

the thing that really annoyes me with HASSIO is this check config and restart cycle all the time.

True but when all is set up, you don’t have to do this very often. You would then be more busy with automations and the lovelace UI which in both cases do not require a restart. I would love to see it passed on realtime as well, but in my experience, OpenHAB is far more forgiving on errors than Home Assistant is, so it might not be desirable to have it realtime on HA. Home Assistant can fail miserably when a config has errors even a single space can make HA crash whereas OpenHAB would not.

this is only true for automations when using the automation.yaml file. Most members would not be doing so probably, and have many automations in dedicated folders and /or packages.