README.md

    Подключение к системе умного дома Home Assistant используя ESPHome кондиционеров типа:

    • TCL TAC-07CHSA/TPG / TAC-09CHSA/TPG / TAC-12CHSA/TPG
    • Daichi AIR20AVQ1/AIR20FV1


      Статья по проекту находится в моем канале на Дзене


      Оригинальный модуль управления работает в закрытой системе TCL Home, используя облако, что обеспечивает как несуразные задержки в передаче коменд, так и просто невозможность использовать сторонее ПО для управления кондиционером. В настоящее время никому так и не удалось перехватить управление оригинальной системой и включиться в процесс, как это было с более ранним вариантом TCLAC.

    Очевидный, в данной ситуации, способ управления кондиционером сторонним ПО- напрямую посылать команды в кондиционер, используя последовательную шину, заменив родной WiFi модуль на свой.

    Родной модуль устанавливается под верхней крышкой внутреннего блока кондиционера, рядом с датчиком температуры. Подключается модуль через разъем USB Type A, хотя и не имеет интерфеса USB. Вместо него используется последовательная шина с очень специфическим напряжением подтяжки- 4 вольта на передачу и 3 вольта на прием (стандарт либо 5 вольт, либо 3.3 вольта). Впрочем, это решается использованием цепей на 3.3 вольта, толерантных к 5 вольтам. Кроме особенностей напряжения подтяжки сигналов, питание к модулю подается на контакты, не соответствующие стандарту USB, что чревато для устройств, придерживающихся стандарта. Полагаю, такой ход сделан умышленно.

    Сам USB Type A разъем подключен через кабель к разъему CN16 на одной из плат внутреннего блока кондиционера. Около разъема промаркирована последовательность контактов и соответствие сигналов- весьма удобно.

    Интерес так же представляет и протокол связи между WiFi модулем и кондиционером- не смотря на некоторую общность с другими моделями кондиционеров TCL, он заметно отличается. Попытки оседлать протокол были сделаны, например, htmltiger, а на основе его работы уже xaxexa. Увы, обе работы демонстрируют неполноценность, в частности, управление кондиционером проходит, в целом, верно, однако не работает управление горизонтальными шторками, которые при любой команде просто уходят до упора влево, отсутствуют полезные функции и т.п.

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

    Я- не программист, потому, разобрав протокол в области интересующих меня моментов, я написал/переписал текст конфигурационного файла для ESPHome и кода на этом вашем Си как сумел, однако, реализовав недостающие, на мой взгляд, функции.

    Итак, функционал:

    •  Режимы работы кондиционера
    •  Режимы работы вентилятора внутреннего блока
    •  Задание уставки температуры и отображение температуры с внутреннего датчика
    •  Качание вертикальной, горизонтальной и обеих шторок сразу
    •  Выведение вертикальной, горизонтальной или обеих сразу шторок в заданную позицию
    •  Включение/отключение подтверждающего звукового сигнала
    •  Включение/отключение индикатора уставки температуры на внутреннем блоке кондиционера
    •  Включение/отключение светодиодной индикации на модуле связи обмена данными с кондиционером

    И эдак, известные косяки:

    •  При отключении индикатора уставки кондиционер уходит в автоматический режим без возможности смены. Все прочее продолжает работать (вероятно, не является косяком как таковым, а, скорее, особенностью работы самого кондиционера, надо глубже разбираться)
    •  Не считывается состояние индикатора и пищалки, состояние переписывается принудительно при подачи команд из Home Assistant (вытекает отчасти из предыдущего пункта)
    •  Не считывается состояние заслонок- выбранные режимы качания и фиксации.
    Описание

    Подключение кондиционеров TCL типа TCL-TAC07CHSA к системе умного дома Home Assistant используя ESPHome

    Конвейеры
    0 успешных
    0 с ошибкой