代报设备类别信息(report-category-info)

验证状态:已源码核验、未联调;Web 发布与中心消费者双侧核验;id/struct 载荷源头的设备侧行为(get-configs 应答)缺证。 适用基线:源码归纳 @ 2026-09-14

用途与场景

单向遥测上报(无应答):Web 在直播过程中从设备读取配置(get-configs 正本),把其中的类别 struct 代报给中心,使中心的状态缓存保持新鲜(供 list-category-info 正本 查询、GPS/电池落档、以及直播画面信息面板展示)。设备信息、定位追踪、运行信息三个面板共用本通道。本页覆盖该 topic 上的两种报文形态。

使用位置

页面/功能 角色或空间分支
直播运行信息面板代报(sub:"media" 之外的两连发:iot 形态 + webrtc 形态) 登录用户;直播运行信息面板
定位追踪面板代报(iot 形态 + webrtc 形态,仅 GPS_INFO_S+USER_CFG_S 登录用户;定位追踪面板
远控设备信息页代报(iot 形态 + webrtc 形态) 登录用户;远控设备信息页

对应 inventory operationId:iot 形态 mqtt-module-server-center-server-iot-v1-report-category-info-591d23f6(device-information + device-location-tracking)、mqtt-module-server-center-server-iot-v1-report-category-info-6b504ee4(device-running-information);webrtc 形态 mqtt-module-server-center-server-iot-v1-report-category-info-0027311dmqtt-module-server-center-server-iot-v1-report-category-info-8377750b

端点

MQTT 发布 server/center-server/iot/v1/report-category-info(单向遥测,无应答)— 把从设备读取的类别 struct 代报给中心,保持状态缓存新鲜。

主题契约全量事实(方向、消费方、payload 归档口径)见 MQTT 主题清单 · 静态 topicyaml 详解 · report-category-info;该通道的业务语义(遥测入库链、状态缓存与落档)见设备业务 · mqtt-bridge 设备消息链。载荷形态 {id, params}——id 为 get-configs 应答的 message.id(即设备 clientId device,{deviceNo},iot;webrtc 形态把 iot 段替换为 webrtc),params 为 struct 名到原始值的映射(Web 用 _pick 从 get-configs 应答中原样摘取)。

触发时机:由 get-configs 应答驱动——设备信息/运行信息面板首次 3 秒重试直至取到,之后随查询间隔;定位追踪按 locationInterval(默认 5 秒)周期代报。

动线与完成判据

层级 判据
发布完成 publishAsync Promise 成功;仅代表 Broker 受理
处理确认 无应答、无业务回执;只能通过下一次 list-category-infodata[].categories._timestamp 观察生效(可观察信号)
失败 中心侧解析失败仅记日志,Web 无感知

错误与边界

  • Web 端无失败处理:发布失败静默,依赖下一轮询周期。
  • id 非法(空/段数不足)在中心被丢弃且无回执。
  • 未知 struct 键只写状态缓存,不落档(落档仅限 GPS / 电池 / 执法记录仪类别)。
  • 在线状态副作用:直播页面打开即可能把 device,{no},iot 标在线——即使设备实际已离线(同 retrieve 通道的已知影响面);离线纠偏依赖设备自身交互或每日凌晨的在线状态对账。

调用关系与资源清理

  • 前置:get-configs 正本(最终消费者为设备固件,缺口见该页)。
  • 下游:list-category-info 正本 读取本操作写入的缓存;GPS/电池文档由中心调度消费(非本域)。
  • 无订阅、无清理。

已知缺口

  1. params 内 struct 值的权威 schema 来自设备协议(get-configs 应答),设备固件源码不在本工作区;本页记录 Web 摘取与中心消费行为。
  2. Web 代报触发设备在线标记的统计影响未在业务侧评估;未执行真实 Broker 联调。