VirtualThermostat

Виджет управления отоплением и охлаждением через Node-RED
VirtualThermostat — это виртуальное устройство для управления системами климат-контроля: отоплением, охлаждением, кондиционированием. Виджет отображает текущую и целевую температуру, режим работы и позволяет изменять уставку прямо из интерфейса. Логика управления реализуется в потоке Node-RED.

Что показывает виджет

  • Целевая температура (уставка) — крупными цифрами в центре
  • Текущая температура — показания датчика в реальном времени
  • Режим работы: off, heat (нагрев), cool (охлаждение)
  • Состояние действия: idle (ожидание), heating (идёт нагрев), cooling (идёт охлаждение), off
  • Кнопки + и для изменения уставки
  • Кнопки переключения режима: Нагрев / Охлаждение / Выкл
Виджет VirtualThermostat на рабочем поле
Виджет VirtualThermostat — управление термостатом прямо с рабочего поля

Как добавить

1 Добавьте виджет на рабочее поле
  1. Перейдите в режим редактирования (кнопка ☰)
  2. Нажмите «Редактировать/Добавить иконку»
  3. В разделе «Виртуальные устройства» выберите "Термостат" (VirtualThermostat)
  4. Правой кнопкой мыши по виджету откройте свойства
2 Задайте Device SN

В поле Device SN введите уникальный идентификатор термостата, например climate.room_thermostat.

Device SN виджета должен точно совпадать с deviceSN в узлах Node-RED (realiot-thermostat и realiot-db-writer). Иначе связь между UI и логикой не установится.
3 Настройте параметры виджета
ПараметрОписаниеПо умолчанию
Минимальная температура Нижняя граница диапазона уставки 5 °C
Максимальная температура Верхняя граница диапазона уставки 35 °C
Шаг На сколько градусов меняется уставка при нажатии +/– 0.5 °C
Режим отображения heat — режим нагрева, cool — режим охлаждения heat
Ширина / Высота Размер виджета на рабочем поле 200 / 120 пикселей

Поток Node-RED для термостата

Виджет работает только в паре с потоком Node-RED, который содержит специальный узел realiot-thermostat. Схема потока:

  1. Узел Node-RED realiot-thermostat с тем же deviceSN, что у виджета
  2. Источник текущей температуры (датчик Zigbee/WiFi и др.) → на вход термостата с msg.topic = "temperature"
  3. Выход 1 термостата → realiot-call-service (управление котлом/кондиционером)
  4. Выход 2 термостата → realiot-db-writer (обновление виджета в UI)
Поток Node-RED для термостата
Типовой поток Node-RED для работы VirtualThermostat
Настройки узла realiot-thermostat
ПараметрОписание
Стартовая t° Начальная уставка при первом запуске. Далее изменяется через UI или автоматизацию.
Min t° / Max t° Диапазон допустимой уставки в логике термостата.
Hot tolerance Гистерезис выключения при нагреве. Нагрев прекратится когда текущая t° = уставка + hot tolerance.
Cold tolerance Гистерезис включения при нагреве. Нагрев включится когда текущая t° = уставка − cold tolerance.
Min cycle (сек) Минимальное время между переключениями реле. Защищает оборудование от частых включений.
Keep-alive (сек) Периодически повторяет последнюю команду для защиты от потери пакетов MQTT.

Управление из UI

На виджете термостата есть кнопки управления:

Что нажатьЧто произойдёт
Кнопки + / Уставка (целевая температура) увеличится или уменьшится на один шаг. Если новая уставка выше текущей температуры в комнате — термостат включит нагрев.
Кнопка «Нагрев» Термостат переходит в режим нагрева. Он будет следить за температурой и включать котёл или обогреватель, когда температура упадёт ниже уставки.
Кнопка «Охлаждение» Термостат переходит в режим охлаждения — управляет кондиционером.
Кнопка «Выкл» Термостат отключается. Реле котла или кондиционера будет выключено.
Все нажатия мгновенно передаются в Node-RED через поток, который вы настроили. Термостат сам решает, включать или выключать реле — в зависимости от разницы между уставкой и текущей температурой с датчика.
Техническая информация для разработчика (Node-RED)

Кнопки виджета отправляют команды в Node-RED через MQTT. В узел realiot-thermostat поступают сообщения вида:

Действиеmsg.topicmsg.payload
Кнопки +/– set_temperature 23.5 (новое значение уставки)
Кнопка «Нагрев» set_mode "heat"
Кнопка «Охлаждение» set_mode "cool"
Кнопка «Выкл» set_mode "off"

Эти сообщения приходят в узел через MQTT топик realiot/thermostat/command/<deviceSN>.

Частые вопросы

Режим heat, а на выходе узла идёт off — это нормально?

Да. heat — это выбранный режим, а off на выходе означает, что нагрев в данный момент не нужен (температура достигнута). Состояние действия в виджете покажет idle.

Уставка в UI не совпадает со стартовой в свойствах узла

Стартовая t° используется только при первом запуске узла. После первого изменения уставки она сохраняется в базе данных и стартовое значение больше не применяется.

Виджет не показывает текущую температуру

Убедитесь, что в потоке Node-RED данные от датчика поступают в узел realiot-thermostat с msg.topic = "temperature", и что realiot-db-writer подключён к выходу 2 термостата.

VirtualThermostat вместе с Node-RED создаёт полноценную систему климат-контроля: управление из интерфейса, автоматическое поддержание температуры, защита оборудования.

← Назад к справке