esphome-tion icon indicating copy to clipboard operation
esphome-tion copied to clipboard

Tion O2 Mac

Open didjeru opened this issue 2 years ago • 21 comments

Привет! А есть ли вероятность, что заработает с О2 МАС? Вроде как где-то слышал, что он по WiFi работает...

didjeru avatar Jun 17 '22 19:06 didjeru

У O2 нет BLE, только если пробовать хардварное подключение

dentra avatar Jun 18 '22 20:06 dentra

Ещё немного информации.

Эта модель есть с дополнительным модулем на STM32+Si4463. Общение с MA идёт по RF, частота пока неизвестна (433/470 или 868/915)

dentra avatar Jun 19 '22 23:06 dentra

По хардварной части все довольно просто, есть 4 пиновый разъём с 5В питанием и большой шанс что именно rx и tx, т.к. модуль общения с MA подключатся через него

dentra avatar Jun 20 '22 00:06 dentra

Есть способы подключения О2?

rbalaev avatar Sep 01 '23 07:09 rbalaev

К сожалению, у меня нет этого устройства. Пока кто-то не попробует удостовериться, что там есть рабочий uart и он что-то шлет и принимает никуда двинутся не могу

dentra avatar Sep 03 '23 10:09 dentra

К сожалению, у меня нет этого устройства. Пока кто-то не попробует удостовериться, что там есть рабочий uart и он что-то шлет и принимает никуда двинутся не могу

Я могу как то вам помочь в этом, девайсы есть, но нужна помощь.

rbalaev avatar Sep 03 '23 14:09 rbalaev

Добрый день! Да, у него уарт. Скорее всего у всех моделей O2 (не только у O2 MAC, который у меня), так как модуль радиоканала можно купить отдельно. Нужно открыть и проверить наличие разъема. Для исследования, мне нужна была станция AIR. Ну а после того как я ее приобрел, разбирать прибор больше не захотел. Скорее всего можно попробовать считать данные и со станции. Хочется отвязаться о аккаунта в Тионе. Но одному заниматься не интересно…

didjeru avatar Sep 03 '23 21:09 didjeru

У меня есть RF модуль из O2. если это поможет 20230904_091012 20230904_091030

rbalaev avatar Sep 04 '23 06:09 rbalaev

O2 еще может работать через wifi модуль MagicAir, через такой способ можно добавить?

rbalaev avatar Sep 08 '23 07:09 rbalaev

Через MA какие-то данные можно получить, для этого есть компонент в HA, но он забирает данные из облака

dentra avatar Sep 08 '23 09:09 dentra

Спасибо за отличные фото (видно все дорожки), я посмотрю uart это или разъем для прошивки.

dentra avatar Sep 08 '23 09:09 dentra

какими разъемом этот модуль подключается к бризеру, X4, вот сюда?

dentra avatar Sep 08 '23 12:09 dentra

если разъем X4 действительно юарт, то проще всего подключить RF модуль к компу через переходник и посмотреть какие данные он посылает. В целом есть полная информация о двух тионовских протоколах, если это какой-то один из них, то сразу бинго, в противном случае реверс займет чуть больше времени и потребутеся создать прокси подключение.

dentra avatar Sep 08 '23 12:09 dentra

O2 еще может работать через wifi модуль MagicAir, через такой способ можно добавить?

Нет у О2 вафли. С МА они общаются по радиоканалу. А уже МА с роутером.

didjeru avatar Sep 09 '23 04:09 didjeru

Следующая информация для тех кто хоть немного дружит с паяльником, имеет в распоряжении станцию MagicAir (MA) и имеет желание помочь собрать данные чтобы разобрать протокол взаимодействия.

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

Оптимальнее всего если заведется на какой-нибудь esp32c3 т.к. дешева и не требовательна по питанию.

Для подключения, нас интересует разъем X4: расположение пинов

Конфиг для прошивки ~~предоставлю по вашей готовности~~ в мастере.

Для сбора данных от вас требуется, выполнять следующие шаги:

  1. знать текущее состояние бризера (чем больше данных, тем лучше)
  2. текущее состояние лога бризера
  3. выполнить какую-то команду
  4. дождаться результата в логе
  5. сохранить результаты
  6. повторять по отдельности пункты 1-5

dentra avatar Jan 25 '24 15:01 dentra

этот комментарий я буду редактировать по мере появления дополнительной информации и понимания

Структура команд XX YY..YY ZZ, где

  • XX - код команды, запрос всегда 0X, ответ 1X, но есть исключения
  • YY..YY - тело команды, может отсутствовать
  • ZZ - контрольная сумма (polynominal=0x01, initial=0xFF, final=0x00)

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

На текущий момент известны команды:

00 connect (предположительно)

RF: 00 FF
O2: 10 04 10 01 00 FA

структура (тело) ответа неизвестна

команда посылается при появлении питания на RF модуле, следом сразу идет команда 07

01 state get

RF: 01 FE
O2: 11 0С 14 17 10 02 3С 04 00 00 04 0А ВС 01 47 73 СВ 01 E3

структура (тело) ответа:

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18
  • 1: flags 1110: heat=1, buzzer?=1, power=1, filter?=0 1100: heat=1, buzzer?=1, power=0, filter?=0 0110: heat=0, buzzer?=1, power=0, filter?=0
  • 2: outdoor_temp, signed
  • 3: current_temp, signed
  • 4: target_temp, signed, (-20:25)
  • 5: fan_speed, 1:4
  • 6: productivity
  • 7: unknown7 всегда 04, возможно максимально-допустимая скорость вентиляции
  • 8,9: error номер включенного бита (начиная с 1), является номером ошибки
  • 10,11,12,13: work_time in seconds
  • 14,15,16,17: filter_time in seconds

02 state set

RF: 02 01 EC 01 01 01 11
O2: 11 0E FF 0A EC 01 23 04 00 00 80 AE DE 01 A3 1E C9 01 5B   <- исключение
  • 1: fan_speed, 1:4
  • 2: target_temp, signed -20:25
  • 3: power, 0 off, 1 on
  • 4: heat, 0 off, 1 on
  • 5: source, 0 - auto, 1 - user

в ответ приходит команда 11

03 device mode

RF: 03 FC
O2: 13 00 EC

структура (тело) ответа:

  • 1: бит 0 - пользователь совершает манипуляции с бризером, бит 1 - включен режим сопряжения

следом сразу идет команда 04

04 work mode (предположительно)

RF: 04 00 FB
O2: 55 AA      <- исключение

структура (тело) запроса:

  • 1: бит 1 - подключен модуль RF, бит 2 - возможно выставляется при обмене с MA во время процесса сопряжения, бит 3 - MA работает в автоматическом режиме бит 4 - подключена станция MA

команды 03 и 04 повторяются каждые 200мс.

05 time get

RF: 05 FA
O2: 15 0B 09 1A F2

структура (тело) ответа:

00 01 02 03 04
  • 1: hours
  • 2: minutes
  • 3: seconds

06 time set

RF: 06 16 34 09 D2
O2: 15 16 34 09 C1   <- исключение

структура (тело) запроса:

00 01 02 03 04
  • 1: hours
  • 2: minutes
  • 3: seconds

в ответ приходит команда 15

07 device status (предположительно)

RF: 07 F8
O2: 17 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 61 0E 13 04 10 EC 19 79

структура (тело) ответа:

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
  • 1: возможно максимально-допустимая скорость вентиляции.
  • 17,18: версия железа бризера
  • 19,20: версия прошивки бризера
  • 21: возможно максимально-допустимая скорость вентиляции.
  • 23: signed, минимальная темература нагревателя
  • 24: signed, максимальная температура нагревателя

dentra avatar Jan 25 '24 16:01 dentra

для желающих попробовать tion-o2-uart.yaml

dentra avatar Jan 26 '24 16:01 dentra

Важно

Для правильной работы, как минимум, по линии RX необходимо согласование уровня 5V-3.3V. В оригинальной схеме RF модуля это сделано по минимуму через резистор номиналом 100 Ом. Рекомендуется преобразователь уровней или схема из 2 резисторов.

Гарантировать работу и дальнейшую поддержку могу только на чипах семейства esp32.

dentra avatar Jan 27 '24 00:01 dentra

Ну что же есть положительный отзыв, базовый функционал успешно работает. Так же проверили, команды 03 и 04 для корректной работы посылать не обязательно. Возможно какая та из команд влияет на определение подключён ли RF модуль или нет, но это повлияло только на то, что при попытке активировать MA написало «no RF».

dentra avatar Jan 28 '24 17:01 dentra

Привет. подойдет ли o2 base версия для модификации? Если да, то поделитесь пожалуйста схемой для распайки

dpolyakov avatar May 21 '24 06:05 dpolyakov

@dpolyakov только если выведен такой 4-х пиновый разъем

dentra avatar May 21 '24 20:05 dentra

реализовано

dentra avatar Aug 13 '24 16:08 dentra