update
This commit is contained in:
@ -16,9 +16,9 @@ async def read_event():
|
||||
if "user_ids" not in config:
|
||||
logging.error("请配置user_ids")
|
||||
return
|
||||
# if "devices" not in config:
|
||||
# logging.error("请配置devices")
|
||||
# return
|
||||
if "devices" not in config:
|
||||
logging.error("请配置devices")
|
||||
return
|
||||
if "event_type" not in config:
|
||||
logging.error("请配置event_type")
|
||||
return
|
||||
@ -38,31 +38,63 @@ async def read_event():
|
||||
sub_json = json.loads(data[1].decode('utf-8'))
|
||||
events = sub_json["params"]["events"]
|
||||
for event in events:
|
||||
# 将eventType ID 替换为中文字符串
|
||||
event_type = event['eventType']
|
||||
logging.info(event_type)
|
||||
event_type_str = event_map.get(event_type, "未知事件类型")
|
||||
event['eventType'] = event_type_str
|
||||
#
|
||||
src_index = event["srcIndex"]
|
||||
device_name = device_map.get(src_index, "未知设备")
|
||||
user_ids = user_map.get(device_name, [])
|
||||
event['deviceName'] = device_name
|
||||
event['userIds'] = user_ids
|
||||
if "data" in event:
|
||||
# 如果存在 data 属性
|
||||
# 替换分析结果字段
|
||||
if "eventType" in event['data']:
|
||||
detection_field_name = event['data']['eventType']
|
||||
if detection_field_name in event['data']:
|
||||
event['data']["_detectionResult"] = event['data'].pop(detection_field_name)
|
||||
# 请求推送 api
|
||||
logging.info(event)
|
||||
try:
|
||||
push_resp = requests.post(push_url, json=event).content.decode('utf-8')
|
||||
logging.info(push_resp)
|
||||
except Exception as e:
|
||||
logging.error(f"网络错误推送失败: {e}")
|
||||
# 如果是ai事件
|
||||
if event["srcType"] == "eventRule":
|
||||
event_details = event["eventDetails"]
|
||||
for event_detail in event_details:
|
||||
# 事件类型 id 替换为 str
|
||||
event_type_str = event_map.get(event_detail['eventType'], "未知事件类型")
|
||||
event_detail['eventType'] = event_type_str
|
||||
# 添加设备名称
|
||||
src_index = event_detail["srcIndex"]
|
||||
device_name = device_map.get(src_index, "未知设备")
|
||||
event_detail['deviceName'] = device_name
|
||||
# 根据设备名称获取 user_ids
|
||||
user_ids = user_map.get(device_name, [])
|
||||
event_detail['userIds'] = user_ids
|
||||
# 添加其他字段
|
||||
event_detail["eventLvl"] = event['eventLvl']
|
||||
event_detail["happenTime"] = event['happenTime']
|
||||
# 如果存在 data 属性
|
||||
if "data" in event_detail:
|
||||
# 替换分析结果字段
|
||||
if "eventType" in event_detail['data']:
|
||||
detection_field_name = event_detail['data']['eventType']
|
||||
if detection_field_name in event_detail['data']:
|
||||
event_detail['data']["_detectionResult"] = event_detail['data'].pop(detection_field_name)
|
||||
logging.info(event_detail)
|
||||
try:
|
||||
push_resp = requests.post(push_url, json=event_detail).content.decode('utf-8')
|
||||
logging.info(push_resp)
|
||||
except Exception as e:
|
||||
logging.error(f"网络错误推送失败: {e}")
|
||||
else:
|
||||
# 将 eventType ID 替换为中文字符串
|
||||
event_type = event['eventType']
|
||||
logging.info(event_type)
|
||||
event_type_str = event_map.get(event_type, "未知事件类型")
|
||||
event['eventType'] = event_type_str
|
||||
# 添加设备名称
|
||||
src_index = event["srcIndex"]
|
||||
device_name = device_map.get(src_index, "未知设备")
|
||||
# 根据设备名称获取 user_ids
|
||||
user_ids = user_map.get(device_name, [])
|
||||
event['deviceName'] = device_name
|
||||
event['userIds'] = user_ids
|
||||
if "data" in event:
|
||||
# 如果存在 data 属性
|
||||
# 替换分析结果字段
|
||||
if "eventType" in event['data']:
|
||||
detection_field_name = event['data']['eventType']
|
||||
if detection_field_name in event['data']:
|
||||
event['data']["_detectionResult"] = event['data'].pop(detection_field_name)
|
||||
# 请求推送 api
|
||||
logging.info(event)
|
||||
try:
|
||||
push_resp = requests.post(push_url, json=event).content.decode('utf-8')
|
||||
logging.info(push_resp)
|
||||
except Exception as e:
|
||||
logging.error(f"网络错误推送失败: {e}")
|
||||
|
||||
except Exception as e:
|
||||
logging.error("error: ", e)
|
||||
|
@ -33,9 +33,12 @@
|
||||
192515,
|
||||
192514,
|
||||
192513,
|
||||
254234,
|
||||
254235,
|
||||
254011,
|
||||
930335,
|
||||
20210724,
|
||||
20210724
|
||||
327681,
|
||||
327946
|
||||
],
|
||||
"eventDest": "http://127.0.0.1:8000/eventRcv",
|
||||
"subType": 0
|
||||
|
121
hik_push/trd.json
Normal file
121
hik_push/trd.json
Normal file
@ -0,0 +1,121 @@
|
||||
{
|
||||
"eventDetails": [
|
||||
{
|
||||
"ability": "event_vss",
|
||||
"data": {
|
||||
"AIOPResultData": {
|
||||
"confidence": 770,
|
||||
"height": "1080",
|
||||
"id": 10013,
|
||||
"imageUrl": "http://192.168.1.250:6120/pic?0d44=de54ida-=o1018p02ea976d-63599cbbb*162s=**118==tp*7618=6201040*6020=7l1*0026=fo966-14*le1-od2620224252",
|
||||
"modelID": "00012023050501005hms3classDet00",
|
||||
"realArea": 0,
|
||||
"realHeight": 0,
|
||||
"realVolume": 0,
|
||||
"realWidth": 0,
|
||||
"rect": {
|
||||
"h": "0.107890",
|
||||
"w": "0.067804",
|
||||
"x": "0.305665",
|
||||
"y": "0.303932"
|
||||
},
|
||||
"region": {
|
||||
"rect": {
|
||||
"h": "0.107890",
|
||||
"w": "0.067804",
|
||||
"x": "0.305665",
|
||||
"y": "0.303932"
|
||||
}
|
||||
},
|
||||
"ruleId": 2,
|
||||
"ruleName": [
|
||||
"打电话"
|
||||
],
|
||||
"targetAttrs": {
|
||||
"cameraIndexCode": "f3e4a7ff9123414e8654735a6346c709",
|
||||
"deviceIndexCode": "efa6aa29eaea4464aa5c3dd847f2c9c3",
|
||||
"imageServerCode": "d74f089c-4888-4d36-b829-926e6f7c3c3c",
|
||||
"picServerIndexCode": "d74f089c-4888-4d36-b829-926e6f7c3c3c"
|
||||
},
|
||||
"taskID": "86ff37c70e9e42f98f636ee866619e00",
|
||||
"taskType": "AIOP_Video",
|
||||
"triggerType": 1073758209,
|
||||
"type": 3,
|
||||
"typeName": "打电话",
|
||||
"url": None,
|
||||
"valid": 1,
|
||||
"visible": 1,
|
||||
"width": "1920"
|
||||
},
|
||||
"aiopMsgType": 2,
|
||||
"channelID": 33,
|
||||
"channelName": "T2变电所",
|
||||
"dataProcInterval": "28",
|
||||
"dataType": "AIOPDetection",
|
||||
"dateTime": "2024-02-02T10:33:44.430+08:00",
|
||||
"eventDescription": "AI Open Platform Video Detection",
|
||||
"eventType": "AIOPResultData",
|
||||
"ipAddress": "192.168.1.10",
|
||||
"picUploadInterval": "13",
|
||||
"portNo": 8000,
|
||||
"presetIndex": 0,
|
||||
"recvTime": "2024-02-02T10:34:20.589+08:00",
|
||||
"sendTime": "2024-02-02T10:34:20.617+08:00",
|
||||
"targetAttrs": {
|
||||
"cameraIndexCode": "f3e4a7ff9123414e8654735a6346c709",
|
||||
"deviceIndexCode": "efa6aa29eaea4464aa5c3dd847f2c9c3",
|
||||
"imageServerCode": "d74f089c-4888-4d36-b829-926e6f7c3c3c",
|
||||
"picServerIndexCode": "d74f089c-4888-4d36-b829-926e6f7c3c3c"
|
||||
},
|
||||
"taskID": "86ff37c70e9e42f98f636ee866619e00",
|
||||
"url": "http://192.168.1.250:6120/pic?0d44=de54ida-=o1018p02ea976d-63599cbbb*162s=**118==tp*7618=6201040*6020=7l1*0026=fo966-14*le1-od2620224252"
|
||||
},
|
||||
"eventOriginalId": "578B384C-78AB-7743-A2E5-CDE3BD0E19E2",
|
||||
"eventType": 422400002,
|
||||
"locationIndexCode": ", "locationName": ",
|
||||
"regionIndexCode": "2bc4f74e-4a96-4a67-b67f-4037724b0a46",
|
||||
"regionName": "江淮 汽车发动机公司/行为分析监控",
|
||||
"srcIndex": "f3e4a7ff9123414e8654735a6346c709",
|
||||
"srcName": "T2变电所",
|
||||
"srcType": "camera"
|
||||
}
|
||||
],
|
||||
"eventId": "894A9D9761D84FAB96BD0D292DA219BC",
|
||||
"eventLvl": 2,
|
||||
"eventName": "有人抽烟或打电话",
|
||||
"eventOldId": "578B384C-78AB-7743-A2E5-CDE3BD0E19E2",
|
||||
"eventType": "未知事件类型",
|
||||
"happenTime": "2024-02-02T10:33:44.430+08:00",
|
||||
"linkageAcion": [
|
||||
{
|
||||
"content": "[{"cameraIndexCode":"f3e4a7ff9123414e8654735a6346c709","cameraName":"T2变电所","cameraType":"0","cascadeCode":"","decodeTag":"hikvision","recordType":"1","treatyType":"1"}]\n",
|
||||
"linkageType": "popUpLiveViewOnClient"
|
||||
},
|
||||
{
|
||||
"content": "[{"cameraIndexCode":"f3e4a7ff9123414e8654735a6346c709","cameraName":"T2变电所","cameraType":"0","cascadeCode":"","decodeTag":"hikvision","recordType":"1","treatyType":"1"}]\n",
|
||||
"linkageType": "popUpPlayBackOnClient"
|
||||
},
|
||||
{
|
||||
"content": "{"bPopupEventPicture":true}",
|
||||
"linkageType": "popUpPictureOnClient"
|
||||
},
|
||||
{
|
||||
"content": "{"alertTimes":1,"soundText":"江淮 汽车发动机公司/行为分析监控,T2变电所发生有人抽烟或打电话事件"}\n",
|
||||
"linkageType": "alertByEventInfo"
|
||||
},
|
||||
{
|
||||
"content": "{"wordsOverlayTxt":"江淮汽车发动机公司/行为分析监控,T2变电所发生有人抽烟或打电话事件"}\n",
|
||||
"linkageType": "overlayTextOnPopUp"
|
||||
}
|
||||
],
|
||||
"remark": ", "ruleDescription": ",
|
||||
"srcIndex": "03c96cdd994d4fda9dbc935be58af195",
|
||||
"srcName": "有人抽烟或打电 话",
|
||||
"srcParentIndex": "efa6aa29eaea4464aa5c3dd847f2c9c3",
|
||||
"srcType": "eventRule",
|
||||
"status": 0,
|
||||
"stopTime": "2024-02-02T10:33:44.430+08:00",
|
||||
"timeout": 0,
|
||||
"deviceName": "未知设备",
|
||||
"userIds": []
|
||||
}
|
Reference in New Issue
Block a user