NodeRED + Rocket Home¶
Предупреждение
Бета-версия: Платформа находится в стадии активной разработки и тестирования. Возможны нестабильность работы, изменения в интерфейсе и функциональности. Используйте на свой риск. Ваши отзывы и сообщения об ошибках помогут улучшить платформу! Сообщить о проблеме или задать вопрос можно в Telegram канале Rocket Home.
Добро пожаловать! Эта инструкция поможет вам начать работу за 5 минут.
Шаг 1: Откройте платформу¶
Примечание
Для работы с Node-RED необходим десктоп (компьютер или ноутбук). Мобильные устройства не поддерживаются.
Откройте браузер (Chrome, Firefox, Safari — любой) на вашем компьютере
Перейдите по адресу https://nodered.rocket-home.ru
Шаг 2: Войдите в систему¶
Если у вас уже есть аккаунт Rocket Home¶
Нажмите кнопку «Sign in with Rocket Home»
Вас переадресует на страницу аутентификации Rocket Home
Если вы уже авторизованы в Rocket Home: - Нажмите кнопку «Разрешить» вы попадете в редактор
Если вы не авторизованы: - Введите ваш email и пароль - Или используйте другой способ входа (если настроен) - После успешного входа вы попадете в редактор
Если у вас нет аккаунта Rocket Home¶
Нажмите кнопку «Sign in with Rocket Home»
Вас переадресует на страницу аутентификации Rocket Home
Найдите ссылку «Регистрация»
Заполните форму регистрации: - Email - Пароль - Подтверждение согласия с правилами
После регистрации вы автоматически войдете в систему и попадете в редактор
После входа¶
После успешного входа вы попадете в редактор Node-RED, где сможете создавать автоматизации.
Шаг 3: Знакомство с интерфейсом¶
Вы увидите:
Левая панель — список доступных блоков
Центральная область — рабочее пространство для создания автоматизаций
Правая панель — информация и настройки
Шаг 4: Создайте первую автоматизацию¶
Пример: Автоматическое включение света при движении¶
Этот пример показывает, как автоматически включать свет при обнаружении движения и выключать его через 3 минуты.
Что нужно:¶
Датчик движения (подключен через MQTT)
Умная лампа (подключена через MQTT)
Создание автоматизации:¶
Добавьте блок `rocket-in` (получение данных от датчика)
Найдите в левой панели или используйте поиск
Перетащите на рабочую область
Дважды кликните для настройки
Важно
Устройства должны быть предварительно настроены в Rocket Home (добавлены в локации и комнаты).
Настройка топика через визард (рекомендуется):
Рядом с полем «Topic» нажмите кнопку с иконкой волшебной палочки 🪄
Откроется окно выбора устройства
Шаг 1: Выберите локацию (например, «Дом»)
Шаг 2: Выберите комнату (например, «Коридор»)
Шаг 3: Выберите устройство (например, «Движение»)
Опционально: Включите чекбокс «Установить имя» — имя ноды будет автоматически заполнено как «Дом > Коридор > Движение»
Нажмите «Выбрать» — топик MQTT заполнится автоматически
Ручная настройка топика:
Если знаете топик MQTT, введите его вручную в поле «Topic»
Формат:
driver/${FRIENDLY_NAME}илиdriver/${FRIENDLY_NAME}/tagПример:
zigbee2mqtt/${FRIENDLY_NAME}Нажмите «Done»
Добавьте блок `switch` (проверка условия)
Перетащите блок switch на рабочую область
Соедините выход rocket-in с входом switch
Дважды кликните на switch
В поле «Property» введите:
payload.occupancyВ правилах выберите:
== trueНажмите «Done»
Добавьте блок `trigger` (таймер)
Перетащите блок trigger на рабочую область
Соедините выход switch с входом trigger
Дважды кликните на trigger
В поле «Duration» введите:
180(секунды = 3 минуты)В поле «Units» выберите:
secondsВключите опцию «Extend» (продлевать при новом движении)
В поле «Then send» введите:
{"state":"OFF"}Нажмите «Done»
Добавьте блок `rocket-out` (управление лампой)
Перетащите блок rocket-out на рабочую область
Соедините выход trigger с входом rocket-out
Дважды кликните на rocket-out
Настройка топика через визард (рекомендуется):
Рядом с полем «Topic» нажмите кнопку с иконкой волшебной палочки 🪄
Откроется окно выбора устройства
Шаг 1: Выберите локацию (например, «Дом»)
Шаг 2: Выберите комнату (например, «Коридор»)
Шаг 3: Выберите устройство (например, «Свет»)
Шаг 4: Выберите суффикс: -
set— для отправки команд управления (включить/выключить) -get— для запроса состояния устройстваОпционально: Включите чекбокс «Установить имя» — имя ноды будет автоматически заполнено
Нажмите «Выбрать» — топик MQTT заполнится автоматически (например:
zigbee2mqtt/${FRIENDLY_NAME}/set)
Ручная настройка топика:
Если знаете топик MQTT, введите его вручную в поле «Topic»
Формат:
driver/${FRIENDLY_NAME}/setилиdriver/${FRIENDLY_NAME}/get
Дополнительные настройки:
QoS: Уровень качества доставки сообщений (обычно 0)
Retain: Сохранять ли последнее сообщение для новых подписчиков
Input: Формат данных (обычно автоопределение (объект JSON, строка или буфер) — автоматическое определение)
Нажмите «Done»
Разверните автоматизацию
Нажмите кнопку «Deploy» в правом верхнем углу
Готово! Теперь при обнаружении движения свет включится автоматически
Как это работает:¶
[Датчик движения]
↓ (если движение обнаружено)
[Проверка: есть ли движение?]
↓ (да)
[Включить свет] → [Таймер на 3 минуты]
↓ (если движение продолжается - продлевать таймер)
[Через 3 минуты после последнего движения]
↓
[Выключить свет]
Результат:
При обнаружении движения свет включается
Если движение продолжается, таймер продлевается
Через 3 минуты после последнего движения свет выключается
Использование готового примера¶
Предупреждение
Напоминание: Платформа находится в стадии бета-тестирования. Если вы столкнетесь с проблемами, пожалуйста, сообщите о них.
Вместо создания автоматизации с нуля, вы можете импортировать готовый пример и настроить только топики устройств.
Импорт готового flow¶
Скопируйте JSON код:
Откройте страницу с примером: Пример: Автоматизация освещения при движении
Скопируйте JSON код из блока кода
Импортируйте в Node-RED:
В правом верхнем углу нажмите на меню (три горизонтальные линии ☰)
Выберите «Import»
Вставьте скопированный JSON код в текстовое поле
Нажмите «Import»
Flow появится на рабочей области:
Вы увидите 4 блока:
rocket-in→switch→trigger→rocket-outВсе соединения уже настроены
Настройка топиков устройств¶
После импорта нужно настроить топики для ваших устройств:
1. Настройте rocket-in (датчик движения)¶
Дважды кликните на блок
rocket-in(первый блок слева)Способ 1 — через визард (рекомендуется): - Нажмите кнопку с иконкой волшебной палочки 🪄 рядом с полем «Topic» - Выберите: Локация → Комната → Ваш датчик движения - Включите чекбокс «Установить имя» (опционально) - Нажмите «Выбрать»
Способ 2 — вручную: - Введите топик вашего датчика движения в поле «Topic» - Пример:
zigbee2mqtt/${FRIENDLY_NAME}Нажмите «Done»
2. Настройте rocket-out (лампа)¶
Дважды кликните на блок
rocket-out(последний блок справа)Способ 1 — через визард (рекомендуется): - Нажмите кнопку с иконкой волшебной палочки 🪄 рядом с полем «Topic» - Выберите: Локация → Комната → Ваша лампа - Выберите суффикс: ``set`` (для управления) - Включите чекбокс «Установить имя» (опционально) - Нажмите «Выбрать»
Способ 2 — вручную: - Введите топик вашей лампы с суффиксом
/setв поле «Topic» - Пример:zigbee2mqtt/${FRIENDLY_NAME}/setНажмите «Done»
3. Проверьте настройки других блоков¶
``switch`` — уже настроен на проверку
payload.occupancy == true``trigger`` — уже настроен на 180 секунд (3 минуты) с продлением
Развертывание¶
Нажмите кнопку «Deploy» в правом верхнем углу
Готово! Автоматизация работает
Что делает этот flow¶
[Датчик движения (rocket-in)]
↓ (получает данные о движении)
[Проверка: есть ли движение? (switch)]
↓ (если движение обнаружено)
[Включить свет + Таймер 3 минуты (trigger)]
↓ (если движение продолжается - продлевать таймер)
[Через 3 минуты после последнего движения]
↓
[Выключить свет (rocket-out)]
Важно
Убедитесь, что топики rocket-in и rocket-out соответствуют вашим реальным устройствам. Если топики не настроены, автоматизация не будет работать.
Полезные блоки¶
Блоки для работы с устройствами¶
`rocket-in` — получение данных от устройств¶
Этот блок подписывается на MQTT топики и получает данные от ваших устройств (датчики движения, температуры, освещенности и т.д.).
Основные настройки:
Topic — MQTT топик устройства - Используйте визард (кнопка 🪄) для выбора устройства из списка - Или введите топик вручную, если знаете его
QoS — уровень качества доставки (0, 1 или 2)
Output — формат данных: - автоопределение (объект JSON, строка или буфер) (рекомендуется) — автоматически определяет JSON, текст или бинарные данные - объект JSON — принудительно парсит как JSON - строка — текстовая строка - буфер — бинарные данные
Как работает визард:
Нажмите кнопку с иконкой волшебной палочки 🪄 рядом с полем «Topic»
Выберите локацию → комнату → устройство
Топик заполнится автоматически
Опционально включите «Установить имя» для автоматического именования ноды
Пример топика: zigbee2mqtt/${FRIENDLY_NAME} (датчик движения)
`rocket-out` — отправка команд устройствам¶
Этот блок отправляет команды вашим устройствам через MQTT (включить/выключить лампу, установить температуру и т.д.).
Примечание
Общая информация о настройке топиков, визарде и требованиях к устройствам см. в описании блока rocket-in выше.
Отличия от `rocket-in`:
Action — тип топика: -
static topic— фиксированный топик (рекомендуется) -dynamic topic— топик берется из сообщенияmsg.topicTopic — для управления обычно добавляется суффикс
/setили/getRetain — сохранять ли последнее сообщение
Input — формат данных (вместо Output, но с теми же опциями)
Отличия в визарде:
Выберите суффикс: -
set— для отправки команд (включить/выключить) -get— для запроса состоянияТопик заполнится автоматически (например:
zigbee2mqtt/${FRIENDLY_NAME}/set)
Пример команды: {"state": "ON"} для включения лампы
Блоки для обработки данных¶
``switch`` — проверяет условия (если/то)
``trigger`` — создает задержки и таймеры
``debug`` — показывает данные для отладки
Советы для начинающих¶
Начните с простого Не пытайтесь создать сложную автоматизацию сразу. Начните с одного действия.
Используйте Debug Блок
debug— ваш лучший друг. Он показывает, какие данные проходят через flow.Тестируйте по частям Создавайте flow по частям и тестируйте каждую часть отдельно.
Не бойтесь экспериментировать Можно всегда удалить или изменить flow. Экспериментируйте!
Частые вопросы¶
Как сохранить автоматизацию?¶
Автоматизации сохраняются автоматически при нажатии «Deploy». Ничего дополнительно делать не нужно.
Как удалить блок?¶
Выделите блок и нажмите клавишу Delete или Backspace.
Как отменить действие?¶
Используйте Ctrl+Z (или Cmd+Z на Mac).
Как скопировать блок?¶
Выделите блок и нажмите Ctrl+C (или Cmd+C на Mac), затем Ctrl+V (или Cmd+V).
Что делать, если что-то не работает?¶
Проверьте, что нажали «Deploy»
Откройте вкладку «Debug» и посмотрите, что происходит
Проверьте настройки блоков
Обратитесь в поддержку
Нужна помощь?¶
Сообщить об ошибке: Если вы нашли проблему в бета-версии, пожалуйста, сообщите о ней в Telegram канале Rocket Home — это поможет улучшить платформу!