8000 Не устанавливается Tion Integration · Issue #22 · TionAPI/HA-tion · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Не устанавливается Tion Integration #22

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mefodi opened this issue Nov 23, 2020 · 14 comments
Closed

Не устанавливается Tion Integration #22

mefodi opened this issue Nov 23, 2020 · 14 comments
Labels

Comments

@mefodi
Copy link
mefodi commented Nov 23, 2020

Home Assistant 0.118.2 в Docker на Synology DSM + USB Bluetooth 4.0.
Версия v1.3.3
bluetooth_le_tracker работает, Tion обнаруживается в known_devices и в трекере.

При попытке установить Integration, не запускается попап.

Log:
Error occurred loading configuration flow for integration tion: No module named 'bleak'

@IATkachenko
Copy link
Contributor

Воспользуйтесь, пожалуйста, не бета версией, а v1.3.3. С ней проблем быть не должно.
Если 1.3.3 поставится нормально -- дайте, пожалуйста, знать.

ps. Установку на схожем оборудовании обсуждали в #17

@mefodi
Copy link
Author
mefodi commented Nov 24, 2020

Добрый день, устанавливаю именно v1.3.3. Бету пробовал - то же самое.
Ишью #17 изучил - сетап сх 8000 жий и проявления очень похожи, но у меня процесс не доходит до пайринга.

Я подключаю репозиторий через HACS, в списке интеграций появляется Tion integration, после запуска сразу завершается с ошибкой в логе, что не может обнаружить bleak.
Я пытался bleak установить вручную, но столкнулся с проблемой, аналогичной описанной здесь: home-assistant/core#37593

И хост, и HA обнаруживают Тион без проблем, но bluetoothctl в контейнере не работает, в списке на хосте, в known_devices и в выдаче hcitool lescan бризер виден.

Выдача bluetoothctl

Waiting to connect to bluetoothd...dbus[5007]: arguments to dbus_connection_get_
object_path_data() were incorrect, assertion "connection != NULL" failed in file
 dbus-connection.c line 5905.                                                   
This is normally a bug in some application using the D-Bus library.             
                                                                                
 D-Bus not compiled with backtrace support so unable to print a backtrace      
Aborted (core dumped)  

@IATkachenko
Copy link
Contributor

bleak -- это для beta релиза. Давайте его отложим в сторону. Про проблемы bleak и образов полученных через docker я знаю и это именно проблемы корректного описания компонента в репозиториях HomeAssistant, которыми я пока не занимался.

Давайте запустим 1.3.3, которая работает через bluepy и не имеет известных проблем с установкой.

Проблемы с подключением bluetoothd должны решаться docker опцией "--net=host".

Сделайте, пожалуйста, следующее:

  • в HACS выберите версию 1.3.3,
  • настройте debug log для компонета configuration.yaml
logger:
  default: warning
  logs:
    custom_components.tion: debug
    tion_btle.tion: debug
    tion_btle.s3: debug
  • приложите сюда лог от рестарта HA до проявления проблем.

@mefodi
Copy link
Author
mefodi commented Nov 25, 2020

К сожалению, не удаётся отложить bleak в сторону.

Сделано следующее:

  • деинсталлирован полностью репозиторий и проверено отсутствие директории /custom_components/tion
  • обновлен HA до версии 0.118.3, запущен в новом контейнере, собранном с ключами -v /dev/bus/usb:/dev/bus/usb и --net=host
  • добавлен репозиторий, установлена интеграция в HACS v.1.3.3, перезапущен HA

Logger: homeassistant.loader
Source: loader.py:465
First occurred: 1:05:25 AM (1 occurrences)
Last logged: 1:05:25 AM

You are using a custom integration for tion which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.

  • с другого браузера с чистым кешем предпринята попытка добавить Tion integration.

IMAGE 2020-11-26 01:14:36

После чего ничего не происходит, возвращается окно выбора интеграций.

Logger: homeassistant.config_entries
Source: config_entries.py:537
First occurred: 1:12:57 AM (1 occurrences)
Last logged: 1:12:57 AM

Error occurred loading configuration flow for integration tion: No module named 'bleak'

На этом всё, до дебага дело не доходит.

@IATkachenko
Copy link
Contributor

No module named 'bleak'
Bleak -- это beta версия, модуля, не 1.3.3.
Возможно, что-то пошло не так с кэшем или HACS, или чем-то еще. Я перепроверил оба релиза (компонента и модуля), в 1.3.3 компонента и 0.1.3 модуля, который он использует, упоминаний bleak нет.
Удалить интеграцию в HACS, pайдите в каталог HA (внутри контейнера или на NAS, если он пробрасывается в контейнер) и удалите ее остатки из каталога с custom_components (если будут).

После этого попробуйте, пожалуйста, еще раз.
Релиз с bleak я сейчас удалю.

@mefodi
Copy link
Author
mefodi commented Nov 26, 2020

Добрый вечер, пока ничего не выходит.
Пробовал заменить устройство bluetooh.
Обновил HA до .4
Пересобирал контейтер n раз с разными вариантами подключения volumes, касающихся usb.
Пробовал ставить более старую версию репозитория.
Пробовал вручную развернуть архив из репозитория в custom_components.
Не понимаю, откуда он берет этот bleak.

При этом, BLE-трекер видит Tion, то есть bluetooth работает.

image

@gsergeysdk
Copy link
gsergeysdk commented Nov 27, 2020

У меня та же проблема. Установлен Home Assistant 0.118.3 в Docker на Synology.
При установке интеграции происходит ошибка:

Logger: homeassistant.config_entries
Source: config_entries.py:537
First occurred: 9:13:11 (1 occurrences)
Last logged: 9:13:11

Error occurred loading configuration flow for integration tion: No module named 'bleak'

файла config_entries.py в папке с homeassistant не нашел.
Пробовал разные версии из репозитория (1.3.3; 1.2.5; master). Результат тот-же.

@IATkachenko
Copy link
Contributor
IATkachenko commented Nov 27, 2020

@mefodi, @gsergeysdk, сейчас проверю на чистой установке. Пока оно цепляется за bleak работать не будет.
Что-то явно идет не так.
@gsergeysdk, он живет немного в другом месте: homeasisant -- python 8000 одуль и искать его config_entries.py нуэно внутри каталога модуля (или в git https://github.com/home-assistant/core/blob/dev/homeassistant/config_entries.py).
В районе указаyной строки он пытается подключить config_flow.py из модуля. И напарывается на import модуля, которого у него нет.

Есть у меня подозрение, что какой-то неправильный config_flow.py вам подсовывают.
Можете показать первые строки (с импортами) из custom_components/tion/config_flow.py? И/или сделать grep по нему на тему bleak. Ну и сравнить его с https://github.com/TionAPI/HA-tion/blob/v1.3.3/custom_components/tion/config_flow.py

@IATkachenko IATkachenko added bug Something isn't working work in progress labels Nov 27, 2020
@gsergeysdk
Copy link

@IATkachenko
config_flow.py

"""Adds config flow for Tion custom component."""
import asyncio
import os
import logging
import datetime

import voluptuous as vol
from voluptuous import Schema
from homeassistant import data_entry_flow

from homeassistant import config_entries
from homeassistant.config_entries import ConfigEntry
from homeassistant.util.json import load_json
from homeassistant.core import callback

from .const import DOMAIN, TION_SCHEMA, CONF_KEEP_ALIVE

_LOGGER = logging.getLogger(__name__)

Файл в точности соответствует файлу из гит хаба, (с версии 1.2.5, поскольку именно её последнюю и ставил)
По поводу грепа, я пытался найти строчку "bleak": в папке custom_components нет таких совпадений. откуда он его пытается затянуть не понятно.

@IATkachenko
Copy link
Contributor
IATkachenko commented Nov 27, 2020

Воспроизвел проблему у себя локально.
Разбираюсь.

@IATkachenko
Copy link
Contributor

Нашел.
Устанавливается явно не 0.1.3, прописанная в зависимостях.

bash-5.0# pip list | grep tion-btle
tion-btle                        0.1.3
bash-5.0# pwd
/usr/local/lib/python3.8/site-packages/tion_btle
bash-5.0# grep -ie bleak . -R
Binary file ./__pycache__/tion.cpython-38.pyc matches
Binary file ./__pycache__/s3.cpython-38.pyc matches
./s3.py:from bleak import exc
./s3.py:            except exc.BleakError as e:
./tion.py:import bleak
./tion.py:from bleak import BleakClient
./tion.py:from bleak import exc
./tion.py:        self._btle: BleakClient = BleakClient(self.mac)
./tion.py:            except exc.BleakError as e:
./tion.py:            self._btle = BleakClient(self.mac)
./tion.py:        except bleak.exc.BleakError as e:

Против

root@home:/home/docker# wget https://files.pythonhosted.org/packages/b6/e0/f8a6bd112fd794305ee14dbd32bb38fecb75a04e326647b6b402732536cc/tion_btle-0.1.3.tar.gz
root@home:/home/docker# tar -xzf tion_btle-0.1.3.tar.gz
root@home:/home/docker# cd tion_btle-0.1.3
root@home:/home/docker/tion_btle-0.1.3# cd tion_btle
root@home:/home/docker/tion_btle-0.1.3/tion_btle# grep -ie bleak * -R
root@home:/home/docker/tion_btle-0.1.3/tion_btle#

@IATkachenko
Copy link
Contributor

Я не понимаю что у них там происходит и почему ставится даже не последняя версия. Может я что-то сделал не так при сборке пакета (это был первый релиз, который собирался автоматически и что-то могло пойти не так и исправлено в ручную не совсем полностью).

В качестве решения можно воспользоваться командами (в host системе)

docker exec -it "home-assistant" pip uninstall tion-btle
docker exec -it "home-assistant" rm -rf /usr/local/lib/python3.8/site-packages/tion_btle\*
docker exec -it "home-assistant" pip install -I tion-btle==0.1.3 --no-deps --no-cache-dir

@gsergeysdk
Copy link

@IATkachenko Спасибо, похоже всё получилось. Хотя без судо не заработало

~$ sudo docker exec -it homeassistant bash                                                                  
Password:                                                                                                                      
bash-5.0# ls                                                                                                                   
automations.yaml      deps                  home-assistant.log    scenes.yaml           tts                                    
configuration.yaml    esphome               home-assistant_v2.db  scripts.yaml                                                 
custom_components     groups.yaml           includes              secrets.yaml                                                 
bash-5.0# pip uninstall tion-btle                                                                                              
Found existing installation: tion-btle 0.1.3                                                                                   
Uninstalling tion-btle-0.1.3:                                                                                                  
  Would remove:                                                                                                                
    /usr/local/lib/python3.8/site-packages/tion_btle-0.1.3.dist-info/*                                                         
    /usr/local/lib/python3.8/site-packages/tion_btle/*                                                                         
Proceed (y/n)? y                                                                                                               
  Successfully uninstalled tion-btle-0.1.3                                                                                     
bash-5.0# rm -rf /usr/local/lib/python3.8/site-packages/tion_btle\*                                                            
bash-5.0# pip install -I tion-btle==0.1.3 --no-deps --no-cache-dir                                                             
Collecting tion-btle==0.1.3                                                                                                    
  Downloading tion_btle-0.1.3.tar.gz (4.5 kB)                                                                                  
Building wheels for collected packages: tion-btle                                                                              
  Building wheel for tion-btle (setup.py) ... done                                                                             
  Created wheel for tion-btle: filename=tion_btle-0.1.3-py3-none-any.whl size=5440 sha256=a1b0ec10e0ffbe0f7ef27af7583db605e09df
6ff1bd4974b132dd7da0c265c1b                                                                                                    
  Stored in directory: /tmp/pip-ephem-wheel-cache-f_sm0smb/wheels/d2/dc/66/b35a3293bebe689f86a94552349ad3a4dcd6335054561a928e  
Successfully built tion-btle                                                                                                   
Installing collected packages: tion-btle                                                                                       
Successfully installed tion-btle-0.1.3 

image

@IATkachenko
Copy link
Contributor

Проблему в PyPi я исправил удалив wheel.
Тогда issue закрываю.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants
0