skykettle-ha
skykettle-ha copied to clipboard
SkyKettle RK-M216S постоянно отваливается соединение
СКРИНШОТ
Подарили данный чайник. Завёл его в HomeAssistant, получилось далеко не с первого раза. Пока не поднёс сам чайник с розеткой к малинке (RaspberyPi 4B). Сейчас чайник в зоне прямой видимости (около 1.5 метров) от малинки. Периодически связь появляется, на пару минут, и снова пропадает на минут 10. Иногда дольше. В логах - следующее:
Can't set mode to (2, 35) for 30 seconds, stop trying
Can't update status, BleakError: failed to discover services, device disconnected
Can't set mode to (0, 0) for 30 seconds, stop trying
Can't update status, BleakDBusError: [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
Can't update status, BleakDBusError: [org.bluez.Error.Failed] Software caused connection abort
Can't update status, BleakDBusError: [org.bluez.Error.Failed] Software caused connection abort
Can't set mode to (2, 35) for 30 seconds, stop trying
Can't update status, BleakDBusError: [org.bluez.Error.Failed] Software caused connection abort
Can't update status, OSError: Receive timeout
Can't update status, BleakError: failed to discover services, device disconnected
Can't set mode to (1, 70.0) for 30 seconds, stop trying
Can't set mode to (1, 75.0) for 30 seconds, stop trying
И так по кругу. Ещё данный чайник прокинут в умный дом Яндекса через интеграцию.
Вчера весь день соединение было отличным. Сегодня отваливается по несколько раз в минуту. Перезапуск интеграции, перезапуск HA, перезагрузка сервера, ничего не помогает. Появляется на секунду и тут же исчезает
Вчера весь день соединение было отличным. Сегодня отваливается по несколько раз в минуту. Перезапуск интеграции, перезапуск HA, перезагрузка сервера, ничего не помогает. Появляется на секунду и тут же исчезает
Доброго времени суток. Такая же проблема и у меня. Получилось найти решение данной проблемы? Заранее спасибо!
Доброго времени суток. Такая же проблема и у меня. Получилось найти решение данной проблемы? Заранее спасибо!
Купил Bluetooth свисток, и новый сервер (мини пк). И поставил его в двух метрах от чайника. Скорее всего дело в самом чайнике, потому что остальные блютуз устройства работают без проблем через стены даже. Но чайник иногда отваливается, раз в час-два
У меня чайник стоит через стенку обычную, расстояние метра 2 не более. Странно, такое же поведение. У Вас после покупок ситуация наладилась? Могу попробовать ради эксперимента поставить около свистка -)))
Отваливается, но не на долго и гораздо реже. Дело судя по всему не в сервере или блютуз, а либо в интеграции или в самом чайнике
У меня совершенно случайно проблема ушла, после того как воткнул на кухне копеешную платку ESP32 с Bluetooth Proxies на борту. Пока это восторг. Ставил для стиралки, а тут, думаю дай-ка заодно активирую отключенную полгода назад интеграцию - вторые сутки чайник без отвала. Тоже малинка, тоже пробовал внешний блютус-свисток - поначалу работало вроде лучше, потом снова отвалы. Тоже грешил на сам чайник. И вот спустя полгода как-то случайно всё заработало как часы.
Осталось только разобраться, как атрибуты (Heat, Boil, Boil+Heat, Lamp, Light) перевести на ru. С этим и заглянул сюда. А то кроме off всё не переведено. Будем искать.
RK-G203S проблема та же. Отваливается и большую часть времени недоступен. Это единственное устройство, с которым HA работает по блютузу. Расстояние небольшое в прямой видимости. Платформа Raspberry Pi 4+ Ошибки в логе:
Logger: py.warnings
Source: custom_components/skykettle/kettle_connection.py:109
Integration: SkyKettle ([documentation](https://github.com/ClusterM/skykettle-ha/blob/master/README.md), [issues](https://github.com/ClusterM/skykettle-ha/issues))
First occurred: 13 июня 2023 г. в 16:07:23 (75 occurrences)
Last logged: 18:31:29
/config/custom_components/skykettle/kettle_connection.py:109: RuntimeWarning: coroutine 'HaBleakClientWrapper.disconnect' was never awaited self._client.disconnect()
Logger: homeassistant.helpers.frame
Source: helpers/frame.py:77
First occurred: 13 июня 2023 г. в 16:16:48 (1 occurrences)
Last logged: 13 июня 2023 г. в 16:16:48
Detected integration that attempted to call BleakClient with an address instead of a BLEDevice. Please report issue to the custom integration author for skykettle using this method at custom_components/skykettle/kettle_connection.py, line 92: self._client = BleakClient(self._device)
Logger: custom_components.skykettle.kettle_connection
Source: custom_components/skykettle/kettle_connection.py:243
Integration: SkyKettle ([documentation](https://github.com/ClusterM/skykettle-ha/blob/master/README.md), [issues](https://github.com/ClusterM/skykettle-ha/issues))
First occurred: 13 июня 2023 г. в 16:07:58 (10758 occurrences)
Last logged: 18:37:04
Can't update status, TimeoutError:
Can't update status, BleakError: No backend with an available connection slot that can reach address None was found
Can't update status, BleakDBusError: [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
Can't update status, OSError: Receive timeout
Can't update status, BleakError: No backend with an available connection slot that can reach address C5:16:08:C3:45:45 was found
Так понимаю основная проблема в данной строке:
Can't update status, BleakError: No backend with an available connection slot that can reach address C5:16:08:C3:45:45 was found
Может есть у кого идеи в какую сторону копать?
несколько месяцев работало как часы, куча автоматизаций написана. и вот отвалилось месяца полтора назад. HA на миниПК, чайник стоит на кухне, через стенку от сервера (перенос под нос к серверу не решает проблему), и раньше всё работало замечательно. подозрение, что какая-то помеха появилась, возможно у соседей. ошибка такая: Эта ошибка возникла в пользовательской интеграции.
Logger: py.warnings Source: custom_components/skykettle/kettle_connection.py:109 Integration: SkyKettle (documentation, issues) First occurred: 19 июля 2023 г. в 13:18:50 (29 occurrences) Last logged: 11:11:14
/config/custom_components/skykettle/kettle_connection.py:109: RuntimeWarning: coroutine 'HaBleakClientWrapper.disconnect' was never awaited self._client.disconnect()
несколько месяцев работало как часы, куча автоматизаций написана. и вот отвалилось месяца полтора назад. HA на миниПК, чайник стоит на кухне, через стенку от сервера (перенос под нос к серверу не решает проблему), и раньше всё работало замечательно. подозрение, что какая-то помеха появилась, возможно у соседей. ошибка такая: Эта ошибка возникла в пользовательской интеграции.
Logger: py.warnings Source: custom_components/skykettle/kettle_connection.py:109 Integration: SkyKettle (documentation, issues) First occurred: 19 июля 2023 г. в 13:18:50 (29 occurrences) Last logged: 11:11:14
/config/custom_components/skykettle/kettle_connection.py:109: RuntimeWarning: coroutine 'HaBleakClientWrapper.disconnect' was never awaited self._client.disconnect()
моя проблема в итоге заключалась просто в дальности и излишнем шуме в эфире (у меня крайне много устройств в 2.4 шумят) в моем случае чайник находится практически в прямой видимости с RPI на расстоянии метров 10. в вашем случае условия гораздо хуже - у вас стена
решил в итоге с помощью bluetooth proxy на esp32 на кухне рядом с чайником (в чипдипе нашел M5Stack ATOM Lite, которому можно найти кучу применений и прокси - лишь малая часть из них)
отвалы по прежнему наблюдаются, но их количество снизилось до одного в пару дней на несколько секунд.
несколько месяцев работало как часы, куча автоматизаций написана. и вот отвалилось месяца полтора назад. HA на миниПК, чайник стоит на кухне, через стенку от сервера (перенос под нос к серверу не решает проблему), и раньше всё работало замечательно. подозрение, что какая-то помеха появилась, возможно у соседей. ошибка такая: Эта ошибка возникла в пользовательской интеграции. Logger: py.warnings Source: custom_components/skykettle/kettle_connection.py:109 Integration: SkyKettle (documentation, issues) First occurred: 19 июля 2023 г. в 13:18:50 (29 occurrences) Last logged: 11:11:14 /config/custom_components/skykettle/kettle_connection.py:109: RuntimeWarning: coroutine 'HaBleakClientWrapper.disconnect' was never awaited self._client.disconnect()
моя проблема в итоге заключалась просто в дальности и излишнем шуме в эфире (у меня крайне много устройств в 2.4 шумят) в моем случае чайник находится практически в прямой видимости с RPI на расстоянии метров 10. в вашем случае условия гораздо хуже - у вас стена
решил в итоге с помощью bluetooth proxy на esp32 на кухне рядом с чайником (в чипдипе нашел M5Stack ATOM Lite, которому можно найти кучу применений и прокси - лишь малая часть из них)
отвалы по прежнему наблюдаются, но их количество снизилось до одного в пару дней на несколько секунд.
Огромное спасибо! Вчера получил M5Stack Atom Lite - сейчас прошил его и чайник сразу ожил. Кстати, еще заметил одну вещь - чайник обнаруживался в то время пока он активен. То есть, если включить его на подогрев (в моем есть четыре варианта температур), и забыть об этом на какое-то время, он подключается к сети через какое-то время. Но как только чайник снимешь с базы, всё, он потерян для общества )
Тоже столкнулся с тем, что периодически отваливается чайник. В моем случае проблема была с тем, как работает HA в docker-контейнере с bluetooth'ом на хосте. Спустя какое-то время демон bluetooth'а начинает сбоить и интеграция не может его восстановить. Ошибки сыпятся разные, в зависимости от того, на каком этапе работы интеграции отвалился bluetooth.
Купировать проблему получилось созданием автоматизации, которая перезапускает bluetooth консольной командой при возникновении ошибки:
- В
configuration.yaml
добавляем службу перезапуска bluetooth и вывод системных событий:
shell_command:
bluetooth_restart: bluetoothctl power off && bluetoothctl power on
system_log:
fire_event: true
- Добавляем автоматизацию, которая будет перезапускать bluetooth при проблемах:
alias: restart bluetooth while error
description: ""
trigger:
- platform: event
event_type: system_log_event
event_data:
name: bluetooth_auto_recovery.recover
level: WARNING
- platform: event
event_type: system_log_event
event_data:
name: bluetooth_auto_recovery.recover
level: ERROR
condition: []
action:
- service: shell_command.bluetooth_restart
data: {}
- delay:
hours: 0
minutes: 1
seconds: 0
milliseconds: 0
mode: single
- Добавляем автоматизацию, которая будет перезапускать bluetooth при проблемах:
Извините, только учусь... а поподробнее куда это вставить можно? а то чайник вообще отключился и ничего не выдает.
Проблема повторяется
Самое смешное, что я сейчас не могу ничего проверить, т.к. банально не могу найти Bluetooth модуль работающий под Linux.