Устройства¶
Устройства являются представлением реального оборудования в системе. Устройство состоит из юнитов. Набор юнитов зависит от типа, значения свойств и логики работы устройства.
Общая структура устройства

Пользователь системы в основном взаимодействует с атрибутами устройств, атрибуты юнитов являются системными и носят информационный характер. Исключением являются только свойства юнитов, которые доступны для редактирования пользователем.
Для примера рассмотрим шлюз кондиционера ONOKOM MD-1-MB-B. Окно устройства в админ-панели выглядит следующим образом:
Окно устройства ONOKOM MD-1-MB-B

В нижней части находится таблица юнитов, из которых состоит устройство. В данном случае каждый юнит реализует конкретную функцию устройства. Например, юнит id146 отвечает за включение/выключение кондицианера, id147 - за выбор режима работы и т.д.
Свойства¶
Свойства можно разделить на 2 группы: общие и частные.
Базовые¶
К общим относятся свойства характерные для любого устройства:
- Категория
- Тип
- Название
- Помещение
Частные¶
К частным относятся свойства конкретного типа устройства.
Для устройства из примера:
- Шина Modbus
- Адрес устройства
- Модель устройства
Пример свойств устройства ONOKOM MD-1-MB-B

Методы¶
Методы устройства определяются типом и логикой работы устройства. Для выполнения метода устройства будут вызваны методы юнитов. Набор методов реализует функционал устройства.
Например:
- Включить кондиционер
- Выключить кондиционер
- Установить режим работы
- Установить целевую температуру
- Установить скорость вентилятора
и т.д.
В окне устройства есть элементы управления, позволяющие вызывать методы.
Состояние¶
Состояние - это набор значений всех параметров устройства в текущий момент времени. Состояние устройства определяется исходя из состояний юнитов.
Текущее состояние можно увидеть в окне устройства, на панели управления.
Пример панели управления ONOKOM MD-1-MB-B

События¶
Устройство отслеживает события юнитов и генерирует собственные при возникновении событий юнитов.
Например, при изменении состояния юнита id146 с выключено на включено, юнит сгененрирует соответствующее событие. Устройство, в свою очередь, сгенерирует собственное событие on_state_on.
События выступают в роли триггеров для действий в системе, для каждого события могут быть настроены действия.
Окно настройки действий для события on_state_on

Статус¶
Статус устройства определяется исходя из статусов юнитов и основывается на логике устройства.
Возможные статусы:
- Available. Устройство доступно и нормально функционирует.
- Warning. Устройство доступно и функционирует, но есть некритичные ошибки.
- Error. Устройство доступно, но есть критичные ошибки.
- Unavailable. Устройство недоступно.
- Disabled. Устройство отключено.
- Unconfigured. Устройство не сконфигурировано.
- Undefined. Статус устройства не определен.