Подключение устройств ioBroker в Алису: различия между версиями
Нет описания правки |
Нет описания правки |
||
| Строка 116: | Строка 116: | ||
=== | === Пылесос Xiaomi Mi Robot Vacuum 1 поколение === | ||
Мне | Мне было важно, чтобы пылесос запускал уборку в определенной комнате (зональная уборка). В первой версии этого пылесоса такой фичи нет. | ||
Простейшее решение проблемы: в приложении mihome грузится карта (если не заглючит и не скажет, что карту забыл), затем ручками выбирается сектор и отправляется на уборку. | |||
Круто, но нет. Чтобы стало круто, '''используем скрипты iobroker.''' | |||
Нам понадобятся драйвера "mihome-vacuum" и "javascript" (предполагаем, что нужное, чтобы рулить скриптами в iob, у Вас имеется). | |||
Скрипт до безобразия прост. Главное - раздобыть координаты комнаты и забиндить их в скрипт. Создаем скрипт, называем по вкусу, и делаем 2 блока: один на установку уборки, а второй просто тушит скрипт (заглушка). | |||
[[Файл:Pulaski.png|600px|Пример скрипта]] | |||
Теперь самое простое (сложное): '''найти координаты комнаты.''' В открытом виде их нет нигде. | |||
Я искал в инете, натыкался на немецких авторов и ничего там не понимал. Что-то программировать я не умею, так что всё методом тыка, по-деревенски. Если кто научит получать их как-то иначе, чем делал я, буду премного благодарен. | |||
Итак, что я делаю: в скрипт выше начинаю вписывать различные значения комнаты и потом смотрю в приложении "mihome", что он отрисовал. Методом тыка понял, что координаты пределов задаются примерно так: | |||
[верхний левый, нижний левый, нижний правый, верхний правый] | |||
[22600, 21000, 26300, 26100, 1] | |||
Странно звучит, согласен. В доке описано про x1,y1,x2,y2 - непонятно, как соотносится. | |||
После того, как координаты более-менее подобраны, окончательно забиваем их в скрипт, и повторяем процесс для каждой комнаты. | |||
[[Файл:Script.png|600px]] | |||
'''Обязательно обновляем список устройств в Алисе!''' | |||
Должны подтянуться созданные скрипты. Настроим их запуск в приложении Яндекс. Для скрипта из примера я указал имя "Пылесос" и привязал его к комнате. Теперь по команде "включи пылесос в гостиной" запускается зональный скрипт уборки. | |||
[[Файл:Pul_ya.jpg|600px|Настройка в аккаунте]] | |||
[[Файл: | |||
Видеодемонстрация: | |||
<youtube>//youtu.be/2rn2wfcivX8</youtube> | |||
Успехов и удачи в освоении ioBroker, и больше новых умных устройств в вашем доме! | |||
[[Category:Умный дом]] | [[Category:Умный дом]] | ||
Версия от 05:27, 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 в роли ночника
Когда-то давно этот шлюз был приобретен, как основа для УД. Но с переходом на ioBroker и разворачивании УД на нём, шлюз стал ненужным. Тогда было принято решение сделать из него ночник.
Шлюз заведен в 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 - непонятно, как соотносится.
После того, как координаты более-менее подобраны, окончательно забиваем их в скрипт, и повторяем процесс для каждой комнаты.
Обязательно обновляем список устройств в Алисе!
Должны подтянуться созданные скрипты. Настроим их запуск в приложении Яндекс. Для скрипта из примера я указал имя "Пылесос" и привязал его к комнате. Теперь по команде "включи пылесос в гостиной" запускается зональный скрипт уборки.
Видеодемонстрация:
Успехов и удачи в освоении ioBroker, и больше новых умных устройств в вашем доме!