Closed r-vit closed 4 years ago
То же падает ха. Может из за не асинхронности компонента?
это первый адекватный лог с причиной "вылетает"...сразу все видно...Однако ПРИЧИНА осталась неясной.
у вас проблемы с коннектом. модуль в принципе не может даже подключиться к чайнику, не то что управлять им или получать, отправлять команды... У меня коннект стоял в бесконечном цикле...типа не подключился - отключился - попытался еще...у вас эта петля зависла...потом HA вылетел, когда ему надоело бесконечно пытаться подключиться... Однако ПОЧЕМУ он не может подключиться - неясно...тупо команда коннект не идет... если шарите, то уберите все try except из класса BTLEConnection в файле init.py. Запустите все заново и ловите логи...
Может из за не асинхронности компонента?
в самом HA полно неасинхронных компонентов ) и ничего
У меня все нормально работает. =/ Может что-то не так делаю?))
Может что-то не так делаю?))
когда то и у вас не работало )
в changelog увидел, что вы убрали рекурсивный вызов. правильно ли я понимаю, что сейчас нет необходимости убирать try/except?
правильно ли я понимаю, что сейчас нет необходимости убирать try/except?
необходимости убирать и не было и нет... эти блоки не просто так туда добавлены. Но если вы хотите отладить модуль и увидеть ошибку коннекта, которая, возможно, прольет свет на вашу проблему, то вам нужно это сделать...без этого вы получите максимум мою обезличенную ошибку error 5 attemtps to firstConnect например...
За последнее время Home Assistant несколько раз падал с таким логом: Не уверен на 100%, что проблема именно в этой интеграции, но других кандидатов пока не видно. Пока что попробую отключить и посмотреть на поведение HA
аналогично падает HA
После избавления от рекурсивного входа в функцию enter HA перестал падать, однако интеграция продолжает нарушать нормальную работу системы. Через некоторое время после начала работы система теряет возможность устанавливать соединения. Возможно ли, что где-то не закрываются сокеты или дескрипторы, и при нестабильном соединении с устройством их число быстро достигает предельного?
После отключения интеграции HA работает стабильно.
Возможно ли, что где-то не закрываются сокеты или дескрипторы, и при нестабильном соединении с устройством их число быстро достигает предельного?
каждая попытка коннекта у меня в любом случае начинается с дисконнекта...на случай повисшей сессии как раз...но вглубь библиотеки bluepy я не лез...хз, как у них устроено все внутри...однако сам HA активно пользуется именно этой библиотекой в своих нативных интеграциях...
Через некоторое время после начала работы система теряет возможность устанавливать соединения.
я думаю, что причину надо искать у вас... что у вас за железо? как установлен HA? hassOS? hassio? virtual env? в каждом из этих случаев нужен свой подход... в соседних ветках я давал рекомендации для некоторых случаев с модулем блютус...от сообщества также были полезные советы...почитайте другие issues открытые и закрытые... в любом случае без контекста это гадание на кофейной гуще
Остальные устройства bluetooth у меня работают стабильно, в том числе датчики темепратуры и с десяток устройств MiFlora, поэтому я пока не тороплюсь обвинять в проблемах стек BT. Однако я не уверен, что работающие интеграции используют bluepy, так что возможна проблема именно с библиотекой.
После отключения интеграции с чайником HA работает стабильно, причем исчезли задержки при обработке сообщений брокера mqtt. При этом в системе ничего не менялось, за исключением отключения вашей интеграции. К сожалению, в моменты возникновения проблем в логи больше ничего не пишется (после удаления рекурсивного вызова), сообщается только о невозможности установить соединения с массой устройств. Всё это сильно затрудняет выяснение первопричины проблем.
HA установлен на виртуалке с archlinux, с использованием venv - это дает болльше гибкости для доступа к системе
Кстати, не ручаюсь на 100%, но, по-моему, предыдущие версии вашей интеграции (до перехода на bluepy) работали более стабильно и таких проблем не вызывали, только много спамили в лог при отстутствии коннекта
Остальные устройства bluetooth у меня работают стабильно, в том числе датчики темепратуры и с десяток устройств MiFlora,
они тоже используют сложную систему авторизации? коннект и подписку на уведомления? или просто считываются данные с датчиков?
После отключения интеграции с чайником HA работает стабильно
нисколько не сомневаюсь...потому что не используете эти возможности ))
причем исчезли задержки при обработке сообщений брокера mqtt
это возможно...уже слышал такое...интерфейс ha (наверное и брокер ваш) может подвисать на 1-2 сек во время обновления статуса...меня пока нисколько не трогает этот факт...однако я с радостью решу эту проблему, если разберусь с точными причинами и методами...
HA установлен на виртуалке с archlinux, с использованием venv - это дает болльше гибкости для доступа к системе
ничем от hassio не отличается...по степени гибкости...но это уже холивар...кому что...
предыдущие версии вашей интеграции (до перехода на bluepy) работали более стабильно и таких проблем не вызывали, только много спамили в лог при отстутствии коннекта
а у меня наоборот )) с этой интеграцией вообще пропали отвалы...с той - до десятка раз в сутки доходило (те самые логи об отвалах)... возможно, есть еще более совершенные методы? не знаете, случайно, первоклассную асинхронную бле библиотеку на питон с поддержкой уведомлений?
Вы абсолютно правы, работающие интеграции используют только пассивное прослушивание BT трафика
ничем от hassio не отличается...по степени гибкости...но это уже холивар...кому что...
не скажите, в моем случае я могу тонко контролировать систему. до этого использовал и hassio на RPi4, и готовый образ виртуалки от разработчиков HA. везде чувствовал себя ущербным :). Но вы правы, это исключительно вопрос личных предпочтений.
возможно, есть еще более совершенные методы? не знаете, случайно, первоклассную асинхронную бле библиотеку на питон с поддержкой уведомлений?
я бы с удовольствием поучаствовал в разработке, но я, увы, devops, поэтому могу только с благодарностью пользоваться результатми вашего труда :)
везде чувствовал себя ущербным :)
опять холивар, но пример...хоть один! мне правда интересно! именно с хассио, не готовый образ хассОС а именно в хассио чего вам не хватало...1 пример...может мне тоже не хватает этого? я как раз с виртуал енв перешел на хассио...увидел только кучу плюсов...при этом система осталась моей! я ее изначально сам ставил...и консоль и рут и что хочешь...и все папки хассио доступны...
может быть bleak?
нашел ее около недели назад...теоретически, то что надо...практически бы услышать мнение пробовавшего...ибо переходя с pexpect на bluepy я тоже был уверен, что делаю боооооооольшой шаг вперед...а в итоге вы уже 3 или 4, который считает предыдущую версию более стабильной... не хотелось бы также попасть с bleak
Ни в коем случае не собираюсь холиварить - в подобных спорах истины не добиться. Да и незачем. Это исключительно вопрос личных препочтений. Возможно, у меня проблемы с терминологией, потому что не совсем понимаю разницу между HassOS и Hassio. Изначально я использовал готовые образы - RPi4, а потом vmdk, который сконвертировал в qcow2 и использовал на виртуалке. В обоих случаях я включал отладочный режим и получал доступ к хост-системе через ssh. Однако управление системой было слишком ограниченное, без возможности установки пакетов и прочими экспериментами. Да и вообще, мне не нравится docker (опять-таки, вопрос личных предпочтений). Потому меня не устраивала Supervised-установка для Generic Linux. Вот в итоге и пришел к установке через venv, где я могу при необходимости использовать пакеты python как установленные в venv, так и системные, плюс гибкость в манипуляциях с ситемой, резервное копирование, эемперименты с версионированием компонентов. Опять же, доустановил туда snapcast-сервер, который вещает на несколько устройств. Мелочи, конечно, но мне так удобнее. В итоге получившаяся система меня полностью устраивает, работает стабильно и наконец-то начала радовать :)
В общем, я всё это к тому веду, что на самом деле есть только один объективный критерий - нравится или нет. А это - персональный выбор, поэтому никого не агитирую :)
может быть bleak?
нашел ее около недели назад...теоретически, то что надо...практически бы услышать мнение пробовавшего...ибо переходя с pexpect на bluepy я тоже был уверен, что делаю боооооооольшой шаг вперед...а в итоге вы уже 3 или 4, который считает предыдущую версию более стабильной... не хотелось бы также попасть с bleak
абослютно согласен. как там говорят? в продакшн эксперименты не допустимы. может быть можно сделать тестовый модуль с минимальным функционалом, который будет только соединяться с чайником и с определенной периодичностью, например, включать и выключать подсветку. я готов погонять его у себя с цель протестировать работу в условиях нестабильного соединения. это не обязана быть интеграция, достаточно для начала standalone приложения
Потому меня не устраивала Supervised-установка для Generic Linux.
вот это я называю hassio )
значально я использовал готовые образы
а это hassOS....это и правда ужасный вариант!
где я могу при необходимости использовать пакеты python как установленные в venv, так и системные
это все hassio умеет...
доустановил туда snapcast-сервер
тоже стоит )
Да и вообще, мне не нравится docker
тут уж увы...
А это - персональный выбор, поэтому никого не агитирую :)
да, согласен...но правда было интересно...
я готов погонять его у себя с цель протестировать работу в условиях нестабильного соединения
и правда devops ))
думаю, займусь этим вопросом...осталось найти время...
Потому меня не устраивала Supervised-установка для Generic Linux.
вот это я называю hassio )
кстати, буквально на прошлой неделе разработчики HA пытались ее закрыть, но поднявшееся возмущение сообщества заставило их отложить (но не отказаться!). Так что надо на всякий случай быть готовым ко всяки фокусам :(
я готов погонять его у себя с цель протестировать работу в условиях нестабильного соединения
и правда devops ))
думаю, займусь этим вопросом...осталось найти время...
отлично! я всегда на связи, если что :)
думаю излагать сои мысли тут будет разумнее чем в другом issue. Значит перенес я хорошорабочую малину из кухни в комнату, ближе к основоному серверу ха и получил не работающую морду ха. Хотя судя по протейнеру все работает. В логе есть ошибки вида.
2020-05-18 10:58:18 WARNING (MainThread) [custom_components.r4s_kettler] five attempts of modeUpdate failed
2020-05-18 12:30:12 WARNING (MainThread) [custom_components.r4s_kettler] five attempts of modeUpdate failed
2020-05-18 12:32:10 WARNING (MainThread) [custom_components.r4s_kettler] five attempts of modeUpdate failed
2020-05-18 12:37:54 WARNING (MainThread) [custom_components.r4s_kettler] five attempts of modeUpdate failed
Сейчас 19:40? последнее сообщение из лога выше в 12:37.
И ладно бы просто чайник отвалился. Отвалилась вся морда ха. Советую автору то же попробовать увеличить расстояние и проверить на зависание. Как бы там ни было не у всех есть возможность поставить сервер на кухне.
Вот бы разработать прошивку на основе esp32 для работы с чайником ....
не у всех есть возможность поставить сервер на кухне.
у меня стоит в зале...прямое расстояние около 5 метров...однако на пути стена между залом и кухней.
Вот бы разработать прошивку на основе esp32 для работы с чайником ...
в другую ветку...
И ладно бы просто чайник отвалился. Отвалилась вся морда ха.
попробуем вылечить асинхронностью...псевдо, но все же...попробуйте новую версию...
падений нет...если остались подвисания - то в соответствующую ветку
За последнее время Home Assistant несколько раз падал с таким логом:
и так далее.
Не уверен на 100%, что проблема именно в этой интеграции, но других кандидатов пока не видно. Пока что попробую отключить и посмотреть на поведение HA