Подключение устройств ioBroker в Алису

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



Вступление

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

Итак, какие плюсы получает владелец своего сервера?

  • Независимость от состояния китайских серверов (если речь идет об устройствах xiaomi, итд);
  • Полный контроль над системой (нет фобии, что завтра те же сервера закроются и система рухнет);
  • Нет зависимости от постоянно отваливающихся сторонних навыков (отвязать/привязать устройство, не помогло, удалил/добавил, не помогло, писать в поддержку, ждать, пробовать снова...);
  • Нет зависимости от Интернета (даже когда нет связи с Яндексом и другими аккаунтами, локальный умный дом не перестанет работать, а управлять им в это время можно и кнопками);
  • Развитые сценарии локального "самоуправления";
  • Не нужно произносить лишних фраз "запусти навык...", "попроси %имя_навыка% включить..." (да, это можно частично прятать в сценариях);
  • Не нужны громоздкие цепочки "Алиса - Навык - IFTTT и обратно". Каждый шлюз - это свой сервис, со своими правилами/требованиями/интересами и т.д.
Что касается отклика. Время на отработку запроса составляет 3-4 секунды при работе через Алису; если Вы завязываете УД на кнопки, скорость выше.


Настройка адаптера

За основу взята (и доработана) статья "Алиса и ioBroker".


Создаём учётную запись в системе ioBroker

  • Регистрируемся на сайте, подтверждаем почтовый ящик.
  • Устанавливаем драйвер "IoT Assistants", заходим в настройки:
    • В ассистентах отмечаем Yandex Алиса;
    • Указываем логин-пароль подключения к ioBroker.pro;
    • Жмём "Сохранить" (адаптер перезапустится).

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


Объединяем аккаунты в приложении Яндекс

  • Открываем приложение Яндекса;
  • Переходим в знакомый всем квазар - "Управление устройствами";
  • "Добавить устройство" - "ioBroker";
  • Связываем аккаунты йоба и алисы с помощью полученного при регистрации в ioBroker пароля.
Если аккаунты связались - круто, едем дальше. 
Если нет - поменяйте/установите в настройках телефона браузер по умолчанию и пробуйте снова.


Настройки драйвера "IoT Assistants" в iob

На вкладке "Умные перечисления" должны появиться "Функции" и "Комнаты". Если есть - круто (всё это можно редактировать во вкладке "Категории" настроек ioBroker).

Открываем "Объекты" в ioBroker, и в каждом нужном нам устройстве выставляем "Функции" и "Комнату".

Привязка комнат и функций


Откроем еще раз настройки драйвера "IoT Assistants", во вкладке "устройства Алисы" тоже должны появиться наши объекты.

Устройства Алисы

Предугадать в статье все возможные проблемы тяжело; будем считать, что у Вас уже есть минимальное представление о платформе iob, мозги и чуйка. Анализируйте ошибки, используйте поиск ("iobroker алиса"). Часть информации взята здесь:
- "Драйвер IoT Assistants и Алиса"
- "Алиса и ioBroker"


Примеры устройств и нюансы настройки

Немного очевидности: все устройства, которые Вы заводите в iob, должны уметь работать с Алисой. 

В данный момент у меня подключены:

  • Подрозетники Sonoff;
  • Шлюз Xiaomi, выполняющий роль ночника в комнате (с регулировкой яркости);
  • Пылесос Xiaomi Mi Robot Vacuum 1 поколение;
  • Выключатель Tuya;


Подрозетники sonoff

Предполагается, что они уже прошиты и настроены на работу непосредственно в iob, управляются из интерфейса. 
Установлены в цепь между светильником и розеткой.

После того, как Вы объединили аккаунты iob и алисы, в настройках драйвера (см предыдущую иллюстрацию) должны появиться устройства.

  • Находим подрозетники "sonoff", указываем ему имя, комнату (заданное внутри iob имя и остаётся внутри; включать голосом будете по тому имени, которое укажете в настройке устройства Алисы.
  • Модель устройства перекочует из iob (удобно, сразу понятно, через что устройство прокинуто в Алису).

Настройка в аккаунте

С недавним обновлением Яндекса, если устройство и колонка привязаны к определенной комнате (например, "гостиная"), достаточно сказать "Алиса, включи зеркало" - и у Вас включится "зеркало" в гостиной.

Видеодемонстрация:


Шлюз Xiaomi в роли ночника

Когда-то давно этот шлюз был приобретен, как основа для УД. Но с переходом на ioBroker и разворачивании УД на нём, шлюз стал ненужным. Тогда было принято решение сделать из него ночник.

Шлюз заведен в iob через драйвер "mihome", в настройке достаточно указать IP-адрес шлюза и его токен (добывается в настройках вашего роутера, например, и в приложении mihome).

Предполагается, что Вы настроили шлюз, он управляется из iob, всё круто. После связки аккаунтов Алисы и iob точно так же задаем комнату, имя.

Настройка в аккаунте

Из интересного: можно управлять яркостью и цветом нашего "ночника".

Видеодемонстрация:


Пылесос Xiaomi Mi Robot Vacuum 1 поколение

Мне было важно, чтобы пылесос запускал уборку в определенной комнате (зональная уборка). В первой версии этого пылесоса такой фичи нет.

Простейшее решение проблемы: в приложении mihome грузится карта (если не заглючит и не скажет, что карту забыл), затем ручками выбирается сектор и отправляется на уборку.

Круто, но нет. Чтобы стало круто, используем скрипты iobroker.

Нам понадобятся драйвера "mihome-vacuum" и "javascript" (предполагаем, что нужное, чтобы рулить скриптами в iob, у Вас имеется).

Скрипт до безобразия прост. Главное - раздобыть координаты комнаты и забиндить их в скрипт. Создаем скрипт, называем по вкусу, и делаем 2 блока: один на установку уборки, а второй просто тушит скрипт (заглушка).

Пример скрипта


Теперь самое простое (сложное): найти координаты комнаты. В открытом виде их нет нигде.

Я искал в инете, натыкался на немецких авторов и ничего там не понимал. Что-то программировать я не умею, так что всё методом тыка, по-деревенски. Если кто научит получать их как-то иначе, чем делал я, буду премного благодарен.

Итак, что я делаю: в скрипт выше начинаю вписывать различные значения комнаты и потом смотрю в приложении "mihome", что он отрисовал. Методом тыка понял, что координаты пределов задаются примерно так:

[верхний левый, нижний левый, нижний правый, верхний правый]
[22600, 21000, 26300, 26100, 1]

Странно звучит, согласен. В доке описано про x1,y1,x2,y2 - непонятно, как соотносится.


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

Script.png


Должны подтянуться созданные скрипты. Настроим их запуск в приложении Яндекс. Для скрипта из примера я указал имя "Пылесос" и привязал его к комнате. Теперь по команде "включи пылесос в гостиной" запускается зональный скрипт уборки.

Настройка в аккаунте

Видеодемонстрация:


Выключатель Tuya

Выключатель работает по протоколу zigbee, для этого Вам в арсенале нужно иметь usb стик, который будет управлять устройствами.
Выключатель работает без нуля, вкл/выкл как физически с кнопки, так и голосом. Пока тестирую на ложные срабатывания, но люди в чате говорят что всё ок.
Выключатель спаривается со стиком, зажатием клавиши на секунд 10-15. После попадает в iob, где уже можно им рулить.
Как и со всеми устройствами выше, нужно указать комнату и функцию, после этого обновить список устройств.

Видеодемонстрация:

Обязательно обновляем список устройств в Алисе!

Успехов и удачи в освоении ioBroker, и больше новых умных устройств в вашем доме!