Контроллер и адаптер

ioBroker состоит из двух типов программ: js-контроллера и адаптеров . Контроллер обеспечивает целостность системы, а адаптеры — фактическую функциональность.

Vom Adapter im Repository über die Instanz zu den Datenpunkten

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

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 Затем экземпляр размещает свои устройства, каналы и точки данных в рамках этой структуры.

Экземпляры создаются и настраиваются на вкладке «Экземпляры» . Более подробная информация о структуре данных находится в разделах «Объекты» и «Состояния» .