Большое распространение у любителей домашней автоматизации получили WIFI термостаты Moes-BHT-002.
Полное название BHT-002-GBLW. Это вай-фай термостат электрического теплого пола из экосистемы Tuya. Конечно его можно использовать в родной экосистеме. Можно подключить к другим системам с использованием различных плгагинов и стыков. Я использую Home Assistant и для подключения у меня были варианты:
- Интеграция Tuya https://www.home-assistant.io/integrations/tuya/
- Интеграция Local Tuya https://github.com/rospogrigio/localtuya
- Перешить используя проект https://github.com/klausahrenberg/WThermostatBeca и подключить через MQTT
Все эти способы рабочие, но имеют недостатки. Где то обязательно нужно наличие подключения к внешним серверам, где то вы не сможете использовать весь потенциал устройства, где то будут ошибки и непонятки. Да и ни один из этих способов не будет 100% под вашим контролем. Поизучав последний проект я пришел к выводу, что было бы не плохо написать компонент для ESPHome. Тем более, что за связь в этом устройстве отвечает модуль Tuwe3S, который оказался аналогом ESP-12. Термостат имеет процессор который обслуживает процесс нагрева и управления и по UART обменивается данными с модулем Tuwe3S. Естественно найти полное описание протокола не удалось, в проекте WThermostatBeca был описан лишь служебный обмен, остального нет. Пришлось расшифровывать протокол, помогло то, что он простой и выполнен в китайском стиле :))
На выходе получается прошивка, которая является родной для ESPHome. Как всегда основная проблема первоначально залить ее в Tuwe3S. Знаю, что есть проект, который позволяет ничего не паяя заменить прошивку в устройствах от Туя. Мне проше припаяться. Схема стандартная:
Конечно совсем правильная схема, примерно такая:
Но "на пару раз прошить", я решил обойтись без резисторов. Вам советую все же использовать резисторы. Передняя панель отстегнута от термостата. Питание подается внешнее 3.3 вольта. Перед заливкой прошивки нужно кратковременно замкунть RESET на GND.
Сущности устройства:
Часы синхронизируются автоматически, если задан источник времени.
UPD (20.09.23):
Появились версии с модулем CB3S, на базе BK7231N. В данный момент существует замечательный проект LibreTiny EspHome, надеюсь вы его легко найдете. С его помощью можно скомпилировать прошивку под новый модуль. Код дополнен и исправлен для коректной работы с новыми версиями термостатов с чипами на BK72xx. Новые термостаты не публикуют температуру выносного датчика, поэтому у некоторых пользователей он будет в статусе "Неизвестно", просто скройте его в конигурации.
Выражаю благодарность за помощь в отладке кода Михаил Mivlz.
Модули TUYA на чипе BK72xx шьются, практически, так же как и ESP8266, только тут в самом начале загрузки нужно посадить контакт CEN на землю, примерно на секунду. Конечно, не звбывайте, что вам нужна LibreTiny ESPHOME.
Подключение для прошивки:
Распайка чипа с сайта производителя:
Таблица назначения ног: