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

IoBroker от 0 до 100

Материал из Wiki yaboard
Знания Применение информации с этой страницы требует специальных знаний и навыков
Всё описанное на этой странице вы производите на свой страх и риск, включая нарушение работы программного обеспечения и выход из строя оборудования, а также риск поражения током и травмы.
Материал носит информационный характер, и не является прямым указанием к действию!
Требуются прямые руки И вдумчивое отношение к инструкции
Мы не несём никакой ответственности за правильное или неправильное применение, или неприменение, и/или неспособность применить данное руководство.
Телефон вызова экстренных служб - 112.

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

Небольшое введение

ioBroker это OpenSource проект, который разрабатывается сообществом информатиков. Каждый, кто интересуется темой Smart Home может присоединиться к проекту и под лицензией MIT на Github начать разрабатывать приложения. Дополнительно имеется обширный форум для конечных пользователей, в котором активно обсуждаются новые идеи, проблемы и пожелания клиентов.

ioBroker полностью разработан на Node.js, интуитивно понятный, гибко подстраивающийся под новые условия, очень легко дополняемый и расширяемый. Каждый, кто владеет JavaScript, может заниматься расширением возможностей системы ioBroker.

Еще одно незаменимое преимущество, это создание системы из нескольких серверов, работающих, как одно целое (Multihost). Например, если со временем, пользователь расширит свою систему домашней автоматизации и его Raspberry станет работать очень медленно, он может просто инсталлировать вторую Raspberry, чтобы распределить между ними текущие задания. Самая сильная отличительная черта ioBroker возможность визуализации. Посредством Drag & Drop можно разрабатывать сложные и красивые изображения-визуализации для дома.

взято отсюда

Шаги по разворачиванию

Постарался описать максимально разжевано пошаговую установку, а так же взаимодействие с системой.

Выбор железа

ioBroker работает на всём оборудовании и всех операционных системах, на которых можно запустить Node.js (ARM, x86, Windows, Linux, OSX). При этом не имеет значения какой “компьютер” вы используете Raspberry, Windows-Server, Synology-NAS или MacOS. Так как ioBroker для каждого нового драйвера запускает новый Node.js- процесс, то оперативная память становится ограничивающим фактором. Для каждого отдельного драйвера требуется примерно 10-60 Мб, в зависимости от сложности. Итак, каждый пользователь, даже не являясь профессионалом может применять систему ioBroker. Те, кто не хочет связываться с Linux, могут вместо него запросто использовать Windows.

Лично я разворачиваю на raspberry pi 3 (она же "малинка"). Что такое rp3 (читаем тут ну и далее в инете)

Сейчас уже есть rp4 с 2 гб ОЗУ. Можно брать на перспективу.

Выбор флешки

Берем хорошую флешку, 10 класса. Объёма хватит 8 гигов, у меня занято ~36%, думаю, больше 8 брать нету смысла.

Установка ОС

У меня rp3 и всю установку я буду описывать для нее. Как там на windows хз

Для УД достаточно лёгкой версии raspbian (ОСь для raspberry), потому ставим её, без всякого софта, десктопа. скачать отсюда

выбираем версию Raspberry Pi OS (32-bit) Lite. Распаковываем образ, записываем на флешку (софтина Win32DiskImager). Затем, нужно в корне флешки, создать пустой файл, без расширения с именем ssh, это нам даст ssh доступ на малину, чтобы не подключать монитор и ставить из консоли Далее, сканируем сеть и ищем малину, подключаемся через putty, на адрес малины, порт 22, имя пользователя pi, пароль raspberry Делаем первоначальную настройку через команду raspi-config: сменить пароль, часовой пояс, рус локалии

Установка iob

Есть очень крутой скрипт, который делает всю грязную работу по установке iob

Запустить на всякий лучше от рута, команда на запуск скрипта:

sudo curl -sL https://iobroker.net/install.sh | bash -

Скрипт в 4 этапа установит необходимые библиотеки, ноду, создаст папки, права.

1/4 2/4 3/4 4/4

Админка iob запустится по адресу http://ip_малины:8081

веб-морда

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

Здесь всё разбито по категориям:

вебморда

  • драйвера - здесь собраны адаптеры, которые позволяют связывать различные устройства с системой iob (что-то типа маркета приложений)
  • настройки - здесь управляются конкретно установленные драйвера: можно включать/выключать/перезапускать/конфигурировать

настройки

  • объекты - это некий реестр установленных драйверов, в котором можно тонко управлять, запускать, получать информацию/статусы/состояния
  • категории - здесь создаются комнаты и функции для устройств, честно, пока не разбирался, для чего это. знаю только, что для связи с Алисой роляет.
  • логи - те самые логи
  • скрипты (появится после установки драйвера Script Engine) - здесь пишутся скрипты, для управления устройствами: например, включить свет в помещении при обнаружении движения.

Подключение устройств

Устройства могут работать по Wi-Fi сети и протоколу ZigBee.

  • ZigBee, это чаще устройства aquara/xiaomi (про зигби читаем тут:)
  • WiFi, это, например, Sonoff, некоторые лампы, пылесосы и др.

Чтобы добавить устройства Sonoff, их предварительно нужно прошить под tasmota. Читаем тут и тут

Для устройств, работающих по протоколу ZigBee нужен usb стик. Читаем телеграм чат и сайтик. Докупаем, подключаем в малину, устанавливаем одноименный драйвер Zigbee. (про установку драйверов ниже) В настройках "имя или адрес порта" выбираем "/dev/ttyACM0"

Чтобы добавить (спарить) устройства, нужно снова открыть настройки драйвера ZigBee, в верхнем правом углу есть зеленая иконка сопряжения, начнется процесс поиска устройств. Затем, нужно на самом устройстве найти кнопку и тыркать ее. Скорость и интенсивность тырканья неизвестна, но тыркать нужно пока в логах сопряжения не появится информация об устройстве. У выключателей наоборот, нужно просто зажать 1 или 2 кнопки, в зависимости от их кол-ва секунд на 20. После во вкладке "устройства" появится искомое, его можно переименовать для удобства. Когда все устройства будут добавлены, с ними можно работать через скрипты.

Драйвера

Не нашел в инете объяснения, что такое "драйвер", поэтому буду выкручиваться своими словами

Для взаимодействия с различными устройствами, а так же с другими системами (календарь, погода, модуль скриптов, mqtt и др.) необходимо устанавливать драйвер. Драйвера собраны на вкладке "драйвера", представлены как некий маркет. Там же приходят обновления для них.

драйвера


Примеры драйверов:

  • mihome-vacuum - драйвер для управления пылесосом xiaomi (минуя приложение mihome)
  • sonoff - драйвер для управления устройствами sonoff
  • zigbee - драйвер для usb стика

Чтобы установить необходимый драйвер, находим его в списке, на иконке драйвера жмем троеточие и плюсик. Установка начнется автоматически.

Во избежании проблем, лучше не сворачивать окно, дать ему спокойно установиться.

После установки, драйвер сразу откроет окно настроек. Опять же, в зависимости от конкретного драйвера, настройки могут потребовать указать:

  • IP адрес и порт устройства
  • ID устройства
  • авторизацию

После установки и настройки драйвера, с ним можно взаимодействовать, например, через скрипты.

Изучить, что вообще есть и доступно в конкретном драйвере, нужно открыть вкладку "объекты", развернуть нужный драйвер и вникать.

Скрипты

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

Чтобы этот блок появился, необходимо установить драйвер "Script Engine". После этого, на Ваш выбор представлено 3 среды разработки:

  • JavaScript - создание правил путем написания кода на JavaScript
  • Blockly - создание правил графическими блоками (здесь инфа)
  • TypeScript - создание правил путем написания TypeScript

В зависимости от Вашего опыта программирования, выбираете нужную Вам среду. Я использую блокли, из-за отсутствия навыков программирования.

Для порядка, скрипты лучше сразу сортировать по папкам. Освещение, техника, оповещения и т.д.

скрипты

Бэкапы

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

  • сдохнет флешка,
  • Вы решили установить или поиграться с новыми драйверами, или обновлениями
  • Иное воздействие на сервер

Чтобы безболезненно вернуться к своему рабочему проекту, необходимо иметь резервную копию. Всё, что Вам нужно сохранить, это:

  • 2 файлика - objects.json и states.json
  • папку zigbee_0 внутри которой лежит файл shepherd.db (при условии, что у Вас есть zigbee устройства)

эти файлы находятся по пути /opt/iobroker/iobroker-data

Затем, если совсем всё плохо - ставим заново raspbian, iob а после закидываем файлики. Подождем, немного магии и iob сам соберет снова сервер.

Интеграция с голосовым ассистентом Алиса

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

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

В случае успешного старта на почту придет индивидуальный пароль для этого экземпляра ("инстанса") ioBroker.iot.


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

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


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

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

Открываем "Объекты" в ioBroker, и в каждом нужном нам устройстве выставляем "Функции" и "Комнату".

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

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

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

Предугадать в статье все возможные проблемы тяжело; будем считать, что у Вас уже есть минимальное представление о платформе iob, мозги и чуйка. Анализируйте ошибки, используйте поиск ("iobroker алиса"). Часть информации взята здесь:
- "Драйвер IoT Assistants и Алиса"
- "Алиса и ioBroker"
- здесь более подробно о подключении