Навык iRidium для VK Маруся
VK Маруся - голосовой помощник от компании VK.
документация обновлена 01.01.2024
Маруся - это дружелюбный голосовой помощник от VK, работающий с Капсулой и Капсулой Мини и прочими устройствами других производителей.
Поддерживает устройства с установленным приложением Маруся:
- на смартфон;
- на планшет.
Маруся понимает только русский язык. Через колонку, Маруся может управлять умным домом через iRidium cloud и сервер iRidium. Вы можете произнести команду "Включи свет", и лампочка загорится. Произнесите "Выключи свет" и лампочка погаснет. Всё просто!

Построить умную систему голосового управления просто:
Установите приложение "Маруся" на смартфон или планшет.
Запустите навык "Иридий", который научит Марусю взаимодействовать c iRidium. Подключитесь к объекту в облаке iRidium cloud.
Создайте умный дом на основе iRidium server, добавьте необходимые устройства и настройте логику проекта.
Попробуйте поработать с Марусей бесплатно в триальном режиме!
Работа в iRidium studio
- Создайте серверный проект.
Для корректного отображения устройств, установите последнюю версию iRidium studio с нашего сайта.
- Добавьте драйвер VK Marusia в проект.

- Щелкните правой кнопкой по VK Marusia и добавьте умные устройства в проект (Add subdevice).

- Переименуйте необходимые устройства, для удобства при использовании. Установите параметр Use name - Same as device name , если хотите использовать поле Name в качестве имени устройства, или укажите Use name - Enter custom , если хотите задать имя устройства в отдельном поле (Device name ).
-
В качестве имени устройства разрешено использовать только кириллицу (без цифр, спец символов и буквы "ё").
-
Поле Device name позволяет создавать устройства с одинаковыми названиями в разных комнатах, для корректной работы приложения не используйте устройства с одинаковыми названиями в одной комнате.
-
По умолчанию параметр Use name имеет значение Same as device name - используется имя устройства введенное в поле Name . Имя устройства (Name ) должно быть уникальным и не может быть присвоено нескольким устройствам в проекте!
-
Переименовывать обратные связи устройств нельзя, так как они несут строго определенный смысл.
- Задайте значение Room, в дальнейшем оно позволит управлять группой устройств в заданной комнате.
-
Название комнат распознает регистр, не называйте комнаты одноименно, для предотвращения появления двух комнат с одним и тем же названием (например, “кухня” и “Кухня”).
-
Переименовать комнату можно из приложения Маруся или в iRidium Studio . Чтобы переименовать комнату в iRidium Studio , удалите устройство в приложении Маруся , переименуйте комнату в серверном проекте и обновите проект на сервере и на облаке. Затем выполните процедуру обновления списка устройств в приложении Маруся .
Описание устройств и обратных связей
Устройства Маруси - это не реальные устройства, а только лишь интерфейс между реальными устройствами и Марусей. Вы должны реализовать функционал этих устройств в iRidium server или обеспечить связи с соответствующими физическими устройствами по тому или иному протоколу. iRidium предоставляет интерфейс с различными типами устройств:
- Лампа;
- Датчик открытия/закрытия;
- Датчик температуры;
- Датчик влажности;
- Датчик протечки;
- Датчик дыма;
- Датчик движения;
- Датчик наличия газа;
- Вентилятор;
- Термостат;
- Шторы;
- Обогреватель;
- Выключатель;
- Розетка;
- Лампа РГБ;
- Вентиляция Роял Клима.
Однако, это не ограничивает вас в возможностях работы с другими устройствами. Например, вы можете реализовать управление реле, используя бинарное устройство типа "Выключатель".
Вам необязательно использовать все обратные связи устройств, используйте только те, которые вам нужны.
Устройства
Лампа
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи лампу." "Маруся, выключи лампу." |
| Brightness | Установить яркость лампы. | от 0 до 100 | "Маруся, установи яркость лампы на 10" "Маруся, убавь яркость лампы" "Маруся, сделай яркость 40 у лампы". |
| ColorTemperature | Сделать свет теплее, холоднее. | 2000-9000 | "Маруся, сделай свет лампы теплее" "Маруся, сделай холоднее свет у лампы" "Маруся, установи у лампы дневной свет" "Маруся, установи у лампы туманный свет". |
| Backlight | Управление подсветкой | 1 / 0 | "Маруся, включи подсветку у лампы" "Маруся, выключи подсветку у лампы". |
Если устройство поддерживает только один температурный режим, необходимо выбрать наиболее близкое значение из таблицы и передавать его. Маруся переключает и устанавливает значение света в соответствии с таблицей.
| Температура, К | Цвет | Значение по умолчанию |
|---|---|---|
| Мягкий белый | 2700 | Нет |
| Тёплый белый | 3400 | Нет |
| Белый | 4500 | Да |
| Дневной белый | 5600 | Нет |
| Холодный белый | 6500 | Нет |
Если передать значение или диапазон значений, которые не пересекаются с таблицей, пользователю будет предложен вариант по умолчанию (белый цвет со значением 4500 К).
Датчик открытия/закрытия
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи датчик открытия закрытия" "Маруся, выключи датчик закрытия открытия". |
| Status | Состояние датчика | opened — открыто closed — закрыто | "Маруся, как открыт датчик открытия закрытия". |
Датчик температуры
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи датчик температуры" "Маруся, выключи датчик температуры". |
| Value | Состояние датчика | Value (°C) | "Маруся, температура датчика температуры". |
Датчик влажности
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи датчик влажности" "Маруся, выключи датчик влажности". |
| Value | Состояние датчика | 0 - 100 % | "Маруся, влажность датчика влажности". |
Датчик протечки
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи датчик протечки", "Маруся, выключи датчик протечки". |
| Status | Состояние датчика | "dry — нет протечки, leak — протечка" | — |
Датчик дыма
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи датчик дыма", "Маруся, выключи датчик дыма". |
| Status | Состояние датчика | "detected — обнаружено, not detected — не обнаружено, high — высокий уровень." |
Датчик движения
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи датчик движения", "Маруся, выключи датчик движения". |
| Status | Состояние датчика | "detected — обнаружено, not detected — не обнаружено." |
Датчик наличия газа
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи датчик наличия газа", "Маруся, выключи датчик наличия газа". |
| Status | Состояние датчика | "detected — обнаружено, not detected — не обнаружено, high — высокий уровень" |
Вентилятор
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи вентилятор" "Маруся, выключи вентилятор". |
| Backlight | Управление подсветкой | 1 / 0 | "Маруся, включи подсветку у вентилятора" "Маруся, выключи подсветку у вентилятора". |
| Block | Блокировка | 1 / 0 | "Маруся, включи блокировку у вентилятора" "Маруся, выключи блокировку у вентилятора". |
| Oscillation | Применить “вращение” | 1 / 0 | "Маруся, включи вращение у вентилятора" "Маруся, выключи вращение у вентилятора". |
| Fan Mode | Управление скоростью вентилятора | low - низкая скорость medium - средняя скорость high - высокая скорость | "Маруся, включи режим вентиляции у вентилятора на автоматический" "Маруся, включи режим вентиляции у вентилятора на высокую скорость" "Маруся, включи режим вентиляции у вентилятора на низкую скорость". |
Термостат
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи термостат" "Маруся, выключи термостат". |
| Thermostat Mode | Установить режим работы нагревателя: Вентиляция(fan_only) Осушение(dry) Охлаждение(cool) Обогрев(heat) Автоматический режим(auto) Эко-режим (eco) | fan_only dry cool heat auto eco | "Маруся, переведи обогреватель в режим эко." "Маруся, переведи электровентилятор в режим охлаждения." |
| Fan Mode | Установить скорость вентилятора: Минимальная Средняя Максимальная Автоматический режим(auto) | low medium high auto | "Маруся, включи высокую скорость вентиляции." "Маруся, выключи минимальную скорость вентиляции на вентиляторе." |
| Heat Mode | Режим нагрева: Авто Максимальный Минимальный | auto max min | "Маруся, включи максимальный нагрев." |
| Temperature Celsius | Установить температуру на необходимое значение. | Value (°C) | "Маруся, выставь температуру водонагревателя на 23 градуса." |
| Oscillation | Применить вращение | 1 / 0 | "Маруся, включи вращение на вентиляторе" |
| Humidity | Включить увлажнение | 0 - 100 % | "Маруся, поставь максимальную влажность." "Маруся, установи влажность термостата на 45%." |
Шторы
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, открой шторы." "Маруся, закрой шторы." |
| Work Speed | Скорость работы: Авто Средняя Быстрый Медленный Турбо | auto medium fast slow turbo | "Маруся, включи быструю скорость работы на шторах." "Маруся, включи медленную скорость работы на шторах." |
| Range | Позиция штор | 0 - 100 % | "Маруся, открой штору на треть." "Маруся, открой штору на 50 процентов." |
Обогреватель
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи обогреватель." "Маруся, выключи обогреватель." |
| Sound | Вкл / Выкл. | 1 / 0 | "Маруся, включи звук у обогревателя." "Маруся, выключи звук у обогревателя." |
| Block | Вкл / Выкл. | 1 / 0 | "Маруся, включи блокировку у обогревателя" "Маруся, выключи блокировку у обогревателя". |
| Temperature | Установить температуру на необходимое значение. | Value (°C) | "Маруся, установи температуру обогревателя на 10" "Маруся, сделай температуру 40 у обогревателя" "Маруся, убавь температуру обогревателя" "Маруся, увеличь температуру обогревателя". |
Выключатель
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи выключатель" "Маруся, выключи выключатель". |
Розетка
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл. | 1 / 0 | "Маруся, включи розетку" "Маруся, выключи розетки в зале". |
| Backlight | Управление подсветкой | 1 / 0 | "Маруся, включи подсветку у розетки" "Маруся, выключи подсветку у розетки". |
| ColorRGB | Установить цветовое значение | 0 - 16777215 | "Маруся, смени цвет подсветки на синий." |
Лампа РГБ
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Вкл / Выкл | 1 / 0 | "Маруся, включи люстру." "Маруся, выключи ночник." |
| Brightness | Установить максимум\минимум. | 0 - 100% | "Маруся, установи яркость ночника на минимум." "Маруся, установи яркость светильника на максимум." "Маруся, убавь яркость люстры." "Маруся, прибавь яркость люстры." |
| RGB | Установить цветовое значение. | 0 - 16777215 | "Маруся, включи на торшере зеленый." "Маруся, включи оранжевый свет." |
| Backlight | Управление подсветкой | 1 / 0 | "Маруся, включи подсветку лампы." |
Чтобы конвертировать значение от Маруси для работы с шинами, где имеются отдельные каналы для работы с RGB, воспользуйтесь скриптом.
var Marusia = IR.GetDevice("VK Marusia");
var device = IR.GetDevice("Modbus TCP");
IR.AddListener(IR.EVENT_TAG_CHANGE, Marusia, function(in_sName, in_sValue)
{
if (in_sName == "Лампа:RGB") {
var valueR = (in_sValue >> 24) & 0xFF;
var commandR = "Red"; //
setRGB(commandR, valueR);
var valueG = (in_sValue >> 16) & 0xFF; //Получение зеленого
var commandG = "Green"; //Имя канала в которой передается значение
setRGB(commandG, valueG); //Функция отправки значения
var valueB = (in_sValue >> 8) & 0xFF;
var commandB = "Blue";
setRGB(commandB, valueB);
}
IR.Log(" Красный " + valueR + " Зеленый " + valueG + " Синий " + valueB);
});
/*
/ отправляем на определенную команду значение
/ command - имя команды
/ value - значение
*/
function setRGB (command ,value){
device.Set(command, value);
}
Вентиляция Роял Клима
| Обратная связь | Описание | Значение | Примеры голосовых команд |
|---|---|---|---|
| On/Off | Состояние вкл/откл. | 1 / 0 | "Маруся, включи вентиляцию." "Маруся, выключи вентиляцию." |
| FanSpeed | Скорость работы: тихий низкая средняя высокая турбо | quiet low medium high turbo | "Маруся, включи низкую скорость вентиляции." "Маруся, уменьши скорость вентиляции." |
| CurrentTemperature | Значение температуры вытяжного воздуха с датчика | any value | "Маруся, какая температура приточного воздуха." |
Чтобы конвертировать значения скоростей приточного и вытяжного вентиляторов между Вентиляцией Royal Clima на шлюзе bus77 и устройством вентиляции от Маруси, воспользуйтесь правилом или скриптом.
Пример проекта с конвертацией значения скоростей приточного и вытяжного вентиляторов через скрипт:
Скрипт, используемый в проекте-примере:
var Marusya = IR.GetDevice("VK Marusya"); // имя драйвера Маруси
var ModBus = IR.GetDevice("Bus77"); // имя драйвера
IR.AddListener(IR.EVENT_START, 0, function ()
{
IR.AddListener(IR.EVENT_TAG_CHANGE, Marusya, function(name, value)
{
IR.Log("От Marusya Name: " + name + " значение:" + value);
var NameChannelSetSupply = "";
var NameChannelSetExhaustFanSpeed = "";
var ResultForModBus = 0; //значение для МодБас
if(name == "Вентиляция Роял Клима:FanSpeed")
{
NameChannelSetSupply = "I-CAN-Modbus_тест:SupplyFanSpeed (Вентиляция Royal Clima 1)";
NameChannelSetExhaustFanSpeed = "I-CAN-Modbus_тест:ExhaustFanSpeed (Вентиляция Royal Clima 1)";
switch(value)
{
case "quiet":
{
ResultForModBus = 1;
ModBus.Set(NameChannelSetSupply, ResultForModBus);
IR.SetTimeout(100, function()
{
ModBus.Set(NameChannelSetExhaustFanSpeed, ResultForModBus);
IR.Log("Выставлено значение " + value + " В SupplyFanSpeed");
});
break;
}
case "low":
{
ResultForModBus = 2;
ModBus.Set(NameChannelSetSupply, ResultForModBus);
IR.SetTimeout(100, function()
{
ModBus.Set(NameChannelSetExhaustFanSpeed, ResultForModBus);
IR.Log("Выставлено значение " + value + " В SupplyFanSpeed");
});
break;
}
case "medium":
{
ResultForModBus = 5;
ModBus.Set(NameChannelSetSupply, ResultForModBus);
IR.SetTimeout(100, function()
{
ModBus.Set(NameChannelSetExhaustFanSpeed, ResultForModBus);
IR.Log("Выставлено значение " + value + " В SupplyFanSpeed");
});
break;
}
case "high":
{
ResultForModBus = 8;
ModBus.Set(NameChannelSetSupply, ResultForModBus);
IR.SetTimeout(100, function()
{
ModBus.Set(NameChannelSetExhaustFanSpeed, ResultForModBus);
IR.Log("Выставлено значение " + value + " В SupplyFanSpeed");
});
break;
}
case "turbo":
{
ResultForModBus = 10;
ModBus.Set(NameChannelSetSupply, ResultForModBus);
IR.SetTimeout(100, function()
{
ModBus.Set(NameChannelSetExhaustFanSpeed, ResultForModBus);
IR.Log("Выставлено значение " + value + " В SupplyFanSpeed");
});
break;
}
default:
{
IR.Log("Команда не запрограммирована!");
break;
}
}
}
});
IR.AddListener(IR.EVENT_TAG_CHANGE, ModBus, function(name, value)
{
var NameChannelSet = "";
var ResultForMarusya = 0; //значение для Маруси
IR.Log("От ModBus Name: " + name + " значение:" + value);
if(name == "I-CAN-Modbus_тест:SupplyFanSpeed (Вентиляция Royal Clima 1)" ||
name == "I-CAN-Modbus_тест:ExhaustFanSpeed (Вентиляция Royal Clima 1)")
{
NameChannelSet = "Вентиляция Роял Клима:FanSpeed";
switch(value)
{
case 1:
ResultForMarusya = "quiet";
Marusya.Set(NameChannelSet, ResultForMarusya);
break;
case 2:
ResultForMarusya = "low";
Marusya.Set(NameChannelSet, ResultForMarusya);
break;
case 3:
ResultForMarusya = "medium";
Marusya.Set(NameChannelSet, ResultForMarusya);
break;
case 7:
ResultForMarusya = "high";
Marusya.Set(NameChannelSet, ResultForMarusya);
break;
case 10:
ResultForMarusya = "turbo";
Marusya.Set(NameChannelSet, ResultForMarusya);
break;
default:
IR.Log("Команда не запрограммирована!");
}
}
IR.Log("От ModBus - Name: " + NameChannelSet + " значение:" + ResultForMarusya);
});
});
Голосовое управлении скоростями приточного и вытяжного вентиляторов происходит синхронно: скорость притока равна скорости вытяжки. Отправка значений в каналы SupplyFanSpeed и ExhaustFanSpeed осуществляется с задержкой 100 мс.
Пример проекта с конвертацией значения скоростей приточного и вытяжного вентиляторов через правила:
Обработка голосовых команд с помощью перенаправления значений

Forwarding value to создает связь между каналом и фидбеком драйверов (не зависит от типа драйвера). При добавлении ссылки на другой тег создается связь между ними, которая пересылает значение в момент его записи в источник. Для добавления связи между драйвером голосового ассистента (VK Marusia) и драйвером оборудования (в нашем примере драйвер Modbus TCP) необходимо выполнить следующие шаги:
-
Перейдите на вкладку Devices ;
-
В настройках фидбэков драйвера VK Marusia укажите перенаправление значений в соответствующие команды драйвера Modbus TCP ;
-
В настройках фидбэков драйвера Modbus TCP укажите перенаправление значений в соответствующие команды драйвера VK Marusia .
Если необходимо преобразовать полученное значение, то используйте Script Modifier. Подробное описание настройки перенаправления значений по ссылке
Пример скрипта:
function ThermostatMode(in_Type, in_Name, in_Value)
{
switch(in_Value) {
case 'fan_only' :
in_Value = 1;
break;
case 'dry' :
in_Value = 2;
break;
case 'cool' :
in_Value = 3;
break;
case 'heat' :
in_Value = 4;
break;
case 'auto' :
in_Value = 5;
break;
case 'eco' :
in_Value = 6;
break;
default:
IR.Log("Error!");
}
return in_Value;
}
Обработка голосовых команд с помощью скрипта
Скрипт обеспечивает прием голосовых команд от Маруси и перенаправляет их на реальные устройства. В данном примере это устройства в сети Modbus TCP.
-
Перейдите в редактор скрипта, нажав кнопку JS.
-
Нажмите +, затем выберите New Script.
-
Добавьте свой скрипт.
Пример:
var Marusia = IR.GetDevice("VK Marusia");
var Modbus = IR.GetDevice("Лампа");
//Логирование команд, отправленных драйвером Маруси:
IR.AddListener(IR.EVENT_TAG_CHANGE, Marusia, function(name, value){
IR.Log("Marusia! Device tag: " + name + " , value: " + value);
});
//Пример управления лампой:
IR.AddListener(IR.EVENT_TAG_CHANGE, Modbus, function(name, value){ //прослушиваем устройство на изменение тега.
switch (name) {
case "Feedback 1":
if (value == 1){ //устройство включено
Marusia.Set("Лампа:On/Off", 1) // отсылаем в канал драйвера Маруси значение 1 - устройство включено.
}
if (value == 0){ //устройство выключено
Marusia.Set("Лампа:On/Off", 0) // отсылаем в канал драйвера Маруси значение 0 - устройство выключено.
}
break;
case "Feedback 2":
Marusia.Set("Лампа:Brightness", value); // отсылаем в канал драйвера Маруси значение яркости лампы.
break;
}
});
IR.AddListener(IR.EVENT_TAG_CHANGE, Marusia, function(name, value){ //прослушиваем команду от драйвера Маруси.
switch (name) {
case "Лампа:On/Off": //если изменение прошли в теге лампы, начинаем выполнять действия.
if (value == 1){ //при отправке команды от Маруси на включение, в теге появится 1. Modbus.Set("Command 1", 1);//передаем команду от Маруси устройству 1 - включение.
}
if (value == 0) { //при отправке команды от Маруси на выключение, в теге появится 0. Modbus.Set("Command 1", 0);//передаем команду от Маруси устройству 0 - выключение.
}
break;
case "Лампа:Brightness":
Modbus.Set("Command 2", value); // передаём в команду от Маруси устройству значение яркости лампы.
break;
}
});
Обращайте внимание какое значение отсылает Маруся при обработке команды. Конвертируйте его в необходимое значение для управляемого устройства.
Загрузка проекта в iRidium Cloud и на сервер.
-
Авторизуйтесь на сайте iRidium.
-
Загрузите серверный и связанный с ним панельный проект на облако iRidium cloud.

- При необходимости на вкладке Users and Panels добавьте в проект конечного пользователя.

-
Запустите iRidium server.
-
Зайдите в веб-интерфейс сервера, набрав в адресной строке браузера: IP-адрес сервера:8888
- Если iRidium server запускается на том же компьютере, на котором он настраивается, то наберите:
127.0.0.1:8888
- Наберите пароль доступа по умолчанию
2007. Нажмите кнопку "LOGIN".

- Найдите вкладку Cloud / Projects .

- Загрузите проект из облака на сервер, нажав кнопку "CLOUD SYNC" и затем "Download" напротив нужного проекта.

- Маруся работает только через iRidium cloud, поэтому она не сможет работать, если проект будет загружен на сервер через iRidium transfer.
Настройка Маруси
Регистрация умной колонки
-
Установите приложение Маруся ;
-
Запустите приложение и авторизуйтесь в нём через VK Connect ;
-
Включите Капсулу Мини в розетку;
-
Настройте Капсулу Мини с помощью приложения.
Перевести приложение в режим настройки можно двумя способами:
- Голосом. Нажмите на кнопку микрофона внизу экрана и скажите: "Маруся, подключи Капсулу Мини".
- В меню приложения. Перейдите в меню и нажмите "Подключить колонку".
Далее следуйте инструкциям по подключению.

Установка навыка
Навык устанавливается только в приложении Маруся .
-
Установите приложение на мобильное устройство и авторизуйтесь в нем;
-
На вкладке Настройки перейдите в Умный дом ;

- В списке умных домов выберите iRidium ;

- Вы попадёте на форму регистрации на сайте iRidium mobile. Введите данные учётной записи интегратора или конечного пользователя, с которым поделились связанным панельным проектом, и нажмите Login .

- В выпадающем списке выберите продукт i3pro и объект, с которым будет работать Маруся. Нажмите Link .

- Далее в выпадающем списке выберите драйвер VK Marusia .

- При необходимости переименуйте устройства и разместите их в комнаты, после этого вы сможете ими управлять.

- Если вы скорректируете проект, то не забудьте загрузить его в iRidium cloud , затем обновите его в iRidium server . После этого обновите список устройств в приложении Маруся .
Тестирование проекта
Проект для сервера можно запустить на том же компьютере, на котором производится работа в iRidium studio. Но проект следует загружать только через iRidium cloud.
Произносите голосовые команды в приложении VK Marusia и ассистент передаст команды в iRidium server, и тот, в свою очередь, исполнит команды согласно заданной логике.
Вы может использовать любой эмулятор сервера Modbus TCP, например, бесплатный Modbus PLC Simulator для тестирования проекта.