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

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

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


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


Посыл скорее для тех, кто сомневается в актуальности размещения локального сервера УД. Какие плюсы получает владелец своего сервера:
Не буду рассказывать о плюсах/минусах самой системы ioBroker, потому что банально не сравнивал сам: установил и пользуюсь по принципу "поставил - поехал". Эта глава скорее для тех, кто сомневается в преимуществах развёртывания '''локального сервера УД'''.  
 
Итак, '''какие плюсы получает владелец своего сервера?'''
* Независимость от состояния китайских серверов (если речь идет об устройствах xiaomi, итд);
* Полный контроль над системой (нет фобии, что завтра те же сервера закроются и система рухнет);
* Нет зависимости от постоянно отваливающихся сторонних навыков (отвязать/привязать устройство, не помогло, удалил/добавил, не помогло, писать в поддержку, ждать, пробовать снова...);
* Нет зависимости от Интернета (даже когда нет связи с Яндексом и другими аккаунтами, локальный умный дом не перестанет работать, а управлять им в это время можно и кнопками);
* Развитые сценарии локального "самоуправления";
* Не нужно произносить лишних фраз "запусти навык...", "попроси %имя_навыка% включить..." (да, это можно ''частично'' прятать в сценариях);
* Не нужны громоздкие цепочки "Алиса - Навык - IFTTT и обратно". Каждый шлюз - это свой сервис, со своими правилами/требованиями/интересами и т.д.
 
 
 
== Настройка адаптера ==
 
 
За основу взята (и доработана) статья "[[Алиса и ioBroker]]".
 
 
=== Создаём учётную запись в системе ioBroker ===
 
 
* Регистрируемся [https://iobroker.pro/intro на сайте], подтверждаем почтовый ящик.
* Устанавливаем драйвер "[https://github.com/ioBroker/ioBroker.iot/blob/master/README.md Соединение Cloud IoT]", заходим в настройки:
** В ассистентах отмечаем Yandex Алиса;
** Указываем логин-пароль подключения к ioBroker.pro;
** Жмём "Сохранить" (адаптер перезапустится).
 
 
=== Объединяем аккаунты в приложении Яндекс ===
 
 
* Открываем приложение Яндекса;
* Переходим в [https://yandex.ru/quasar квазар] - "Управление устройствами";
* "Добавить устройство" - "ioBroker";
* Вводим логин/пароль от учётной записи iobroker.pro
* Разрешаем доступ указанному устройству.
 
Если не удалось связать - поменяйте/установите в настройках телефона браузер по умолчанию и пробуйте снова, или воспользуйтесь веб-версией квазара Яндекса.


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


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


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


* Открываем iobroker, делаем активную вкладку (если не было раньше) "Категории" и переходим в неё.
* Создаем комнаты, где планируется разместить умные устройства.
* Создаем для них функции: свет, отопление, жалюзи, техника и т.д.
* Открываем "Объекты" в ioBroker, и в каждом нужном нам устройстве выставляем "Функции" и "Комнату".
[[Файл:P5new.jpeg|600px|Привязка комнат и функций]]
Теперь открываем настройки драйвера "IoT Assistants", во вкладке "устройства Алисы" должны появиться наши объекты.


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


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


'''Этот пункт не описан на вики автора, что делать с паролем:'''
  Часть информации взята здесь:
- "[https://forum.iobroker.net/topic/25560/драйвер-iot-assistants-и-алиса Драйвер IoT Assistants и Алиса]"
- "[[Алиса и ioBroker]]"


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


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


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


Здесь описаны примеры, как прокинуты различные устройства и их настройка.
В данный момент у меня подключены:
Немного очевидных вещей:
* '''Подрозетники Sonoff''';
Все устройства, которые Вы заводите в iob, теоретически, должны работать с Алисой.
* '''Шлюз Xiaomi''', выполняющий роль ночника в комнате (с регулировкой яркости);
В данный момент у меня имеются:
* '''Пылесос Xiaomi''' Mi Robot Vacuum 1 поколение;
* подрозетники sonoff;
* '''Выключатель Tuya''';
* шлюз xiaomi, выполняющий роль ночника в комнате (с регулировкой яркости);
* пылесос Xiaomi Mi Robot Vacuum 1 поколение;




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


После того, как Вы объединили аккаунты iob и алисы, должны явится устройства.  
После того, как Вы объединили аккаунты iob и алисы, в настройках драйвера (см предыдущую иллюстрацию) должны появиться устройства.  
* Находим подрозетники "sonoff", указываем ему имя, комнату. Имя, которое задано внутри iob не роляет, включать будет то, что обзовете непосредственно в настройке устройства Алисы.  
* Находим подрозетники "sonoff", указываем ему имя, комнату (заданное внутри iob имя и остаётся внутри; включать голосом будете по тому имени, которое укажете в настройке устройства Алисы.  
* При этом модель устройства перекочует из iob, удобно, сразу понятно через что устройство прокинуто в Алису.
* Модель устройства перекочует из iob (удобно, сразу понятно, через что устройство прокинуто в Алису).
<gallery>
 
sonoff.jpg|Настройка в аккаунте
[[Файл:sonoff.jpg|300px|Настройка в аккаунте]]
</gallery>
''С последним обновлением Яндекса, теперь, если устройство и колонка привязаны к определенной комнате, достаточно сказать "Алиса, включи зеркало" и у Вас, при соблюдении условий выше, включится "зеркало" в гостиной.''
Видеодемонстрация: <embedvideo service="youtube">//youtu.be/7SdKcjnlTAs</embedvideo>


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


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


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


Заведен в iob через драйвер "mihome", настройка так же проста, нужно указать IP адрес шлюза и его токен. Тоже гуглится, добывается в приложении mihome.
Шлюз заведен в iob через драйвер "mihome", в настройке достаточно указать IP-адрес шлюза и его токен ([https://www.kapiba.ru/2017/11/mi-home.html этим модифицированным приложением]).


Предполагается, что Вы настроили шлюз, он управляется из iob, всё круто. После связки аккаунтов Алисы и iob точно так же, задаем комнату, имя.
После связки аккаунтов Алисы и iob точно так же задаем комнату, имя.
<gallery>
Gateway.jpg|Настройка в аккаунте
</gallery>
''Из интересного, можно управлять яркостью и цветом.''
Видеодемонстрация: <embedvideo service="youtube">//youtu.be/0Ua-gx-7GvU</embedvideo>


[[Файл:Gateway.jpg|300px|Настройка в аккаунте]]


=== пылесос Xiaomi Mi Robot Vacuum 1 поколение ===
Из интересного: можно управлять яркостью и цветом нашего "ночника".
Мне хотелось, чтобы пылесос запускал уборку в определенной комнате. Зональная уборка.  


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


Она реализована так: в приложении mihome грузится карта, (если не заглючит и не скажет, что карту забыл) ручками выбирается сектор и отправляется на уборку.
=== Пылесос Xiaomi Mi Robot Vacuum 1 поколение ===


Круто, но нет.


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


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


Предполагается, что всё, для того, чтобы рулить скриптами в iob у Вас имеется.  
Круто, но нет. Чтобы стало круто, '''используем скрипты iobroker.'''


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


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


<gallery>
[[Файл:Pulaski.png|600px|Пример скрипта]]
Pulaski.png|Пример скрипта
</gallery>
Теперь самое простое (сложное), найти координаты комнаты. Их нет нигде в открытом виде.


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


Если кто научит получать их как-то иначе, чем делал я, буду премного благодарен.  
Теперь самое простое (сложное): '''найти координаты комнаты.''' В открытом виде их нет нигде.  


'''Вобщем, что я делаю: в скрипт выше, начинаю вписывать значения комнаты и смотрю в приложении "mihome" что он отрисовал.'''
Я искал в инете, натыкался на немецких авторов и ничего там не понимал. Что-то программировать я не умею, так что всё методом тыка, по-деревенски. Если кто научит получать их как-то иначе, чем делал я, буду премного благодарен.


Методом тыка понял, что координаты задаются примерно так:
Итак, что я делаю: в скрипт выше начинаю вписывать различные значения комнаты и потом смотрю в приложении "mihome", что он отрисовал. Методом тыка понял, что координаты пределов задаются примерно так:
  [левый верхний предел, нижний левый предел, правый нижний предел, правый верхний предел]
  [верхний левый, нижний левый, нижний правый, верхний правый]
  [22600, 21000, 26300, 26100, 1]
  [22600, 21000, 26300, 26100, 1]
Странно звучит, согласен. Не знаю, как объяснить. В доке описано про x1,y1,x2,y2 - мне это не понятно. <br style="clear:both">
Странно звучит, согласен. В доке описано про x1,y1,x2,y2 - непонятно, как соотносится.
После того, как координаты более-менее подобраны, забиваем их в скрипт и проделываем, если необходимо, на каждую комнату.
 
[[Файл:Script.png|400px]]
 
После того, как координаты более-менее подобраны, окончательно забиваем их в скрипт, и повторяем процесс для каждой комнаты.
 
[[Файл:Script.png|600px]]
 
 
Должны подтянуться созданные скрипты. Настроим их запуск в приложении Яндекс. Для скрипта из примера я указал имя "Пылесос" и привязал его к комнате. Теперь по команде "включи пылесос в гостиной" запускается зональный скрипт уборки.
 
[[Файл:Pul_ya.jpg|300px|Настройка в аккаунте]]
 
 
=== Выключатель Tuya ===
 
Как и со всеми устройствами выше, нужно указать комнату и функцию, после этого обновить список устройств.
 
'''Обязательно обновляем список устройств в Алисе!'''


И по традиции, снова обновляем список устройств в Алисе, у Вас должны подтянутся созданные скрипты, которые так же настраиваем.
Успехов и удачи в освоении ioBroker, и больше новых умных устройств в вашем доме!


Я указал имя "пылесос" и привязку к комнате. По команде "включи пылесос в гостиной" запускается зональный скрипт уборки.
<gallery>
Pul_ya.jpg|Настройка в аккаунте
</gallery>


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

Текущая версия от 07:21, 7 апреля 2022

Вступление

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

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

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

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

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

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

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

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

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

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

Подготовительный этап:

  • Открываем iobroker, делаем активную вкладку (если не было раньше) "Категории" и переходим в неё.
  • Создаем комнаты, где планируется разместить умные устройства.
  • Создаем для них функции: свет, отопление, жалюзи, техника и т.д.
  • Открываем "Объекты" в ioBroker, и в каждом нужном нам устройстве выставляем "Функции" и "Комнату".


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


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


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

 Часть информации взята здесь:
- "Драйвер IoT Assistants и Алиса"
- "Алиса и ioBroker"

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

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

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

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

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

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

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

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

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

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

После связки аккаунтов Алисы и iob точно так же задаем комнату, имя.

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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


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

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

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

Как и со всеми устройствами выше, нужно указать комнату и функцию, после этого обновить список устройств.

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

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