为什么无法获取指定参数的时间序列数值?
如果正在发布时间序列数据,但查询没有返回结果,请检查以下事项:
-
创建参数时使用了
PROP_FLAG_SIMPLE_TIME_SERIES— 确认创建参数时已使用PROP_FLAG_SIMPLE_TIME_SERIES初始化。没有该标志时,参数不会被当作时间序列参数,数据也不会被存储以供历史查询。 -
查询时的参数名称格式 — 通过 API 获取时间序列数据时,请使用完整参数名称,格式为
<DeviceName>.<ParamName>。例如使用Sensor.Temperature,而不是仅使用Temperature。设备和参数名称必须与节点配置完全一致。 -
已启用时间服务 — 确认固件中已启用时间服务。只有设备已通过 SNTP 获取网络时间后,才会上报时间序列数值。没有有效时间戳时,数据可能无法正确存储或返回。
-
API 中的时间窗口 — 确保查询中传入了正确的时间窗口(起止时间戳)。数据仅在指定范围内返回;如果窗口错误或位于未来,结果将为空。
-
SNTP 同步 — 时间序列数据依赖网络时间。如果设备尚未与 SNTP 同步(例如刚启动后或没有互联网),上报的值可能缺少有效时间戳。请等待 时间同步完成后再期望查询中出现数据。

