Внешний компонент кондиционеров TCL и аналогов для Home Assistant, используя ESPHome. Поддерживаются кондиционеры типа TAC-07CHSA и подобные. Увы, предположить точно получится подключить кондиционер или нет практически невозможно из-за огромного разбега в комплектациях: даже одна и та же модель, буквально буква-в-букву может, например, не иметь родного модуля WiFI, не иметь провода с USB разъемом или вовсе на плате управления может не быть впаян разъем UART. Однако, в целом, с пайкой или без, проверены следующие кондиционеры:
- Axioma ASX09H1/ASB09H1
- Daichi AIR20AVQ1/AIR20FV1
- Daichi AIR25AVQS1R-1/AIR25FVS1R-1
- Daichi AIR35AVQS1R-1/AIR35FVS1R-1
- Daichi DA35EVQ1-1/DF35EV1-1
- Dantex RK-12SATI/RK-12SATIE
- TCL TAC-07CHSA/TPG-W
- TCL TAC-09CHSA/TPG
- TCL TAC-09CHSA/DSEI-W
- TCL TAC-12CHSA/TPG
Компоненту требуется HomeAsistant и ESPHome версии не ниже 2023.3.0 !
Это все для работы ИСКЛЮЧИТЕЛЬНО с HomeAsistant и ESPHome. Если Вас интересует другие варианты или возможность подключить кондиционер как-то иначе к каким-то другим системам, то мне есть что предложить: Вариант для подключения через MQTT
Статья по проекту находится в моем канале на Дзене
Все работает, даже стабильно. Какие глюки видел- устранил, какие желания были- реализовал. Конечно, не все, хотелось бы еще спорткар.. Используя компонент прямо сейчас Вы уже не рискуете душевным здоровьем, но внезапные глюки вполне могут напасть. Если вдруг такое случиться именно с Вами- прошу сообщить мне на Дзене, приму меры. Подробное описание будет постепенно появляться в моем канале на Дзене , сюда буду выкладывать самое важное по мере сил.
Образец для конфигурации ESPHome в файле TCL-Conditioner.yaml , упрощенный вариант конфигурации- Sample_conf.yaml . Скачайте к себе и используйте в ESPHome, или просто скопируйте из него всю конфигурацию и вставьте вместо своей, однако, не забыв отредактировать все поля. В файле есть подсказки по каждому полю.
Вопрос может возникнуть с 2 моментами: платформа (чип или модуль) и подгружаемые файлы. Попробую объяснить.
Платформа настраивается точно так же, как ей и полагается настраиваться в ESPHome. Например, так выглядит кусок кода для ESP-01S:
esp8266:
board: esp01_1m
А вот так выглядит кусок кода для модуля Hommyn HDN/WFN-02-01 из первой статьи про кондиционер:
esp32:
board: esp32-c3-devkitm-1
framework:
type: arduino
Можно подключать платформу и через основной конфиг. Вот, предложенный испытателем альфа-версии, пример для Esp32 WROOM32:
esphome:
platform: ESP32
board: nodemcu-32s
А это уже пример для wemos D1 Mini nodemcu esp12f:
esphome:
platform: ESP8266
board: esp12e
В общем- все то же самое, как и обычно, вариант под свою платформу легко ищется в интернете.
!Важно не забыть закомментировать или удалить строки других платформ!
Для добавления или удаления определенных частей конфига я решил использовать подгружаемые файлы- они загружаются ESPHome автоматически, если у сервера с Home Assistant есть доступ в интернет. Такой подход позволяет редактировать и обновлять не весь конфиг куском, а частями, не трогая то, что работает. Еще один плюс- не нужно километровые куски кода комментировать или раскомментировать, не нужно знать разметку, нет необходимости считать проклятые пробелы и прочее. Все делается добавлением или удалением ссылок на файлы. Итак, вот так выглядит блок подгружаемых файлов:
packages:
remote_package:
url: https://github.com/I-am-nightingale/tclac.git
ref: master
files:
# v - равнение строк с опциями вот по этой позиции, иначе глючить будет
- packages/core.yaml # Ядро всего сущего
# - packages/leds.yaml
refresh: 30s
Все подгружаемые файлы указываются в секции files:. Для работы необходимо, чтобы был хотя-бы
- packages/core.yaml # Ядро всего сущего
Все остальные модули по желанию (их описание в том же файле чуть выше). Важно, чтобы все строки с файлами были выровнены по импровизированной метке, которую я специально указал, иначе у ESPHome возникнет много вопросов к Вам. Например, должно быть так:
packages:
remote_package:
url: https://github.com/I-am-nightingale/tclac.git
ref: master
files:
# v - равнение строк с опциями вот по этой позиции, иначе глючить будет
- packages/core.yaml # Ядро всего сущего
- packages/leds.yaml
refresh: 30s
А вот так уже не правильно:
packages:
remote_package:
url: https://github.com/I-am-nightingale/tclac.git
ref: master
files:
# v - равнение строк с опциями вот по этой позиции, иначе глючить будет
- packages/core.yaml # Ядро всего сущего
- packages/leds.yaml
refresh: 30s