Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tion O2 Mac #4

Open
didjeru opened this issue Jun 17, 2022 · 21 comments
Open

Tion O2 Mac #4

didjeru opened this issue Jun 17, 2022 · 21 comments
Labels
enhancement New feature or request

Comments

@didjeru
Copy link

didjeru commented Jun 17, 2022

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

@dentra
Copy link
Owner

dentra commented Jun 18, 2022

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

@dentra
Copy link
Owner

dentra commented Jun 19, 2022

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

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

@dentra
Copy link
Owner

dentra commented Jun 20, 2022

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

@rbalaev
Copy link

rbalaev commented Sep 1, 2023

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

@dentra
Copy link
Owner

dentra commented Sep 3, 2023

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

@rbalaev
Copy link

rbalaev commented Sep 3, 2023

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

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

@didjeru
Copy link
Author

didjeru commented Sep 3, 2023

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

@rbalaev
Copy link

rbalaev commented Sep 4, 2023

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

@rbalaev
Copy link

rbalaev commented Sep 8, 2023

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

@dentra
Copy link
Owner

dentra commented Sep 8, 2023

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

@dentra
Copy link
Owner

dentra commented Sep 8, 2023

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

@dentra
Copy link
Owner

dentra commented Sep 8, 2023

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

@dentra
Copy link
Owner

dentra commented Sep 8, 2023

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

@didjeru
Copy link
Author

didjeru commented Sep 9, 2023

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

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

@dentra dentra added the enhancement New feature or request label Jan 18, 2024
dentra added a commit that referenced this issue Jan 25, 2024
dentra added a commit that referenced this issue Jan 25, 2024
dentra added a commit that referenced this issue Jan 25, 2024
@dentra
Copy link
Owner

dentra commented Jan 25, 2024

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

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

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

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

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

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

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

@dentra
Copy link
Owner

dentra commented Jan 25, 2024

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

Структура команд 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 added a commit that referenced this issue Jan 26, 2024
@dentra
Copy link
Owner

dentra commented Jan 26, 2024

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

@dentra
Copy link
Owner

dentra commented Jan 27, 2024

Важно

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

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

@dentra
Copy link
Owner

dentra commented Jan 28, 2024

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

dentra added a commit that referenced this issue Jan 29, 2024
dentra added a commit that referenced this issue Feb 13, 2024
dentra added a commit that referenced this issue Feb 13, 2024
@dpolyakov
Copy link

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

@dentra
Copy link
Owner

dentra commented May 21, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants