Closed SemperPeritus closed 2 years ago
интерфейс сам по себе не меняется. тому должны быть причины.
А вообще, аппаратный номер блютус-модуля есть в настройках при подключении интеграции. Этот номер, как и другие параметры подключения, задается 1 раз при подключении и меняться не должен в обычной повседневной жизни.
В вашем случае не надо ничего переопределять и прибивать гвоздями (а если опять изменится?). Нужно просто отключить старое и добавить новое, выбрав правильный модуль при подключении.
Случилось что-то похожее, после очередного обновления HA OS, интеграция перестала подключаться к чайнику. Переустановка не помогала, устройства bt просто не ищутся, причем из терминала через bluetoothctl устройства видны и к чайнику можно подключиться. Помогло добавление в config.txt строчки dtoverlay=disable-bt. Это отключило встроенный bt в rpi4, остался только свисток и интеграция заработала корректно.
со встроенным блютусом в любом случае не рекомендую связываться в части общения с чайником
со встроенным блютусом в любом случае не рекомендую связываться в части общения с чайником
Это да, поэтому и свисток в малинке установлен. Просто такое впечатление, что поиск начал идти только через hci0, а когда отключил встроенный модуль в config.txt, соответственно свисток стал hci0 и все заработало.
Да, я сейчас глянул, и там действительно БАГ был. Сканирование и поиск произодится с выбранного в настройках интерфейса, а непосредственное подключение/работа с непонятно какого...жестко не указано...видимо с первого попавшегося. Добавил в подключение блютус жесткое указание того модуля, который указан в настройках. Проверьте, пожалуйста, что хотя бы работает )) мне вообще не на чем, исправлял вслепую. Только переподключите чайник заново
Протестил, включил встроенный модуль, переустановил интеграцию - всё корректно ищет, устанавливает и работает, после перезагрузки не сбивается.
В какой-то момент после нескольких недель стабильной работы в 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 интеграция без проблем завелась.Было бы неплохо иметь возможность изменять данные значения после настройки интеграции без удаления и повторного добавления устройства: