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

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

Материал из Wiki yaboard
Нет описания правки
Нет описания правки
 
(не показано 13 промежуточных версий 2 участников)
Строка 7: Строка 7:




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


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


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




Строка 27: Строка 23:




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




Строка 34: Строка 30:


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




Строка 44: Строка 39:




* Открываем приложение Яндекса
* Открываем приложение Яндекса;
* Переходим в знакомый всем квазар - "Управление устройствами"
* Переходим в [https://yandex.ru/quasar квазар] - "Управление устройствами";
* "Добавить устройство" - "ioBroker"
* "Добавить устройство" - "ioBroker";
* Связываем аккаунты йоба и алисы с помощью полученного при регистрации в ioBroker пароля.
* Вводим логин/пароль от учётной записи iobroker.pro
* Разрешаем доступ указанному устройству.


  Если аккаунты связались - едем дальше.
  Если не удалось связать - поменяйте/установите в настройках телефона браузер по умолчанию и пробуйте снова, или воспользуйтесь веб-версией квазара Яндекса.
Если нет - попробуйте поменять/установить в настройках телефона браузер по умолчанию и пробуем ещё раз.




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


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


На вкладке "Умные перечисления" должны появиться "Функции" и "Комнаты". Если есть, всё круто (всё это можно редактировать во вкладке "Категории" ioBroker).


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




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


Предугадать в статье все возможные проблемы тяжело; будем считать, что у Вас уже есть минимальное представление о платформе iob, мозги и чуйка.
  Часть информации взята здесь:
Анализируйте ошибки, используйте поиск ("iobroker алиса"). Ещё я брал информацию здесь:
  - "[https://forum.iobroker.net/topic/25560/драйвер-iot-assistants-и-алиса Драйвер IoT Assistants и Алиса]"
  https://forum.iobroker.net/topic/25560/драйвер-iot-assistants-и-алиса
  - "[[Алиса и ioBroker]]"
  https://wiki.yaboard.com/w/Алиса_и_ioBroker




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


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


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




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


После того, как Вы объединили аккаунты iob и алисы, в настройках драйвера (см предыдущую иллюстрацию) должны появиться устройства.  
После того, как Вы объединили аккаунты iob и алисы, в настройках драйвера (см предыдущую иллюстрацию) должны появиться устройства.  
* Находим подрозетники "sonoff", указываем ему имя, комнату (заданное внутри iob имя и остаётся внутри; включать голосом будете по тому имени, которое укажете в настройке устройства Алисы.  
* Находим подрозетники "sonoff", указываем ему имя, комнату (заданное внутри iob имя и остаётся внутри; включать голосом будете по тому имени, которое укажете в настройке устройства Алисы.  
* Модель устройства перекочует из iob (удобно, сразу понятно, через что устройство прокинуто в Алису).
* Модель устройства перекочует из iob (удобно, сразу понятно, через что устройство прокинуто в Алису).
[[Файл:sonoff.jpg|300px|Настройка в аккаунте]]
[[Файл:sonoff.jpg|300px|Настройка в аккаунте]]


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


Видеодемонстрация:
<youtube>//youtu.be/7SdKcjnlTAs</youtube>


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


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


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


Когда-то давно этот шлюз был приобретен, как основа для УД. Но с переходом на ioBroker и разворачивании УД на нём, шлюз стал ненужным. Тогда было принято решение сделать из него ночник.
[[Файл:Gateway.jpg|300px|Настройка в аккаунте]]


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


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


[[Файл:Gateway.jpg|600px|Настройка в аккаунте]]
=== Пылесос Xiaomi Mi Robot Vacuum 1 поколение ===


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


Видеодемонстрация:
Мне было важно, чтобы пылесос запускал уборку в определенной комнате (зональная уборка). В первой версии этого пылесоса такой фичи нет.
<youtube>//youtu.be/0Ua-gx-7GvU</youtube>


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


=== пылесос Xiaomi Mi Robot Vacuum 1 поколение ===
Круто, но нет. Чтобы стало круто, '''используем скрипты iobroker.'''


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


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


Вызвано несколькими факторами, но о них не будем. В первой версии этого пылесоса, такой фичи нет.  
[[Файл:Pulaski.png|600px|Пример скрипта]]


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


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


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


Нам понадобятся драйвера "mihome-vacuum" и "javascript".  
Итак, что я делаю: в скрипт выше начинаю вписывать различные значения комнаты и потом смотрю в приложении "mihome", что он отрисовал. Методом тыка понял, что координаты пределов задаются примерно так:
[верхний левый, нижний левый, нижний правый, верхний правый]
[22600, 21000, 26300, 26100, 1]
Странно звучит, согласен. В доке описано про x1,y1,x2,y2 - непонятно, как соотносится.


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


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


Создаем скрипт, обзываем без разницы как, и делаем 2 блока (да, это блокли если что), один на установку уборки, а второй просто тушит скрипт, заглушка.
[[Файл:Script.png|600px]]


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


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


Если кто научит получать их как-то иначе, чем делал я, буду премного благодарен.  
[[Файл:Pul_ya.jpg|300px|Настройка в аккаунте]]


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


Методом тыка понял, что координаты задаются примерно так:
=== Выключатель Tuya ===
[левый верхний предел, нижний левый предел, правый нижний предел, правый верхний предел]
[22600, 21000, 26300, 26100, 1]
Странно звучит, согласен. Не знаю, как объяснить. В доке описано про x1,y1,x2,y2 - мне это не понятно. <br style="clear:both">
После того, как координаты более-менее подобраны, забиваем их в скрипт и проделываем, если необходимо, на каждую комнату.
[[Файл:Script.png|400px]]


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


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


Видеодемонстрация: <embedvideo service="youtube">//youtu.be/2rn2wfcivX8</embedvideo>
Успехов и удачи в освоении ioBroker, и больше новых умных устройств в вашем доме!




[[Category:Умный дом]]
[[Category:Умный дом]]
[[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, и больше новых умных устройств в вашем доме!