Skip to main content

Активы, агенты и атрибуты

Версия: 1.26.0

Активы

Актив — это цифровое представление физического или логического Thing (это Thing в Интернете вещей). Ресурс всегда привязан к области, поэтому данные не передаются между сферами; каждая сфера считается изолированной. Активы сохраняются. OpenRemote сохраняет текущий статус вашего актива в своей базе данных и управляет им с помощью правил и потоков. В совокупности это называется контекстом вашей системы OpenRemote.

Атрибуты

Каждый актив может иметь один или несколько атрибутов, которые содержат значение; значение может быть любого типа, который может быть представлен как JSON. Имя атрибута используется для перекрестной ссылки на него с дескриптором атрибута (см. ниже), который предоставляет информацию о схеме атрибута.

Точки данных

В дополнение к своему текущему значению атрибут может хранить исторические точки данных.
Это можно включить, установив метаэлемент storeDataPoints для атрибута. По умолчанию история хранится в течение одного месяца, но это можно настроить с помощью метаэлемента dataPointsMaxAgeDays.
После включения на странице ресурса в пользовательском интерфейсе менеджера вы увидите панель «История» и сможете выбрать этот атрибут из раскрывающегося меню. При этом отображается линейный график значений атрибутов за настраиваемый период времени.
Это также позволяет использовать атрибут в графиках на информационных панелях Insights.

Прогнозируемые точки данных

Атрибут также может хранить значения, которые атрибут будет принимать в будущем, то есть прогнозируемые точки данных.
Это можно включить, установив метаэлемент hasPredictedDataPoints для атрибута.
Прогнозируемые точки данных автоматически удаляются по истечении их времени (программа очистки выполняется один раз в день).

Если дополнительно установить для атрибута метаэлемент applyPredictedDataPoints, то прогнозируемое значение автоматически применяется в качестве текущего значения при совпадении времени.

Элементы конфигурации

Помимо наличия значения, атрибут может иметь элементы конфигурации (называемые в коде «метаэлементами»), которые управляют поведением атрибута (свяжите его с агентом для чтения/записи из/во внешние системы, свяжите его с другим атрибутом, настройте хранилище исторических значений и многое другое). Каждый атрибут может иметь один или несколько метаэлементов, которые по существу представляют собой хорошо известное именованное значение (метаданные), которое можно использовать в различных частях системы для управления поведением связанного атрибута (например, метаэлемент agentLink используется для подключения атрибута к агенту/протоколу).

Агенты

Агенты — это особый тип ресурсов, которые связывают внешние службы/устройства с вашей системой OpenRemote через протоколы (HTTP/TCP/...). Сам агент хранит параметры конфигурации в качестве атрибутов, и эта конфигурация передается экземпляру соответствующего протокола; между агентом и экземпляром протокола существует связь «один к одному». Подробнее об агентах

Дерево активов

Активы могут быть структурированы в виде иерархического дерева, чтобы определить некоторую логическую иерархию для конкретного варианта использования (например, в городе есть здания, этажи, датчики присутствия).

Модель типа актива

Модель типов активов можно адаптировать к предметной области конкретного проекта, например к энергетике или умному городу. Сейчас модель актива настраивается в Java-коде платформы. Доступную экземпляру модель можно запросить через HTTP API модели активов.

Модель актива имеет следующие типы и структуру:

  • Информация о типе актива
    • Дескриптор актива (уникальный в пределах данного экземпляра OpenRemote)
    • Дескриптор(ы) атрибута. Список дескрипторов атрибутов, применимых к этому типу актива. Данное имя атрибута является уникальным в пределах данной иерархии типа актива.
    • Имена дескрипторов мета-элементов. - Список имен дескрипторов мета-элементов, применимых к этому типу актива, каждое из которых уникально в пределах данного экземпляра OpenRemote и может использоваться для поиска фактического дескриптора мета-элемента.
    • Имена дескрипторов значений. - Список имен дескрипторов значений, применимых к этому типу актива, каждое из которых уникально в пределах данного экземпляра OpenRemote и может использоваться для поиска фактического дескриптора значения.

Информация о типе актива

Информация о типе актива содержит все дескрипторы, применимые для данного типа актива, и может рассматриваться как определение схемы, которое затем используется для целей проверки и создания пользовательского интерфейса; базовым типом актива является Thing, который не имеет ограничений атрибутов, но может использоваться как универсальный актив. Параметры зависят от типов ресурсов, загруженных в ваше развертывание. Вы можете вызвать конечную точку модели активов Swagger работающей системы, чтобы получить всю информацию о типах активов (см. https://YOUR_DEPLOYMENT/swagger/#/Asset%20Model).

Дескриптор актива

Дескриптор актива определяет следующую информацию для конкретного типа актива:

  • name - это должно быть уникально в пределах данного экземпляра OpenRemote и должно быть простым именем класса Java.
  • icon — дополнительный значок, который может использоваться пользовательским интерфейсом внешнего интерфейса для представления ресурсов этого типа на картах и т. д.
  • colour — дополнительный цвет, который может использоваться пользовательским интерфейсом внешнего интерфейса для представления ресурсов этого типа на картах и т. д.

Дескриптор атрибута

Дескриптор атрибута имеет имя, которое ссылается на имя атрибута, и оно должно быть уникальным в пределах иерархии типов активов. Оно также содержит следующую информацию:

  • type - имя дескриптора типа значения, описывающего тип данных атрибута.
  • constraints - ограничения значения, которые должны быть применены к значению (размер/длина, регулярное выражение, не пустое и т.д.)
  • format — правила форматирования, которые будут применяться при преобразовании значения в строковое представление для целей пользовательского интерфейса (количество десятичных знаков, логическое значение вкл/выкл и т. д.)
  • units — массив строк, составляющих единицы измерения для этого атрибута, на основе HTML5 Intl API, но с более широкой поддержкой единиц измерения (например, ["kilo", "metre", "per", "hour"]km/h) (см. здесь для получения полного списка стандартных типов единиц измерения, которые поддерживает наша система — можно использовать дополнительные, но необходимо выполнить переводы пользовательского интерфейса). быть предоставлены для их поддержки). Символы валют также поддерживаются путем предоставления кода валюты в верхнем регистре, как определено в ISO 4217 currency codes. В зависимости от выбранного вами языка система затем либо добавляет символ валюты в начало (£0.15/kWh), либо добавляет его (0.15€/kWh).
  • meta — список метаэлементов по умолчанию (элементов конфигурации), которые следует добавить при первом создании этого атрибута.
  • optional — логический флаг, указывающий, должен ли атрибут присутствовать (это не контролирует, должен ли он иметь значение или нет — это обрабатывается ограничениями)

Дескриптор метаэлемента

Дескриптор мета-элемента имеет имя, которое ссылается на имя мета-элемента, и оно должно быть уникальным в пределах экземпляра OpenRemote, а также содержит следующую информацию:- type - то же, что и дескриптор атрибута выше.

  • constraints - то же, что и дескриптор атрибута выше.
  • format - то же, что и дескриптор атрибута выше.
  • units - то же, что и дескриптор атрибута выше.

Подробную информацию о доступных встроенных дескрипторах мета-элементов см. в здесь, для элементов конфигурации, специфичных для актива/агента, проверьте их страницы документации и/или документацию Javadoc.

Дескрипторы значений

Дескриптор значения имеет имя, которое должно быть уникальным в пределах экземпляра OpenRemote. В конечном итоге оно описывает форму данных для целей сериализации/десериализации, а также содержит следующую информацию:

  • type - простое имя класса типа данных, который описывает этот дескриптор значения.
  • jsonType - тип типа данных JSON
  • arrayDimensions - число, указывающее, что значение представляет собой массив данных, где каждый элемент имеет тип, описанный этим дескриптором.
  • constraints - то же, что и дескриптор атрибута выше.
  • format - то же, что и дескриптор атрибута выше.
  • units - то же, что и дескриптор атрибута выше.

Доступные встроенные дескрипторы значений перечислены в модели данных платформы.


Уведомление о лицензии: атрибуция документации OpenRemote