IoBroker от 0 до 100: различия между версиями
м Ark rusinov-9121383 переименовал страницу "Iobroker от нуля до ста" в "IoBroker от 0 до 100" без оставления перенаправления |
Ws23pro (обсуждение | вклад) Нет описания правки |
||
| (не показаны 22 промежуточные версии 2 участников) | |||
| Строка 1: | Строка 1: | ||
{{metadesc| Отправка текста и команд на колонку с Алисой при помощи NodeJS }} | |||
__NOEDITSECTION__ | |||
__TOC__ | |||
{{Skills}} | {{Skills}} | ||
{{Hands}} | {{Hands}} | ||
== Небольшое введение == | |||
Сразу оговорюсь, что ковыряние в таких системах - моё хобби в свободное от основной деятельности время. Поэтому прошу отнестись с определенной скидкой к критике данного материала. | |||
А если вы гуру системы и заметили ошибки, или есть пожелания - смело дополняйте материал. | |||
ioBroker - OpenSource проект, который разрабатывается сообществом информатиков. Каждый интересующийся темой умных домов может присоединиться к проекту и разрабатывать приложения. Есть и обширный форум для конечных пользователей, в котором активно обсуждаются новые идеи, проблемы и пожелания клиентов. | |||
'''ioBroker полностью разработан на Node.js''', интуитивно понятен, гибко подстраивается под новые условия, легко дополняется. Любой владеющий JavaScript может самостоятельно расширять возможности системы. | |||
Ещё одно незаменимое преимущество - создание кластера из работающих, как одно целое, нескольких серверов (Multihost). Когда система разрастётся настолько, что Raspberry перестанет справляться - то достаточно инсталлировать вторую Raspberry, чтобы распределить текущие задания между ними. | |||
Ну и самая, возможно, яркая отличительная черта ioBroker - визуализация. Посредством Drag & Drop можно разрабатывать сложные и красивые изображения-визуализации для дома. | |||
=== Выбор платформы === | |||
ioBroker работает на любом оборудовании и операционных системах, на которых запускается Node.js (ARM, x86, Windows, Linux, OSX). При этом не имеет значения, какой “компьютер” вы используете: Raspberry, Windows-Server, Synology-NAS или MacOS. | |||
Каждый пользователь, даже не являясь профессионалом, может использовать ioBroker. Кто не хочет связываться с Linux - может запросто использовать Windows. | |||
Так как ioBroker для каждого нового драйвера запускает новый Node.js-процесс, то главный ограничивающий фактор - объём оперативной памяти. | |||
ioBroker | Для каждого отдельного драйвера требуется примерно 10-60 Мб, в зависимости от сложности. | ||
ioBroker | Автор статьи разворачивает ioBroker на Raspberry Pi (она же "малина") [https://www.raspberrypi.org/products/raspberry-pi-3-model-b/ 3 поколения]. Информации по этой платформе в Интернете достаточно много, в том числе на русском языке. Минимальной рабочей памятью считается 256МБ ОЗУ, но для более-менее комфортной работы желательно не менее 1ГБ. | ||
Сейчас уже выпускаются Raspberry Pi 4 поколения с 2, 4 и даже 8 ГБ ОЗУ. "На вырост" вполне можно взять. | |||
== | === Выбор флэш-карты === | ||
Главное: флэшка должна быть не ниже 10 класса (ещё быстрее работают UHS 1-3 класса - U1-U3). | |||
В сети много споров и обзоров на тему лучших карт и производителей, частым советом является SanDisk, как отлично зарекомендовавшая себя с "малинками". Желающие могут углубиться в [http://www.pidramble.com/wiki/benchmarks/microsd-cards самостоятельные поиски], тесты и сравнения. | |||
У автора статьи из 8 ГБ памяти занято около 36% и больше 8 гигабайт, скорее всего, брать смысла нет. | |||
=== | == Установка ОС == | ||
Описана для оригинальной Raspberry Pi версии 3. При развёртывании на клоны, а тем более Windows, ищите соответствующие мануалы. Тем не менее, общий принцип тот же. | |||
Для | # Для сервера умного дома на ioBroker достаточно облегчённой [https://www.raspberrypi.org/downloads/raspberry-pi-os/ версии "Raspbian", для Raspberry Pi OS 32-bit Lite]. Выбираем этот образ. Он не содержит в себе графической оболочки и рекомендованного ПО. | ||
[https://www.raspberrypi.org/downloads/raspberry-pi-os/ ''' | # Распаковываем образ, записываем на флэшку (при помощи Rufus или Win32DiskImager). | ||
# В корне флешки создаём пустой файл с именем 'ssh' (без расширения), это позволит подключиться к малине удаленно по сети, используя протокол ssh, чтобы не подключать монитор. | |||
# Сканируем сеть/смотрим в dhcp, ищем адрес нашей "малины" и подключаемся через putty на порт 22 (имя пользователя 'pi', пароль 'raspberry'). | |||
# Проводим первоначальную настройку командой 'raspi-config': новый пароль, часовой пояс, русскую локаль. | |||
== Установка ioBroker == | |||
Для вас есть хорошая новость: это очень простой шаг. Всего один, но крутой скрипт сделает всю грязную работу по установке iob. Запускать его на всякий лучше с правами администратора (тот самый "рут"). | |||
Команда на запуск скрипта: <span class="tocopy"><nowiki>sudo curl -sL https://iobroker.net/install.sh | bash -</nowiki></span> | |||
В 4 этапа будут установлены необходимые библиотеки, нода, созданы папки и назначены права. | |||
<gallery> | |||
Файл:1.4.jpg|Первый этап | |||
Файл:2.4.jpg|Второй этап | |||
Файл:3.4.jpg|Третий этап | |||
Файл:4.4.jpg|Четвёртый этап | |||
</gallery> | |||
Готово! Можно запустить интерфейс администратора iob по адресу http://ip_адрес_нашей_малины:8081 | |||
== | == Веб-интерфейс == | ||
Запускаем админ-панель, читаем и принимаем лицензионное соглашение. | |||
Откроется панель управления всей системы УД iob. | |||
<gallery> | |||
Файл:Web.jpg|Веб-интерфейс | |||
</gallery> | |||
Здесь всё разбито по категориям: | |||
{| class="wikitable" style = "width:100%" | |||
|- | |||
! width="10%" | Термин | |||
! width="50%" | Описание | |||
|- | |||
| '''Драйверы''' | |||
| Адаптеры, связывающие устройства с системой iob (что-то вроде маркета приложений) | |||
|- | |||
| '''Настройки''' | |||
| Управление уже установленными драйверами (включить/выключить/перезапустить/конфигурировать) | |||
|- | |||
| '''Объекты''' | |||
| Реестр записей, называемых стейтами (от слова ''state''). Через стейты происходит управление всем и вся. Здесь хранятся и стейты-команды для управления (включение, выключение света, или запуск пылесоса), и стейты-статусы (состояние подключения устройства, или данные датчиков) | |||
|- | |||
| '''Категории''' | |||
| Здесь создаются комнаты и функции для устройств, играет роль для комфортной работы с Алисой | |||
|- | |||
| '''Логи''' | |||
| ''Те самые'' логи | |||
|- | |||
| '''Скрипты''' | |||
| Пользовательские скрипты для выполнения чего либо (например, включить свет в помещении при обнаружении движения, отправить сообщение в телеграм при срабатывании датчика протечки, проиграть звук на подключенных к малине колонках). Пункт появится после установки драйвера Script Engine! | |||
|} | |||
=== | === Устройства === | ||
Устройства могут работать по сети Wi-Fi, протоколу [https://yandex.ru/search/?text=zigbee&lr=121899 ZigBee], z-wave, modbus, RS485 и другие. | |||
Чтобы добавить устройства Sonoff, их предварительно нужно прошить | Чтобы добавить устройства Sonoff, их предварительно нужно прошить альтернативной прошивкой, например tasmota. | ||
Читаем об этом [https://sprut-ai.turbopages.org/s/sprut.ai/client/article/263 тут] и [https://github.com/arendst/Tasmota тут]. | |||
Кроме того, для управления ZigBee-устройствами нужен USB-стик. Читаем [https://t.me/zigbeer телеграм чат] и [https://myzigbee.ru/ сайтик]. | |||
Итак, для использования Zigbee: | |||
# докупаем стик, подключаем его в "малину"; | |||
В настройках "имя или адрес порта" выбираем "/dev/ttyACM0 | # устанавливаем одноименный драйвер - "Zigbee" (установка драйверов описана ниже); | ||
# В настройках "имя или адрес порта" выбираем <span class="tocopy">/dev/ttyACM0</span>; | |||
# Чтобы добавить устройства, открываем настройки драйвера ZigBee; | |||
# Щёлкаем зеленую иконку сопряжения в верхнем правом углу (начнётся процесс поиска устройств). | |||
# Теперь ищем кнопку на/в корпусе устройства. Скорость и интенсивность нажатия кнопки зависит от устройства, тыркать можно и наугад, пока в логах сопряжения не появится информация об устройстве. У выключателей наоборот - нужно зажать 1 или 2 кнопки (в зависимости от их количества) секунд на 20. | |||
<gallery> | |||
Файл:Zigbee_iob_connection_1.jpg | |||
Файл:Zigbee_iob_connection_2.jpg | |||
</gallery> | |||
Во вкладке "Устройства" лучше сразу переименовать все добавленные, для удобства в будущем. | |||
=== | === Драйверы === | ||
Обеспечивают взаимодействие iob с различными устройствами и другими системами ("календарь", "погода", модуль скриптов, mqtt и др.). Устанавливаются по необходимости; сразу перегружать систему "всем" не стоит. | |||
Доступные драйверы собраны на вкладке "Драйвера" в формате "маркета". Сюда же приходят их обновления. | |||
[[Файл:Drivers.jpg|600px|драйвера]] | |||
Примеры | Примеры: | ||
* mihome-vacuum - драйвер для управления пылесосом xiaomi (минуя приложение mihome) | * '''mihome-vacuum''' - драйвер для управления пылесосом xiaomi (минуя приложение mihome) | ||
* sonoff - | * '''sonoff''' - для управления устройствами sonoff | ||
* zigbee - | * '''zigbee''' - для usb-стика, связывающегося с Zigbee-устройствами. | ||
Чтобы установить | Чтобы установить драйвер, просто находим нужное название в списке, на его иконке жмем троеточие и плюсик. Установка происходит автоматически. | ||
Во избежание проблем, в это время лучше не сворачивать окно до конца установки. | |||
Следом откроется окно настроек установленного драйвера. Настройки могут потребовать указать: | |||
* IP адрес и порт устройства | * IP-адрес и порт устройства | ||
* ID устройства | * ID устройства | ||
* авторизацию | * авторизацию | ||
После | После настройки драйвера с ним также можно взаимодействовать через скрипты. | ||
=== Скрипты === | |||
"Сердце" автоматизации процессов и пакетного управления устройствами. | |||
Чтобы этот блок появился в меню, необходимо установить драйвер "Script Engine". Вам станут доступны сразу 3 способа написания правил: | |||
* '''JavaScript''' - стандартным JavaScript-кодом; | |||
* '''Blockly''' - создание правил [https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/ru/blockly.md графическими блоками]; | |||
* '''TypeScript''' - кодом на TypeScript. | |||
Выбирайте удобную среду в зависимости от опыта. При отсутствии навыков программирования отлично подходят блоки. | |||
Для порядка, скрипты лучше сразу сортировать по папкам (освещение, техника, оповещения и т.д): | |||
[[Файл:Script_iob.jpg|400px|скрипты]] | |||
== Резервные (аварийные) копии == | |||
В один прекрасный день Ваш сервер вполне может "лечь". Причины самые разные: | |||
* Вышла из строя флэшка; | |||
* Вы неудачно поиграли с новыми драйверами, или обновлениями; | |||
* Случилось какое-то другое воздействие на сервер. | |||
Чтобы быстро и безболезненно восстановить работу умного дома, необходимо иметь резервную копию. По счастью, всё, что минимально нужно сохранить, это из папки по пути '''/opt/iobroker/iobroker-data''' скопировать: | |||
* 2 файлика: '''objects.json''' и '''states.json''', | |||
* 1 подпапку: '''zigbee_0''', внутри которой лежит файл '''shepherd.db''' (если у Вас вообще есть zigbee-устройства). | |||
Если вдруг настало плохо - то: | |||
* меняем/тестируем/форматируем флэшку; | |||
* ставим заново raspbian; | |||
* разворачиваем iob; | |||
* В терминале выполняем команду: '''iob stop''' | |||
* архивную копию (файлы objects.json, states.json и папку zigbee_0) закидываем по указанному выше пути. | |||
* снова запускаем ioBroker: '''iob start''' | |||
В зависимости от количества драйверов, устройств, модулей, настроек, скриптов (нужное подчеркнуть) потребуется разное время на переустановку, но главное - всё будет идти в автоматическом режиме. | |||
Если совсем лениво - можно оставить на часок, а после зайти в веб-морду и проверить, всё ли на месте. | |||
За процессами можно наблюдать в '''htop''' (следим за процессом '''npm''', нажав F5). | |||
== Интеграция с голосовым ассистентом Алиса через драйвер Cloud Iot == | |||
=== | === Создаём учётную запись ioBroker === | ||
* Регистрируемся [https://iobroker.pro/intro на сайте], подтверждаем почтовый ящик. | Дошли до самого интересного! | ||
* Устанавливаем драйвер "IoT Assistants" | * Регистрируемся [https://iobroker.pro/intro на сайте], подтверждаем свой почтовый ящик. | ||
** В ассистентах отмечаем Yandex Алиса; | * Устанавливаем драйвер "IoT Assistants/Соединение Cloud IoT" ([https://github.com/ioBroker/ioBroker.iot/blob/master/README.md гитхаб]) | ||
** Указываем логин | * Заходим в его настройки: | ||
** В ассистентах отмечаем "Yandex Алиса"; | |||
** Указываем свой логин и пароль подключения к ioBroker.pro; | |||
** Жмём "Сохранить" (адаптер перезапустится). | ** Жмём "Сохранить" (адаптер перезапустится). | ||
=== Объединяем аккаунты в приложении Яндекс === | |||
Здесь всё совсем легко: | |||
* Открываем приложение Яндекса; | * Открываем приложение Яндекса; | ||
* Переходим в знакомый всем квазар - "Управление устройствами"; | * Переходим в знакомый всем квазар - "Управление устройствами"; | ||
* "Добавить устройство" - "ioBroker"; | * "Добавить устройство" - "ioBroker"; | ||
* Связываем аккаунты | * Связываем аккаунты ioBroker и Алисы с помощью созданного логин/пароля. | ||
Если аккаунты связались | Если аккаунты не связались - поменяйте/установите в настройках телефона браузер по умолчанию, и пробуйте снова. | ||
Настройки драйвера "IoT Assistants" | === Настройки драйвера "IoT Assistants" === | ||
Открываем "Объекты" в ioBroker, и в каждом нужном нам устройстве выставляем "Функции" и "Комнату". | * Открываем iobroker, делаем активную вкладку (если не было раньше) "Категории" и переходим в неё. | ||
* Создаем комнаты, где планируется разместить умные устройства. | |||
* Создаем для них функции: свет, отопление, жалюзи, техника и т.д. | |||
* Открываем "Объекты" в ioBroker, и в каждом нужном нам устройстве выставляем "Функции" и "Комнату". | |||
[[Файл:P5new.jpeg|600px|Привязка комнат и функций]] | [[Файл:P5new.jpeg|600px|Привязка комнат и функций]] | ||
Снова откроем настройки драйвера "IoT Assistants", во вкладке "устройства Алисы" должны появиться наши объекты: | |||
[[Файл:p6.png|600px|Устройства Алисы]] | [[Файл:p6.png|600px|Устройства Алисы]] | ||
Предугадать в статье все возможные проблемы тяжело; будем считать, что у Вас уже есть минимальное представление о платформе iob, мозги и чуйка. Анализируйте ошибки, используйте поиск ("iobroker алиса"). Часть информации взята здесь: | |||
== Интеграция с голосовым ассистентом Алиса через протокол mqtt == | |||
https://wiki.yaboard.com/w/Алиса,_IoBroker_и_MQTT | |||
Предугадать в статье все возможные проблемы тяжело; будем считать, что у Вас уже есть минимальное представление о платформе iob, мозги и чуйка. Анализируйте ошибки, используйте поиск ("iobroker алиса"). | |||
== Некоторые ссылки == | |||
Часть информации взята здесь: | |||
* [https://habr.com/ru/post/402767/ Обзорная статья на Хабре 2017 года] - вводное описание частично взято отсюда. | |||
* "[https://forum.iobroker.net/topic/25560/драйвер-iot-assistants-и-алиса Драйвер IoT Assistants и Алиса]" | |||
* "[[Алиса и ioBroker]]" | |||
* "[[Подключение устройств ioBroker в Алису]]" (здесь более подробно рассказано о подключении). | |||
[[Category:Умный дом]] | |||
Текущая версия от 08:31, 2 ноября 2020
Материал носит информационный характер, и не является прямым указанием к действию!
Телефон вызова экстренных служб - 112.
Небольшое введение
Сразу оговорюсь, что ковыряние в таких системах - моё хобби в свободное от основной деятельности время. Поэтому прошу отнестись с определенной скидкой к критике данного материала. А если вы гуру системы и заметили ошибки, или есть пожелания - смело дополняйте материал.
ioBroker - OpenSource проект, который разрабатывается сообществом информатиков. Каждый интересующийся темой умных домов может присоединиться к проекту и разрабатывать приложения. Есть и обширный форум для конечных пользователей, в котором активно обсуждаются новые идеи, проблемы и пожелания клиентов.
ioBroker полностью разработан на Node.js, интуитивно понятен, гибко подстраивается под новые условия, легко дополняется. Любой владеющий JavaScript может самостоятельно расширять возможности системы.
Ещё одно незаменимое преимущество - создание кластера из работающих, как одно целое, нескольких серверов (Multihost). Когда система разрастётся настолько, что Raspberry перестанет справляться - то достаточно инсталлировать вторую Raspberry, чтобы распределить текущие задания между ними.
Ну и самая, возможно, яркая отличительная черта ioBroker - визуализация. Посредством Drag & Drop можно разрабатывать сложные и красивые изображения-визуализации для дома.
Выбор платформы
ioBroker работает на любом оборудовании и операционных системах, на которых запускается Node.js (ARM, x86, Windows, Linux, OSX). При этом не имеет значения, какой “компьютер” вы используете: Raspberry, Windows-Server, Synology-NAS или MacOS. Каждый пользователь, даже не являясь профессионалом, может использовать ioBroker. Кто не хочет связываться с Linux - может запросто использовать Windows.
Так как ioBroker для каждого нового драйвера запускает новый Node.js-процесс, то главный ограничивающий фактор - объём оперативной памяти. Для каждого отдельного драйвера требуется примерно 10-60 Мб, в зависимости от сложности.
Автор статьи разворачивает ioBroker на Raspberry Pi (она же "малина") 3 поколения. Информации по этой платформе в Интернете достаточно много, в том числе на русском языке. Минимальной рабочей памятью считается 256МБ ОЗУ, но для более-менее комфортной работы желательно не менее 1ГБ.
Сейчас уже выпускаются Raspberry Pi 4 поколения с 2, 4 и даже 8 ГБ ОЗУ. "На вырост" вполне можно взять.
Выбор флэш-карты
Главное: флэшка должна быть не ниже 10 класса (ещё быстрее работают UHS 1-3 класса - U1-U3).
В сети много споров и обзоров на тему лучших карт и производителей, частым советом является SanDisk, как отлично зарекомендовавшая себя с "малинками". Желающие могут углубиться в самостоятельные поиски, тесты и сравнения.
У автора статьи из 8 ГБ памяти занято около 36% и больше 8 гигабайт, скорее всего, брать смысла нет.
Установка ОС
Описана для оригинальной Raspberry Pi версии 3. При развёртывании на клоны, а тем более Windows, ищите соответствующие мануалы. Тем не менее, общий принцип тот же.
- Для сервера умного дома на ioBroker достаточно облегчённой версии "Raspbian", для Raspberry Pi OS 32-bit Lite. Выбираем этот образ. Он не содержит в себе графической оболочки и рекомендованного ПО.
- Распаковываем образ, записываем на флэшку (при помощи Rufus или Win32DiskImager).
- В корне флешки создаём пустой файл с именем 'ssh' (без расширения), это позволит подключиться к малине удаленно по сети, используя протокол ssh, чтобы не подключать монитор.
- Сканируем сеть/смотрим в dhcp, ищем адрес нашей "малины" и подключаемся через putty на порт 22 (имя пользователя 'pi', пароль 'raspberry').
- Проводим первоначальную настройку командой 'raspi-config': новый пароль, часовой пояс, русскую локаль.
Установка ioBroker
Для вас есть хорошая новость: это очень простой шаг. Всего один, но крутой скрипт сделает всю грязную работу по установке iob. Запускать его на всякий лучше с правами администратора (тот самый "рут").
Команда на запуск скрипта: sudo curl -sL https://iobroker.net/install.sh | bash -
В 4 этапа будут установлены необходимые библиотеки, нода, созданы папки и назначены права.
-
Первый этап
-
Второй этап
-
Третий этап
-
Четвёртый этап
Готово! Можно запустить интерфейс администратора iob по адресу http://ip_адрес_нашей_малины:8081
Веб-интерфейс
Запускаем админ-панель, читаем и принимаем лицензионное соглашение.
Откроется панель управления всей системы УД iob.
-
Веб-интерфейс
Здесь всё разбито по категориям:
| Термин | Описание |
|---|---|
| Драйверы | Адаптеры, связывающие устройства с системой iob (что-то вроде маркета приложений) |
| Настройки | Управление уже установленными драйверами (включить/выключить/перезапустить/конфигурировать) |
| Объекты | Реестр записей, называемых стейтами (от слова state). Через стейты происходит управление всем и вся. Здесь хранятся и стейты-команды для управления (включение, выключение света, или запуск пылесоса), и стейты-статусы (состояние подключения устройства, или данные датчиков) |
| Категории | Здесь создаются комнаты и функции для устройств, играет роль для комфортной работы с Алисой |
| Логи | Те самые логи |
| Скрипты | Пользовательские скрипты для выполнения чего либо (например, включить свет в помещении при обнаружении движения, отправить сообщение в телеграм при срабатывании датчика протечки, проиграть звук на подключенных к малине колонках). Пункт появится после установки драйвера Script Engine! |
Устройства
Устройства могут работать по сети Wi-Fi, протоколу ZigBee, z-wave, modbus, RS485 и другие.
Чтобы добавить устройства Sonoff, их предварительно нужно прошить альтернативной прошивкой, например tasmota. Читаем об этом тут и тут. Кроме того, для управления ZigBee-устройствами нужен USB-стик. Читаем телеграм чат и сайтик.
Итак, для использования Zigbee:
- докупаем стик, подключаем его в "малину";
- устанавливаем одноименный драйвер - "Zigbee" (установка драйверов описана ниже);
- В настройках "имя или адрес порта" выбираем /dev/ttyACM0;
- Чтобы добавить устройства, открываем настройки драйвера ZigBee;
- Щёлкаем зеленую иконку сопряжения в верхнем правом углу (начнётся процесс поиска устройств).
- Теперь ищем кнопку на/в корпусе устройства. Скорость и интенсивность нажатия кнопки зависит от устройства, тыркать можно и наугад, пока в логах сопряжения не появится информация об устройстве. У выключателей наоборот - нужно зажать 1 или 2 кнопки (в зависимости от их количества) секунд на 20.
Во вкладке "Устройства" лучше сразу переименовать все добавленные, для удобства в будущем.
Драйверы
Обеспечивают взаимодействие iob с различными устройствами и другими системами ("календарь", "погода", модуль скриптов, mqtt и др.). Устанавливаются по необходимости; сразу перегружать систему "всем" не стоит.
Доступные драйверы собраны на вкладке "Драйвера" в формате "маркета". Сюда же приходят их обновления.
Примеры:
- mihome-vacuum - драйвер для управления пылесосом xiaomi (минуя приложение mihome)
- sonoff - для управления устройствами sonoff
- zigbee - для usb-стика, связывающегося с Zigbee-устройствами.
Чтобы установить драйвер, просто находим нужное название в списке, на его иконке жмем троеточие и плюсик. Установка происходит автоматически.
Во избежание проблем, в это время лучше не сворачивать окно до конца установки.
Следом откроется окно настроек установленного драйвера. Настройки могут потребовать указать:
- IP-адрес и порт устройства
- ID устройства
- авторизацию
После настройки драйвера с ним также можно взаимодействовать через скрипты.
Скрипты
"Сердце" автоматизации процессов и пакетного управления устройствами.
Чтобы этот блок появился в меню, необходимо установить драйвер "Script Engine". Вам станут доступны сразу 3 способа написания правил:
- JavaScript - стандартным JavaScript-кодом;
- Blockly - создание правил графическими блоками;
- TypeScript - кодом на TypeScript.
Выбирайте удобную среду в зависимости от опыта. При отсутствии навыков программирования отлично подходят блоки.
Для порядка, скрипты лучше сразу сортировать по папкам (освещение, техника, оповещения и т.д):
Резервные (аварийные) копии
В один прекрасный день Ваш сервер вполне может "лечь". Причины самые разные:
- Вышла из строя флэшка;
- Вы неудачно поиграли с новыми драйверами, или обновлениями;
- Случилось какое-то другое воздействие на сервер.
Чтобы быстро и безболезненно восстановить работу умного дома, необходимо иметь резервную копию. По счастью, всё, что минимально нужно сохранить, это из папки по пути /opt/iobroker/iobroker-data скопировать:
- 2 файлика: objects.json и states.json,
- 1 подпапку: zigbee_0, внутри которой лежит файл shepherd.db (если у Вас вообще есть zigbee-устройства).
Если вдруг настало плохо - то:
- меняем/тестируем/форматируем флэшку;
- ставим заново raspbian;
- разворачиваем iob;
- В терминале выполняем команду: iob stop
- архивную копию (файлы objects.json, states.json и папку zigbee_0) закидываем по указанному выше пути.
- снова запускаем ioBroker: iob start
В зависимости от количества драйверов, устройств, модулей, настроек, скриптов (нужное подчеркнуть) потребуется разное время на переустановку, но главное - всё будет идти в автоматическом режиме. Если совсем лениво - можно оставить на часок, а после зайти в веб-морду и проверить, всё ли на месте.
За процессами можно наблюдать в htop (следим за процессом npm, нажав F5).
Интеграция с голосовым ассистентом Алиса через драйвер Cloud Iot
Создаём учётную запись ioBroker
Дошли до самого интересного!
- Регистрируемся на сайте, подтверждаем свой почтовый ящик.
- Устанавливаем драйвер "IoT Assistants/Соединение Cloud IoT" (гитхаб)
- Заходим в его настройки:
- В ассистентах отмечаем "Yandex Алиса";
- Указываем свой логин и пароль подключения к ioBroker.pro;
- Жмём "Сохранить" (адаптер перезапустится).
Объединяем аккаунты в приложении Яндекс
Здесь всё совсем легко:
- Открываем приложение Яндекса;
- Переходим в знакомый всем квазар - "Управление устройствами";
- "Добавить устройство" - "ioBroker";
- Связываем аккаунты ioBroker и Алисы с помощью созданного логин/пароля.
Если аккаунты не связались - поменяйте/установите в настройках телефона браузер по умолчанию, и пробуйте снова.
Настройки драйвера "IoT Assistants"
- Открываем iobroker, делаем активную вкладку (если не было раньше) "Категории" и переходим в неё.
- Создаем комнаты, где планируется разместить умные устройства.
- Создаем для них функции: свет, отопление, жалюзи, техника и т.д.
- Открываем "Объекты" в ioBroker, и в каждом нужном нам устройстве выставляем "Функции" и "Комнату".
Снова откроем настройки драйвера "IoT Assistants", во вкладке "устройства Алисы" должны появиться наши объекты:
Интеграция с голосовым ассистентом Алиса через протокол mqtt
https://wiki.yaboard.com/w/Алиса,_IoBroker_и_MQTT
Предугадать в статье все возможные проблемы тяжело; будем считать, что у Вас уже есть минимальное представление о платформе iob, мозги и чуйка. Анализируйте ошибки, используйте поиск ("iobroker алиса").
Некоторые ссылки
Часть информации взята здесь:
- Обзорная статья на Хабре 2017 года - вводное описание частично взято отсюда.
- "Драйвер IoT Assistants и Алиса"
- "Алиса и ioBroker"
- "Подключение устройств ioBroker в Алису" (здесь более подробно рассказано о подключении).