16337
8a540d59ba
fix(aiot): 修复自动推送参数错误 - 使用deviceId而不是cameraId
问题:
- 自动推送配置时传入错误的参数:cameraId(如:cam_xxx)
- 但 writeDeviceAggregatedConfig() 期望的是 deviceId(如:edge-001)
- 导致Edge端收不到配置更新通知,仍然显示"有ROI但未找到配置"
根本原因:
- writeDeviceAggregatedConfig(deviceId, action) 方法:
- 参数deviceId指的是Edge设备ID(edge-001)
- 通过deviceId查询该设备下的所有摄像头
- 发送Redis Stream通知:device_id=deviceId
- Edge端监听 device_id="edge-001" 的消息
- 但我们传入的是 cameraId="cam_xxx",导致通知发送到错误的频道
错误调用链:
save() → writeDeviceAggregatedConfig(cameraId, "UPDATE") ❌
→ Redis Stream: device_id="cam_xxx" ❌
→ Edge监听 device_id="edge-001" ❌ 收不到!
修复方案:
- 所有自动推送调用改为使用 roi.getDeviceId()
- 修复的方法:save(), delete(), bindAlgo(), unbindAlgo(), updateAlgoParams()
- 添加device_id为空的警告日志
- 日志中同时显示camera_id和device_id,便于调试
正确调用链:
save() → writeDeviceAggregatedConfig(deviceId, "UPDATE") ✅
→ Redis Stream: device_id="edge-001" ✅
→ Edge监听 device_id="edge-001" ✅ 正常接收!
影响:
- 现在自动推送会正确工作,无需手动推送
- Edge端能实时接收配置更新
- 新增/修改ROI后立即生效
2026-02-25 13:39:35 +08:00
..
2026-02-25 13:39:35 +08:00
2025-11-17 16:04:47 +08:00
2026-02-24 13:29:25 +08:00
2026-01-30 06:14:58 +08:00
2025-10-16 18:07:36 +08:00
2026-01-04 15:20:55 +08:00
2025-11-20 11:34:55 +08:00
2026-01-04 15:20:55 +08:00
2026-02-25 13:31:23 +08:00
2025-11-20 17:29:06 +08:00
2026-01-07 15:08:07 +08:00
2025-11-17 16:04:47 +08:00
2025-11-28 16:20:11 +08:00
2025-11-29 22:19:21 +08:00