Previous page Next page
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
Note
Contains the general information for launching the automatic rules:
"autorule": {
"zone_ap": "hosts/Server1/DeviceIpint.30/SourceEndpoint.video:0:0",
"only_if_armed": false,
"timezone_id": "00000000-0000-0000-0000-000000000000"
}
continuous
Note
Contains the general information for launching the continuous macros:
"continuous": {
"server": "Server1",
"timezone_id": "00000000-0000-0000-0000-000000000000",
"heartbeat_ms": 3600000,
"random": true
}
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
Note
observer − a server from which the macro is launched;
subject − a server from which the state should be received.
"server_state": {
"observer": "Server1",
"subject": "Server2",
"state": "SS_OFFLINE"
}
text
Note
The Event Source object should be created (see Event source object).
"text": {
"source": "hosts/Server1/DeviceIpint.110/SourceEndpoint.textEvent:0",
"text": "Cash"
}
arm
Note
Arming the camera.
"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 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": {}
}