Алиса и ioBroker

Материал из База знаний
Перейти к навигации Перейти к поиску



Знания 
Применение информации с этой страницы требует специальных знаний и навыков
 
Всё описанное на этой странице вы производите на свой страх и риск, включая нарушение работы программного обеспечения и выход из строя оборудования, а также риск поражения током и травмы.
Материал носит информационный характер, и не является прямым указанием к действию!

Небольшое введение

ioBroker — открытая IoT-платформа на Node.js (желательно от 6х), что позволяет развернуть практически на любом железе и ОС (ARM, x86, Windows, Linux, Raspberry, Windows-Server, Synology-NAS, MacOS), универсально управляя практически всеми функциями через web. Система легко масштабируема - от Raspberry Pi с простыми задачами до достаточно сложного и мощного сервера.

C помощью плагинов ("драйверов") ioBroker может общаться с системами автоматизации (HomeMatic, KNX, FS20, EnOcean), мультимедиа (Sonos, Dreambox) и различными AV-ресиверами/SmartTV, облачными сервисами и БД (MySQL, Graphite), а также Telegram-ботами. Средний расход памяти для одного драйвера лежит в пределах 10-60 Мб.

В 2017 "Smart Home Initiative Deutschland e.V." признала ioBroker лучшим системным решением в домашней автоматизации и присвоила "SmartHome Deutschland Award 2017".


Шаги по подключению

Статья основана на инструкциях Ильи Кирова, на текущий момент они не завершены, автор просил не оставлять прямые ссылки.


Регистрация

Предельно простая:

  1. Регистрируемся на сайте https://iobroker.pro/intro
  2. Подтверждаем свой почтовый адрес.


IoBroker-01 reg.png IoBroker-02 reg.png

IoBroker-03 reg.png IoBroker-04 reg.png


Установка адаптера ioBroker.iot

IoBroker-05 adapter.png

Рекомендую устанавливать версию адаптера не ниже 1.0.4. Если такой версии нет в доступных драйверах, переключитесь на latest репозиторий, или установите с github: https://github.com/ioBroker/ioBroker.iot

  1. В ассистентах отмечаем Yandex Алиса
  2. Указываем логин-пароль подключения к ioBroker.pro
  3. Жмём "Сохранить" - адаптер перезапустится.


IoBroker-06 adapter.png IoBroker-07 adapter.png

Если индикатор состояния станет “желтым” - в логах появятся ошибки, позволяющие диагностировать проблему.

В случае успешного старта на почту придет индивидуальный пароль для этого экземпляра ("инстанса") ioBroker.iot.

Если пароль не пришел или адаптер не подключился, нужно запросить его еще раз. 
Для этого нужно поставить галочку в настройках и нажать кнопку "Получить новые сертификаты подключения".

IoBroker-08 adapter.png IoBroker-09 adapter.png IoBroker-10 adapter.png


Дальше аккаунты ioBroker и Яндекса нужно объединить в приложении Яндекс (процесс аналогичен подключению других навыков УДЯ, например Подключение устройств eWeLink).


Определение устройств

Устройство в ioBroker представляется набором состояний, характеризующих его. Другими словами, для ассистентов нужно "собрать" устройство из различных состояний.

В случае с Алисой используется новый механизм "угадывания" устройств - по доступным состояниям устройства пытаются определиться сами. Но для этого необходимо указать состояниям их роль, а также функцию и комнату.


IoBroker-11 adapter.png


Хочется больше? Приватный навык и 2 экземпляра

Если вы хотите подключить к Алисе еще один экземпляр ("инстанцию") ioBroker - например, дома и на даче - то возникнут проблемы. Дважды к Алисе официальный навык с разными реквизитами не подключить. Поэтому создадим свой навык, приватный (так же можно сделать и для одного экземпляра, если не хотите использовать облачный сервис ioBroker.

Для этого понадобится:

  • свой домен,
  • сертификат для защищенного соединения https
  • проброс запросов с этого домена до нужного экземпляра ioBroker.


Обработчик локального навыка

Для того, чтобы получить и обработать запросы с сервера Алисы в ioBroker нужно установить и настроить адаптер по этой ссылке

IoBroker-12 navyk.png

Здесь нужно выбрать установленный адаптер iot (необязательно подключать его к облачному сервису iobroker.pro), которому будут пересылаться запросы для обработки.

Можно указать префикс адреса, с которого приходят запросы (можно будет использовать в адресах навыка). 
Обязательно указать порт, по которому будет запущен сервер, принимающий внешние запросы.

После запуска адаптер будет отвечать по https://ваш_адрес:8088/dacha на запросы Алисы. Осталось вывести эти адрес и порт на ваш домен.


Создание связки ключей

Заходим в платформу Яндекс.Диалоги и создаём связку аккаунтов (чтобы облачный сервер ioBroker и Яндекс.Диалоги доверяли друг другу).

  • Открываем https://dialogs.yandex.ru/developer/settings/oauth
  • Нажимаем “Добавить связку аккаунтов”
  • Заполняем параметры:
    • Название - любое как вам нравится.
    • Идентификатор приложения - “https://social.yandex.net/”
    • URL авторизации - домен и адрес до сервера + “/auth”
    • URL для получения токена - домен и адрес до сервера + “/token”
    • URL для обновления токена - домен и адрес до сервера + “/token”


IoBroker-13 navyk.png


Создание локального навыка для Алисы

В Яндекс.Диалогах по адресу dialogs.yandex.ru/developer создаём новый диалог “Умный дом”.

IoBroker-14 navyk.png


  • Заполняем параметры:
    • Название - наименование поставщика, которое будет видно в списке ваших навыков.
    • Endpoint URL - домен и адрес до сервера.
  • Заполняем описание навыка.
  • Выбираем картинку для обозначения.
  • Так как навык доступен только нам (локальный), ставим галочку “Не показывать в каталоге”.
  • Обязательно выбираем связку аккаунтов, которую создали чуть ранее.


IoBroker-15 navyk.png IoBroker-16 navyk.png


IoBroker-17 navyk.png

Готово!

Отправляем навык на модерацию. Модерация и публикация локального навыка проходят мгновенно и автоматически.

Источник — https://wiki.yaboard.com/index.php?title=Алиса_и_ioBroker&oldid=4030 // MOD ext links // End MOD