Zřejmě v poslední verzi HomeAssistant 2022.10 byla změněna kontrola zdraví systému na kterém běží HomeAssistant, což nyní může zamezit možnosti aktualizace na novější verzi.
Konkrétně já jsem se s tím setkal při aktualizaci z verze 2022.10.1 na 2022.10.3, kdy aktualizace končila s chybou:
Error updating Home Assistant Core ‘HomeAssistantCore.update’ blocked from execution
Po chvíli hledání jsem našel informaci, že aktualizace bude blokována nejspíše právě z důvodu „špatného zdraví“ systému, načež jsem proklikal kde co a nemohl stále najít informace co může být problém, i když jsem si pamatoval, že dříve jsem to někde viděl.
Nakonec opět po hledání na Internetu jsem postup našel a Systémové informace jsou nyní poměrně dost hodně schovány.
Je potřeba jít do menu Nastavení -> Systém -> Opravy -> Tři tečky v pravém rohu -> Systémové informace
Zde je možné kliknout na tlačítko Další informace a alespoň se dozvíte oblast v které hledat problém. V mém případě to je docker a po kliknutí na odkaz jsem mohl vidět 4 možné scénáře.
Začal jsem tedy s prvním – Running unsupported software – a po chvíli opět hledání i na Internetu jsem měl podezření na portainer, který se nedávno dostal do nepodporovaného addonu a pár týdnů zpět jsem vás nabádal na reinstalaci.
Šel jsem tedy do logu Supervisoru – Menu Systém -> Logy -> Pravý roh a změnit na Supervisor
a skutečně v něm byla ERROR hláška ohledně docker image portainer-ce, která je podle logu nezdravá.
ERROR (MainThread) [supervisor.resolution.evaluations.container] Found image in unhealthy image list 'portainer/portainer-ce' on the host
Moc tomu nerozumím, jelikož se jedná o image, která já použitá úplně mimo HomeAssistant – nejedná se o image portainer Addonu a zároveň je to poslední verze z oficiálního repozitáře DockerHubu.
Hledal jsem proto na Internetu dále a ukázalo se, že jsou dvě možnosti:
- Úplně portainer odstranit z počítače
- Workaround 1 – Přejmenování kontejneru a image Portaineru
- Workaround 2 – Zapnutí ignorování healthy kontrol
První řešení pro mě nedávalo smysl – na mém „raspberry“ běží hned několik služeb a portainer mi velmi zjednodušuje život.
Další dvě řešení taky nejsou úplně výhrou a jsou možná trochu riskantní, ale fungují a pojďme se na ně podívat.
Workaround 1 – Přejmenování kontejneru a image Portaineru
sudo docker stop portainer
docker rm portainer
docker pull portainer/portainer-ce:latest
docker tag portainer/portainer-ce:latest iamnotportainer
docker run -d -p 8000:8000 -p 9443:9443 --name iamnotportainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data iamnotportainer
docker rmi portainer/portainer-ce
Portainer nám běží a vše vypadá že funguje. U mě bylo potřeba restartovat celý počítač, aby si HomeAssistant přestal stěžovat – nepomohl restart pouze HA.
Výhoda tohoto řešení narozdíl od toho co je níže je v tom, že nám stále zůstanou zapnuté kontroly HA, takže by to mělo být řešení méně drastické.
Samotný HA pak v Systémových informacích už bude psát informaci, že systém není v pořádku i přesto, že kontroly budou stále aktivní.
? Díky za upozornění na toto řešení Pavolovi v komentářích.
Workaround 2 – Zapnutí ignorování healthy kontrol v HA
Druhým řešením pro zachování Portaineru společně s HA je vypnutí healthy kontrol, což uděláme v konzoli HA pomocí příkazu:
ha jobs options --ignore-conditions healthy
Narozdíl od předchozího řešení zde mi stačilo pouze restartovat HomeAssistanta a nyní už jsem byl schopný aktualizaci udělat:
Upřímně mi to přijde trochu kruté, vyžadovat na DIY počítači pouze HomeAssistant – bastlíři toho mají většinou rozdělané poměrně hodně, ale na druhou stranu, že z hlediska podpory je to pro HomeAssistant mnohem jednodušší varianta. Doufám, že do budoucna podobných restrikcí nebude enormě přibývat, abychom nakonec nezjistili, že musíme mít i hardware od autorů HA.
Více ve vláknu, které je poměrně stále živé a je možné, že tam budou i nějaké další zajímavosti vzniklé až po napsání tohoto článku: https://community.home-assistant.io/t/error-updating-home-assistant-core-homeassistantcore-update-blocked-from-execution/472924
Kompletní série o HomeAsistantovi obsahuje následující články:
- 1. část – Instalace HomeAsisstent
- 2. část –
Integrace Sonoff s firmware Sonoff-Tasmota - 3. část –
Integrace Homekit - 4. část –
Integrace Sonoff s firmware Sonoff-Tasmota – 2 část - 5. část –
Integrace s Wemos D1 asenzory teploty - 6. část –
Integrace Sonoff s firmware ESPHome - 7. část –
Integrace Sonoff POW s firmware ESPHome - 8. část –
Integrace LED Magic Home s firmware ESPHome - 9. část –
Integrace Xiaomi Mijia a Aqara - 10. část – Integrace vlastní Zigbee gateway
- 11. část – Vzdálený přístup do Hass.io z Internetu
- 12. část – zobrazení senzorových data pomocí InfluxDB a Grafany
- 13. část – Hass.io Add-ony, které používám
- 14. část – Integrace Xiaomi Mi Flora
- 15. část – Integrace Withings (Nokia)
- 16. část – náhrada SQLite databází MySQL
- 17. část – HACS Add-ony – instalace a konfigurace
- 18. část – Integrace Sonoff s firmware eWeLink
- 19. část – nová integrace Sonoff pro HA
- 20. část – měření spotřeby
- 21. část – automatické zálohy a obnovení ze zálohy
- 22. část – napojení hlasového asistenta Amazon Alexa
- 23. část – automatické zálohy na síťový sdílení disk (Samba)
- 24. část – Bluetooth zařízení a ESPHome proxy
- 25. část – nefunkční aktualizace HomeAssistanta
- 26. část – integrace SwitchBot produktů
- 27. část – integrace fotovoltaiky Growatt
No my „Bastaři“ co nám běží hassio_supervisor v klasickém Dockeru*, jsme tohle museli řešit cca už před dvěma roky. Stačí do kořenové složky Hass přidat soubor jobs.json a do něj dát: {„ignore_conditions“: [„healthy“]}
Pár věcí co se mu podle logu nelíbí:
Btrfs
OS (Debian 11)
Síť (používám macvlan a vše má vlastní IP)
Způsob logování OS
Cca dalších 20 Containers co běží vedl něj. Ano i Portainer.io
Mám ve zvyku využívat server efektivně. Přece se nebude jen tak flákat na prázdno 🙂
https://community.home-assistant.io/t/unhealthy-system-reported-on-arch-linux/251430/2
Pokud jde jen o portainer
Asi půjde použít https://github.com/alexbelgium/hassio-addons
Není to tak, že kdo chce mít kontrolu nad svými kontejnery, tak má používat Ha container (bez supervisora). A kdo chce z HA spravovat kontejnery, se holt musí smířit s tím, že mu Supervizor bude do věcí kecat? Neříkám, že tahle aktuální situace s portainer není technicky lépe resitelna, spíš že používáte Supervizor jinak než zamysleli vývojáři, takže se nemůžete divit, že občas narazíte…
Jj, tomu rozumím a dává to smysl. Nicméně ta verze se supervisorem je lákává, právě díky všem těm zajímavým addonům a obávám se, že bez něj by se to pro mnohé dost zkomplikovalo. Ono je to asi poměrně challange vytvořit v téhle komunitě lidí, kteří si rádi dělají spoustu věci sami, něco uvniverzálního :), takže si občas možná postěžujeme, ale jinak jsme za HomeAssistenta rádi.
Ahoj, prave na FB bolo pridane odporucanie, ze jednoduchsie riesenie je premenovat “tag” portaineru na napr. “JaNieSomPortainer” a opat vsetko funguje a pritom tu kontrolu ostatnych veci mozes nechat zapnutu.
https://www.facebook.com/groups/HomeAssistant/permalink/3337196236551723/
Díky za link, přidal jsem to jako další možnost i do článku. Rovnou jsem to zkusil na druhé instanci HA, kde jsem měl stejný problém a skutečně to funguje. Jen nevím úplně proč, ale byl nutný úplně restart počítače. Bez něj si HA pořád stěžoval, i když v Dockeru už žádný Portainer image či kontejner nebyl.