| Предположим, что у нас есть группа из пяти членов. Выражение каждого члена оценивается в строковое выражение, которое обычно равно 100, 200, 300, 400 или 500 (это строковые константы, а не цифры). Таблица статусов будет выглядеть следующим образом: Результат выражения статуса члена группы | Статус группы (Цвет) | 100 | Зеленый | 200 | Желтый | 300 | Красный | 400 | Малиновый | 500 | Синий | Приведенная ниже таблица показывает, в какой статус перейдет группа согласно различным комбинациям статусных строк членов группы и приведенной выше таблицы: Строки статуса члена группы | Статус группы (Цвет) | 100, 200, 300, 400, 500 | Зеленый | 500, 400, 300, 200, 100 | Зеленый | 300, 300, 300, 400, 500 | Красный | 500, 500, 500, 500, 500 | Синий | 500, 500, 200, 500, 500 | Желтый | 200, 200, 500, 200, 200 | Желтый | 100, 200, 300, 400, 123 | Не определен | Этот пример иллюстрирует, как рассчитывается статус по умолчанию группы устройств. Настройки статусов групп по умолчанию следующие: Переменная статуса члена: contextStatus Выражение статуса члена: ({status} % 10 != 2 && ({status} - {status} % 10) == 40 ? 1 : ({status} % 10 == 1 || {status} % 10 == 2 ? 3 : 2)) Таблица статусов: Результат выражения статуса члена | Цвет | Описание | 1 | Темно-красный | Ошибка | 2 | Темно-желтый | Офлайн | 3 | Темно-зеленый | Онлайн | Конфигурация статуса вышеобозначенной группы использует информацию о статусе контекста устройств, чтобы рассчитать статус группы устройств. Существует три определенных статуса группы устройств: Error (означает, что как минимум одно устройство сообщает об ошибке), Offline (означает, что ошибок нет, но как минимум одно устройство находится в офлайн или состояние его подключения неизвестно) и Online (означает, что все устройства в группе подключены и не сообщают об ошибках). Выражение статуса члена анализирует поле статуса с целым числом переменной contextStatus. Этот статус можно интерпретировать как: - Количество десяток, представляющих статус синхронизации устройства (20 = синхронизировано, 40 = ошибка синхронизации и т.п.)
- Количество единиц, представляющих статус соединения устройства (0 = офлайн, 1 = онлайн, 2 = в режиме ожидания, 3 = статус неизвестен)
Выражение статуса отдельного члена группы устройств имеет следующий результат: - 1 (Ошибка), если устройство не находится в состоянии ожидания (
{status} % 10 != 2 ) и выдает ошибку синхронизации (({status} - {status} % 10) == 40 ) - 3 (Нормальный), если устройство находится в состоянии ожидания или онлайн (
{status} % 10 == 1 || {status} % 10 == 2 ) - 2 (Офлайн) в ином случае
| |