Macros configuration is described in the LogicService.proto file.
Each macro consists of:
mode contains the general information:
time_zone − time zone id, if the macro should be launched on time;
"time_zone": { "timezone_id": "6fb68cf4-ca6a-46a1-b2e3-ab4cfdaa0444" } |
autorule
Contains the general information for launching the automatic rules:
|
continuous
Contains the general information for launching the continuous macros:
|
The following are available (see Configuring filters for event-driven macros, Triggering macros by statistical data):
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 − a server from which the macro is launched; subject − a server from which the state should be received.
|
text
The Event Source object should be created (see Event source object).
|
arm
Arming the camera.
|
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 contains the actions that should be run in the macro (see Settings specific to actions).
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": {} } |