ClusterM/skykettle-ha

Bluetooth адаптер становится недоступен

alexsudakov opened this issue · 26 comments

Добрый день. Интеграция работает примерно сутки, после чего в лог пишет, что не может соединиться с устройством. При этом сам адаптер bluetooth перестаёт работать, и оживает только после физического ребута rasbery. Готов все логи прислать, какие нужны :)

Привет. Хм. Это больше похоже на аппаратную проблему самого адаптера.

Другая интеграция (Passive BLE monitor) работает без сбоев больше года, ничего не отваливалось. Так что вряд ли аппаратная проблема. В телеге в канале предположили, что может быть конфликт с этой интеграцией.

После обновления Core HAOS на 2023.9.0 интеграция перестала корректно работать, все сущности недоступны

Добавил ещё один BT адаптер, интеграцию BLE Monitor перенастроил на неё. Добавил заново чайник. Устройство проработало 2 минуты, в лог пишет следующее:
Эта ошибка возникла в пользовательской интеграции.

Logger: py.warnings
Source: custom_components/skykettle/kettle_connection.py:109
Integration: SkyKettle (documentation, issues)
First occurred: 12:08:02 (1 occurrences)
Last logged: 12:08:02

/config/custom_components/skykettle/kettle_connection.py:109: RuntimeWarning: coroutine 'HaBleakClientWrapper.disconnect' was never awaited self._client.disconnect()

Эта ошибка возникла в пользовательской интеграции.

Logger: py.warnings
Source: custom_components/skykettle/kettle_connection.py:282
Integration: SkyKettle (documentation, issues)
First occurred: 12:08:12 (1 occurrences)
Last logged: 12:08:12

/config/custom_components/skykettle/kettle_connection.py:282: RuntimeWarning: coroutine 'KettleConnection._disconnect' was never awaited self._disconnect()

Logger: homeassistant
Source: components/bluetooth/util.py:78
First occurred: 9 сентября 2023 г. в 23:30:04 (2248 occurrences)
Last logged: 12:10:51

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/bluetooth/scanner.py", line 348, in _async_restart_scanner
await self._async_reset_adapter()
File "/usr/src/homeassistant/homeassistant/components/bluetooth/scanner.py", line 364, in _async_reset_adapter
result = await async_reset_adapter(self.adapter, self.mac_address)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/bluetooth/util.py", line 78, in async_reset_adapter
return await recover_adapter(adapter_id, mac_address)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/bluetooth_auto_recovery/recover.py", line 393, in recover_adapter
if adapter and await _power_cycle_adapter(adapter):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/bluetooth_auto_recovery/recover.py", line 468, in _power_cycle_adapter
return await _execute_reset(adapter)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/bluetooth_auto_recovery/recover.py", line 554, in _execute_reset
power_state_before_reset = await adapter.get_powered()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/bluetooth_auto_recovery/recover.py", line 265, in get_powered
response = await self.protocol.send("ReadControllerInformation", self.idx)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/bluetooth_auto_recovery/recover.py", line 153, in send
with asyncio_timeout(self.timeout):
TypeError: 'Timeout' object does not support the context manager protocol

Эта ошибка возникла в пользовательской интеграции.

Logger: custom_components.skykettle.kettle_connection
Source: custom_components/skykettle/kettle_connection.py:243
Integration: SkyKettle (documentation, issues)
First occurred: 12:08:11 (3 occurrences)
Last logged: 12:10:56

Can't update status, OSError: Receive timeout
Can't update status, BleakDBusError: [org.bluez.Error.NotConnected] Not Connected

Аналогичная проблема, тоже проявилась после обновления HA 2023.9.0 и, к сожалению, после обновления на 2023.9.1 проблема осталась(
После отката до версии 2023.8.4 - снова работает нормально. В новых версиях поменялся внешний вид water heater dialog - чайником, конечно стало приятней пользоваться, но не долго :) И, похоже, если это продолжать игнорировать, на новой версии моя малинка (HA docker) вешается наглухо - видимо там что-то пухнет (утекает память?)

Не знаю у кого как, У меня стоит esp32-bluetooth-proxy на чайник (далеко от сервака). Работало всё прекрасно до сентября. Всё бы было ничего, но боюсь, редмонд виноват. Чайник при установке замечательно видится, но после интеграции все контролируемые параметры недоступны. Тоже самое происходит если подключить напрямую к телефону. Чайник есть, а управлять невозможно. Если на чайнике нажать нагрев - то в телефоне показывает, что чайник включился, но выключить по прежнему нельзя. Только вручную.

Тут 3 варианта:

  1. Редмонд запрограммировал искусственное старениу, что чайником невозможно управлять больше двух лет.
  2. В Редмонде, как я прочитал в какой то статье, переругались собственники, разделились и один из них требует лицензию на удаленное управление.
  3. Банально погорел блюпуп в чайнике или сбой прошивки.

Судя по симптомам, больше подходят пункты 1 и 2. Чайник видится и определяется правильно, но все функции не работают даже с родным приложением.

Не знаю у кого как, У меня стоит esp32-bluetooth-proxy на чайник (далеко от сервака). Работало всё прекрасно до сентября. Всё бы было ничего, но боюсь, редмонд виноват. Чайник при установке замечательно видится, но после интеграции все контролируемые параметры недоступны. Тоже самое происходит если подключить напрямую к телефону. Чайник есть, а управлять невозможно. Если на чайнике нажать нагрев - то в телефоне показывает, что чайник включился, но выключить по прежнему нельзя. Только вручную.

Тут 3 варианта:

  1. Редмонд запрограммировал искусственное старениу, что чайником невозможно управлять больше двух лет.
  2. В Редмонде, как я прочитал в какой то статье, переругались собственники, разделились и один из них требует лицензию на удаленное управление.
  3. Банально погорел блюпуп в чайнике или сбой прошивки.

Судя по симптомам, больше подходят пункты 1 и 2. Чайник видится и определяется правильно, но все функции не работают даже с родным приложением.

После отката версии HAOS все прекрасно работает, а траблы с родным приложением от этой г**но фирмы были у меня сразу же после покупки чайника. Слава богу я сделал себе HAOS и могу наконец-то пользоваться умным чайником, а не как обычным светильником)

После отката версии HAOS все прекрасно работает, а траблы с родным приложением от этой г**но фирмы были у меня сразу же после покупки чайника. Слава богу я сделал себе HAOS и могу наконец-то пользоваться умным чайником, а не как обычным светильником)

Спасибо, откатил до 8,4. И правда, работает!
Только не понятно, Почему с родным приложением не работает?!

HEMO74 commented

Аналогично.
На 2023.4.6 - работает, на 2023.9.1 - нет.
Симптомы - приведены выше.
Плюс в логах ESPHome (Ble proxy) фиксируются постоянно попытки переподключения, хотя соединение уже установлено

Тоже самое: после недавних обновлений перестал работать. все переключалки сервые.
Tсли удалить интеграцию чайника и попытаться подключить снова в HOAS - с первого раза не связывается. Связывается раза с 3-4, но переключалки попрежнему серые.

В логе sp32-bluetooth-proxy постоянный спам:

[18:43:02][W][bluetooth_proxy:246]: [0] [F2:03:6C:25:00:68] Connection already established
[18:43:09][W][bluetooth_proxy:246]: [0] [F2:03:6C:25:00:68] Connection already established
[18:43:11][W][bluetooth_proxy:246]: [0] [F2:03:6C:25:00:68] Connection already established
[18:43:13][W][bluetooth_proxy:246]: [0] [F2:03:6C:25:00:68] Connection already established
[18:43:16][D][esp32_ble_tracker:246]: Starting scan...
[18:43:20][W][bluetooth_proxy:246]: [0] [F2:03:6C:25:00:68] Connection already established
[18:43:22][W][bluetooth_proxy:246]: [0] [F2:03:6C:25:00:68] Connection already established
[18:43:25][W][bluetooth_proxy:246]: [0] [F2:03:6C:25:00:68] Connection already established

график успешных подключений
изображение

HOAS: 2023.9.3
ESPHome: 2023.9.0 (прокси той же версии)
чайник: rk-g240s

к сожалению не могу проверить версию с откатом на старю версию - нет бакапов старых.

Niorix commented

к сожалению не могу проверить версию с откатом на старю версию - нет бакапов старых.

Просто же. ha core update --version 2023.8.4
И все заработает. У себя проверил, на 8.4 нормально, на 9.0 и выше - не работает.

@Niorix спасибо.
откатился до 2023.8.4 - сразу не сработало. удалил интеграцию. добавил снова - заработало.

Ребят а на 9.3 версии не заработало? Автор будет поддерживать танную интеграцию дальше?

Niorix commented

А дело то похоже не в бобине...
Поднес чайник непосредственно к серверу (расстояние полметра наверно) и отключил на всякий случай ESP'ху с блютуз прокси. И чайник видится HA. И работает стабильно (ну как минут 10 потетстил, снял поставил на подставку несколько раз). Со своего места на кухне не видится совсем.
Оч странно, что давным давно он работал нормально. Потом, пару тройку месяцев назад начал замечать что периодически он отваливается, ради теста добавил прокси. А с обновлением на 2023.9.0 отваливается совсем. Как обновление может повлиять на качество сигнала? Может в самом HA что то можно подкрутить?

UP. Всключил esp32 с прокси, чайник перестал реагировать на команды HA и начал отваливаться, esp спамит сообщениями "Connection already established". Стоит при этом чайник там же, возле сервера, а esp32 висит на кухне (недалеко, метра 4 от сервера через гисокартоновую стену, так что чайник она видит).

HEMO74 commented

Возможно нарушилась работа именно через прокси, а напрямую со свистком работает.
У меня, кстати, через встроенный свисток через две стены до чайника не достает, а через ЕСП, который лежит тут же, рядом с сервером, все путем.

Подтверждаю. Нарушена работа исключительно через bluetooth_proxy. Без него как-то пытается с плохим сигналом соединятся, но если рядом запущен прокси - чайник совсем перестает выходить на связь.

Лог прокси:

[22:12:29][D][esp32_ble_tracker:246]: Starting scan...
[22:12:30][I][bluetooth_proxy:282]: [0] [C5:16:08:C3:45:45] Connecting v3 without cache
[22:12:30][D][esp32_ble_tracker:214]: Pausing scan to make connection...
[22:12:30][I][esp32_ble_client:064]: [0] [C5:16:08:C3:45:45] 0x01 Attempting BLE connection
[22:12:40][W][bluetooth_proxy:264]: [0] [C5:16:08:C3:45:45] Connection request ignored, already connecting
[22:12:51][W][bluetooth_proxy:264]: [0] [C5:16:08:C3:45:45] Connection request ignored, already connecting
[22:13:00][D][esp-idf:000]: W (206579) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x100

[22:13:00][D][esp-idf:000]: W (206583) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x100

[22:13:00][D][esp-idf:000]: W (206585) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x100

[22:13:00][W][esp32_ble_client:134]: [0] [] Connection failed, status=133
[22:13:00][D][esp32_ble_tracker:246]: Starting scan...
[22:13:00][I][bluetooth_proxy:282]: [0] [C5:16:08:C3:45:45] Connecting v3 without cache
[22:13:00][D][esp32_ble_tracker:214]: Pausing scan to make connection...
[22:13:00][I][esp32_ble_client:064]: [0] [C5:16:08:C3:45:45] 0x01 Attempting BLE connection
[22:13:11][W][bluetooth_proxy:264]: [0] [C5:16:08:C3:45:45] Connection request ignored, already connecting
[22:13:16][D][sensor:094]: 'Uptime': Sending state 222.00500 s with 0 decimals of accuracy
[22:13:22][W][bluetooth_proxy:264]: [0] [C5:16:08:C3:45:45] Connection request ignored, already connecting
[22:13:31][D][esp-idf:000]: W (237191) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x100

[22:13:31][D][esp-idf:000]: W (237195) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x100

[22:13:31][D][esp-idf:000]: W (237197) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x100

[22:13:31][W][esp32_ble_client:134]: [0] [] Connection failed, status=133
[22:13:31][D][esp32_ble_tracker:246]: Starting scan...
[22:13:31][I][bluetooth_proxy:282]: [0] [C5:16:08:C3:45:45] Connecting v3 without cache
[22:13:31][D][esp32_ble_tracker:214]: Pausing scan to make connection...
[22:13:31][I][esp32_ble_client:064]: [0] [C5:16:08:C3:45:45] 0x01 Attempting BLE connection
[22:13:42][W][bluetooth_proxy:264]: [0] [C5:16:08:C3:45:45] Connection request ignored, already connecting
[22:13:53][W][bluetooth_proxy:264]: [0] [C5:16:08:C3:45:45] Connection request ignored, already connecting
[22:14:01][D][esp-idf:000]: W (267916) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x100

[22:14:01][D][esp-idf:000]: W (267920) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x100

[22:14:01][D][esp-idf:000]: W (267922) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x100

[22:14:01][W][esp32_ble_client:134]: [0] [] Connection failed, status=133
[22:14:01][D][esp32_ble_tracker:246]: Starting scan...
[22:14:02][I][bluetooth_proxy:282]: [0] [C5:16:08:C3:45:45] Connecting v3 without cache
[22:14:02][D][esp32_ble_tracker:214]: Pausing scan to make connection...
[22:14:02][I][esp32_ble_client:064]: [0] [C5:16:08:C3:45:45] 0x01 Attempting BLE connection
[22:14:12][W][bluetooth_proxy:264]: [0] [C5:16:08:C3:45:45] Connection request ignored, already connecting
[22:14:16][D][sensor:094]: 'Uptime': Sending state 282.00500 s with 0 decimals of accuracy
[22:14:23][W][bluetooth_proxy:264]: [0] [C5:16:08:C3:45:45] Connection request ignored, already connecting
[22:14:32][D][esp-idf:000]: W (298640) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x100

[22:14:32][D][esp-idf:000]: W (298646) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x100

[22:14:32][D][esp-idf:000]: W (298648) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x100

[22:14:32][W][esp32_ble_client:134]: [0] [] Connection failed, status=133
[22:14:32][D][esp32_ble_tracker:246]: Starting scan...
[22:14:33][I][bluetooth_proxy:282]: [0] [C5:16:08:C3:45:45] Connecting v3 without cache
[22:14:33][D][esp32_ble_tracker:214]: Pausing scan to make connection...
[22:14:33][I][esp32_ble_client:064]: [0] [C5:16:08:C3:45:45] 0x01 Attempting BLE connection
[22:14:35][I][ota:117]: Boot seems successful, resetting boot loop counter.
[22:14:35][D][esp32.preferences:114]: Saving 1 preferences to flash...
[22:14:35][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[22:15:03][D][esp-idf:000]: W (329248) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x100

[22:15:03][D][esp-idf:000]: W (329253) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x100

[22:15:03][D][esp-idf:000]: W (329254) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x100

[22:15:03][W][esp32_ble_client:134]: [0] [] Connection failed, status=133
[22:15:03][D][esp32_ble_tracker:246]: Starting scan...

Сложно сказать, что там изменили в ядре - но что-то после этого пошло не так. Вероятно дело даже не в интеграции, а где-то в ядре.

Сложно сказать, что там изменили в ядре - но что-то после этого пошло не так. Вероятно дело даже не в интеграции, а где-то в ядре.
А на последней версии HAOS 2023.10.0 не проверяли?

Нарушена работа исключительно через bluetooth_proxy

У меня HA в докере на Raspberry - использует встроенный bt через dbus, а не через прокси. чайник отлетает в течении суток.
Попробовал новое обновление 2023.10.1 - не починилось

UPD: снизил периодичность опроса до 10 (а было 5) - пару дней отработал без проблем, вернул на значение 5 - опять пошло по бороде... Выставил обратно 10, посмотрим, что будет.

UPD2: С таким значением периодичности опроса работает от 1 до 2-х дней, а потом всё так же отлетает. Однако, теперь хоть не вешает малинку при этом. И если снять чайник, долить водички, поставить на платформу и включить - снова коннектится.

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

Подключил bluetooth proxy на esp32, через нее чайник не смог спарить с HA. При настройке интеграции чайник видит, в режиме спаривания чайник быстро перестает мигать, но HA выдает ошибку, что-то вроде "connected, but not paired". От сервера HA чайник далековато, встроенный BT сервера (если BT proxy отключить) не видит чайник от слова совсем.

HA 2023.10.3. Я правильно понимаю, что через BT proxy толком не работает интеграция на свежих версиях HA (и не ясно дело в интеграции или в HA)? И правильно ли я понимаю, что для работы через BT proxy спаривать чайник надо тоже именно через BT proxy?

Подключил bluetooth proxy на esp32, через нее чайник не смог спарить с HA. При настройке интеграции чайник видит, в режиме спаривания чайник быстро перестает мигать, но HA выдает ошибку, что-то вроде "connected, but not paired". От сервера HA чайник далековато, встроенный BT сервера (если BT proxy отключить) не видит чайник от слова совсем.

HA 2023.10.3. Я правильно понимаю, что через BT proxy толком не работает интеграция на свежих версиях HA (и не ясно дело в интеграции или в HA)? И правильно ли я понимаю, что для работы через BT proxy спаривать чайник надо тоже именно через BT proxy?

Я переделал вот на это , проект активно поддерживается. Работает шткарно, все данные подтягиваются к mqtt.

Ребят, проект опенсорсный. Кто-нибудь, помогите с ним. У меня сейчас вот совсем нет времени на него.

Ребят, проект опенсорсный. Кто-нибудь, помогите с ним. У меня сейчас вот совсем нет времени на него.

эх... ктоб бы тут умел - думаю, давно бы уже помогли =(

QuAzI commented

Тоже вот столкнулся, HP Chromebook на антресольке со встроенным bt и Home Assistant 2023.10.5
Чайник перестаёт быть виден в HA часа через пол, но полностью доступен в мобильном приложении (мобилка монопольно забрала?)
И да, чайник RK-216S, может этот костылёк поможет

Тоже вот столкнулся, HP Chromebook на антресольке со встроенным bt и Home Assistant 2023.10.5 Чайник перестаёт быть виден в HA часа через пол, но полностью доступен в мобильном приложении (мобилка монопольно забрала?) И да, чайник RK-216S, может этот костылёк поможет

Воспользуйтесь решением что я написал выше, все будет работать без проблем.

Подключил bluetooth proxy на esp32, через нее чайник не смог спарить с HA. При настройке интеграции чайник видит, в режиме спаривания чайник быстро перестает мигать, но HA выдает ошибку, что-то вроде "connected, but not paired". От сервера HA чайник далековато, встроенный BT сервера (если BT proxy отключить) не видит чайник от слова совсем.
HA 2023.10.3. Я правильно понимаю, что через BT proxy толком не работает интеграция на свежих версиях HA (и не ясно дело в интеграции или в HA)? И правильно ли я понимаю, что для работы через BT proxy спаривать чайник надо тоже именно через BT proxy?

Я переделал вот на это , проект активно поддерживается. Работает шткарно, все данные подтягиваются к mqtt.

Спасибо! Тоже переделал. Пока полет нормальный, мультиварка тоже подцепилась.

QuAzI commented

Как-то сильно много проблем с RK-216S.

  • Чайник перестаёт нагреваться при переподключениях. Когда у телефона в родном приложении отваливался сигнал было не важно, чайник продолжал работать в заданном режиме
    image
  • Иногда интеграция показывает что чайник онлайн, но по факту показывает неактуальные данные и чайник оффлайн, абсолютно не управляется.
  • В опциях у родного приложения можно было задать как долго собственно кипятить (Boil)
    image
  • Когда запускаешь кипячение кнопкой появился какой-то новый звук, будто реле переключает режимы, хотя раньше он просто начинал греться.