Быстрый старт

1. Установка плагина

Установите плагин в директории Node-RED через терминал:

cd ~/.node-red npm install node-red-contrib-alice

Или установите через меню Node-RED: Manage palette → Install → найдите node-red-contrib-alice.

После установки перезапустите Node-RED.

2. Авторизация

  1. Перетащите любую ноду плагина (например, alice-onoff) на рабочее поле Node-RED.
  2. Дважды кликните на неё и в поле Credentials нажмите карандаш для создания нового сервиса.
  3. Нажмите кнопку Yandex Authentication — откроется страница авторизации Яндекса.
  4. Войдите в свой аккаунт Яндекса и разрешите доступ приложению.
  5. Скопируйте полученный код и вставьте его в поле Code.
  6. Нажмите Submit. Поля Email, ID и Token заполнятся автоматически.
  7. Нажмите Add (или Update), затем Deploy.

После деплоя нода покажет статус online — подключение к MQTT установлено.

3. Создание устройства

  1. Дважды кликните на ноду умения и в поле Device нажмите карандаш.
  2. Введите название устройства (например, «Лампа в гостиной»).
  3. Укажите комнату (например, «Гостиная»).
  4. Выберите тип устройства из выпадающего списка (например, Light).
  5. Нажмите Add, затем Done, затем Deploy.

Устройство появится в приложении «Дом с Алисой» после обновления списка устройств.

Умения (Capabilities)

Умение (capability) — свойство объекта «Устройство», которое описывает его возможности. Устройство описывается как минимум одним умением. Платформа умного дома не ограничивает провайдеров в выборе возможностей для устройств, поэтому у пользователя могут появиться устройства с нестандартной связкой тип:умение, например, у телевизора может быть функция «температура».

Каждое умение — это отдельная нода в Node-RED, которая привязывается к устройству (alice-device). Ноды умений двунаправленные: принимают команды от Алисы (выход) и отправляют обновления состояния на сервер (вход).

Нода Тип умения Описание Вход (msg.payload) Выход (msg.payload)
alice-onoff on_off Включение и выключение устройства true / false true / false
alice-range range Управление числовым параметром в диапазоне (яркость, громкость, температура) number number
alice-color color_setting Цвет (RGB/HSV), цветовая температура, световые сцены Объект {r,g,b} или {h,s,v}, число (temperature_k) или строка (scene) 3 выхода: цвет, температура, сцена
alice-mode mode Переключение режимов работы (скорость вентилятора, программа стирки, режим кондиционера) "auto", "cool", "heat" и др. Выбранный режим (строка)
alice-togle toggle Переключатели доп. функций (подсветка, звук, пауза, блокировка) true / false true / false
alice-video video_stream Видеопоток с камеры (HLS)

alice-onoff — Включение/выключение

Базовое умение для большинства устройств. Подайте true или false на вход, чтобы обновить состояние на сервере. Когда пользователь скажет Алисе «Включи лампу», нода выдаст true на выход.

Опция «Split button» — разделяет кнопку на «включить» и «выключить» как два отдельных элемента управления.

alice-range — Диапазон

Управление числовым параметром. Доступные типы (instance):

  • brightness — яркость (0–100%)
  • volume — громкость (0–100)
  • channel — ТВ-канал (1–1000)
  • temperature — температура (0–100°C)
  • humidity — влажность
  • open — степень открытия (0–100%)

Поддерживает относительные команды: «Алиса, увеличь яркость на 20%».

alice-color — Цвет

Управление цветом светящихся элементов. Три независимых выхода:

  1. Цвет — объект {r, g, b} или {h, s, v} (зависит от выбранной схемы)
  2. Цветовая температура — число в Кельвинах (например, 4500)
  3. Световая сцена — строка ("candle", "sunrise", "movie" и др.)

Доступные сцены: alarm, alice, candle, dinner, fantasy, garland, jungle, movie, neon, night, ocean, party, reading, rest, romance, siren, sunrise, sunset.

alice-mode — Режимы

Переключение между предустановленными режимами. Доступные типы (instance):

  • thermostat — режим термостата (auto, cool, heat, dry, fan_only, preheat)
  • fan_speed — скорость вентилятора (auto, low, medium, high, turbo)
  • swing — направление воздушного потока
  • work_speed — скорость работы
  • input_source — источник сигнала
  • cleanup_mode — режим уборки
  • program — программа (для стиральных/посудомоечных машин)
  • tea_mode / coffee_mode / multicooker_mode — режимы приготовления

alice-togle — Переключатели

Управление дополнительными функциями устройства (вкл/выкл). Доступные типы:

  • backlight — подсветка
  • mute — отключение звука
  • oscillation — вращение (вентилятор)
  • pause — пауза
  • keep_warm — поддержание тепла
  • ionization — ионизация
  • controls_locked — блокировка управления

alice-video — Видеопоток

Трансляция видеопотока с камеры. Указывается URL потока (протокол HLS). Требования: кодек H.264, аудио AAC, разрешение до 1920×1080, URL должен быть доступен из интернета.

Датчики и события

В отличие от умений, датчики и события — однонаправленные: они только отправляют данные в облако (нет выхода).

alice-sensor — Датчики

Числовые показания датчиков. Подайте число на вход — значение будет отправлено в облако.

Защита от дублирования: одинаковые значения не отправляются повторно. Переотправка происходит автоматически каждые 10 минут.

Доступные типы датчиков:

Instance Описание Единицы
temperatureТемпература°C
humidityВлажность%
pressureДавлениемм рт. ст.
illuminationОсвещённостьлюкс
co2_levelУровень CO₂ppm
battery_levelУровень заряда%
powerПотребляемая мощностьВт
voltageНапряжениеВ
amperageСила токаА
water_levelУровень воды%
food_levelУровень корма%
tvocЛетучие орг. соединениямкг/м³
pm1_densityЧастицы PM1мкг/м³
pm2.5_densityЧастицы PM2.5мкг/м³
pm10_densityЧастицы PM10мкг/м³
electricity_meterСчётчик электроэнергиикВт·ч
gas_meterСчётчик газам³
heat_meterСчётчик теплаГкал
water_meterСчётчик водым³

alice-event — События

Дискретные события (строковые значения). Подайте строку на вход — событие будет отправлено в облако.

Instance Описание Значения
openОткрытие/закрытиеopened, closed
motionДвижениеdetected, not_detected
buttonНажатие кнопкиclick, double_click, long_press
vibrationВибрацияtilt, fall, vibration
smokeЗадымлениеdetected, not_detected, high
gasУтечка газаdetected, not_detected, high
water_leakПротечка водыdry, leak
battery_levelУровень зарядаlow, normal
water_levelУровень водыlow, normal

Особенность: для типа button значение автоматически сбрасывается через 1 секунду.

Примеры устройств

Устройство в Node-RED собирается из нод: одна нода alice-device и одна или несколько нод умений/датчиков, привязанных к этому устройству.

Простые устройства

Умная розетка
Тип устройства: Socket
alice-device alice-onoff

Простейший вариант — одно устройство с одним умением. Подайте true/false на вход alice-onoff, чтобы отобразить текущее состояние розетки. Алиса сможет включать и выключать её голосом.

Датчик температуры
Тип устройства: Sensor
alice-device alice-sensor instance: temperature

Подайте числовое значение температуры на вход alice-sensor. Алиса будет отвечать на вопросы типа «Какая температура в гостиной?».

Датчик движения
Тип устройства: Sensor.Motion
alice-device alice-event instance: motion

Подайте строку "detected" или "not_detected" на вход alice-event.

Устройства средней сложности

Лампа с диммером
Тип устройства: Light
alice-device alice-onoff alice-range instance: brightness

Лампа, которую можно включить/выключить и регулировать яркость от 0 до 100%. Алиса понимает команды: «Включи лампу», «Поставь яркость 50%», «Увеличь яркость».

RGB-лампа
Тип устройства: Light
alice-device alice-onoff alice-range brightness alice-color

Полноцветная лампа. Помимо включения и яркости, поддерживает цвет (RGB/HSV), цветовую температуру (тёплый/холодный свет) и световые сцены («Алиса, включи романтику»).

Вентилятор с регулировкой скорости
Тип устройства: Fan
alice-device alice-onoff alice-mode instance: fan_speed

Вентилятор с включением/выключением и переключением скорости (auto, low, medium, high, turbo). Алиса: «Поставь вентилятор на максимум».

Сложные устройства

Кондиционер
Тип устройства: AC (thermostat.ac)
alice-device alice-onoff alice-range temperature alice-mode thermostat alice-mode fan_speed alice-togle swing

Полнофункциональный кондиционер: включение, целевая температура, режим работы (охлаждение/нагрев/авто), скорость вентилятора, качание шторок. Алиса: «Поставь кондиционер на 22 градуса в режиме охлаждения».

Мультисенсор (климат-станция)
Тип устройства: Sensor.Climate
alice-device alice-sensor temperature alice-sensor humidity alice-sensor co2_level alice-sensor pressure

Одно устройство с несколькими датчиками. Алиса: «Какая влажность в спальне?», «Какой уровень CO₂?».

Увлажнитель воздуха
Тип устройства: Humidifier
alice-device alice-onoff alice-mode work_speed alice-range humidity alice-sensor water_level

Увлажнитель с управлением: вкл/выкл, скорость работы, целевая влажность, датчик уровня воды.

Типы устройств

При создании alice-device нужно выбрать тип устройства. Тип влияет на иконку и голосовые команды Алисы. Основные категории:

Категория Типы Рекомендуемые умения
Освещение Light, Light Ceiling, Light Strip on_off, range (brightness), color_setting
Розетки и выключатели Socket, Switch on_off
Климат Thermostat, AC, Humidifier, Purifier, Fan on_off, range (temperature), mode (thermostat, fan_speed)
Медиа TV, TV Box, AV Receiver, Media Device on_off, range (volume, channel), mode (input_source)
Кухня Coffee Maker, Kettle, Multicooker on_off, mode (coffee_mode, tea_mode, multicooker_mode), toggle (keep_warm)
Открывающиеся Curtain, Door, Gate, Window, Valve on_off, range (open)
Бытовые Vacuum Cleaner, Washing Machine, Dishwasher, Iron on_off, mode (program, work_speed), toggle (pause)
Датчики Sensor, Sensor.Motion, Sensor.Climate, Sensor.Open, Sensor.WaterLeak, Sensor.Smoke, Sensor.Gas, Sensor.Button, Sensor.Vibration, Sensor.Illumination sensor (temperature, humidity и др.), event (motion, open и др.)
Счётчики Smart Meter, Electricity, Gas, Water, Heat sensor (electricity_meter, gas_meter, water_meter, heat_meter)
Камеры Camera video_stream
Прочее Pet Feeder, Pet Drinking Fountain, Other on_off, sensor (food_level, water_level)

Подробнее о типах устройств и умениях в документации Яндекса по типам устройств и типам умений.