dentra / esphome-tion

ESPHome Tion Breezers control and monitoring
MIT License
83 stars 14 forks source link
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

Version License ESPHome release Telegram Support author Support author Open in Visual Studio Code

Tion

English version of this page is available via google translate.

Компонет ESPHome для управления бризерами Tion с помощью ESP в вашей системе управления умным домом. Поддерживаются Home Asistant API и любые другие системы управления умным домом через протокол MQTT.

Поддерживаемые модели и протоколы:

Компонент построен на платформе climate и позволяет управлять функциями:

Дополнительно осуществляется мониториг следующих показателей:

А так же:

⚠️ ВНИМАНИЕ: Все что вы делаете, вы делаете исключительно на свой страх и риск!

Подключение

Доступно два вида подключения BLE и UART.

BLE подключение работает так же как ваш пульт или официальное приложение. UART подключние различно для разных моделей бризеров.

Для UART-подключения Tion 4S используется штатный интеграционный разъем бризера. Рекомендуется приобрести стик Lilygo T-Dongle S3, проще всего это сделать на Aliexpress. Или собрать самостоятельно на базе ESP32.

ВАЖНО: Собрка и работа компонента на ESP8266 возможна, но стабильность не гарантируется, так же, в этом направлении, не будет оказана никакая поддержка, используйте ESP32!

Для UART-подключения Tion 3S использется штатный, но доступный только при небольшой разборке бризера, разъем. Здесь рекумендуется использовать любую ESP8266 (ESP32 не тянет по питанию) используя схему подключения. При использовании ESP-01S не будет доступено подключение штатного модуля BLE, в остальных случаях подключение будет полным.

Буду благодарен за любые экперименты по использованию совремнных модулей ESP32, например, серий S2, S3 или C3.

По вопросам подключения велкам в чат Telegram.

Прошивка

Вы можете загрузить и использовать примеры конфигурации для Tion 4S BLE, Tion 4S UART, Tion Lite BLE, Tion 3S BLE и Tion 3S UART, все файлы с подробным описанием (на английском)

Использование в режиме BLE

После прошивки и перед первым использование вам необъходимо ввести свой бризер в режим сопряжения (см. инструкцию) и только потом включать ESP или провести перезагрузку ESP с помощью фукции Restart.

Дополнительно, только для Tion 3S, необходимо нажать кнопку Pair в Home Assistant.

Использование в режиме UART

Никаких дополнительный действий не требуется.

Полезности

Просмотр и/или сброс внутренних таймеров Tion 4S

Добавьте в свою конфигурацию пакет tion_4s_timers.yaml:

packages:
  tion:
...
  files:
...
    - packages/tion_4s_timers.yaml

Использование с системами УД отличными от Home Assistant

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

Испольование с УД Sprut.Hub

Наобходимо настроить mqtt согласно описанию из секции выше и установить шаблон досупный в закрепленных сообщениях в группе Telegram.

Принцип работы и тонкая настройка

Получение состояния

Состояние бризера храниться исключительно в самом бризере и синхронизируется раз в настраиваемый интервал времени climate.update_interval или сразу же после отработки запроса на изменение. Если состояние получить невозможно, то об этом информирует сенсор climate.state_warnout, таймаут получения ответа на запрос состояния настраивается climate.state_timeout и должен быть меньше интервала опроса climate.update_interval.

Изменение состояния

Изменение состояния происходит относительно последнего ответа на запрос состояния или предыдущего ответа запроса на изменение. Так как ответ может прийти медленней чем придет новый запрос (актуально для скриптов) реализован механизм пакетной отправки команд на изменение. Поступивший запрос на изменение стартует таймер, время сработки которого задается параметром climate.batch_timeout, каждый последующий запрос до сработки таймера объединяется с предыдущим и рестартует таймер, после сработки таймера объединенный запрос отправляется бризеру на выполнение.

Отправка команд

Все запросы выстраиваются в очередь и выполняются с интервалом vport.command_interval. Размер очереди задается параметром vport.command_size. Минимальный интервал 0s будет срабатывать один раз в итерацию основного цикла.

Планы на будущее

Решение проблем и поддержка новых функций

Не стесняйтесь открывать задачи для сообщений об ошибках и запросов новых функций.

Так же вы можете воспользоваться группой в Telegram.

Ваша благодарность

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

Коммерческое использование

По вопросам коммерческого использования или заказной разработки/доработки, обращийтесь по почте dennis.trachuk на gmail.com