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

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

Материал из Wiki yaboard
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
{{metadesc| Проброс и настройка устройств в УДЯ из системы ioBroker }}
__NOEDITSECTION__
__TOC__
== Вступление ==
== Вступление ==
Пару слов о такой системе УД.


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


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


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


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


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


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


Регистрируемся на сайте, подтверждаем почтовый ящик.
 
https://iobroker.pro/intro
За основу взята статья [[Алиса и ioBroker]] и доработана.
Устанавливаем драйвер "IoT Assistants". Заходим в настройки.
 
* В ассистентах отмечаем Yandex Алиса;
 
*  Указываем логин-пароль подключения к ioBroker.pro;
=== Создаём учётную запись в системе ioBroker ===
*  Жмём "Сохранить" - адаптер перезапустится;
 
 
* Регистрируемся [https://iobroker.pro/intro на сайте], подтверждаем почтовый ящик.
* Устанавливаем драйвер "IoT Assistants", заходим в настройки:
** В ассистентах отмечаем Yandex Алиса;
**  Указываем логин-пароль подключения к ioBroker.pro;
**  Жмём "Сохранить" - адаптер перезапустится;
В случае успешного старта на почту придет индивидуальный пароль для этого экземпляра ("инстанса") ioBroker.iot.
В случае успешного старта на почту придет индивидуальный пароль для этого экземпляра ("инстанса") ioBroker.iot.


'''Этот пункт не описан на вики автора, что делать с паролем:'''
 
=== Объединяем аккаунты в приложении Яндекс ===
 


* Открываем приложение Яндекса
* Открываем приложение Яндекса
* Переходим в знакомый всем квазар - управление устройствами
* Переходим в знакомый всем квазар - "Управление устройствами"
* Добавить устройство - ioBroker
* "Добавить устройство" - "ioBroker"
* и вот здесь связываем аккаунты йоба и алисы с помощью пароля выше.
* Связываем аккаунты йоба и алисы с помощью полученного при регистрации в ioBroker пароля.
 
Если аккаунты связались - едем дальше.
Если нет - попробуйте поменять/установить в настройках телефона браузер по умолчанию и пробуем ещё раз.
 
 
=== Настройки драйвера "IoT Assistants" в iob ===
 
 
На вкладке "Умные перечисления" должны появиться "Функции" и "Комнаты". Если есть, всё круто (всё это можно редактировать во вкладке "Категории" ioBroker).


Если аккаунты связались, всё круто, едем дальше.
Далее, открываем "Объекты" в ioBroker, и в каждом нужном нам устройстве выставляем "Функции" и "Комнату".
Возвращаемся в настройки драйвера "IoT Assistants" в iob. На вкладке "умные перечисления" должны появится "функции" и "комнаты". Если есть, всё круто. Это всё можно отредактировать во вкладке "категории" ioBroker-а.
Далее, открываем "объекты" в ioBroker, и, в каждом устройстве, которым хотим управлять, выставляем "функции" и "комнату".
<gallery>
<gallery>
P5new.jpeg|привязка комнат и функций
P5new.jpeg|привязка комнат и функций
Строка 46: Строка 66:
p6.png|устройства Алисы
p6.png|устройства Алисы
</gallery>
</gallery>
''Я много пишу "если, то круто" и не разбираю что делать, если есть трудности. гуглить. Предугадать все возможные трудности тяжело, но статья расчитана на то, что у Вас есть минимальное (очень надеюсь, что выше моего) представление о платформе iob, а так же мозги и чуйка. Анализировать ошибки, гуглить, вникать, разбираться. Гуглится iobroker алиса. Оставлю ссылку, где я еще брал материал:''
 
Предугадать все возможные трудности тяжело, статья рассчитана на то, что у Вас уже есть минимальное представление о платформе iob, мозги и чуйка.  
Анализируйте ошибки, используйте поиск ("iobroker алиса"). Ещё я брал информацию здесь:
  https://forum.iobroker.net/topic/25560/драйвер-iot-assistants-и-алиса
  https://forum.iobroker.net/topic/25560/драйвер-iot-assistants-и-алиса
  https://wiki.yaboard.com/w/Алиса_и_ioBroker
  https://wiki.yaboard.com/w/Алиса_и_ioBroker


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


Здесь описаны примеры, как прокинуты различные устройства и их настройка.
Здесь описаны примеры, как прокинуты различные устройства и их настройка.
Строка 134: Строка 158:


Видеодемонстрация: <embedvideo service="youtube">//youtu.be/2rn2wfcivX8</embedvideo>
Видеодемонстрация: <embedvideo service="youtube">//youtu.be/2rn2wfcivX8</embedvideo>
[[Category:Умный дом]]
[[Category:Своими руками]]

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

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

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

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