На странице:

Конфигурирование макрокоманд описывается в файле LogicService.proto.

Каждая макрокоманда состоит из:

  • id guid;
  • названия name;
  • режима работы mode;
  • условий запуска conditions;
  • правил rules.

Режимы работы

 mode содержит общую информацию:

  • enabled или disabled – включена или отключена макрокоманда;
  • user_role – роль, для которой будет доступна макрокоманда в меню на раскладке;
  • is_add_to_menu – добавить макрокоманды в меню на раскладке;
  • time_zone – id временной зоны, если макрокоманда должна запускаться по времени;

    "time_zone": {
         "timezone_id": "6fb68cf4-ca6a-46a1-b2e3-ab4cfdaa0444"
        }
  • autorule

    Примачание

     Содержит общую информацию для запуска автоматических правил:

    • камера, под которой создано правило zone_ap;
    • работать только в режиме на охраны only_if_armed;
    • id временной зоны timezone_id;
    "autorule": {
                        "zone_ap": "hosts/Server1/DeviceIpint.30/SourceEndpoint.video:0:0",
                        "only_if_armed": false,
                        "timezone_id": "00000000-0000-0000-0000-000000000000"
                    }
  • continuous

    Примачание

    Содержит общую информацию для запуска циклических макрокоманд:

    • Сервер server;
    • id временной зоны timezone_id;
    • цикличность запуска в миллисекундах heartbeat_ms;
    • случайный запуск макрокоманды  random.
     "continuous": {
         "server": "Server1",
         "timezone_id": "00000000-0000-0000-0000-000000000000",
         "heartbeat_ms": 3600000,
         "random": true
        }

Условия запуска

Доступны следующие (см. Настройка условий запуска, Запуск событийных макрокоманд на основе данных статистики):

  • detector

    "detector": {
          "event_type": "sitDown",
          "source_ap": "hosts/Server1/HumanBoneDetector.1/EventSupplier",
          "state": "BEGAN",
          "details": []
         }
  • timezone

        "timezone": {
          "timezone_id": "6fb68cf4-ca6a-46a1-b2e3-ab4cfdaa0444",
          "boundary_case": "TB_BEGINING"
         }
  • alert

    "alert": {
     "zone_ap": "hosts/Server1/DeviceIpint.10/SourceEndpoint.video:0:0",
     "alert_case": "AC_ALERT_DANGEROUS"
    }
  • device

    "device": {
     "device": "hosts/Server1/DeviceIpint.69",
     "state": "IPDS_CONNECTED",
     "threshold": 0
    }
  • archive_write

    "archive_write": {
     "camera": "hosts/Server1/DeviceIpint.28/SourceEndpoint.video:0:0",
     "state": "ON"
    }
  • relay

    "relay": {
     "relay": "hosts/Server1/DeviceIpint.10/StateControl.relay0:0",
     "state": "ON"
    }
  • volume_health

    "volume_health": {
     "storage": "hosts/Server1/MultimediaStorage.AliceBlue/MultimediaStorage",
     "volume": "",
     "health": "VH_CORRUPTED"
    }
  • server_state

    Примечание

    observer с которого запускается макрокоманда;

    subject Сервер, с которого должен придти статус.

    "server_state": {
     "observer": "Server1",
     "subject": "Server2",
     "state": "SS_OFFLINE"
    }
  • text

    Примечание

    Должен быть создан Источник событий (см. Объект Источник событий).

    "text": {
     "source": "hosts/Server1/DeviceIpint.110/SourceEndpoint.textEvent:0",
     "text": "Cash"
    }
  • arm

    Примечание

    Постановка камеры на охрану.

    "arm": {
     "zone": "hosts/Server1/DeviceIpint.10/SourceEndpoint.video:0:0",
     "state": "CS_ArmPrivate"
    }
  • recognition

    "recognition": {
     "camera": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
     "list": "797703ea-6917-4341-888b-b6f0579f5d91",
     "type": "DT_Plate",
     "objects": [
      "53502573-a985-4198-a5b6-69db476cc755"
     ]
    }
  • statistics

    "statistics": {
     "point": "archive_usage",
     "item": "hosts/Server1/MultimediaStorage.AntiqueWhite/MultimediaStorage",
     "value": 100,
     "delta": 0,
     "trend": "ET_RISING"
    }

Действия

rules содержит действия, которые необходимо запускать в макрокоманде (см. Особенности настройки и выполнения действий). 

  • action

    "action": {
     "timeout_ms": 0,
     "cancel_conditions": {},
     "action": {
      "goto_ptz": {
       "telemetry": "hosts/Server1/DeviceIpint.71/TelemetryControl.0",
       "preset_number": 1,
       "speed": 1
      }
     }
    }
  • wait

    "wait": {
     "timeout_ms": 30000,
     "cancel_conditions": {
      "0": {
       "path": "/E:0/C:0",
       "server_state": {
        "observer": "Server1",
        "subject": "Server2",
        "state": "SS_ONLINE"
       }
      }
     },
  • timeout

    "timeout": {
     "timeout_ms": 5000
    }
  • check

    "check": {
     "check": {
      "camera": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
      "archive": "hosts/Server1/MultimediaStorage.AntiqueWhite/MultimediaStorage",
      "depth_ms": 60000,
      "type": "CT_CHECK_RECORD_SAFETY"
     },
     "success_rules": {},
     "failure_rules": {}
    }
  • No labels