Термостат MOES в Home assistant. Настраиваем обогрев полов
После того как я добавил wi-fi термостаты для теплых электрических полов в мой умный дом на Home assistant, выяснил одну неочевидную особенность сторонней прошивки — прошивка термостата не позволяла работать термостату таким образом, чтобы реагировать именно на нагрев пола (за счет получения данных с внешнего датчика в полу), а обогрев и контроль температуры происходил только с помощью встроенного датчика температуры воздуха, расположенного непосредственно на корпусе термостата. В моем случае это также усложнялось тем, что датчик в полу у меня был несовместимый с устройством и я ввел поправочный коэффициент в самой системе умного дома.
Пытался решить эту проблему программно, при этом мое решение все еще достаточно надежно и безопасно. Итак, приступим.
Я решил создать собственный программный термостат в домене climat с помощью интеграции generic_thermostat. Для того чтобы все получилось, мне необходим датчик температуры и переключатель, который будет управлять включением и отключением отопления. С датчиком все просто, я уже показывал его в прошлой статье: создал шаблонный сенсор для вычисления достоверной температуры пола из тех данных, что отдавал мне термостат. Для проекта создал отдельный package, так что отступы будут отличаться от классического распределения интеграций по отдельным файлам или в файле configuration.yaml
Далее переключатель режимов. Для этого я создал два скрипта.
Первый отвечает за включение отопления. Он сначала записывает текущее выставленное значение на термостате Moes в переменную input_number, а затем устанавливает на термостате температуру в 35 градусов и режим нагрева. Напомню, при этом термостат будет пытаться нагреть помещение до 35 градусов, а не пол.
Второй скрипт возвращает назад из переменной значение в физический термостат и на всякий случай возвращает переменную к значению “10”.
Переменные эти объявлены следующим образом:
Далее объединяем эти два скрипта в единый переключатель.
Тут за состояние переключателя отвечает состояние реального физического термостата. Если он греется, выключатель включен и наоборот. Таким образом мы получаем обратную связь в наш программный термостат.
Объединяем полученные сущности в термостат:
Вот так термостат выглядит в веб-интерфейсе после этих процедур
Терморегулятор теплого пола Moes и его интеграция в Home Assistant через Tuya
Когда мне устанавливали теплый пол я решил поставить самый простой и дешевый терморегулятор. Просто ручка которую можно крутить. Конечно же мне хотелось иметь возможность управлять теплым полом удаленно, но в процессе ремонта у меня совершенно не было времени разбираться какой терморегулятор подходит для того чтобы им управлять удаленно.
Так что долгое время у меня были вот такие терморегуляторы:
Некоторое время назад я поставил себе систему умного дома Home Assistant. И понял что я хочу заменить мои простые терморегуляторы на такие, которые можно подключить к системе Home Assistant. Мне хочется ими управлять через единый интерфейс и чтобы можно было использовать этот терморегулятор в автоматизациях (например, чтобы теплый пол сам включался когда я выезжаю с работы)
Про Home Assistant есть отличный чат в телеграмме. Там мне подсказали терморегулятор с WiFi который можно завести в Home Assistant (спасибо!)
Это устройство Moes BHT-002-GBLW. У этой фирмы есть несколько разных терморегуляторов. Я купил модель GBLW. Буква W означает что там есть WiFi, а буквы GB означают что это терморегулятор для электрического теплого пола.
Вот ссылка на AliExpress где я покупал это устройство. Получилось 1800 рублей за штуку (это полная стоимость вместе с доставкой, которая была самая простая). Посылка шла долго, почти полтора месяца, но в конце-концов я забрал на почте свой заказ.
Установка
Заменить один терморегулятор на другой не то чтобы очень сложно. Выключаешь автомат. Раскручиваешь старый, фотографируешь телефоном что и как там подключено, отключаешь все провода, подключаешь их к новому терморегулятору и прикручиваешь терморегулятор в подрозетник.
Вроде бы все термостаты стандартные, т.е. термостат электрического пола одной фирмы без проблем можно заменить на термостат совершенно другой компании и все будет работать.
- L — фаза от электрического щитка
- N — ноль от электрического щитка
- L1 — фаза на теплый пол
- N1 — ноль на теплый пол
- И два провода с датчиком температуры, который вмонтирован в теплый пол (насколько я понимаю, не важно какой контакт от этого датчика куда подключать)
Слева старый терморегулятор, справа — Moes:
Перекинуть провода оказалось несложно, но вот упихнуть этот терморегулятор в подрозетник оказалось неприятной задачей. Не то чтобы новый терморегулятор уж какой-то совсем здоровый, но старый вообще не занимал места.
Я промерил, у меня получилось что это устройство уходит в подрозетник на 27 мм:
Так что после установки этого терморегулятора я понял что теперь всегда везде буду ставить только глубокие подрозетники (60 мм).
В моем случае еще было неудобно что у терморегулятора Moes отверстия под винты находятся только по бокам (на старом они были и по бокам, и сверху/снизу и закреплен он был в подрозетнике именно с помощью винтов сверху/снизу)
Вот подключенный термостат (мне очень не нравится что показывается незначащий ноль если температура меньше 10 градусов):
Управление через приложение
Один из способов как можно управлять терморегулятором Moes — это использовать приложение Tuya:
Сразу после того как терморегулятор был установлен я стал настраивать его через приложение (на самом устройстве вообще ничего не делал).
Нужно выбрать Thermostat и выполнить несколько шагов по настройке. Несколько минут и в приложении появляется это устройство.
На дисплее устройства есть часы. После подключения устройства там показывалось 00:00. Я ожидал что сразу после того как устройство подключится в приложение там появятся правильное время. Время на устройстве обновилось, но прямо сильно не сразу, прошло где-то полчаса.
Вот скриншот экрана управления этим термостатом:
- Снизу кнопка включить-выключить
- В центре экрана показывается та температура которую термостат должен поддерживать
- Показывается температура в помещении (в термостате есть встроенный датчик температуры)
- И температура самого теплого пола (это данные из внешнего щупа который подключен к контактам 5 и 6 устройства)
Т.е. из приложения можно включить-выключить термостат, узнать две температуры и установить желаемую температуру.
Еще в приложении можно настроить термостат чтобы он в разное время сам устанавливал разную температуру. Но этом мне мало интересно делать через приложение, я хочу это делать через Home Assistant.
Подключение в Home Assistant
Итак, в приложении все работает, пошел настраивать Home Assistant.
Подключается элементарно. В файл configuration.yaml нужно вписать логин-пароль и код страны которые использовались при регистрации в приложении:
tuya: username: NNNNNN password: XXXXXX country_code: 7
Перезагружаешь HA и в нем автоматически появляется новое устройство с названием что-то вроде «climate.86806317a4cf12cfac71»
Простота подключения в HA — это единственный хороший момент. Все остальное работает чудовищно. Я был в абсолютном шоке когда увидел как плохо работает этот термостат в Home Assistant.
- Температура теплого пола в Home Assistant не попадает. В приложении можно узнать температуру теплого пола и температуру в помещении. В HA прилетает только одна температура.
- Температура которая прилетает в HA в два раза (. ) больше чем в приложении (ОБНОВЛЕНО май 2021 — в настройках можно уставновить делитель температуры скриншот 1, скриншот 2)
- С помощью Home Assistant этот термостат можно выключить, но его нельзя включить (как вообще такое может быть??)
Вот что видно в приложении:
А вот какие данные долетают до Home Assistant:
- В приложении установлена желаемая температура 22, в HA temperature 44
- В приложении видно что температура в помещении 12 градусов, а в HA current_temperature 24
- Температура пола в приложении 23 градуса, а в HA этой температуры вообще нет
Вообще, код как Home Assistant взаимодействует с Tuya лежит на GitHub. Можно взять этот код и попробовать исправить эти проблемы (кроме этого, кажется, где-то в интернете уже есть код, в котором решены некоторые проблемы).
Но мне кажется что это неправильный подход. Даже если интеграция с Tuya будет работать идеально, все равно останется одна проблема. Проблема в том что общение с термостатом происходит через удаленные сервера, если дома нет интернета, то управлять термостатом не получится.
Так что правильный подход — это вообще не использовать интеграцию Tuya, а перепрошить этот термостат на код, который позволит работать с этим термостатом локально. Тогда он никак не будет зависеть от внешних серверов. Именно так это и должно работать.
И этот термостато вполне возможно перепрошить. Причем возможно его перепрошить по воздуху т.е. его даже не нужно разбирать и подпаивать провода.
Резюме
Итак, терморегулятор электрического теплого пола Moes BHT-002-GBLW. На данный момент времени ничего лучше я не знаю.
Мне нравится цена этого устройства и то что это устройство позволяет делать.
Интеграция с Home Assistant через Tuya отвратительная, использовать ее нельзя.
Но этот терморегулятор можно перепрошить и тогда он нормально работает с Home Assistant. Об этом я написал отдельный текст: «Перепрошивка терморегулятора теплого пола Moes и заведение в Home Assistant».