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

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

Материал из Wiki yaboard
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
== Вступление ==
Пару слов о такой системе УД.
Я не буду рассказывать плюсы и минусы системы ioBroker, потому что банально не с чем сравнивать: я не пытался изучать другие продукты, всё по-принципу "поставил - поехал".
Посыл скорее для тех, кто сомневается в актуальности размещения локального сервера УД. Какие плюсы получает владелец своего сервера:
* Независимость от китайских серверов, если речь идет об устройствах xiaomi;
* Полный контроль за системой, нет фобии, что завтра китайские сервера закроются (сори за примеры с Китаем);
* Нет зависимости, от бесконечно отваливающихся навыков других систем: отвязать/привязать устройство, не помогло, удалил/добавил, не помогло. писать в ТП, ждать...;
* Даже если отключен интернет, нет связи с Яндексом и другими аккаунтами, Ваш УД не перестанет работать, достаточно оборудовать его кнопками и продолжить управление;
* Вам не нужно просить Алису "запусти навык...", "попроси %имя_навыка% включить...";
* У Вас нет такой громадной цепочки, когда запрос идет: Алиса - Навык - IFTTT и обратно. Каждый шлюз это свой сервис, со своими правилами/требованиями/интересами и т.д.;
Что касается отклика. Время на отработку запроса составляет 3-4 секунды, после того, как я озвучиваю хотелку.
Это при работе через Алису, соответственно, если вы завязываете УД на кнопки, скорость еще выше.
== Настройка адаптера ==
== Настройка адаптера ==
За основу взята статья https://wiki.yaboard.com/w/Алиса_и_ioBroker и доработана.
За основу взята статья https://wiki.yaboard.com/w/Алиса_и_ioBroker и доработана.

Версия от 20:43, 23 апреля 2020

Вступление

Пару слов о такой системе УД.

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

Посыл скорее для тех, кто сомневается в актуальности размещения локального сервера УД. Какие плюсы получает владелец своего сервера:

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

Что касается отклика. Время на отработку запроса составляет 3-4 секунды, после того, как я озвучиваю хотелку.

Это при работе через Алису, соответственно, если вы завязываете УД на кнопки, скорость еще выше.

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

За основу взята статья https://wiki.yaboard.com/w/Алиса_и_ioBroker и доработана.

Регистрируемся на сайте, подтверждаем почтовый ящик.

https://iobroker.pro/intro

Устанавливаем драйвер "IoT Assistants". Заходим в настройки.

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

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

Этот пункт не описан на вики автора, что делать с паролем:

  • Открываем приложение Яндекса
  • Переходим в знакомый всем квазар - управление устройствами
  • Добавить устройство - ioBroker
  • и вот здесь связываем аккаунты йоба и алисы с помощью пароля выше.

Если аккаунты связались, всё круто, едем дальше. Возвращаемся в настройки драйвера "IoT Assistants" в iob. На вкладке "умные перечисления" должны появится "функции" и "комнаты". Если есть, всё круто. Это всё можно отредактировать во вкладке "категории" ioBroker-а. Далее, открываем "объекты" в ioBroker, и, в каждом устройстве, которым хотим управлять, выставляем "функции" и "комнату".

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

Я много пишу "если, то круто" и не разбираю что делать, если есть трудности. гуглить. Предугадать все возможные трудности тяжело, но статья расчитана на то, что у Вас есть минимальное (очень надеюсь, что выше моего) представление о платформе iob, а так же мозги и чуйка. Анализировать ошибки, гуглить, вникать, разбираться. Гуглится iobroker алиса. Оставлю ссылку, где я еще брал материал:

https://forum.iobroker.net/topic/25560/драйвер-iot-assistants-и-алиса
https://wiki.yaboard.com/w/Алиса_и_ioBroker

Примеры устройств

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

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

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

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

После того, как Вы объединили аккаунты iob и алисы, должны явится устройства.

  • Находим подрозетники "sonoff", указываем ему имя, комнату. Имя, которое задано внутри iob не роляет, включать будет то, что обзовете непосредственно в настройке устройства Алисы.
  • При этом модель устройства перекочует из iob, удобно, сразу понятно через что устройство прокинуто в Алису.

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

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

Изначально, шлюз был приобретен 257 лет назад, как основа для УД. Но затем, узнав о платформе iob, и последующем разворачивании УД на нем, шлюз оказался ненужным.

И тогда было принято решение, сделать из него ночник.

Заведен в 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 - мне это не понятно.
После того, как координаты более-менее подобраны, забиваем их в скрипт и проделываем, если необходимо, на каждую комнату.

И по традиции, снова обновляем список устройств в Алисе, у Вас должны подтянутся созданные скрипты, которые так же настраиваем.

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

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