Amazon Alexa (v3)
голосовое управление оборудованием через iRidi и Amazon Alexa (3-ей версии API).
документация обновлена 01.01.2024
Алекса - голосовой ассистент от Амазон, встроенный в умную колонку Amazon Echo и прочие устройства типа:
- Echo Plus,
- Echo Dot,
- Amazon Tap,
- Echo Sub,
- Echo Show,
- Fabriq Chorus и другие Alexa-enabled устройства сторонних производителей.
Навык iRidium Assistant понимает несколько языков:
- Английский (Австралия);
- Английский (США),
- Aнглийский (Великобритания),
- Английский (Индия),
- Испанский (Испания),
- Испанский (Мексика),
- Испанский (США),
- Итальянский (Италия),
- Немецкий (Германия),
- Португальский (Бразилия),
- Хинди (Индия),
- Французский (Франция),
- Японский (Япония).
С актуальным списком поддерживаемых языков можно ознакомиться на сайте Amazon или в приложении Alexa App .
С помощью навыка "iRidium Assistant" Алекса может управлять умным домом через iRidi Cloud и сервер iRidi. Вы можете произнести команду "Включи свет" и лампочка загорится. Произнесите "Выключи свет" и лампочка погаснет. Всё просто!

Работа в iRidi Studio
Добавление драйвера и устройств
-
Создайте серверный проект.
-
Добавьте драйвер Amazon Alexa (v3) Network в проект.

- Добавьте умные устройства в проект.

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

Описание устройств и обратных связей
Устройства Amazon Alexa - это не реальные устройства, а только лишь интерфейс между реальными устройствами и Алексой. Вы должны реализовать функционал этих устройств в iRidi Server или обеспечить связи с соответствующими физическими устройствами по тому или иному протоколу. iRidi предоставляет интерфейс с различными типами устройств:
- Contact sensor,
- Motion sensor,
- Door,
- Curtains,
- Switch,
- Thermostat (Heat - Cool),
- Thermostat,
- Light Color Temperature,
- Light Color,
- Light,
- Dimmer.
Однако, это не ограничивает вас в возможностях работы с другими устройствами. Например, вы можете реализовать управление реле, используя бинарное устройство типа Switch.
Вам необязательно использовать все обратные связи устройств, используйте только те, которые вам нужны.
Contact sensor
Концевые выключатели, контактные термометры, электронные датчики.
| Обратная связь | Описание | Действия | Примеры голосовых команд |
|---|---|---|---|
| State | Состояние: обнаружен / не обнаружен | Detected, NotDetected | "Alexa, is Contact sensor open?" |
Motion sensor
Автоматическая регулировка освещения.
| Обратная связь | Описание | Действия | Примеры голосовых команд |
|---|---|---|---|
| State | Состояние: обнаружен / не обнаружен | Detected, NotDetected | - |
Door
Управление замком на двери.
| Обратная связь | Описание | Действия | Примеры голосовых команд |
|---|---|---|---|
| State | Открытие / закрытие | Lock, Unlock | "Alexa, lock the door" "Alexa, unlock the door" |
Curtains
Управление шторами.
| Обратная связь | Описание | Действия | Примеры голосовых команд |
|---|---|---|---|
| Range | Процент | setPercentage incrementPercentage decrementPercentage | "Alexa, set curtains to hundred percents" "Alexa, raise curtains by five percents" "Alexa, lower curtains by two percents" |
Switch
Выключатель, свет, реле.
| Обратная связь | Описание | Действия | Примеры голосовых команд |
|---|---|---|---|
| Power | Состояние вкл/откл | turnOn turnOff | "Alexa, turn on switch" "Alexa, turn off switch" |
Thermostat (Heat - Cool)
Управление термостатом с ограничением максимальной и минимальной температуры.
| Обратная связь | Описание | Действия | Примеры голосовых команд |
|---|---|---|---|
| Cool Target Temperature | Верхняя уставка температуры | getTemperatureReading getTargetTemperature | "Alexa, what temperature is my thermostat set to?" |
| Heat Target Temperature | Нижняя уставка температуры | ||
| Power | Состояние вкл/откл | turnOn turnOff | "Alexa, turn on thermostat" "Alexa, turn off thermostat" |
| Sensor Temperature | Температура с датчика | getTemperatureReading getTargetTemperature | "Alexa, what thermostat temperature?" |
| Target Temperature | Заданная температура в градусах | setTargetTemperature incrementTargetTemperature decrementTargetTemperature getTargetTemperature | "Alexa, set thermostat to thirty degrees" "Alexa, increase thermostat by five degrees" "Alexa, reduce thermostat by two degrees" "Alexa, make it warmer in here" "Alexa, make it cooler in here" "Alexa, what is thermostat target temperature?" |
| Temperature Mode | Режим работы | setAuto, setECO, setHeat, setCool, setOff. | "Alexa, set thermostat to cool mode" "Alexa, set thermostat to heat mode" "Alexa, off thermostat" |
Thermostat
Управление термостатом.
| Обратная связь | Описание | Действия | Примеры голосовых команд |
|---|---|---|---|
| Power | Состояние вкл/откл | turnOn turnOff | "Alexa, turn on thermostat" "Alexa, turn off thermostat" |
| Sensor Temperature | Температура с датчика | getTemperatureReading getTargetTemperature | "Alexa, what thermostat temperature?" |
| Target Temperature | Заданная температура в градусах | setTargetTemperature incrementTargetTemperature decrementTargetTemperature getTargetTemperature | "Alexa, set thermostat to thirty degrees" "Alexa, increase thermostat by five degrees" "Alexa, reduce thermostat by two degrees" "Alexa, make it warmer in here" "Alexa, make it cooler in here" "Alexa, what is thermostat target temperature?" |
| Temperature Mode | Режим работы | setAuto, setECO, setHeat, setCool, setOff. | "Alexa, set thermostat to cool mode" "Alexa, set thermostat to heat mode" "Alexa, off thermostat" |
Light Color Temperature
Лампочка, светильник, ночник или люстра с изменением теплоты света.
| Обратная связь | Описание | Действия | Примеры голосовых команд |
|---|---|---|---|
| Brightness | Процент | setPercentage incrementPercentage decrementPercentage | "Alexa, set light to hundred percents" "Alexa, raise light by five percents" "Alexa, lower light by two percents" |
| Power | Состояние вкл/откл | turnOn turnOff | "Alexa, turn on light" "Alexa, turn off light" |
| Color Temperature | Температура цвета | setColorTemperature | "Alexa, set the light softer" "Alexa, make the light warmer" "Alexa, set the light cooler" "Alexa, make the light white" |
Light Color
Лампочка, светильник, ночник или люстра с RGB управлением.
| Обратная связь | Описание | Действия | Примеры голосовых команд |
|---|---|---|---|
| Brightness | Процент | setPercentage incrementPercentage decrementPercentage | "Alexa, set light to hundred percents" "Alexa, raise light by five percents" "Alexa, lower light by two percents" |
| Power | Состояние вкл/откл | turnOn turnOff | "Alexa, turn on light" "Alexa, turn off light" |
| Color | RGB | setColor | "Alexa, set the light to red" "Alexa, set the front porch light to blue" "Alexa, set the bedroom light to red" "Alexa, set the kitchen light to blue" |
Light
Управление диммируемыми лампами.
| Обратная связь | Описание | Действия | Примеры голосовых команд |
|---|---|---|---|
| Brightness | Процент | setPercentage incrementPercentage decrementPercentage | "Alexa, set light to hundred percents" "Alexa, raise light by five percents" "Alexa, lower light by two percents" |
| Power | Состояние вкл/откл | turnOn turnOff | "Alexa, turn on light" "Alexa, turn off light" |
Dimmer
Одноканальный диммер, электрический теплый пол.
| Обратная связь | Описание | Действия | Примеры голосовых команд |
|---|---|---|---|
| Power | Состояние вкл/откл | turnOn turnOff | "Alexa, turn on dimmer" "Alexa, turn off dimmer" |
| Level | Процент | setPercentage incrementPercentage decrementPercentage | "Alexa, set dimmer to hundred percents" "Alexa, raise dimmer by five percents" "Alexa, lower dimmer by two percents" |
Создание скрипта
Скрипт обеспечивает прием голосовых команд от Алексы и перенаправляет их на реальные устройства. В данном примере это устройства в сети Modbus TCP.
Для создания драйвера необходимо:
-
Создать серверный проект ** .sirpz* ;
-
Добавить скрипт, нажав на кнопку JS > + > New script .
-
В скрипт вставьте шаблон и настройте связь подустройств Алексы с оборудованием:
//Let's get a link to the "Amazon Alex (v3) Network" driver.
var l_pDevice = IR.GetDevice("Amazon Alexa (v3) Network");
if(l_pDevice)
{
//Log the name of the device from which the feedback came and its value
IR.AddListener(IR.EVENT_TAG_CHANGE, l_pDevice, function(name, value){
IR.Log("Name: " + name + " Value: " + value);
switch(name)
{
case "Dimmer:Level":
IR.GetDevice("Modbus TCP").Set("Dimmer:Level", value);
break;
case "Switch:Power":
IR.GetDevice("Modbus TCP").Set("Switch:Power", value);
break;
case "Contact sensor:State":
IR.GetDevice("Modbus TCP").Set("Contact sensor:State", value);
break;
case "Light Color:Color":
IR.GetDevice("Modbus TCP").Set("Light Color:Color", value);
break;
case "Thermostat (Heat-Cool):Power":
IR.GetDevice("Modbus TCP").Set("Thermostat (Heat-Cool):Power", value);
break;
}
})
}
При использовании каналов обратной связи в драйвере Amazon Alexa (v3) Network, необходимо указать название подустройства и канал обратной связи через двоеточие. С полным списком подустройств и каналов обратной связи можно ознакомиться в таблице "Описание устройств и обратных связей".
-
Загрузить проект на сервер через облако;
-
Синхронизировать проект с Алексой.
- Имена устройств в драйвере должны быть уникальны;
- Для создания имен подустройств используйте только английский язык;
- Нельзя создавать и (или) редактировать обратные связи, у каждого устройства Алексы уже есть стандартный набор фидбэков, которые она использует;
- Для поиска устройств в приложении Alexa App проект должен быть запущен на сервере.
Загрузка проекта в iRidi Cloud и на сервер
-
Авторизуйтесь на сайте iRidi.
-
Загрузите серверный и панельный проекты на облако iRidi Cloud.

- На вкладке Users and Panels добавьте в проект конечного пользователя.

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

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

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

Алекса работает только через iRidi Cloud, поэтому она не сможет работать, если проект будет загружен на сервер через iRidi Transfer.
Настройка Алексы
Регистрация умной колонки
Алекса настраивается с помощью приложения Alexa App на мобильных устройствах или в веб-сервисе Amazon на ноутбуках или компьютерах.
В любом случае потребуется наличие Wi-Fi на устройстве для прямого соединения с умной колонкой.
-
Зарегистрируйтесь на сайте Amazon, если у вас ещё нет учётной записи.
-
На мобильных устройствах будет предложено скачать приложение Alexa App . На ноутбуках и компьютерах можно продолжить настройку на сайте Amazon.
-e07b993a5715cf8d66c489889c298685.png)
Операционные системы, на которых Alexa App может работать:
- Fire OS 3.0 или выше,
- iOS 9.0 или выше,
- Android 5.0 или выше,
- Windows 10 версии 17134.0 или более поздняя.
Убедитесь, что в Вашем регионе приложение Alexa App доступно для скачивания из Google Play и App Store.
- Пройдите пошаговую процедуру регистрации умной колонки, все инструкции будут на экране.
Установка навыка
Навык устанавливается только в приложении Alexa App .
- Запустите приложение. Перейдите на вкладку Devices и нажмите кнопку YOUR SMART HOME SKILLS , чтобы посмотреть все установленные навыки умного дома..

- Нажмите кнопку ENABLE SMART HOME SKILLS , чтобы добавить новый навык.

- В строке поиска наберите iridium assistant для поиска навыка и кликните по нему.
Amazon Alexa (v3) работает только с навыком iRidium assistant и не подключится к старому навыку iRidium . Навык iRidium assistant поддерживает единое облачное соединение для всех голосовых помощников.

- Прочитайте про навык и затем нажмите кнопку ENABLE TO USE .

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

- В выпадающем списке выберите объект, с которым будет работать Алекса. Нажмите Grant Access .

- Alexa успешно подключилась к объекту iRidi.

Выгрузка устройств из iRidi Cloud
- Нажмите DISCOVER DEVICES .

- Процесс займёт не более 20 секунд.

- Устройства из серверного проекта iRidi автоматически загрузятся в приложение Alexa App .
Устройства загрузятся только в том случае, если iRidi Server запущен и в него загружен проект с Алексой.

- Если вы скорректируете проект, то не забудьте загрузить его в iRidi Cloud, затем обновите его в iRidi Server. После этого нажмите кнопку Add Device на вкладке Devices приложения Alexa App .
Тестирование проекта
Проект для сервера можно запустить на том же компьютере, на котором производится работа в iRidi Studio. Но проект следует загружать только через iRidi Cloud.
Произносите голосовые команды в колонку Amazon Echo и Алекса передаст команды в iRidi Server, и тот, в свою очередь, исполнит команды согласно скрипту.
Вы может использовать любой эмулятор сервера Modbus TCP, например, бесплатный Modbus PLC Simulator для тестирования проекта.
-
Вы можете зарегистрировать одну колонку Amazon Echo на нескольких объектах iRidi. Учтите, что голосовые команды передаются на все доступные (работающие) серверы iRidi, в связи с этим могут возникать конфликты управления. Не забывайте удалять неработающие или тестовые проекты с Алексой из iRidi Cloud.
-
Единицы измерения температуры (градусы Цельсия или Фаренгейта) можно изменить в региональных настройках в Alexa App.