Closed iswitch closed 4 years ago
Добрый день. Очень информативно. К сожалению, все штатные экстрасенсы сейчас в отпуске ((
hassio на 4 малине
G200S
r4s_kettler:
device: 'hci0'
mac: 'C2:5F:7E:9F:87:5B'
password: 'ffffffffffffffff'
Перезагружаю HA, жму кнопку на чайнике 5сек, включаю redmondauthorize и ничего не происходит. После этого интерфейс HA виснет (долгая загрузка и ничего не происходит), если перезагрузить страницу, бесконечное Loading data.
В home-assistant.log только это, что имеет отношение к компоненту: 2020-04-08 13:47:20 ERROR (MainThread) [custom_components.r4s_kettler] error connect 2020-04-08 13:47:20 ERROR (MainThread) [custom_components.r4s_kettler] error first connect
Оживить HA получается только убираем строк из configuration.yaml и перезагрузкой HA в консоле.
Добрый день.
Если gatttool не желает подключаться к чайнику (такое возможно при первом подключении к неизвестным устройствам), то попробуйте выполнить поиск чайника средствами os до подключения модуля:
sudo hciconfig device reset sudo timeout 1 hcitool lescan
device — id вашего блютус устройства (например, hci0).
Убедитесь, что мак адрес вашего чайника есть в списке найденных устройств. После этого:
sudo hcitool lewladd mac sudo hcitool lerladd mac
mac — мак адрес вашего чайника
Плюс, если у вас встроенный блютус модуль от малинки, то он вообще работает ненадежно и часто виснет. Купите свисток (совет, проверенный многими)
Встроенный( Спасибо, попробую.
bash-5.0# hciconfig device reset
bash-5.0# timeout 1 hcitool lescan
LE Scan ...
C2:5F:7E:9F:87:5B RK-G200S
Terminated
bash-5.0# hcitool lewladd C2:5F:7E:9F:87:5B
bash-5.0# hcitool lerladd C2:5F:7E:9F:87:5B
Can't add to resolving list: I/O error(5)
и? что после этого происходит с самим модулем? пробовали запустить?
Тоже самое
в консоли вводим gatttool --adapter=hci0 -I -t random -b C2:5F:7E:9F:87:5B ждем выполнения...вводим connect должен законнектиться (правда ненадолго) после коннекта вводим: char-write-cmd 0x000c 0100 ждем ответа (скорее всего ничего не будет) вводим: char-write-req 0x000e 5501ffffffffffffffffffaa ждем ответа. возможны ошибки, хрень, так как чайник давно отвалился, пофик главное ввести. дальше вводим: char-write-req 0x000e 550206aa ждем ответа. дальше делаем хитро...все, что ты вводил до этого, сохранилось в быстром вызове и доступно для быстрого ввода по нажатию клавиши "стрелка вверх". Переводим чайник в режим сопряжения (зажимаем кнопку на чайнике на 8-10 сек, ждем звука и мигания светодиодов). Листая стрелкой вверх команды вводим все тоже самое заново в той же последовательности, только теперь не тратя время на ввод команд. каждую команду вводим сразу после получения ответа от предыдущей команды. Порядок:
connect char-write-cmd 0x000c 0100 char-write-req 0x000e 5501ffffffffffffffffffaa char-write-req 0x000e 550237c8c801aa char-write-req 0x000e 55033200285e0000ff465e00ff00645eff0000aa char-write-req 0x000e 55046e4ffd8f5e40380000aa char-write-req 0x000e 55054700aa char-write-req 0x000e 55065000aa char-write-req 0x000e 550706aa
Результаты всей этой порнографии - сюда, будем смотреть
Добрый день!
На встроенном постоянно отваливается максимум один день работает. :( Поставил свисток тоже отваливается :(. Ставил и 90 сек и 60 сек.
Встроенный не отключал( работает с блютус колонкой без проблем), т.е сейчас работает и свисток и встроенный.
pi@raspberrypi:~ $ sudo timeout 1 hcitool dev Devices: hci1 B8:27:EB:6A:DF:27 (свисток) hci0 00:15:E9:7B:CA:EE
sudo bluetoothctl list Controller B8:27:EB:6A:DF:27 raspberrypi #2 [default] Controller 00:15:E9:7B:CA:EE raspberrypi
r4s_kettler: device: 'hci1' mac: 'E7:04:2A:9F:55:5F' password: 'ab64e6f700f75c65' scan_interval: 60
Встроеннный блютус в любом случае не годится...как я только не тестировал. Частенько отваливался. Особенно часто проблемы возникают, если пользоваться и встроенным вифи.
Блютус модуль самого чайника ооооооооооочень слабый (во всяком случае в моей модели G200S). У меня расстояние между малинкой и чайником примерно 3 метра через гипсокартоновую стену. Так вот, если на прямой линии между малинкой и чайником в момент обмена пакетами встает или проходит человек, то коннект уже не проходит (!!!), проводил многочисленные тесты.
То что работают и встроенный и внешний модуль - это само по себе нормально. Делал также, проблем не знал. Встроенный использовал для аудио, внешний для чайника.
Внешние модули тоже бывают разные. Мне кто то писал то ли на хабре, то ли тут, что поставил внешний модуль - проблема осталась, а потом заменил внешний модуль на, кажется, Baseus, и все стало норм. Лично у меня какой то ноунейм с али (bluetooth csr 4.1)
Спасибо за ответ.
2) Попробуем переставить. 3) это радует. 4) старый Dlink 122 :) , вполне возможно, что дело может быть в нем.
Продолжаем тестирование.
Еще вопросик.
После того как G200S связь потерял, помогает только полная перезагрузка малины.
Рестарт HA не помогает, новый процесс регистрации G200S без перезагрузки малины тоже не помогает.
увы и ах, но мне нечего добавить. Ситуация у вас странная. Попробуйте поуправлять чайником из консоли. Выше кидал примеры. Одно дело - отвалиться и совсем другое дело повесить всю систему. Может тут у вас и корень зла. Копайте в сторону ОС...или модулей блютус для ОС...или физический модуль блютус... тут уже простор для фантазии линуксоида. А так - это гадание на кофейной гуще с моей стороны. Я с таким не сталкивался. Если разберетесь или, хотя бы, будут новые сведения, которые помогут с ответом, то пишите: помогу чем могу, и другим полезно будет
Спасибо. Продолжаем тестирование.
Купил bluetooth стик, запустил интеграции, ввёл данные и та-же проблема. HA висит и не на что не реагирует. Только в случае со старым типом подключения, можно было убрать строки из configuration.yaml и перезагрузить через ssh малину. Где сейчас убирать настройку, чтоб оживить HA? Пока не снёс компонент, HA не оживал и перезагрузки не помогали.
подождите новую версию, может она пойдет. там я вообще изменил всю логику. Как оживить малинку, к сожалению, не подскажу. я не специалист в config flow. Эту часть прикручивал не я, как можно увидеть по пул реквестам и описанию
Установил новую версию, после заполнения формы и нажатии кнопки, ничего не поменялось. Кружок крутится, HA не отвечает.
все рекомендации homeassistant по работе с блютус выполнены?
https://www.home-assistant.io/integrations/bluetooth_le_tracker/
и
попробуйте последнюю версию, там мак адреса сами сканируются...посмотрим, обнаружится ли вообще ваш чайник. уж что что, но серия G2хх работает как часы ) особенно в последних версиях
Есть два разных BT датчика температуры, работают стабильно.
Этими скриптами сейчас управляю чайником. https://sprut.ai/client/article/726
- platform: command_line
switches:
kettle_redmond:
command_on: "/config/redmond/on.sh C2:5F:7E:9F:87:5B"
command_off: "/config/redmond/off.sh C2:5F:7E:9F:87:5B"
# command_state: "/config/redmond/status.sh C2:5F:7E:9F:87:5B | grep -oP 'ON'"
# value_template: '{{ value == "ON" }}'
friendly_name: 'Чайник'
Статус закомментировал, ибо слишком много обращений HA делает и иногда ошибки в логе.
Установил новую версию. При выборе Redmond в списке интеграций, даже не открылась форма с настройками, опять всё зависло.
даже не открылась форма с настройками, опять всё зависло
потому что там 2 команды даются... 1.hciconfig чтоб узнать какие у вас в малинке блютус устройства есть
Закомментировал все try except в init.py и config_flow.py (в других файлах не нашел) и выбрал r4s_kettler в интеграциях, форма моментально сбросилась (HA не завис).
ha core logs вот что выдал:
2020-05-06 13:46:25 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/aiohttp/web_protocol.py", line 418, in start
resp = await task
File "/usr/local/lib/python3.7/site-packages/aiohttp/web_app.py", line 458, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.7/site-packages/aiohttp/web_middlewares.py", line 119, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/real_ip.py", line 39, in real_ip_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 73, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 127, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 125, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 112, in post
return await super().post(request)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 54, in wrapper
result = await method(view, request, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 63, in post
handler, context={"source": config_entries.SOURCE_USER}
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 112, in async_init
flow = await self.async_create_flow(handler, context=context, data=data)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 504, in async_create_flow
integration.get_platform("config_flow")
File "/usr/src/homeassistant/homeassistant/loader.py", line 279, in get_platform
f"{self.pkg_path}.{platform_name}"
File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 724, in exec_module
File "<frozen importlib._bootstrap_external>", line 860, in get_code
File "<frozen importlib._bootstrap_external>", line 791, in source_to_code
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/config/custom_components/r4s_kettler/__init__.py", line 74
await kettler.firstConnect()
^
IndentationError: unexpected indent
Видимо нужно отступы поправить.
Вот лог из контейнера homeassistant:
bash-5.0# hciconfig device reset
bash-5.0# timeout 1 hcitool lescan
Set scan parameters failed: I/O error
bash-5.0# hciconfig hci1 down
bash-5.0# hciconfig hci1 up
bash-5.0# timeout 1 hcitool lescan
LE Scan ...
90:DD:5D:CE:9D:E1 (unknown)
90:DD:5D:CE:9D:E1 (unknown)
F0:18:98:B4:5C:B3 (unknown)
F0:18:98:B4:5C:B3 (unknown)
13:26:38:D4:0D:C6 (unknown)
5C:E5:0C:85:48:05 (unknown)
5C:E5:0C:85:48:05 mi_mtk
74:DD:AF:DA:04:E7 (unknown)
74:DD:AF:DA:04:E7 (unknown)
C2:5F:7E:9F:87:5B RK-G200S
7C:11:5A:C4:DD:66 (unknown)
7C:11:5A:C4:DD:66 (unknown)
74:BE:92:68:DB:59 (unknown)
3C:7D:3A:51:56:27 (unknown)
C2:5F:7E:9F:87:5B (unknown)
50:7C:A8:07:DF:C0 (unknown)
Terminated
Вчера с последним компонентом упал ха. только морда. при этом в логах никаких ошибок.
Что имеем. usb CSR4.0 свисток. ХА установлен в докере. В хосте Debian. Свисток успешно работает с mitemp кастом интеграцией.
Касательно работы bt в ha рекомендации выполнены. Тем не менее имеются трудности с командами sudo timeout 3 hcitool lescan в ответ: Set scan parameters failed: Input/output error
Вытащить вставить бт помогает. И тем не менее поведение свистка и или софта очень странное. А чайник все тот же RK-M216S. Интеграцией разных версий находится. Но не включается.
Так же интересно работа через esp32 как удаленное по wifi BT устройство, скажем на прошивке esphome
И ничего не происходит, но HA отвечает.
В логе так:
2020-05-06 14:03:47 INFO (MainThread) [homeassistant.setup] Setting up r4s_kettler
2020-05-06 14:03:47 INFO (MainThread) [homeassistant.setup] Setup of domain r4s_kettler took 0.0 seconds.
Set scan parameters failed: I/O error
нездоровая фигня
Видимо нужно отступы поправить.
обязательно!!!
Set scan parameters failed: Input/output error
можно попробовать перед этим вызывать команды: hciconfig hci1 down hciconfig hci1 up
может поможет
Свисток успешно работает с mitemp кастом интеграцией.
насколько я знаю, там нет коннекта и подписки на уведомления и авторизации ...нужно просто хендл читать...можно чем угодно прочесть...
не может такого быть, чтобы у части все работало идеально, а у части из рук вон плохо...на тех же моделях...m216 сейчас не рассматриваю...это ваще ДДОС бомба,а не чайник )))
не может такого быть, чтобы у части все работало идеально, а у части из рук вон плохо...на тех же моделях...m216 сейчас не рассматриваю...это ваще ДДОС бомба,а не чайник )))
и опять же. в моем форке он включается .... но там основа старая ...
да я ж не спорю...в старой версии использовался только gatttool...насколько я помню, он может без рута работать, проверьте, если интересно...в новой версии используется bluepy...сама по себе при отсылке и ответе рута она тоже не требует...НО... команды сканирования железа, команда сканирования устройств требуют рута
можете попробовать отключить механизмы поиска железа и поиска мак адреса...вручную вбивать их при инициализации и посмотрите, что будет
да я ж не спорю...в старой версии использовался только gatttool...насколько я помню, он может без рута работать, проверьте, если интересно...в новой версии используется bluepy...сама по себе при отсылке и ответе рута она тоже не требует...НО... команды сканирования железа, команда сканирования устройств требуют рута
Ну раз я вижу модель в сенсоре. и текущую температуру значит эта часть работает? не работает только включение
можете попробовать отключить механизмы поиска железа и поиска мак адреса...вручную вбивать их при инициализации и посмотрите, что будет
как это сделать?
Заметил что timeout 3 hcitool lescan срабатывает только после hciconfig hci1 reset Вернул результат сканирования, после этого опять: Set scan parameters failed: I/O error Повторил reset и на одно сканирование хватает.
не работает только включение
вы не путайте...у вас 216 модель... а у товарища такая же как у меня G200...и у него не работает именно самое начало, момент подключения...так что эти советы для него были. С вашим 216 ваще история веселая ) я уже миллион раз объяснял, почему там отвалы возможны...и в новой версии они вероятнее, так как работает подписка на уведомления, а в старой версии более топорный метод был...с другой стороны скрипты с новой версии отработали хорошо...такой вот парадокс
Заметил что timeout 3 hcitool lescan срабатывает только после hciconfig hci1 reset
было такое с внутренним блютусом...сразу вам сказал, что это фигня нездоровая...такого быть не должно...возможно малинка не оч дружит с вашим модулем...кстати, у малинки где то есть официальный список протестированных и рекомендуемых устройств
незнаю это баг или фитча но решил попробовать с двумя блютусами, думал может второй будет лучше работать. Но первый просто не вытаскивал. Ха кажет два блютуса. Но сканирование, строка что ниже не показывает ни одного девайса.
Заново установил интеграцию, в логах пусто. Прикладываю видео, на котором видно зависание homeassistant после попытки управления чайником.
ну для начала вы все делаете неправильно.
соответственно не нужно менять градусы и одновременно включать электрик...что то одно из них...или по порядку но после завершения 1 действия. дело в том, что все команды блютуса тут синхронные, пока не получен ответ - движения дальше не будет. поэтому подлагивания интерфейса на 1-2 сек в момент обновления состояния или запуска команды это нормально, хоть и неприятно...почитайте соседний issue в конце...а вы пытаетесь одновременно запустить разные или одинаковые команды...
ну для начала вы все делаете неправильно.
- когда вы включаете електрик, то чайник включается на ту температуру, которая установлена... если там 100 - то будет кипятить, если меньше 100, то будет греть и поддерживать...
- когда вы переключаете температуру, то после ее изменения автоматом также включается тот режим, который подходит для температуры.
соответственно не нужно менять градусы и одновременно включать электрик...что то одно из них...или по порядку но после завершения 1 действия. дело в том, что все команды блютуса тут синхронные, пока не получен ответ - движения дальше не будет. поэтому подлагивания интерфейса на 1-2 сек в момент обновления состояния или запуска команды это нормально, хоть и неприятно...почитайте соседний issue в конце...а вы пытаетесь одновременно запустить разные или одинаковые команды...
Если просто электрик включить или попробовать изменить температуру, чайник также реагировать не станет.
Поставил новую версию. В списке интеграций Redmond не находится и не открывается... Все сломалось :) , но у меня и предыдущая версия более 6 часов не работала :(
В логах пишет, что не может найти модуль bluepy (точной ошибки не сохранил), хотя все установлено....
Но! поставил скрипты для управления чайником. https://sprut.ai/client/article/726. Спасибо iswitch! Работает больше суток!
mavrikkk, если Вам инетерсно могу удаленный достпу дать чтобы вы посмотрели в чем проблемы в моем случае...
Привет. Имею g200s и raspberry 4, свисток не подключал. На родном блютус без проблем находится чайник, синхронизируется, появляется 3 сущности но почему то со статусом unavailable. Чайник находится на расстоянии 1 метр. Так же чувствуется подвисает система.
Поставил новую версию. В списке интеграций Redmond не находится и не открывается...
потому что r4s искать надо а не redmond
В логах пишет, что не может найти модуль bluepy
у вас не hassio? в какой среде работает homeassistant? в hassio все из коробки работает...в любом другом случае нужно ставить bluepy притом от имени того пользователя, под которым работает ha. если все работает в virtual env, то нужно сначала переключиться на того пользователя.
Но! поставил скрипты для управления чайником. https://sprut.ai/client/article/726. Спасибо iswitch! Работает больше суток!
пользуйтесь, если вас устраивает
но почему то со статусом unavailable
значит что то не работает. что в логах? как у вас настроен homeassistant?
Так же чувствуется подвисает система.
подвисания на 1-2 сек возможны ТОЛЬКО в момент обновления статуса чайника...с периодичностью, которую вы сами установили в настройках. Это связано с синхронностью завпросов к чайнику. Если у вас вешается система и висит - что то сделано не так. Читайте логи. Если логов нет, то закомментируйте секции try except в функциях async_setup_entry, async_update и modeUpdate в файле init.py, перезагрузите HA, заново подключите чайник и ловите логи...
почитайте еще эту ветку...может вопросы отпадут
В общем так. 216 многострадальный чайник включается. Работает но. Компонент явно вешает ха с некой периодичностью. При чем рестарт через портейнер не всегда помогает. По логам никаких ошибок нет. Но морда становится не доступна. Перестают работать автоматизации. Восстановление работоспособности довольно муторное. Нужно вычищать файлы в папке storage от сущности чайника. На что грешить не знаю, может китайский блютус. Ха в докере на линуксе.
может кто-нибудь когда-нибудь в этом разберется ) у себя бы я, возможно, докопался до истины...возможно, когда текущий чайник сломается, у меня появится какой то из ваших...на текущем этапе могу поделиться своей конфигурацией: малинка 3б+, встроенные вифи и блютус ОТКЛЮЧЕНЫ на уровне ядра. сеть подключена через LAN, с wifi после какого то обновления стали появляться ОГРОМНЫЕ проблемы, веб морда отваливалась минимум раз в сутки и не приваливалась до перезагрузки. При этом HA сам по себе работал...просто сети не было )) Что еще...блютус свисток ноунейм с али называется по чипу, как то CSR4 что то в этом духе. на малинку накатана ПОСЛЕДНЯЯ raspbian...buster вроде...на нее по официальной инструкции с сайта накатан HA одной командой )) После этого подключил все устройства. может кого натолкнет на мысли
может кого натолкнет на мысли
В общем для теста перенес свой CSR4 свисток на малину. На малине 3b+ через cjnfig.txt отключил встоенный блютус. Накатил ха одной командой на rasbian в докер. Установил стек блютус. На всякий выполнил рекомендации для работы с блютузом не от рута. В консоли под pi вижу чайник и прочий хлам через sudo timeout 5s hcitool -i hci0 lescan. Малину перенес на кухню, в метре от чайника без преград. ХА видит девайс HCI0. Но сканированием не видит чайник, как и другие девайсы .... ((( Ребутил все, ребутих ха. Сканирование не проходит .... В общем конфа как у вас, разве что по вафле, но у меня по ней отвалов разбиана нет, ха за ночь не отвалился.
примечательно что mitemp_bt видит датчик в ха...
Но сканированием не видит чайник, как и другие девайсы
значит у вас не установлена или не работает библиотека bluepy сканирование производится именно ей...
попробуйте этот скрипт
Но сканированием не видит чайник, как и другие девайсы
значит у вас не установлена или не работает библиотека bluepy сканирование производится именно ей...
попробуйте этот скрипт
File "k.py", line 8 def get_devices: ^ SyntaxError: invalid syntax
где то в синтаксисе косяк. но там копипаста банальная но я установил сейчас bluepy в хост. ребутнул ха. не помогло.
После добавления плагина и перезагрузки, UI HA виснет и не отвечает. Установлен hassio. Как быть?