Is it just me or is this system buggy?

The reason I bring this up is it feels like this product has been built sideways rather than deep. I installed the update a week or so back, and all hell broke loose. I also got a new router and obviously all hell broke loose, which I had to go hunting to fix. To be expected. To give an example, everything vanished off my first Lovelace UI tab. Not important to me that this stage. My Grocy addon wouldn’t start and refused to output any logs. I figured out it was something to do with MariaDB, so I uninstalled and reinstalled that and Grocy worked. And my UI tab was back to normal. Uninstalling a DB tool is not an effective solution for someone who has plenty of information in there.

But, this program feels unfinished, and like it keeps getting bits and pieces bolted onto it. For instance, they tried to fix config file errors by building a safe mode by rebuilding the config file based on bits of the config that worked. Why not just literally have a safe mode? A core set of config files that get loaded if the user config files don’t work. That way the user can test and correct their config files.

The system sometimes doesn’t load up for me, a little rarer lately, and then it would ‘just load’ maybe 30 minutes later. I’m talking reboot a number of times, doesn’t work. Come back and try an hour later and it boots up.

I also feel the File Editor needs to have some yaml auto changes such as auto indentation, would reduce a lot of questions and feedback that are due to indentation issues.

Oh yeah, not to mention that the last HA update decided to disable a large number of addons which I had to painstakingly enable.

I’m very close to giving this program up and just resorting to Alexa or something. Tired of constantly having to fix these problems, and then wondering at times if my Home Assistant is actually going to come up…

Cheers!

1 Like

It is unfinished. It hasn’t even reached V1.0 yet. Expect things to break regularly until then.

5 Likes

That’s true, my point though was that the foundations should be stabilised before adding more and more features. For a system of this complexity, surely you would build a real safe mode, one that is essentially locked away from the user except for those who really like to tinker. That way you could log in regardless of how screwed up your set up is. From here you could either manually try and correct the issues, or restore a backup.

Whereas, with backups, it seems from what I can tell that you essentially have to install a brand new instance of Hass.io and then add the backup file into the SD card.

Although, admittedly, I’m not a programmer or software designer so maybe this is not possible. Just seems like a good idea to have a solid base.

I think I will try and restore a backup tomorrow, then this project will likely just sit on the backburner for 6 to 12 months until the software is a bit more stable. Will look at setting up some basic automations and stuff through Alexa in the mean time.

The system becomes more and more buggy. I totally agree with you. I came to the point of kicking ha completely out of my house but a clean install did the trick. Now it is running okay again. Be careful with updates…

2 Likes

Okay so this is not core HA so the equivalent of blaming Microsoft that your Nero Burning software is broken.

So what didn’t work for you ? I’d like to bet that it was another thrid party integration. I appreciate that this may be frustraiting but the devs test core integrations and occasionally changes to the system (that they have tested on the core integrations) do not play nice with 3rd party integrations. The developers of these are usually pretty good at fixing them but they need to know there is a problem, what the symptoms are and what other integrations people have. Then they can look at it and try sort out a solution. This involves a delay, it also means that you need to read breaking changes and you need to follow the threads of any integrations that ‘you feel’ are ‘necessary’ to your use of HA.

As Toms says HA is a work in progress, but apart from having to click the update button twice occassionally (other than just the once I’d like it to be) I’ve not had any problems in the last year or so.
So I don’'t feel that criticism of HA is even applicable here it just seems to be an easy target.

If you both report back that you just run vanilla HA with no third party integrations then I will apologise and fully endose your contention of a ‘buggy’ platform.

4 Likes

I can imagine that this experience is annoying, but tbh I can’t share this view.

I’m using HA now for over 1 year (not as long as some others here), and had no issues in all the time, that were caused by the official HA release. All issues that appeared was either caused by myself, by buggy community integrations or by the used hardware. The official releases changed stuff, yes … but all changes were documented good enough, and they were important steps to approach a HA 1.0.

I also had problems with my database, wich destroyed my whole HA. But it turned out, that it was caused by my old RaspberryPi and the sd-card, wich didn’t work well with the database. After changing my whole system to a Synology, I have not problems at all. I can’t stand up now and say “Hey, HA is destroying everything” because that’s just not true. And btw. since MariaDB is an external DB (which I also use), why don’t you think, that MariaDB was causing the problem - because that was the case from my understanding.

Like I said, I understand that its frustrating if some day things don’t work out as planned, but I wouldn’t accuse the factor, that seems obviously, but try to research the real cause.

Like others mentioned, it’s still not HA 1.0 and a lot of stuff is unfinished…but from my POV it is very stable and good.

2 Likes

Absolutely, I can understand that some third party integrations will potentially have issues or stop working completely. However I’m referring to things such as not being able to restart. Today the Restart option would literally do nothing. So I had to reboot from my Raspberry Pi and now it’s basically a brick. I managed to get into SSH and when I tried to restart it gave me an ‘unknown error, check logs’ which I’ll do after work tomorrow.

If system changes can and will impact third party integrations, then I stand by my belief that the foundation needs to have a core layer so that users can get back into the system regardless of how badly there instance is messed up. Even a core safe mode that disables all but the bare essentials, the vanilla version as you mentioned so the user can switch things on and test until they find the culprit. This system is built on the idea of third party integrations as they provide additional integrations and features.

Also, the addons that were switched off after I think 0.10.4 were from memory all from the addon-store which I assume is the core addons you referred to. MariaDB was an example.

1 Like

The more I updated, the more problems I got. In the end ssh stopped working, samba stopped working and the list goes on. Several times, the update process failed and I had to restart my system almost every day. The only experimental integration I use is the alexa mediaplayer.
As I wrote, a clean install did wonders And now it is running pretty stable.

  1. The restart option does nothing in cases, when your configuration isn’t correct. This feature will prevent a restart, so you don’t restart with a broken configuration. It gives you the chance to correct the configuration before breaking something. If you force a restart on your own, that’s the wrong way to handle things. Thats why I said “search for the real cause, and don’t accuse factors (in this case HA) just because it seems the easiest way”.
    And since the restart option did nothing (wich should show you, that something in your config isn’t correct), and you still forced a restart, why do you wonder that its now a brick? This feature tried to prevent this, and you ignored it. Its your own fault that it isn’t working, HA tried to warn you.

  2. All Addons, official or community, are still addons. They have nothing to do with HA. You would know that if you would check the docker. All Addons have their own docker. Also the documentation says this for Hass.io Add-ons: “Add-ons for Hass.io allow the user to extend the functionality around Home Assistant by installing additional applications.”
    The Add-on Store gives the user just an easier way to install an add-on and integrate it later in HA (ingress function). You can install all these add-ons, and even more, also without the add-on store. You just need then to manually connect it to HA.

And again, I repeat myself: People tend to claim that the simplest solution is the right one. Unfortunately this is rarely the case. Not only here at HA, but unfortunately all over the world.

5 Likes

I see your point, and I think it’s a good idea.
Raise this as a feature request (without the inflamatory title) and I’ll vote for it.
But …
As a word of warning, think about how this will be done.
As time goes on integrations are being moved away from the core configuration file into the .storage folder. This could be slightly restructured to distinguish between tested core and ALL other addons. Effectively putting you in ‘safe mode’ but how do you get there ? What triggers it ?
Now think about all the integrations that are set up from the config files. These would have to be individually listed and known about so they can be disabled. Better still you may be forced to rewrite your configuration so that (say) : -

homeassistant:
  thirdparty_intergrations:
    thirdpartyintegration1:
      cofig_for_above:
    thirdpartyintegration2:
      cofig_for_above:
    thirdpartyintegration3:
      cofig_for_above:
    thirdpartyintegration4:
      cofig_for_above:

This is just a wild stab in the dark as I have no idea what route they would choose, but the above seems logical.

Now imagine how the above would hit most people as a breaking change ?
Eitherway the devs are dammed if they do and dammed if they don’t
So come up with a method, propose it and maybe somepeople who know a lot more about the current coding and the ‘safe mode’ option can pick the bones out for the more basic users AND for those not wanting to be hit with a massive breaking change.

1 Like

troubleshooting steps:

  1. always set up SSH and some way of editing your config files outside of HA. That way if you can’t access your HA then you still have a way to interact with your system that doesn’t involve just pulling the plug on your Pi or needing to re-install HA (the nuclear options)

  2. if you make any change to your config then always do a “config check”. If it comes up as valid then restart/reload as desired. If you can’t restart after doing the config check then don’t force it. Try to figure out why the system is trying to protect you from yourself first.

  3. if something doesn’t work any more then undo the last change that was made before the thing stopped working by accessing the alternative editing process. restart/reload via SSH if necessary.

  4. if it still doesn’t work then look at your logs using the real home-assistant.log file located in the config directory.

  5. if that doesn’t lead you to the problem then disable all third party custom components, add-ons, etc and restart.

  6. delete your HA db file located at home-assistant_v2.db in the config directory. restart.

  7. if none of that works then rename your “configuration.yaml” file to “configuration.yaml.old” then restart. HA will then create a default empty configuration.yaml file. THen you can slowly add your old stuff back in restarting after each addition until it breaks again. Then you’ll know the culprit.

  8. you can rename the .storage folder to some other name and then restart and HA should create a default file also. Be aware that you will lose all of your previously saved storage data so you will have to re-create all of your logins, integrations, entities that are stored there, etc.

If all of that fails then it’s likely a hardware problem. replace the PS or SD card.

and as far as updates, don’t ever update on version xxx.0 unless you are comfortable fixing broken things caused by inadvertent bugs introduced in the release. I always wait until a .1 or .2 to update.

8 Likes

Thanks, there was no warning received when I tried to restart. Although I presumed the config check was done as part of the restart so never hit the button to verify. I’ll make sure I do that going forward.

1 Like

This is hands down the best thing I’ve read since I’ve had this system. This is literally the step by step troubleshooter. I did a google search for home assistant troubleshoot.

If I rename the .Storage folder can I then add parts of the content into the newly created one?

With updating, would you update to say 0.11?

Thanks again!

A few years into this and I’d offer 2 things. One, if you want plug and play with no need to tinker (continuously perhaps), probably should look elsewhere. Two, if you’re serious about HA being solution to whatever you want/expect/hope it to be, get it off a raspberry pi.

2 Likes

The problem here is someone trying to run before they can walk.
Slow down. Install default HA, learn how it works and pieces together, where to find log files etc. Install integrations one at a time
Learn how they function, then move to next
Backup- always
Don’t be in rush to update when new HA is released but do not stray to far from current - it will bite you harder.
Been running HA since 2017 and not hardly any issues that would make me even consider ditching it

4 Likes

Thanks! Does installing an integration cause any issues if the integration is not actually used as part of the config. I did install any integration that sounded interesting/usable, and then delved into them one at a time to learn how they operated. The last thing I was doing was investigating the voice activation options. The instructions for Google Assistant were too much for me, and I was trying to integrate the Alexa Media Player integration around the time it crashed.

Yeah, I think it backups automatically (need to double check that) and I backup manually probably weekly.

Thanks for the advice on updating. Do you recommend only updating on 0.xx such as 0.11, 0.12, etc?

It could be the power supply issue. I used to run Kodi through this very Pi, and at one point it started playing up and would freeze when I tried to load my library, but then one day it came right without much intervention on my part…weird though because I am using the stock psu which is 2500ma. Someone said 2500ma at a minimum so I might try and buy a psu separately at a higher output.

So I’ve started troubleshooting. Tried to start via SSH and got the following output via “ha core logs”:

~ $ ha core logs
File "/usr/src/homeassistant/homeassistant/helpers/collection.py", line 163, in _async_load_data
    return cast(Optional[dict], await self.store.async_load())
  File "/usr/src/homeassistant/homeassistant/helpers/storage.py", line 98, in async_load
    return await self._load_task
concurrent.futures._base.CancelledError
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/src/homeassistant/homeassistant/util/logging.py", line 85, in _process
    self._queue.get(), self.loop
  File "/usr/local/lib/python3.7/concurrent/futures/_base.py", line 433, in result
    raise CancelledError()
concurrent.futures._base.CancelledError
2020-02-19 17:29:50 INFO (SyncWorker_7) [homeassistant.loader] Loaded calendar from homeassistant.components.calendar
2020-02-19 17:29:50 INFO (MainThread) [homeassistant.setup] Setting up calendar
2020-02-19 17:29:50 INFO (MainThread) [homeassistant.setup] Setup of domain calendar took 0.0 seconds.
2020-02-19 17:29:50 INFO (SyncWorker_18) [googleapiclient.discovery] URL being requested: GET https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest
2020-02-19 17:29:51 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform google.calendar: Unable to set up component.
2020-02-19 17:29:51 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform google.calendar: Unable to set up component.
2020-02-19 17:29:51 ERROR (MainThread) [homeassistant.core] Error doing job: Task was destroyed but it is pending!
/usr/local/lib/python3.7/asyncio/base_events.py:608: RuntimeWarning: coroutine 'async_search.<locals>.on_data' was never awaited
  self._ready.clear()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/local/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 350, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 342, in main
    exit_code = asyncio.run(setup_and_run_hass(config_dir, args))
  File "/usr/local/lib/python3.7/asyncio/runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "/usr/local/lib/python3.7/asyncio/base_events.py", line 583, in run_until_complete
    return future.result()
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 249, in setup_and_run_hass
    safe_mode=args.safe_mode,
  File "/usr/src/homeassistant/homeassistant/bootstrap.py", line 89, in async_setup_hass
    await async_from_config_dict(config_dict, hass)
  File "/usr/src/homeassistant/homeassistant/bootstrap.py", line 132, in async_from_config_dict
    await _async_set_up_integrations(hass, config)
  File "/usr/src/homeassistant/homeassistant/bootstrap.py", line 377, in _async_set_up_integrations
    *(async_setup_component(hass, domain, config) for domain in domains_to_load)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 49, in async_setup_component
    return await task  # type: ignore
  File "/usr/src/homeassistant/homeassistant/setup.py", line 128, in _async_setup_component
    await async_process_deps_reqs(hass, config, integration)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 290, in async_process_deps_reqs
    hass, integration.domain
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 55, in async_get_integration_with_requirements
    hass, integration.domain, integration.requirements
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 99, in async_process_requirements
    if pkg_util.is_installed(req):
  File "/usr/src/homeassistant/homeassistant/util/package.py", line 44, in is_installed
    return version(req.project_name) in req
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3138, in __contains__
    return self.specifier.contains(item, prereleases=True)
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/specifiers.py", line 703, in contains
    item = parse(item)
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/version.py", line 31, in parse
    return Version(version)
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/version.py", line 200, in __init__
    match = self._regex.search(version)
TypeError: expected string or bytes-like object
2020-02-19 17:29:51 INFO (SyncWorker_18) [googleapiclient.discovery] URL being requested: GET https://www.googleapis.com/calendar/v3/users/me/calendarList?alt=json
2020-02-19 17:29:51 INFO (SyncWorker_18) [oauth2client.transport] Refreshing due to a 401 (attempt 1/2)
2020-02-19 17:29:51 INFO (SyncWorker_18) [oauth2client.client] Refreshing access_token
2020-02-19 17:29:52 ERROR (SyncWorker_18) [concurrent.futures] exception calling callback for <Future at 0x720243f0 state=finished raised RuntimeError>
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/google/__init__.py", line 261, in _scan_for_calendars
    hass.services.call(DOMAIN, SERVICE_FOUND_CALENDARS, calendar)
  File "/usr/src/homeassistant/homeassistant/core.py", line 1164, in call
    self._hass.loop,
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 846, in run_coroutine_threadsafe
    loop.call_soon_threadsafe(callback)
  File "/usr/local/lib/python3.7/asyncio/base_events.py", line 732, in call_soon_threadsafe
    self._check_closed()
  File "/usr/local/lib/python3.7/asyncio/base_events.py", line 479, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/concurrent/futures/_base.py", line 324, in _invoke_callbacks
    callback(self)
  File "/usr/local/lib/python3.7/asyncio/futures.py", line 365, in _call_set_state
    dest_loop.call_soon_threadsafe(_set_state, destination, source)
  File "/usr/local/lib/python3.7/asyncio/base_events.py", line 732, in call_soon_threadsafe
    self._check_closed()
  File "/usr/local/lib/python3.7/asyncio/base_events.py", line 479, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed

Anything in there that catches anyone’s eye?

I see this: 2020-02-19 17:29:51 ERROR (MainThread) [homeassistant.core] Error doing job: Task was destroyed but it is pending!

Not sure what that means though?

Thanks!

looks like the google calendar component

That’s what it seems like to me, but that’s been on there for at least 1-2 weeks. However, I removed the Alexa Media Player config and Google Calendar via SSH, and AWESOME! I’m back in! Thanks everyone for your help! I still think there’s an issue that it didn’t restart but gave me no notifications. I’ve now learnt that if it doesn’t restart and there’s no notifications then there’s something wrong regardless.

I’m going to test adding just Alexa Media Player back and see if that breaks it. Could be a conflict between the two maybe…