Skip to content
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

Смена Bluetooth интерфейса #78

Closed
SemperPeritus opened this issue Jul 11, 2021 · 6 comments
Closed

Смена Bluetooth интерфейса #78

SemperPeritus opened this issue Jul 11, 2021 · 6 comments

Comments

@SemperPeritus
Copy link

В какой-то момент после нескольких недель стабильной работы в Home Assistant через Docker по каким-то причинам сменился интерфейс с hci1 на hci0 (физически устройство то же самое и никих манипуляций с ним не производилось, сменилось только название). Все остальные интеграции/плагины завязанные на работу с Bluetooth либо продолжили работу без проблем, либо заработали после перезагрузки Home Assistant, но эта интеграция отвалилась и стала писать следующую ошибку: Connect to [mac] through device hci1 failed.

Проверив устройство и посмотрев где сыпется ошибка (74 строка __init__.py) удалось завести интеграцию без удаления устройства.

В Python особо не разбираюсь, в подноготной Home Assistant тем более. На сколько я понял, в 57-ой строке __init__.py мы получем через homeassistant.const сохранённое интеграцией значение.
device = config.get(CONF_DEVICE)
При беглом поиске не нашёл где хранится это значение в БД или файле, так что просто переопределил переменную device на строку "hci0", после перезагрузки HA интеграция без проблем завелась.

Было бы неплохо иметь возможность изменять данные значения после настройки интеграции без удаления и повторного добавления устройства:

from homeassistant.const import (
    CONF_DEVICE,
    CONF_MAC,
    CONF_PASSWORD,
    CONF_SCAN_INTERVAL
)
@mavrikkk
Copy link
Owner

интерфейс сам по себе не меняется. тому должны быть причины.

А вообще, аппаратный номер блютус-модуля есть в настройках при подключении интеграции. Этот номер, как и другие параметры подключения, задается 1 раз при подключении и меняться не должен в обычной повседневной жизни.

В вашем случае не надо ничего переопределять и прибивать гвоздями (а если опять изменится?). Нужно просто отключить старое и добавить новое, выбрав правильный модуль при подключении.

@Sensei8
Copy link

Sensei8 commented Aug 3, 2021

Случилось что-то похожее, после очередного обновления HA OS, интеграция перестала подключаться к чайнику. Переустановка не помогала, устройства bt просто не ищутся, причем из терминала через bluetoothctl устройства видны и к чайнику можно подключиться. Помогло добавление в config.txt строчки dtoverlay=disable-bt. Это отключило встроенный bt в rpi4, остался только свисток и интеграция заработала корректно.

@mavrikkk
Copy link
Owner

mavrikkk commented Aug 4, 2021

со встроенным блютусом в любом случае не рекомендую связываться в части общения с чайником

@Sensei8
Copy link

Sensei8 commented Aug 4, 2021

со встроенным блютусом в любом случае не рекомендую связываться в части общения с чайником

Это да, поэтому и свисток в малинке установлен. Просто такое впечатление, что поиск начал идти только через hci0, а когда отключил встроенный модуль в config.txt, соответственно свисток стал hci0 и все заработало.

@mavrikkk
Copy link
Owner

mavrikkk commented Aug 4, 2021

Да, я сейчас глянул, и там действительно БАГ был. Сканирование и поиск произодится с выбранного в настройках интерфейса, а непосредственное подключение/работа с непонятно какого...жестко не указано...видимо с первого попавшегося. Добавил в подключение блютус жесткое указание того модуля, который указан в настройках. Проверьте, пожалуйста, что хотя бы работает )) мне вообще не на чем, исправлял вслепую. Только переподключите чайник заново

@Sensei8
Copy link

Sensei8 commented Aug 4, 2021

Протестил, включил встроенный модуль, переустановил интеграцию - всё корректно ищет, устанавливает и работает, после перезагрузки не сбивается.

@mavrikkk mavrikkk closed this as completed Feb 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants