'HomeAssistantCore.update' blocked from execution, system is not healthy

How did you do this?

+1 for NOT restricting updates based on existence of Portainer. I promise not to request support for my “unhealthy” install :slight_smile:

And thanks all, for the tips on fix. Stop portainer, restart hassio_supervisor, update HA, start portainer— that worked!

Some thoughts on this subject, if it matters. I went for the docker supervisor install so that I could use my RPi to play with other things apart from HA, with the clear understanding that it was unsupported. Not knowing which way my home automation adventure was going to take me (or even if I like HA at all, which I do!), this seemed like the most sensible, flexible way to go — and no regrets. And adding Portainer to the mix outside of HA felt like a smart additional system check that would allow me to better “support” myself. Just my two cents, but I think Portainer should be encouraged for otherwise unsupported installs. I still feel like this is the best way to install/run HA, and what I would recommend to others.

2 Likes

+1 on NOT restricting either.

Has been wondering for many weeks why I was unable to update. Thought today that I would sit down and figure out why, since I would like to go to 2022.11. Previously a host restart could solve the issue, but now after 10 restart I still haven´t been able to update.

Will try to rename the Portainer container, and see if that works. Thank you for the information :slight_smile:

Solution for me was also to use kill the Portainer container, restart HA/Supervisor and now it is updating without issues.

Cool solution. Thank you for posting.

1 Like

If blocked by ‘unhealthy’ docker then this method worked for me… ref:

(don’t need to completely remove portainer, just stop it temporarily).

sudo docker stop portainer
sudo docker restart hassio_supervisor
ha core update
sudo docker start portainer

Or ignore all health conditions (not recommended I guess):

 ha jobs options --ignore-conditions healthy
2 Likes

or rename the protainer image and the container
after that supervisor is also happy again

All new level. I just did some updates to HA and afterword’s said I had 7 updates. They aren’t updates but warnings.

Annoying.

I had those too - only systemd journal was needed to be fixed. others dissapeared after a restart, so try it :slight_smile:

and to be honest - I prefer those informations [with links how to deal with issues] than silently stopping updates as before. and if those annoy you - there’s an option to ignore them too :slight_smile:

2 Likes

i still having an issue, but my system is healty.
on 3 different servers i can’t update the supervisor anymore or other add-ons, it keeps loading for ages, and i cant make back-ups.

sudo docker stop portainer
sudo docker restart hassio_supervisor
ha core update
sudo docker start portainer

this above did not help a thing.

on all my 3 systems i got this stupid error in the supervisor logs:

22-11-15 09:02:47 INFO (MainThread) [__main__] Running Supervisor
TypeError: Expected unicode, got RaucState
Exception ignored in: 'dbus_fast._private.marshaller.Marshaller._write_single'
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/dbus_fast/aio/message_bus.py", line 103, in buffer_message
    msg._marshall(self.negotiate_unix_fd),
TypeError: Expected unicode, got RaucState
22-11-15 09:02:47 ERROR (MainThread) [supervisor.jobs] Unhandled exception: 
Traceback (most recent call last):
  File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 154, in wrapper
    return await self._method(*args, **kwargs)
  File "/usr/src/supervisor/supervisor/os/manager.py", line 232, in mark_healthy
    response = await self.sys_dbus.rauc.mark(RaucState.GOOD, "booted")
  File "/usr/src/supervisor/supervisor/dbus/rauc.py", line 98, in mark
    return await self.dbus.Installer.call_mark(state, slot_identifier)
  File "/usr/src/supervisor/supervisor/utils/dbus.py", line 100, in call_dbus
    return await getattr(proxy_interface, method)(
  File "/usr/local/lib/python3.10/site-packages/dbus_fast/aio/proxy_object.py", line 90, in method_fn
    msg = await self.bus.call(
  File "/usr/local/lib/python3.10/site-packages/dbus_fast/aio/message_bus.py", line 370, in call
    await future
  File "src/dbus_fast/aio/message_reader.py", line 24, in dbus_fast.aio.message_reader.build_message_reader._message_reader
  File "src/dbus_fast/_private/unmarshaller.py", line 641, in dbus_fast._private.unmarshaller.Unmarshaller._unmarshall
  File "src/dbus_fast/_private/unmarshaller.py", line 524, in dbus_fast._private.unmarshaller.Unmarshaller._read_header
  File "src/dbus_fast/_private/unmarshaller.py", line 276, in dbus_fast._private.unmarshaller.Unmarshaller._read_to_pos
EOFError
22-11-15 09:02:47 ERROR (MainThread) [asyncio] Task exception was never retrieved
future: <Task finished name='Task-229' coro=<Core.start() done, defined at /usr/src/supervisor/supervisor/core.py:171> exception=JobException()>
Traceback (most recent call last):
  File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 154, in wrapper
    return await self._method(*args, **kwargs)
  File "/usr/src/supervisor/supervisor/os/manager.py", line 232, in mark_healthy
    response = await self.sys_dbus.rauc.mark(RaucState.GOOD, "booted")
  File "/usr/src/supervisor/supervisor/dbus/rauc.py", line 98, in mark
    return await self.dbus.Installer.call_mark(state, slot_identifier)
  File "/usr/src/supervisor/supervisor/utils/dbus.py", line 100, in call_dbus
    return await getattr(proxy_interface, method)(
  File "/usr/local/lib/python3.10/site-packages/dbus_fast/aio/proxy_object.py", line 90, in method_fn
    msg = await self.bus.call(
  File "/usr/local/lib/python3.10/site-packages/dbus_fast/aio/message_bus.py", line 370, in call
    await future
  File "src/dbus_fast/aio/message_reader.py", line 24, in dbus_fast.aio.message_reader.build_message_reader._message_reader
  File "src/dbus_fast/_private/unmarshaller.py", line 641, in dbus_fast._private.unmarshaller.Unmarshaller._unmarshall
  File "src/dbus_fast/_private/unmarshaller.py", line 524, in dbus_fast._private.unmarshaller.Unmarshaller._read_header
  File "src/dbus_fast/_private/unmarshaller.py", line 276, in dbus_fast._private.unmarshaller.Unmarshaller._read_to_pos
EOFError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/usr/src/supervisor/supervisor/core.py", line 184, in start
    await self.sys_os.mark_healthy()
  File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 160, in wrapper
    raise JobException() from err
supervisor.exceptions.JobException

Well i found an other way to fix it.

Go to portainer and find the image that contains the 3 homeassistants updates (e.g supervisor)
when u click on that image, u get options to pull that image, just pull all 3 of them (for me it where 3)

after that just disable portainer in hass gui.
than execute this

docker restart hassio_dns
docker restart hassio_supervisor

than go back in Home Assistant and u can download the update.
Or if sill doesn’t go ( i had this with 1 machine) just execute docker restart homeassistant

and you good to go.

2 Likes

This worked for me. And I agree, this could have easily been avoided. The HA devs might feel otherwise, but when you allow users to do custom installations, you should not gatekeep things.

1 Like

I’m still not great with Docker stuff - but when I started, I used docker-compose, and so now I try to keep everything in docker-compose. So, anyone able/willing to translate this for what I would need to do to run Portainer with a different image and container name? My current docker-compose.yaml is below:

version: '3'

services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./portainer-data:/data
    ports:
      - 9443:9443

And in order to update portainer I run:

sudo docker-compose pull && sudo docker-compose up -d

Any update from the team on this?

I understand marking system as having unsupported software but PREVENTING UPDATES? come on? Home assistant is already hard enough to use, but to add another reason people have to google why they can’t update? That’s exactly how i found this thread and solution to my issue.

yeah, sort of… and before we’re all going to get our pitchforks - sadly, it won’t matter if we would.

OK I’m calling uncle. Going to try and rebuild years of customizations and integrations from scratch. Want to try adding it to my Hyper-V environment and pray I can get the Z-Wave USB device to pass thru. Anyway, what is the “right” platform to use going forward?

Is this the appropriate path to take to be fully supported by downloading this Hyper-V drive image?

Good luck… HyperV and USB hardware passthrough is error prone. Speaking from experience. Personally, I’d avoid HyperV at all costs. Go with WSL2 if you have access to HyperV as it will be much easier.

Yeah I would hate to install anything else physically on my Hypervisor but was also thinking of from what I heard that I can install ZWaveJS on the Windows side and it can communicate with HA thru ports I guess? Note I’m looking for go forward supported so if I setup WSL2 where does that leave me with HA compatibility?

So you aren’t supported right now? What are you running on? Why is windows the main OS?