Особенности национального апдейта HomeAssistant на версию 2021.4.x

Что не релиз … то обязательно какие-то приключения с обновами. И на этот раз ПЕРЕХОД НЕ ТАКИМ гладким был. И так имеем сервер с HomeAssistant 2021.3.4. Необходимо обновить на версию 2021.4.1. После стандартной процедуры обновления скриптом имеем радость лицезреть ошибку в логе.

2021-04-09 17:36:38 ERROR (SyncWorker_2) [homeassistant.util.package] Unable to install package python-miio==0.5.5: ERROR: Could not find a version that satisfies the requirement zeroconf<0.29,>=0.28 (from python-miio)

ERROR: No matching distribution found for zeroconf<0.29,>=0.28                                                                                                                       

2021-04-09 17:36:38 ERROR (MainThread) [homeassistant.setup] Setup failed for xiaomi_miio: Requirements for xiaomi_miio not found: ['python-miio==0.5.5'].

Сам HomeAssistant в постоянном ожидании запуска. Многие устройства отвалились или не имеют данных

Очевидно … что системе что-то не хватает. И вся проблема состоит в том чтобы подобрать модули, которые будут совместимы между собой и это позволит запустить нам сервис HA.

есть очень хорошая команда в HA env (python)

(homeassistant) homeassistant@ihome:/root $ hass --script check_config

которая собственно и проверяет наличие соместимости конфигурации и установки модулей для корректной работы. Но работает она очень ммммммееееееедленно порой 🙂 и тупит

Останавливаем HomeAssistant и лезем в его виртуальное окружение

sudo systemctl stop home-assistant@homeassistant.service
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate

выполняем команду

(homeassistant) homeassistant@ihome:/root $ pip3 list
и ищем модули согласно ошибкам в логе

(homeassistant) homeassistant@ihome:/root $ pip3 list | grep python-miio
python-miio             0.5.4

(homeassistant) homeassistant@ihome:/root $ pip3 list | grep construct
construct               2.9.45

(homeassistant) homeassistant@ihome:/root $ pip3 list | grep zeroconf
zeroconf                0.29.0

начинаем изучать. В логе запуска HA (2021-04-09 17:36:38 ERROR (MainThread) [homeassistant.setup] Setup failed for xiaomi_miio: Requirements for xiaomi_miio not found: [‘python-miio==0.5.5’].) явно писано, что не хватает модуля python-miio с версией 0.5.5, а zeroroconf<0.29,>=0.28 должен быть не выше что-ли 0.28 версии. Ставим python-miio 0.5.5, который подтянет остальные для работы совместимые с ним модули

(homeassistant) homeassistant@ihome:/root $ pip3 install python_miio==0.5.5

в конце установки видим результат

Installing collected packages: zeroconf, construct, python-miio
  Attempting uninstall: zeroconf
    Found existing installation: zeroconf 0.29.0
    Uninstalling zeroconf-0.29.0:
      Successfully uninstalled zeroconf-0.29.0
  Attempting uninstall: construct
    Found existing installation: construct 2.9.45
    Uninstalling construct-2.9.45:
      Successfully uninstalled construct-2.9.45
  Attempting uninstall: python-miio
    Found existing installation: python-miio 0.5.4
    Uninstalling python-miio-0.5.4:
      Successfully uninstalled python-miio-0.5.4
Successfully installed construct-2.10.66 python-miio-0.5.5 zeroconf-0.28.8

ну вроде бы все хорошо. Подтянулись и нужные для работы версии остальных модулей. Запускаем HomeAssistant 

deactivate
exit
sudo systemctl start home-assistant@homeassistant.service

Работает. Но версий наших 3х модулей совсем иные

(homeassistant) homeassistant@ihome:/root $ pip3 list | grep python-miio
python-miio             0.5.4
(homeassistant) homeassistant@ihome:/root $ pip3 list | grep construct
construct               2.10.66
(homeassistant) homeassistant@ihome:/root $ pip3 list | grep zeroconf
zeroconf                0.29.0

Старые ошибки исчезли из лога HomeAssistant. Не понятно, почему откат был на python-miio версию 0.5.4. Таким образом получается, что система запуститься (точнее HA стартанет, а вот часть данных будет не доступна)  только при корректных зависимостей модулей версий 

  • zeroconf 0.29.0
  • construct 2.10.66
  • python-miio 0.5.4

Можно записать эту конфигурацию в отдельный файл и ставить рекомендуемые модули при крахе

sudo su -s /bin/bash homeassistant 
source /srv/homeassistant/bin/activate
pip3 freeze –local > /home/homeassistant/requirements.txt
pip3 install -r /home/homeassistant/requirements.txt
deactivate
exit

… и так будет до очередного рестарта сервиса HomeAssistant 🙂 Бага.

5 2 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
14 комментариев
Популярные
Новые Старые
Межтекстовые Отзывы
Посмотреть все комментарии
Leader
Leader
17.04.2021 23:45

А какая версия python3 ?
На 3.8.5 такого не наблюдал, а вот на 3.9.Х да – такие вот конфликты

Leader
Leader
18.04.2021 08:22
Ответить на  admin

Спросил у свидетелей докера – HA в докере на 3.8.7. Тут, наверное, собака и порылась. Не умеет еще HA дружить с 3.9.Х

Leader
Leader
24.04.2021 10:58
Ответить на  admin

На 3.9.4 и крайней core-2021.4.6 все завелось.. Вроде..

Leader
Leader
25.04.2021 13:32
Ответить на  admin

Вот: Package         Version ———————– ————– acme          1.12.0 aiodiscover       1.3.4 aioesphomeapi      2.6.6 aiofiles        0.6.0 aiogithubapi      21.2.0 aiohomekit       0.2.61 aiohttp         3.7.4.post0 aiohttp-cors      0.7.0 aiopylgtv        0.4.0 android-backup     0.2.0 appdirs         1.4.4 APScheduler       3.6.3 astral         1.10.1 async-dns        1.1.10 async-timeout      3.0.1 async-upnp-client    0.16.0 atomicwrites      1.4.0 attrs          20.3.0 awesomeversion     21.2.3 backoff         1.10.0 bcrypt         3.1.7 bluepy         1.3.0 boto3          1.17.53 botocore        1.20.53 broadlink        0.17.0 btlewrap        0.0.8 cached-property     1.5.1 casttube        0.2.1 certifi         2020.12.5 cffi          1.14.5 chardet         4.0.0 ciso8601        2.1.3 click          7.1.2 colorlog        4.8.0 construct        2.10.56 convertdate       2.3.2 croniter        0.3.37 cryptography      3.3.2 decorator        5.0.7 deepmerge        0.2.1 defusedxml       0.6.0 distro         1.5.0 ecdsa          0.14.1 emoji          1.2.0 enum-compat       0.0.3 envs          1.3 fake-useragent     0.1.11 future         0.18.2 gTTS          2.2.2 h11           0.12.0 ha-ffmpeg        3.0.2 hacs-frontend      20210214110032 hass-nabucasa      0.42.0 hijri-converter     2.1.1 holidays        0.10.5.2 home-assistant-frontend 20210407.3 homeassistant      2021.4.6 httpcore        0.12.3 httpx          0.17.1 icmplib         2.1.1 idna          2.10 ifaddr         0.1.7 janus          0.6.1 Jinja2         2.11.3 jmespath        0.10.0 josepy         1.8.0 jsonpath        0.82 korean-lunar-calendar  0.2.1 MarkupSafe       1.1.1 mitemp-bt        0.0.3 multidict        5.1.0 mutagen         1.45.1 natsort         7.1.1 netdisco        2.8.2 netifaces        0.10.9 numpy          1.20.2 packaging        20.9 paho-mqtt        1.5.1 pexpect         4.8.0 Pillow         8.1.2 pip           20.2.4 PlexAPI         4.5.1 plexauth        0.0.6 plexwebsocket      0.0.13 protobuf        3.15.8 ptyprocess       0.7.0 py-cpuinfo       7.0.0 pyasn1         0.4.8 PyChromecast      9.1.2 pycognito        0.1.5 pycparser        2.20 pycryptodomex      3.10.1 pygatt         4.0.5 pyhaversion       21.3.0 pyipp          0.11.0… Подробнее »

Leader
Leader
26.04.2021 21:16
Ответить на  admin

Еще раз внимательно посмотрите список (маленькая подсказка – пакеты в списке расположены по алфавиту).

admin
admin
27.04.2021 17:17
Ответить на  Leader

не. не пашет. несовместимо и все тут. походу у вас homeassistant/core на докере ?

Leader
Leader
30.04.2021 21:47
Ответить на  admin

Все в venv

Leader
Leader
30.04.2021 21:51
Ответить на  admin

Лайкнул. Ждем исправления в новом релизе

14
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x