{"id":32656600,"url":"https://github.com/dentra/esphome-tion","last_synced_at":"2025-10-31T11:04:04.149Z","repository":{"id":44386938,"uuid":"456569322","full_name":"dentra/esphome-tion","owner":"dentra","description":"Tion Breezers control and monitoring ESPHome custom firmware","archived":false,"fork":false,"pushed_at":"2025-09-18T16:25:56.000Z","size":46362,"stargazers_count":135,"open_issues_count":16,"forks_count":24,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-09-18T18:55:16.904Z","etag":null,"topics":["3s","4s","air-ventilation","airpurifier","ble","breazer","breezer","climate","esp32","esphome","mqtt","o2","spruthub","tion","tion-3s","tion-4s","tion-lite","tion-o2","uart","ventilation"],"latest_commit_sha":null,"homepage":"https://t.me/esphome_tion","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dentra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://www.tinkoff.ru/cf/3dZPaLYDBAI","https://boosty.to/dentra","https://paypal.me/dentra0"]}},"created_at":"2022-02-07T15:43:38.000Z","updated_at":"2025-09-17T09:37:58.000Z","dependencies_parsed_at":"2023-12-27T04:09:21.709Z","dependency_job_id":"39c86a7f-1ac5-47eb-8621-362e79c8cc5f","html_url":"https://github.com/dentra/esphome-tion","commit_stats":{"total_commits":347,"total_committers":2,"mean_commits":173.5,"dds":"0.0057636887608069065","last_synced_commit":"753dac6a0776e1451bd425a36f7f8809cc45b4af"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/dentra/esphome-tion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dentra%2Fesphome-tion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dentra%2Fesphome-tion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dentra%2Fesphome-tion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dentra%2Fesphome-tion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dentra","download_url":"https://codeload.github.com/dentra/esphome-tion/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dentra%2Fesphome-tion/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281976636,"owners_count":26592973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-31T02:00:07.401Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3s","4s","air-ventilation","airpurifier","ble","breazer","breezer","climate","esp32","esphome","mqtt","o2","spruthub","tion","tion-3s","tion-4s","tion-lite","tion-o2","uart","ventilation"],"created_at":"2025-10-31T11:04:01.417Z","updated_at":"2025-10-31T11:04:04.134Z","avatar_url":"https://github.com/dentra.png","language":"C++","funding_links":["https://www.tinkoff.ru/cf/3dZPaLYDBAI","https://boosty.to/dentra","https://paypal.me/dentra0"],"categories":[],"sub_categories":[],"readme":"[version-shield]: https://img.shields.io/static/v1?label=Версия\u0026message=2024.12.0\u0026color=green\n[version]: https://github.com/dentra/esphome-tion/releases/\n\n[license-shield]: https://img.shields.io/static/v1?label=Лицензия\u0026message=MIT\u0026color=orange\u0026logo=license\n[license]: https://opensource.org/licenses/MIT\n\n[esphome-release-shield]: https://img.shields.io/static/v1?label=ESPHome\u0026message=2024.10.3\u0026color=green\u0026logo=esphome\n[esphome-release]: https://github.com/esphome/esphome/releases/\n\n[open-in-vscode-shield]: https://img.shields.io/static/v1?label=+\u0026message=Открыть+в+VSCode\u0026color=blue\u0026logo=visualstudiocode\n[open-in-vscode]: https://open.vscode.dev/dentra/esphome-tion\n\n[telegram-shield]: https://img.shields.io/static/v1?label=Поддержка\u0026message=Телеграм\u0026logo=telegram\u0026color=blue\n[telegram]: https://t.me/esphome_tion\n\n[donate-tinkoff-shield]: https://img.shields.io/static/v1?label=Пожертвования\u0026message=Т-Банк\u0026color=yellow\n[donate-tinkoff]: https://www.tinkoff.ru/cf/3dZPaLYDBAI\n\n[donate-boosty-shield]: https://img.shields.io/static/v1?label=Пожертвования\u0026message=Boosty\u0026color=red\n[donate-boosty]: https://boosty.to/dentra\n\n[blog-shield]: https://img.shields.io/static/v1?label=Новости\u0026message=Телеграм\u0026logo=telegram\u0026color=blue\n[blog]: https://t.me/dentra_blog\n\n[![Version][version-shield]][version]\n[![ESPHome release][esphome-release-shield]][esphome-release]\n[![License][license-shield]][license]\n[![Telegram][telegram-shield]][telegram]\n[![Blog][blog-shield]][blog]\n[![Support author][donate-tinkoff-shield]][donate-tinkoff]\n[![Support author][donate-boosty-shield]][donate-boosty]\n[![Open in Visual Studio Code][open-in-vscode-shield]][open-in-vscode]\n\n# Tion\n\nEnglish version of this page is available via [google translate](https://github-com.translate.goog/dentra/esphome-tion?_x_tr_sl=ru\u0026_x_tr_tl=en\u0026_x_tr_hl=en\u0026_x_tr_pto=wapp).\n\nКомпонент ESPHome для управления бризерами `Tion` с помощью ESP в вашей системе управления\nумным домом. Поддерживаются Home Assistant [API](https://esphome.io/components/api.html) и\nлюбые другие системы управления умным домом через протокол\n[MQTT](https://esphome.io/components/mqtt.html).\n\nПоддерживаемые модели и протоколы:\n - Tion 4S BLE\n - Tion 3S BLE\n - Tion Lite BLE\n - Tion 4S UART\n - Tion 3S UART\n - Tion O2 Mac UART (бризер должен иметь возможность подключения RF-модуля, наличие самого модуля не обязательно)\n - Tion Lite UART (будет доступно в следующей версии)\n\nИнтеграция позволяет управлять следующими функциями:\n* Включение/Выключение\n* Обогрев\n* Целевая температуры нагрева\n* Скорость притока воздуха\n* Звуковое оповещение (для O2 только если физически включено на бризере)\n* Световое оповещение (только для 4S и Lite)\n* Режим приток/рециркуляция (только для 4S и 3S)\n* Режим приток/рециркуляция/смешанный (только для 3S)\n* Гибко настраиваемые пресеты\n* Режим \"Турбо\"\n* Настройка времени пресета \"Турбо\"\n* Сброс ресурса фильтров (кроме O2)\n* Подтверждение сброса ресурса фильтра (кроме O2)\n\nДополнительно осуществляется мониторинг следующих показателей:\n* Температура снаружи\n* Температура внутри\n* Текущая потребляемая мощность нагревателя (только для 4S и Lite)\n* Оставшееся время жизни фильтра (кроме O2)\n* Индикация о требующейся замене/очистке фильтра (кроме O2)\n* Оставшееся время работы режима \"Турбо\"\n* Счетчик прошедшего воздуха (только для 4S и Lite)\n* Текущая производительностью бризера\n* Версия программного обеспечения бризера\n* Измерение энергопотребления (только для 4S и Lite)\n* Контроль состояния заслонки (только для Lite)\n* Внутренняя температура (только для 4S и Lite)\n\nА так же:\n* Конфигурация пресетов сервисом\n* Задание максимальной температуры нагрева 30°C, в том числе для модели Lite\n* Дамп и сброс внутренних таймеров (только для 4S)\n* Защита от обмерзания (только для 3S и O2, в 4S и Lite это неотключаемая встроенная возможность)\n* Контроль и зависимость состояния нагревателя от состояния заслонки (только для 3S и 4S)\n* Поддержка управления с помощью штатного пульта бризеров изначально не поддерживающих эту\nвозможность, например, O2 Mac или 3S без BLE модуля.\n\n\nПолный список возможностей смотрите в [инструкции по конфигурации](CONFIGURATION.md).\n\n\u003e [!CAUTION]\n\u003e ## ⚠️ **ВНИМАНИЕ: Все что вы делаете, вы делаете исключительно на свой страх и риск!**\n\u003e\n\n## Подключение\n\nДоступно два вида подключения BLE и UART.\n\nBLE подключение работает так же как ваш пульт или официальное приложение Tion Remote.\n\nUART подключение различно для разных моделей бризеров.\n\n### UART-подключение Tion 4S\n\nДля UART-подключения `Tion 4S` используется штатный интеграционный разъем бризера.\nРекомендуется приобрести стик [Lilygo T-Dongle S3](https://github.com/Xinyuan-LilyGO/T-Dongle-S3),\nпроще всего это сделать на AliExpress. Или собрать самостоятельно на базе ESP32.\n\n\u003e [!IMPORTANT]\n\u003e Для работы режима UART, прошивка бризера обязательно должна быть не ниже `02D2`,\n\u003e ниже работать не будет (основная на которой сейчас все проверяю `02E0`).\n\u003e\n\u003e Версия прошивки `03CD` имеет баг и так же не совместима, исправление производителем доступно только с версии `03E8`.\n\u003e\n\u003e Для апгрейда или даунгрейда встроенной прошивки бризера можно использовать проект\n\u003e [tion-web](https://dentra.github.io/tion-web/), где можно провести эти манипуляции прямо в браузере.\n\n\u003e [!IMPORTANT]\n\u003e Сборка и работа компонента на ESP8266 возможна, но стабильность не\n\u003e гарантируется, так же, в этом направлении, не будет оказана никакая поддержка,\n\u003e используйте только ESP32!\n\n\u003e [!IMPORTANT]\n\u003e При работе в UART-режиме, бризер требует опроса не реже одного раза в 8-10 сек,\n\u003e в противном случае тион отключает питание на интеграционном порту. OTA-обновление,\n\u003e в зависимости от удаленности от роутера и зашумленности эфира, может занимать более\n\u003e продолжительное время, в связи с этим иногда обновление может не завершится или стик\n\u003e может не успеть перегрузится. В зависимости от того что произошло может потребоваться\n\u003e выключить и повторно включить бризер. В случае неуспешного обновления будет работать\n\u003e предыдущая прошивка. В редких случаях может потребоваться повторная прошивка через USB.\n\n### UART-подключение Tion 3S\n\nДля UART-подключения `Tion 3S` используется штатный, но доступный только при небольшой\nразборке бризера, разъем. Здесь рекомендуется использовать любую ESP8266\n(ESP32 не тянет по питанию) используя [схему подключения](https://github.com/dentra/tion-hardware/blob/master/3s/NodeMCUv3-Tion.pdf).\nПри использовании ESP-01S не будет доступно подключение штатного модуля BLE,\nв остальных случаях подключение будет полным.\n\n\u003e Буду благодарен за любые эксперименты по использованию современных модулей ESP32,\nнапример, серий C6, S3, C3 или S2.\n\n### UART-подключение Tion O2 Mac\n\nДля UART-подключения `Tion O2 Mac` используется штатный, но доступный только при небольшой\nразборке бризера, разъем. Требуются начальные навыки работы с паяльником для подключения\nразъема типа XH2.54 4pin male к ESP (распиновку см. [здесь](https://github.com/dentra/tion-hardware/blob/master/o2/pin_schema.jpg))\n\nУточняйте доступность по приобретению готового переходника для подключения стика\n[Lilygo T-Dongle S3](https://github.com/Xinyuan-LilyGO/T-Dongle-S3).\n\n\u003e [!IMPORTANT]\n\u003e Сборка и работа компонента на ESP8266 возможна, но стабильность не\n\u003e гарантируется, так же, в этом направлении, не будет оказана никакая поддержка,\n\u003e рекомендуется использовать только ESP32!\n\nПо вопросам подключения велкам в [чат Telegram][telegram].\n\n## Прошивка\n\nВы можете загрузить и использовать примеры конфигурации для\n[Tion 4S BLE](configs/tion-4s-ble.yaml), [Tion 4S UART](configs/tion-4s-uart.yaml),\n[Tion Lite BLE](configs/tion-lt-ble.yaml), [Tion 3S BLE](configs/tion-3s-ble.yaml),\n[Tion 3S UART](configs/tion-3s-uart.yaml) и [Tion O2 UART](configs/tion-o2-uart.yaml)\nвсе файлы с подробным описанием (на английском).\nВ примерах базовой сущностью выступает компонент Climate,\nвы можете изменить его на Fan или даже обычный Switch и Number в качестве\nуправляющих элементов, смотрите [инструкцию по конфигурации](CONFIGURATION.md).\n\n* Скачайте конфигурацию соответствующую модели вашего бризера\n* Измените секцию `substitutions` согласно вашим предпочтениям\n* Измените набор подключаемых пакетов по вашему вкусу\n* Добавьте или удалите необходимы сущности согласно [инструкции по конфигурации](CONFIGURATION.md)\n* Поместите модифицированный файл в директорию с конфигурацией ESPHome\n* Запустите сборку и прошивку вашей конфигурации\n* Добавьте появившееся устройство в Home Assistant\n\n\nПо прошивке доступна [видео-инструкция](https://t.me/esphome_tion/13868).\n\n\u003e [!TIP]\n\u003e MAC-адрес для работы в режиме BLE можно посмотреть в приложении Tion Remote,\n\u003e в приложении MagicAir может отображаться другой адрес.\n\n\u003e [!IMPORTANT]\n\u003e Первая прошивка обязательно должна быть по проводу, прошивка пустышкой esphome не считается таковой!\n\n\u003e [!IMPORTANT]\n\u003e Для модели 4S, прошивка бризера обязательно должна быть от 02D2 до 0356 включительно, посмотреть ее можно в приложении Tion Remote.\n\u003e С версиями `02D0` и `03CD` точно работать не будет!\n\n## Использование в режиме BLE\n\nПосле [прошивки](#прошивка) и перед первым использование вам необходимо ввести\nсвой бризер в режим сопряжения (см. инструкцию) и только потом включать ESP или\nпровести перезагрузку ESP с помощью функции `Restart`.\n\nДополнительно, только для `Tion 3S`, необходимо нажать кнопку `Pair` в Home Assistant.\n\n\u003e [!NOTE]\n\u003e Рекомендуется использовать ESP c двумя ядрами, например из линейки ESP32 или ESP32-S3.\n\n\u003e [!IMPORTANT]\n\u003e Для стабильной работы модели Lite, прошивка бризера должна быть не ниже 0570\n\n## Использование в режиме UART\n\nНикаких дополнительный действий не требуется.\n\n## OTA-обновление\n\nВ режиме BLE - нет никаких ограничений.\n\nВ режиме UART для всех бризеров кроме Tion 4S - нет никаких ограничений.\n\nВ режиме UART только для Tion 4S - читайте секцию Important в разделе [UART-подключение Tion 4S](#uart-подключение-tion-4s).\n\n## Полезности\n### Просмотр и/или сброс внутренних таймеров Tion 4S\n\nДобавьте в свою конфигурацию пакет `tion_4s_timers.yaml`:\n```yaml\npackages:\n  tion:\n...\n  files:\n...\n    - packages/tion_4s_timers.yaml\n```\n\n## Использование с системами УД отличными от Home Assistant\n\nВы можете использовать этот компонент с любой системой УД через протокол MQTT.\nДля этого в файле конфигурации найдите и раскомментируйте секцию `mqtt`, дополнительные параметры\nbroker, port и т.д. установите согласно настройкам вашей системы УД.\nСо списком всех параметров можно ознакомиться на странице [документации](https://esphome.io/components/mqtt.html).\n\n### Использование с УД Sprut.Hub\n\nНеобходимо настроить MQTT согласно описанию из секции выше.\n\nНачиная с версии Sprut.Hub [beta] 1.10.2 (13054) и при включении пакета spruthub.yaml, все подхватиться автоматически.\n\nДля версии ниже необходимо установить [шаблон](https://github.com/l0rda/sprut-tion) от [@l0rda](https://github.com/l0rda).\n\nДополнительную помощь всегда можно получить в [группе Telegram][telegram].\n\n## Принцип работы и тонкая настройка\n\n### Получение состояния\n\nСостояние бризера храниться исключительно в самом бризере и синхронизируется\nраз в настраиваемый интервал времени `tion.update_interval` или сразу же\nпосле отработки запроса на изменение. Если состояние получить невозможно, то об этом\nинформирует бинарный сенсор с типом `state`, таймаут получения ответа на запрос\nсостояния настраивается `tion.state_timeout` и должен быть меньше\nинтервала опроса `tion.update_interval`.\n\n\n### Изменение состояния\n\nИзменение состояния происходит относительно последнего ответа на запрос состояния\nили предыдущего ответа запроса на изменение. Так как ответ может прийти медленней\nчем придет новый запрос (актуально для скриптов) реализован механизм пакетной\nотправки команд на изменение. Поступивший запрос на изменение стартует таймер,\nвремя сработки которого задается параметром `tion.batch_timeout`, каждый последующий\nзапрос до сработки таймера объединяется с предыдущим и рестартует таймер, после\nсработки таймера объединенный запрос отправляется бризеру на выполнение.\n\n### Отправка команд\n\nВсе запросы выстраиваются в очередь и выполняются с интервалом `vport.command_interval`.\nРазмер очереди задается параметром `vport.command_size`. Минимальный интервал `0s` будет\nсрабатывать один раз в итерацию основного цикла.\n\n## Планы на будущее\n\n* ~~Поддержка UART-подключения `Tion 4S`~~\n* ~~Поддержка UART-подключения `Tion 3S`~~\n* ~~Поддержка UART-подключения `Tion O2 Mac`~~\n* Поддержка UART-подключения `Tion Lite`\n* ~~Управление сбросом ресурса фильтров~~\n* Автоматическое управление притоком от внешнего датчика CO2 (работает в экспериментальном режиме)\n* ~~Автоматическое обновление~~ (доступно при покупке готового устройства)\n* ~~Управление через штатный пульт~~\n* Возможность работы бризера в режиме KIV\n\n\n## Решение проблем и поддержка новых функций\n\nНе стесняйтесь открывать [задачи](https://github.com/dentra/esphome-tion/issues) для сообщений об ошибках и запросов новых функций.\n\nТак же вы можете воспользоваться [группой в Telegram][telegram].\n\n## Ваша благодарность\n\nЕсли этот проект оказался для вас полезен и/или вы хотите поддержать его\nдальнейшее развитие, то всегда можно оставить вашу благодарность\n[переводом на карту][donate-tinkoff] или\n[подпиской][donate-boosty] и обычной звездой проекту.\n\n## Коммерческое использование\n\nПо вопросам коммерческого использования или заказной разработки/доработки,\nобращайтесь в [личные сообщения телеграм](https://t.me/dtrachuk)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdentra%2Fesphome-tion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdentra%2Fesphome-tion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdentra%2Fesphome-tion/lists"}