Перейти к содержанию

Подключение устройств ioBroker в Алису: различия между версиями

Материал из Wiki yaboard
Нет описания правки
Нет описания правки
Строка 57: Строка 57:


Открываем "Объекты" в ioBroker, и в каждом нужном нам устройстве выставляем "Функции" и "Комнату".
Открываем "Объекты" в ioBroker, и в каждом нужном нам устройстве выставляем "Функции" и "Комнату".
[[Файл:P5new.jpeg|600px|Привязка комнат и функций]]
[[Файл:P5new.jpeg|600px|Привязка комнат и функций]]




Откроем еще раз настройки драйвера "IoT Assistants", во вкладке "устройства Алисы" тоже должны появиться наши объекты.
Откроем еще раз настройки драйвера "IoT Assistants", во вкладке "устройства Алисы" тоже должны появиться наши объекты.
[[Файл:p6.png|600px|Устройства Алисы]]
[[Файл:p6.png|600px|Устройства Алисы]]


  Предугадать в статье все возможные проблемы тяжело; будем считать, что у Вас уже есть минимальное представление о платформе iob, мозги и чуйка.  
  Предугадать в статье все возможные проблемы тяжело; будем считать, что у Вас уже есть минимальное представление о платформе iob, мозги и чуйка. Анализируйте ошибки, используйте поиск ("iobroker алиса"). Часть информации взята здесь:
Анализируйте ошибки, используйте поиск ("iobroker алиса"). Часть информации взята здесь:
  * [https://forum.iobroker.net/topic/25560/драйвер-iot-assistants-и-алиса https://forum.iobroker.net/topic/25560/драйвер-iot-assistants-и-алиса]
  * [https://forum.iobroker.net/topic/25560/драйвер-iot-assistants-и-алиса https://forum.iobroker.net/topic/25560/драйвер-iot-assistants-и-алиса]
  * [[Алиса и ioBroker]]
  * [[Алиса и ioBroker]]
Строка 89: Строка 90:
* Находим подрозетники "sonoff", указываем ему имя, комнату (заданное внутри iob имя и остаётся внутри; включать голосом будете по тому имени, которое укажете в настройке устройства Алисы.  
* Находим подрозетники "sonoff", указываем ему имя, комнату (заданное внутри iob имя и остаётся внутри; включать голосом будете по тому имени, которое укажете в настройке устройства Алисы.  
* Модель устройства перекочует из iob (удобно, сразу понятно, через что устройство прокинуто в Алису).
* Модель устройства перекочует из iob (удобно, сразу понятно, через что устройство прокинуто в Алису).
[[Файл:sonoff.jpg|300px|Настройка в аккаунте]]
[[Файл:sonoff.jpg|300px|Настройка в аккаунте]]


Строка 141: Строка 143:


После того, как координаты более-менее подобраны, окончательно забиваем их в скрипт, и повторяем процесс для каждой комнаты.
После того, как координаты более-менее подобраны, окончательно забиваем их в скрипт, и повторяем процесс для каждой комнаты.
[[Файл:Script.png|600px]]
[[Файл:Script.png|600px]]


Строка 147: Строка 150:


Должны подтянуться созданные скрипты. Настроим их запуск в приложении Яндекс. Для скрипта из примера я указал имя "Пылесос" и привязал его к комнате. Теперь по команде "включи пылесос в гостиной" запускается зональный скрипт уборки.
Должны подтянуться созданные скрипты. Настроим их запуск в приложении Яндекс. Для скрипта из примера я указал имя "Пылесос" и привязал его к комнате. Теперь по команде "включи пылесос в гостиной" запускается зональный скрипт уборки.
[[Файл:Pul_ya.jpg|300px|Настройка в аккаунте]]
[[Файл:Pul_ya.jpg|300px|Настройка в аккаунте]]



Версия от 05:40, 24 апреля 2020

Вступление

Не буду рассказывать о плюсах/минусах самой системы 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 алиса"). Часть информации взята здесь:
* https://forum.iobroker.net/topic/25560/драйвер-iot-assistants-и-алиса
* Алиса и ioBroker

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

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

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

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

Подрозетники 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 - непонятно, как соотносится.


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


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

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

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

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


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