Тион пульт не работает

Содержание
  1. Управление Tion S3 и его подключение к умному дому
  2. Получение и декодирование данных
  3. Читать хорошо, но хочется и управлять
  4. Как этим всем пользоваться
  5. Тион пульт не работает
  6. Бризер Тион / Tion О2 — отзыв
  7. Сломался через 6 дней после установки. Рекорд !
  8. Компоненту не удается подключиться к бризеру в режиме сопряжения #27
  9. Comments
  10. foxoskol commented Dec 15, 2020 •
  11. IATkachenko commented Dec 15, 2020 •
  12. foxoskol commented Dec 15, 2020
  13. foxoskol commented Dec 15, 2020
  14. IATkachenko commented Dec 15, 2020 •
  15. IATkachenko commented Dec 15, 2020
  16. foxoskol commented Dec 15, 2020
  17. foxoskol commented Dec 15, 2020
  18. IATkachenko commented Dec 15, 2020 •
  19. IATkachenko commented Dec 15, 2020 •
  20. foxoskol commented Dec 15, 2020
  21. stsergo commented Dec 15, 2020 •
  22. foxoskol commented Dec 15, 2020 •
  23. stsergo commented Dec 15, 2020
  24. foxoskol commented Dec 15, 2020
  25. IATkachenko commented Dec 15, 2020
  26. IATkachenko commented Dec 15, 2020
  27. IATkachenko commented Dec 15, 2020
  28. stsergo commented Dec 15, 2020
  29. foxoskol commented Dec 15, 2020
  30. IATkachenko commented Dec 15, 2020
  31. stsergo commented Dec 15, 2020
  32. IATkachenko commented Dec 15, 2020 •
  33. stsergo commented Dec 15, 2020
  34. IATkachenko commented Dec 15, 2020
  35. stsergo commented Dec 15, 2020
  36. IATkachenko commented Dec 15, 2020
  37. stsergo commented Dec 15, 2020
  38. IATkachenko commented Dec 15, 2020
  39. stsergo commented Dec 15, 2020
  40. stsergo commented Dec 15, 2020 •
  41. IATkachenko commented Dec 15, 2020 •

Управление Tion S3 и его подключение к умному дому

У TIONofficial есть замечательный продукт: бризер — система активной приточной вентиляции с фильтрами (и теперь с подогревом уличного воздуха). Такие относительно большие ящики, которые через дырку в стене засасывают уличный воздух, прогоняют через фильтры и тадам: в комнате чистый и свежий воздух.

Смотреть на них я начал несколько лет назад, тогда эти устройства управлялись обычным ИК пультом и интегрировать их в любой умный дом было относительно не сложно: умный ИК пульт + сграбить нужные команды управления. Новые же девайсы управляются модно, со смартфона, а пульт перестал быть оптическим. И вот тут с интеграцией возникла проблема: через телефон управлять можно, а вот к контроллеру умного дома уже не подключишь.

Есть еще базовая станция Magic air с выносным датчиком CO2, которая управляет бризером на основе показаний датчика, но возможность управления бризером контроллером умного дома через такую базовую станцию тоже под вопросом.

Что ж, настало время посмотреть как же эту задачу решает телефон и сделать свой сервис для управления бризером.

В спецификации на сайте сказано, что нужен телефон с Bluetooth 4.0 и выше. Приложений два: Magic air и Tion remote. Разбиралось второе, поскольку оно проще и в нем нет специфики работы с базовой станцией.

После декомпиляции быстро нашлись классы, отвечающие за взаимодействие (кстати, разные для версии S3 и S3 lite): приложение и бризер обмениваются пакетам по 20 байт, в начале и конце которого фиксированные символы (= и Z соответственно), второй байт в пакете — передаваемая команда (из enum).

Доступных действий три: pair, decode и encode. Ими и займемся.

Бризер не транслирует ничего во внешний мир. В инструкции сказано что чтобы подружить его с телефоном или пультом нужно на 5 секунд зажать кнопку управления. В этот момент его можно обнаружить и передавать любые команды, на которые он будет отвечать.

Но даже если подать BT команду «pair», после выхода из этого режима, при попытке подключения, бризер будет тут же сбрасывать соединение.

Чтобы это не происходило нужно за время «дружелюбного» режима передать ему pair пакет, который отличается от обычного пакета еще и тем, что 3 байт выставляется в единицу. В результате получаем вот такой базовый сборщик команд:

и после передачи пакета с command_PAIR, к устройству можно подключаться в любой момент.

Большой проблемой для меня стало разобраться куда же этот пакет нужно передать: устройство танслирует несколько characteristic и из декомпилированного приложения я так и не понял что куда нужно писать. Но нашелся класс с описанием uuid и человеческими названиями этих uuid.

Читайте также:  Не работает память сидений ниссан теана j32

Как вскоре выяснилось, pair-пакет нужно писать в DeviceUUID. В итоге pair делается так:

Получение и декодирование данных

После того как стало возможно нормально общаться с бризером захотелось получать от него что-нибудь разумное, что отображается на экране приложения.
Исходные данные можно получить если прочитать из той же характеристики, что используется для pair.

А на параметры 20 байт ответа разбираются вот так:

Но тут выяснилось, что при последовательных чтениях данные не обновляются. Чтобы их обновить нужно прочитать данные из notify характеристики и послать команду command_REQUEST_PARAMS в write характеристику. После этого функция для получения актуальных данных с бризера начинает выглядеть примерно так:

Теперь каждый вызов get выдает актуальные данные с бризера.

Читать хорошо, но хочется и управлять

Получение данных с бризера — хорошо, но цель в том, чтобы ночью уменьшать мощность вентилятора (сильно шумит, зараза), управлять оборотами на основании данных mhz19 итд.

За запись данных отвечает пакет с командой command_SET_PARAMS. В пакете всегда содержится полный набор устанавливаемых данных, поэтому если хочется поменять что-то одно, нужно прочитать текущее состояние, изменить то, что нужно, и после этого передать полный набор параметров обратно на бризер.

Пишем это все в характеристику uuid == uuid_write.
Неясной осталась судьба еще пары байт пакета, игнорирование которых видимого эффекта на работу не оказало.

Как этим всем пользоваться

Результаты изысканий выше собраны в модуль для python3.
На коленке написан простой API сервер, который транслирует json-запросы, через модуль управления, в бризер и выдает json ответы.

В Home assistant сказано, что есть: rest сенсор, rest команды управления и компонент fan, управление которым делается через rest команды.

И все это добро запущено на малине.

Дальше в планах — отдельный компонент для Home assistant, чтобы обойтись без промежуточного API сервера, который очень нужен поскольку обещаниями интеграции бризеров в умный дом Тион кормит публику с 2016 года (если я правильно помню историю общения с пользователями в официальной группе ВК(https://vk.com/tion_ru)), платформ управления великое множество, а с rest API могут взаимодействовать все.

Ну и хотелось бы, при помощи энтузиастов добавить поддержку lite версии, которую я могу изучать только теоретически.

И небольшая ложка дегтя: если использовать с HomeAssist, то сервер спустя некоторое время перестает успевать обрабатывать запросы. Видимо, HA делает одновременные запросы, которые не очень хорошо обрабатываются сервером.

Источник

Тион пульт не работает

«Здравствуйте. Сегодня, при включении бризера 3S произошел сбой. Пульт показывает ошибку EC. Что нам делать? »

Таблица кодов ошибок Бризера Тион 3s:

EC01

EC02

Температура воздуха на входе в устройство выше максимально допустимой.

Возможные причины возникновения:

  1. Температура на входе в устройство выше максимально допустимого (для EC02 минимального) значения
  2. Ошибка в работе электроники
  3. Неисправен термодатчик
  4. Неисправна плата управления
  1. Дождитесь, когда температура уличного воздуха станет ниже +50°С (Теплее -40 при EC02).
EC03 Температура воздуха на выходе из устройства выше максимально допустимой.

Возможные причины возникновения:

  1. Ошибка в работе электроники
  2. Неисправен один из термодатчиков
  3. Нарушено подключение одного из термодатчиков к плате управления
  4. Неисправна плата управления
EC04 Нагреватель не обеспечивает подогрев воздуха до 0°С.

Возможные причины возникновения см. EC03.

EC05 Заслонка не перешла в одно из крайних положений.

Возможные причины возникновения:

  1. Ошибка в работе электроники
  2. Посторонние предметы в воздушном канале или полости устройства
  3. Неисправен один из концевых выключателей заслонки
  4. Отсутствует соединение концевых выключателей с платой управления.
  5. Отсутствует питание мотора блока заслонки

Способы устранения: извлеките фильтры из устройства. Очистите воздушный канал или полость устройства от посторонних предметов.

EC06 Переохлаждение платы управления.

Возможные причины возникновения:

  1. Ошибка в работе электроники
  2. Неисправен термодатчик платы управления
  3. Нарушена теплоизоляция внутри прибора
EC07,

EC09

Неисправность в цепи одного из датчиков температуры выходящего воздуха.

Возможные причины возникновения:

  1. Ошибка в работе электроники
  2. Неисправность в цепи термодатчика
EC08,

EC10

Неисправность в цепи датчика температуры входящего воздуха.

Возможные причины возникновения:

  1. Ошибка в работе электроники
  2. Неисправность в цепи термодатчика
EC11 Нарушение связи между платой силовой и платой управления.

Возможные причины возникновения:

  1. Ошибка в работе электроники
  2. Отсутствует контакт между разъемами шлейфа и одной из плат.
  3. Неисправна плата управления
  4. Неисправна плата силовая
EC12,

EC13

Блок заслонки из режима «Рециркуляция» не перешел в режим «Приток»(EC12) и ,наоборот, из «притока» в «рециркуляцию» (EC13).

Возможные причины возникновения:

  1. Ошибка в работе электроники
  2. Посторонние предметы в воздушном канале или полости устройства
  3. Неисправен один из концевых выключателей заслонки
  4. Отсутствует соединение концевых выключателей с платой управления
  5. Отсутствует питание блока заслонки
EC14 Переохлаждение платы силовой.

Возможные причины возникновения:

  1. Ошибка в работе электроники
  2. Неисправен термодатчик платы силовой
  3. Нарушена теплоизоляция внутри прибора.
EC15 Перегрев платы силовой.

Возможные причины возникновения см. EC14.

Способы устранения №2:

Переведите устройство в режим «Ожидание» и отключите от сети питания на 5 мин.

Если устранить ошибку самостоятельно не удается, обратитесь в службу сервиса организации-продавца или ближайшие авторизованные сервисные центры.

Источник

Бризер Тион / Tion О2 — отзыв

Сломался через 6 дней после установки. Рекорд !

Фантастическое китайское качество — через 6 дней после установки бризер перестал включаться. И, конечно, в праздники. И , конечно, в офисе никого нет.

В принципе, он даже работал. Пока я решил не попробовать функцию подогрева воздуха. После этого бризер работал минуты 3, а потом отключался. После очередного включения выключился и больше не включился. Индикации ошибок нет. Выключение из розетки не помогает.

Есть у меня подозрение — что тут виновата как китайская начинка , так и инсталляция суперсертифицированными партнерами. Только что прошел сильный дождь, наверняка чего нибудь залило и заклинило.

В общем, посмотрим что ответит техподдержка после праздников.

Я здесь напишу номер обращения в сервисную службу:
SD-71069/Заявление об отправке устройства на диагностику
Можете контролировать, пока правда ситуация так себе: мне обещают прислать курьера с заглушкой для дырки наружу, после чего меня должен посетить мастер для демонтажа бризера.

Также было предложение добыть заглушку самому, снять самому бризер и отвезти его на диагностику.

У меня вот вопросы:
1) а почему нельзя совместить привоз заглушки и визит мастера для демонтажа?
2) почему нельзя сказать ТОЧНУЮ дату, когда произойдут события из пункта 1?
3) Как вы себе представляете снятие бризера заказчиком?
4) Где я могу увидеть статус моей сервисной заявки ?

Источник

Компоненту не удается подключиться к бризеру в режиме сопряжения #27

Comments

foxoskol commented Dec 15, 2020 •

версия компонента: 1.4.1
модель бризера: Lite

Теперь не сопрягается.
так же ошибка в веб интерфейсе:

В логах:

Бризер 100% видеться, так как hcitool lescan(bubnru 20.04) видит устройство:

У меня одного такая проблема?

The text was updated successfully, but these errors were encountered:

IATkachenko commented Dec 15, 2020 •

У вас точно в момент сопряжения к бризеру никто не подключается (телефон, пульт, слишком умный какой-нибудь компоненту, увидевший новый BT девайс)?

foxoskol commented Dec 15, 2020

по идее нет, но сейчас на всякий случай, на всех устройствах выключу все.

foxoskol commented Dec 15, 2020

выключил вообще все устройства. И самое забавное, что после вот такой неудачно попытке сопряжения, бризер не выходит из режима поиска BT по таймауту.

IATkachenko commented Dec 15, 2020 •

А какая версия bluez у вас на системе? Что-то мне подсказывает что причина где-то в тех краях кроется.

И самое забавное, что после вот такой неудачно попытке сопряжения, бризер не выходит из режима поиска BT по таймауту.

Сопряжения еще не было: устройство не смогло даже подключиться к бризеру: в норме после Pairing в логе должно быть Connected. BT pairing . , а у вас оно вываливается в exception сразу на стадии connect.

IATkachenko commented Dec 15, 2020

И второй вопрос: через gatttool подключиться получается?

foxoskol commented Dec 15, 2020

Версия bluez 5,53. а вот через gatttool что то не коннектится, хотя видит его. Скорей всего у меня проблема в BT, буду копать, и отпишусь.

foxoskol commented Dec 15, 2020

Через bluetoothctl получилось и pair установить и подключиться. В плагине все тоже самое.

IATkachenko commented Dec 15, 2020 •

bluepy поддерживает 5.47. Может быть в этом дело.
Хотя, если он ставился через pip, все должно быть правильно.
Попробуйте bluepy переустановить в системе (pip uninstall/install): может быть после установки blupy обновился bluez и потерялась совместимость.
Хотя у меня в системе 5.50, а bluepy тащит свой экземпляр helper’a (lib/python3.7/site-packages/bluepy/bluepy-helper)

IATkachenko commented Dec 15, 2020 •

Еще можно попробовать скрипт https://github.com/TionAPI/tion_python/blob/master/tests/lite.py: если вы через bluetoothctl сделали pair он должен сработать. Да и тестироваться будет проще, чем через Home Assistant.
Мак бризера ему нужно скормить первым аргументом

foxoskol commented Dec 15, 2020

Видимо проблем еще в ubun20.04 Завтра попробую перекатить на 18.

stsergo commented Dec 15, 2020 •

Аналогичная проблема при подключении к tion lite

bluez 5.44
на хосте висел monitor — до его отключения были ошибки, аналогичные @foxoskol

После отключения в логах HA:

При этом lite.py очень даже подключается и считывает данные:

foxoskol commented Dec 15, 2020 •

@stsergo У Вас получилось запустить lite.py из tion_python-1.1.0/tests/? У меня при попытке запуска:
`Traceback (most recent call last):
File «lite.py», line 3, in
from tion_btle.lite import Lite
ModuleNotFoundError: No module named ‘tion_btle’

stsergo commented Dec 15, 2020

@foxoskol я его в venv поставил через pip. А файлик для удобства скопировал в домашний каталог

foxoskol commented Dec 15, 2020

@foxoskol я его в venv поставил через pip. А файлик для удобства скопировал в домашний каталог

хм. да по идее из из хост системы должен запускаться. Странно.
у меня HA просто стоит в docker

IATkachenko commented Dec 15, 2020

@foxoskol у вас там где запускаете tion_btle не установлен.

IATkachenko commented Dec 15, 2020

Проблему, похоже, локализовали в python-модуле: модулю не нужно активировать уведомления во время pairing’a. Похоже бризер воспринимает это как «полезное действие» и завершает pair-процедуру.

IATkachenko commented Dec 15, 2020

Попробуйте, пожалуйста, tion-btle==1.1.1a1 и вот такой скрипт (по аналогии с lite.py) с бризером в режиме сопряжения:

stsergo commented Dec 15, 2020

foxoskol commented Dec 15, 2020

@IATkachenko чет я ступил на счет библиотеки и правда. Извините, видимо вечер.

у меня вот что получилось(из выше предложенного Вами скрипта):
root@homeassistant:/home/fox/tion_python-1.1.0# python3.8 test.py E4:13::::
DEBUG:tion_btle.tion:Pairing
DEBUG:tion_btle.tion:Enabling notification
DEBUG:tion_btle.tion:Delegation enabled
DEBUG:tion_btle.tion:First read done
DEBUG:tion_btle.tion:enable_notification is done
DEBUG:tion_btle.tion:Connected. BT pairing .
DEBUG:tion_btle.tion:disconnected
Traceback (most recent call last):
File «test.py», line 17, in
device.pair()
File «/home/fox/tion_python-1.1.0/tion_btle/tion.py», line 475, in pair
if rsp[‘estat’][0] == 0 or rsp[‘estat’][0] == 19 or rsp[‘code’][0] == ‘success’:
KeyError: ‘estat’

IATkachenko commented Dec 15, 2020

@foxoskol, у вас работает как надо даже с notification’ами (те с той же версией что сейчас в production).
С KeyError буду разбираться: возможно я перемудрил с проверкой состояний, но, похоже что у вас все работает и после правки этого бага все заведется в HA.
@stsergo, а у вас вообще подключиться не может: очень похоже что к бризеру кто-то подключился или бризер так думает.

stsergo commented Dec 15, 2020

Да, прошу прощения, monitor забыл, что monitor перезапускается, если не запущен(

IATkachenko commented Dec 15, 2020 •

Отлично, у вас тоже все работает правильно.
в версии 1.1.1a2 KeyError поправил. Попробуйте ее, пожалуйста.
С ней, по идее, все должно заработать как надо.

stsergo commented Dec 15, 2020

В HA добавился бризер:

IATkachenko commented Dec 15, 2020

Отлично. Fix-релиз будет в ближайшее время.
Спасибо за помощь в отладке.

stsergo commented Dec 15, 2020

Добавиться то он добавился, но не управляется (

IATkachenko commented Dec 15, 2020

Это стабильное состояние или иногда встречается? Подключение не перехватывает никто?

stsergo commented Dec 15, 2020

стабильное. Все, что могло перехватывать подключения — выключено. на этом же хосте через bluetoothctl получается подключиться

IATkachenko commented Dec 15, 2020

А просто данные получаются? Те не работает только set или get тоже?

stsergo commented Dec 15, 2020

нет, не получаются

stsergo commented Dec 15, 2020 •

Не может быть связано с #23 ?
Бризеры у меня достаточно новые, возможно тоже прошивка отличается от той, на которой вы внедряли.

IATkachenko commented Dec 15, 2020 •

@stsergo я в ваших логах, которые прикладывали чуть выше, вижу нормальный обмен

Те в этой части все работает.
Давайте в новом issue сделаем чистый эксперимент: нужны будут логи когда компонент уже добавлен и HA пытается получить данные от бризера. Обновленная версия компонента и модуля уже доступны.

Источник

Оцените статью