Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

POST http://IP-адрес:порт/префикс/grpc

Тело запроса:

Code Block
{
  "method":"ITV.bl.logic.LogicService.ListMacros",
  "data": {
    "view": "VIEW_MODE_FULL"
      }
}


Info
titleПримечание

VIEW_MODE_FULL - полная информация;

VIEW_MODE_STRIPPED - только базовая информация о макрокомандах без условий запуска и действия.

Получение полной информации по одной/нескольким макрокомандам

Code Block
{
  "method":"ITV.bl.logic.LogicService.BatchGetMacros",
  "data":{
    "macros_ids" : ["cfd41b18-c983-4a48-aaa1-ca7e666e6e49"]
      }
}

Создание/удаление/изменение макрокоманды

...

Code Block
{
"method": "ITV.bl.logic.LogicService.ChangeMacros",
"data": {
    "added_macros": {
      "guid": "3303abb2-181e-4183-8987-8a06c309a741",
      "name": "TEST_MACRO",
      "mode": {
        "enabled": true,
        "user_role": "",
        "is_add_to_menu": true,
        "common": {}
      },
      "conditions": {
        "0": {
          "path": "/C:0",
          "archive_write": {
            ""camera": "hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0",
            "state": "ON"
          }
        },
          "1": {
          "path": "/C:0",
          "archive_write": {
            "camera": "hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0",
            "state": "ON"
          }
        }
      },
      "rules": {
        "0": {
          "path": "/E:0",
          "action": {
            "timeout_ms": 60000,
            "cancel_conditions": {},
            "action": {
              "raise_alert": {
                "zone": "",
                "archive": "",
                "offset_ms": 0,
                "mode": "RAM_AlwaysIfNoActiveAlert"
              }
            }
          }
        },
        "1": {
          "path": "/E:0",
          "action": {
            "timeout_ms": 60000,
            "cancel_conditions": {},
            "action": {
              ""raise_alert": {
                "zone": "",
                "archive": "",
                "offset_ms": 0,
                "mode": "RAM_AlwaysIfNoActiveAlert"
        }
      }
     }   
    }
          }  
        }
      }
    }
  }}
}

Изменение (удаление правил и условий):

Info
titleПримечание

В группах conditions и rules необходимо оставить пустые фигурные скобки { }.


Code Block
{
  "method": "ITV.bl.logic.LogicService.ChangeMacros",
  "data": {
      "modified_macros": {
      "guid": "3303abb2-181e-4183-8987-8a06c309a741",
      "mode": {
        "common": {}
      },
      "conditions": {
        "0": {}
      },      
      "rules": {
        "1": {}
      }
    }
  }
}

Удаление всей макрокоманды:

Code Block
{
  "method":"ITV.bl.logic.LogicService.ChangeMacros",
  "data":{
    ""removed_macros" : ["3303abb2-181e-4183-8987-8a06c309a741"]
      }
}

Запуск макрокоманды

Code Block
{
  "method":"ITV.bl.logic.LogicService.LaunchMacro",
  "data":{
    "macro_id" : "caef76f0-37e9-43b0-aba6-c2a2f32ccd2f"
      }
}

Примеры

  1. Получение информации об автоматическом правиле

    Ответ:

    Expand


    Code Block
    {
      "items": [
        {
          "guid": "4932bbc7-c702-4a18-b050-2898b1b61738",
          "name": "534k_1.Camera. Детектор движения",
          "mode": {
            "enabled": true,
            "user_role": "",
            "is_add_to_menu": false,
            "autorule": {
              "zone_ap": "hosts/Server1/DeviceIpint.6/SourceEndpoint.video:0:0",
              "only_if_armed": false,
              "timezone_id": "00000000-0000-0000-0000-000000000000"
            }
          },
          "conditions": {
            "0": {
              "path": "/C:0",
              "detector": {
                "event_type": "MotionDetected",
                "source_ap": "hosts/Server1/AVDetector.4/EventSupplier",
                "state": "BEGAN",
                "details": []
              }
            }
          },
          "rules": {
            "1": {
              "path"path": "/E:1",
              "action": {
                "timeout_ms": 0,
                "cancel_conditions": {
                  "0": {
                    "path": "/E:1/C:0",
                    "detector": {
                      "event_type": "MotionDetected",
                      "source_ap": ""source_ap": "hosts/Server1/AVDetector.4/EventSupplier",
                      "state": "ENDED",
                      "details": []
             }
           }
          },
            }"action": {
                },"raise_alert": {
                "action": {
                  "raise_alert": {
                    "zone": ""zone": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
                    "archive": "hosts/Server1/MultimediaStorage.AliceBlue/MultimediaStorage",
                    ""offset_ms": 0,
                    "mode": "RAM_AlwaysIfNoActiveAlert"
                  }
                }
              }
            },
            "0": {
              "path": "/E:0",
              "action": {
                "timeout_ms": 0,
                "cancel"cancel_conditions": {
                  "0": {
                    "path": "/E:0/C:0",
                    "detector": {
                      "event_type": "MotionDetected",
                      "source_ap": "hosts/Server1/AVDetector.6/EventSupplier",
                      "state": "BEGAN",
             "details": []
            "details": []
                    }
                  }
                },
                "action": {
                  "write_archive": {
                    "camera": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
                    "archive": ""archive": "hosts/Server1/MultimediaStorage.AliceBlue/MultimediaStorage",
                    "min_prerecord_ms": 0,
                    "post_event_timeout_ms": 0
                  }
                }
              }
            }
          }
        }
      ]
    }



  2. Создание макрокоманды.
Expand


Code Block
{
  "method":"ITV.bl.logic.LogicService.ChangeMacros",
  "data":{
    "added_macros" : {
      ""guid": "b55c118a-f902-43ec-b55a-67ee062640b2",
      "name": "MacroEmail",
      "mode": {
        "enabled": true,
        "user_role": "",
        "is_add_to_menu": false,
        "continuous": {
          "server": "Server1",
          "timezone_id": "00000000-0000-0000-0000-000000000000",
          "heartbeat_ms": 0,
          "random": true
        }
      },
      "conditions": {},
      "rules": {
        "0": {
          ""path": "/E:0",
          "check": {
            "check": {
              "camera": "99f72952-d8b8-4590-90e8-7e0e78bcd719",
              "archive": "",
              "depth_ms": 5400000,
              "type": "CT_CHECK_RECORD"
            },
            "success_rules": {},
            "failure_rules": {
              "0": {
                "path": "/E:0/T:0",
                "action": {
                  "timeout_ms": 0,
                  "cancel_conditions": {},
                  "action": {
                    "email_notification": {
                      "notifier": "hosts/Server1/EMailModule.1",
                      "recipients": [
                        "mail@server.com"
                      ],
                      "subject": "Notification: Attention, automatic rule is triggered.",
                      "msg_text": "На сервере: {cameraNode} по камере {cameraName} проблемы с записью в архив.\nДата "action": {dateTime}",
          "email_notification": {
           "atach_videonotifier": false"hosts/Server1/EMailModule.1",
           "recipients": [
           "export_agent": "mail@server.com",
           ],
           "subject": "Notification: Attention, automatic rule   "span_ms": 0is triggered.",
           "msg_text": "На сервере: {cameraNode} по камере {cameraName} проблемы с записью  "camera"в архив.\nДата: {dateTime}"",
           "atach_video": false,
           "archiveexport_agent": "",
           "span_ms": 0,
        }
   "camera": "",
           "archive": ""
   }
       }
         }
        }
       }
            }
          }
        }
      }
    }
  }
}


Info
titleПримечание

"camera": "99f72952-d8b8-4590-90e8-7e0e78bcd719"  - это id группы камер.


...