[重构] 运动监测改为 Webhook 驱动(去轮询) - 关闭 MotionNotifier 轮询,NAS 端合成稳定 event_id、摄像头名映射 camera_id、EVENT_TIME 解析为 epoch,SS Webhook 直接推送甲骨文

This commit is contained in:
ericwyuan
2026-08-22 10:53:03 +08:00
parent 01bbb39750
commit ca6d425b19
4 changed files with 211 additions and 34 deletions

View File

@@ -33,20 +33,26 @@ chat_handler:
qa_url: "http://129.146.203.203:5000/api/edge/chat/ask"
timeout: 120
# 运动监测通知服务2026-08-22 新增
# 在 NAS 本机轮询群晖 Surveillance Station 的运动侦测事件,把所需信息主动 POST
# 推送甲骨文 FAM-Edge单向 NAS -> Oracle甲骨文不再反向访问 NAS
# 运动监测通知服务2026-08-22 重构为 Webhook 驱动,不轮询
# SS 配置 Webhook 把运动事件 POST 到 NAS /api/ss/webhook本服务映射字段后
# 推送甲骨文 FAM-Edge单向 NAS -> Oracle甲骨文不再反向访问 NAS
# SS Webhook 不提供 event_id / camera_id由本服务合成 event_id、把摄像头名映射成
# camera_id启动一次性从 SS 拉取 + 以下静态映射兜底),并把 EVENT_TIME 解析成 epoch。
# SS 凭据走环境变量(${DSM_ACCOUNT}/${DSM_PASSWORD}),由启动脚本 source 的 .env 提供。
motion_notifier:
enabled: true
dsm_host: "192.168.50.64" # Surveillance Station 所在地址NAS 本机)
poll_enabled: false # 关闭轮询,改用 SS Webhook 推送
dsm_host: "192.168.50.64" # Surveillance Station 所在地址NAS 本机,用于一次性拉摄像头映射)
dsm_port: 5000
dsm_account: "${DSM_ACCOUNT}"
dsm_password: "${DSM_PASSWORD}"
camera_ids: [2] # 关注的摄像头Generic_ONVIF-001 的 camera_id
# 摄像头名 -> camera_id 静态映射(优先);启动时还会从 SS 拉一份补全
camera_name_to_id:
"Generic_ONVIF-001": 2
oracle_base_url: "http://129.146.203.203:5000" # 与 oracle_sync.base_url 一致
oracle_token: "${ORACLE_SYNC_TOKEN}" # 与 oracle_sync.token 一致
poll_interval_sec: 60 # 轮询间隔
poll_window_hours: 2 # 每轮回看窗口(小时),覆盖轮询间隔内的新事件
batch_size: 100 # 单批推送上限
timeout_sec: 10 # 单次 SS 请求超时
timeout_sec: 10 # 单次 SS 请求超时(摄像头映射拉取用)
# 以下为可选轮询参数poll_enabled=true 时才生效,当前默认关闭)
poll_interval_sec: 60
poll_window_hours: 2
batch_size: 100