Контроллер и адаптер
ioBroker состоит из двух типов программ: js-контроллера и адаптеров . Контроллер обеспечивает целостность системы, а адаптеры — фактическую функциональность.
Путь от адаптера к точкам данных: адаптер устанавливается один раз, затем запускаются экземпляры.
js-контроллер
Контроллер JavaScript — это ядро каждой установки. На каждом хосте работает ровно один такой контроллер. Он написан на TypeScript и выполняет четыре задачи:
| Задача | Что за этим стоит? |
|---|---|
| Управление экземпляром | Эта программа запускает и останавливает экземпляры, а также перезапускает их по мере необходимости. |
| Данные хранятся | Он управляет двумя базами данных: одной для объектов и другой для состояний. |
| коммуникация | Все экземпляры обмениваются данными через него, а не напрямую друг с другом. |
| наблюдение | Он сообщает о том, когда экземпляр больше не запущен, когда заканчивается память или когда доступно обновление. |
Обновление JS-контроллера происходит не на вкладке «Адаптеры» , а на вкладке «Хосты» или через командную строку. Подробности см. в разделе «Обновление ioBroker» .
адаптер
Адаптер соединяет систему с ioBroker: устройство, сервис, протокол или даже просто источник данных в интернете. Внешне он говорит на языке подключенной системы; внутри он хранит данные в виде объектов и состояний. Таким образом, он выступает в качестве интерфейса между ioBroker и всем, что не является частью ioBroker.
Функциональность адаптера зависит от его предназначения. Типичные примеры:
- Получение данных. Значения измерений, состояния и сообщения из подключенной системы сохраняются в ioBroker в виде точек данных.
- Управление. Включение и выключение устройств, установка значений, отдача команд.
- Запись. Сохранение значений для последующего анализа, например.
history,influxdbилиsql. - Визуализируйте. Предоставьте, например, интерфейсы.
vis-2илиlovelace. - Автоматизируйте процессы. Запускайте их, например, на основе условий или расписания.
javascriptилиscenes. - Уведомлять. Отправлять сообщения, например.
telegramилиemail. - Техническое обслуживание. Создание резервных копий, обновление прошивки, мониторинг системы.
К числу известных примеров относятся адаптер Zigbee для радиосвязи, адаптер MQTT для всего, что использует этот протокол, а также адаптер JavaScript для пользовательских скриптов и Blockly.
Преимущества
- Гибкость. Подключить можно практически любую систему, независимо от используемого протокола.
- Возможность расширения. Новые адаптеры добавляются для новых устройств без изменения остальной части установки.
- Централизация. Все взаимосвязанные системы управляются в одном месте и могут быть объединены между собой.
Категории адаптеров
Каждый адаптер имеет категорию, которую можно использовать для фильтрации списка на вкладке «Адаптер» :alarm ,climate-control ,energy ,hardware ,lighting ,logic ,multimedia ,weather и многое другое. Полный список с пояснениями можно найти в разделе «Адаптеры публикации» .
Пример
Установленный адаптер еще не запущен. Для этой цели создается экземпляр , и только этот экземпляр будет работоспособен. Он содержит конфигурацию, такую как адрес шлюза или учетные данные доступа.
Адаптер может существовать в нескольких экземплярах. Это всегда полезно, когда одна и та же система существует несколько раз или когда задачи должны оставаться раздельными.hm-rpc.0 для радиоинтерфейса иhm-rpc.1 для проводников, дваtelegram — Экземпляры для двух групп получателей.
Каждый экземпляр получает собственное пространство имен в дереве объектов, состоящее из имени адаптера и порядкового номера, например:hm-rpc.0 Затем экземпляр размещает свои устройства, каналы и точки данных в рамках этой структуры.
Экземпляры создаются и настраиваются на вкладке «Экземпляры» . Более подробная информация о структуре данных находится в разделах «Объекты» и «Состояния» .