TionAPI / HA-tion

Home assistant integration for Tion breezers
Apache License 2.0
70 stars 5 forks source link

Authentication Failed во время pairing Tion Lite #57

Closed ikido closed 2 years ago

ikido commented 2 years ago

Общая информация

Краткое описание

При подключении интеграции возникает ошибка во время pairing

Debug-log

2021-09-23 21:05:06 DEBUG (MainThread) [custom_components.tion.config_flow] Real pairing step
2021-09-23 21:05:06 DEBUG (MainThread) [custom_components.tion.config_flow] {'name': 'Tion Breezer', 'keep_alive': 60, 'away_temp': 15, 'pair': True, 'mac': 'C7:E3:44:EB:6E:DF', 'model': 'Lite'}
2021-09-23 21:05:06 DEBUG (MainThread) [tion_btle.tion] Pairing
2021-09-23 21:05:06 DEBUG (MainThread) [tion_btle.tion] Connecting
2021-09-23 21:05:07 DEBUG (MainThread) [tion_btle.tion] Notifications was not requested
2021-09-23 21:05:07 DEBUG (MainThread) [tion_btle.tion] Connected. BT pairing ...
2021-09-23 21:05:07 DEBUG (MainThread) [tion_btle.tion] Got response while sending pair command: {'rsp': ['mgmt'], 'code': ['mgmterr'], 'estat': [5], 'emsg': ['Authentication Failed']}
2021-09-23 21:05:07 CRITICAL (MainThread) [tion_btle.tion] Unexpected response: {'rsp': ['mgmt'], 'code': ['mgmterr'], 'estat': [5], 'emsg': ['Authentication Failed']}
2021-09-23 21:05:07 CRITICAL (MainThread) [tion_btle.tion] Got exception while pair TionException: ('pair', {'rsp': ['mgmt'], 'code': ['mgmterr'], 'estat': [5], 'emsg': ['Authentication Failed']})
2021-09-23 21:05:07 DEBUG (MainThread) [tion_btle.tion] disconnected
2021-09-23 21:05:07 ERROR (MainThread) [custom_components.tion.config_flow] Cannot pair and get data. Data is {'name': 'Tion Breezer', 'keep_alive': 60, 'away_temp': 15, 'pair': True, 'mac': 'C7:E3:44:EB:6E:DF', 'model': 'Lite'}, result is {}; TionException: ('pair', "TionException: ('pair', {'rsp': ['mgmt'], 'code': ['mgmterr'], 'estat': [5], 'emsg': ['Authentication Failed']})")

Как можно воспроизвети вашу проблему

  1. Установить компонент через HACS
  2. Добавить интеграцию через UI
  3. Запустить pairing

Дополнительное описание

Когда pairing не срабатывает бризер издает звук и выходит из режима pairing

IATkachenko commented 2 years ago

А как обстоят дела с bluetooth ключами? Секции [IdentityResolvingKey] и [LongTermKey] в bluetooth-конфиг-файле в порядке?

ikido commented 2 years ago

@IATkachenko Не нашел нигде в конфигах такие ключи, подскажете где смотреть?

IATkachenko commented 2 years ago

Вы же написали что действий из Wiki не требуется... https://github.com/TionAPI/HA-tion/wiki/Bluetooth секция "Сопряжение успешно, но не получается получить данные"

ikido commented 2 years ago

@IATkachenko пардон, перечитал еще раз, понял что секция Сопряжение успешно, но не получается получить данные как раз мою ситуацию, pairing прошел через bluetoothctl, и даже коннект работает.

Но, при добавлении бризера с выключенным pairing все равно получаю ошибку: 2021-09-24 20:22:50 WARNING (MainThread) [tion_btle.tion] Got BTLEDisconnectError:Failed to connect to peripheral C7:E3:44:EB:6E:DF, addr type: random

Я же правильно понимаю что тут дело не в доступе HA. к bt? В какую сторону копать?

IATkachenko commented 2 years ago

Нет, дело не в доступе к BT, blupy пытается подключиться и не похоже что ошибки связанны с доступом к BT-стеку. Чтобы это проверить можно запустить bluetoothctl из контейнера HA. Скорее всего все будет работать так же как и на хост-системе. Показатель успешности -- прохождение connect, так же как и на host-системе.

Ошибка из последнего сообщения достаточно стандартная (привыкайте ;) ).

Сейчас нужно проверить:

  1. что при попытке подключения никто к бризеру не подключен (ни пульт, ни приложение ни с какого устройства, ни хост система (последнее видно через bluetoothctl));
  2. проверить (еще раз) что после сопряжения через bluetoothctl ключи появились (иногда не появляются).

Если ключи есть, к бризеру никто не подключен и все равно не работает -- сходить выпить чаю и вернуться к проблеме минут через 5-10 (да, это тоже помогает %) ) И раз работает connect через bluetoothctl, то наиболее вероятно что именно это и сработает.

ikido commented 2 years ago

@IATkachenko спасибо большое, выпить чаю помогло) Все оказалось просто, надеюсь это issue кому-то в будущем поможет тоже.