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

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

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


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





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

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

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

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