- 问题描述(复现步骤):
 目前我在开发一个低功耗的温度传感器,该传感器在温度变化高于0.5或者2小时定期上报一次。
 但我调取getStatisticsRangHour这个api,获取平均值的时候。发现如果设备某一段时间(因为温度变化不大)没有上报数据,这个api给我的返回值里,这段时间的值是0.- 预期结果:
 举个例子,假设2023051117上报24.00, 2023051118因为温度无变化所以不上报,2023051119温度变化上报25.00,我希望返回给我的日志为
 2023051117: '24.00',
 2023051119: '25.00',
 即没有上报数据,则不抛出
- 实际结果:
 没有上报的这段时间,2023051117会给我0。实际这时候传感器为24.00
 2023051117: '24.00',
 2023051117:'0.00'
 2023051119: '25.00',
 
- 预期结果:
温度传感器在使用getStatisticsRangHour统计图表能力存在一个疑问
- 
				silverlight
- Posts: 183
温度传感器在使用getStatisticsRangHour统计图表能力存在一个疑问
Tags:
- 
				silverlight
- Posts: 183
Re: 温度传感器在使用getStatisticsRangHour统计图表能力存在一个疑问
目前我的处理方案是,查询到值为0的时候,寻找之前日期最近的一个非零值,把0改为该非零值。这和传感器的上报逻辑保持了一致。但是遇到传感器真的上报0摄氏度的时候,就会出现问题。
Re: 温度传感器在使用getStatisticsRangHour统计图表能力存在一个疑问
你好我们已经收到啦你的提问 相关开发会尽快回复哦!
Re: 温度传感器在使用getStatisticsRangHour统计图表能力存在一个疑问
接口传 datafill:1 试试看
- 
				silverlight
- Posts: 183
Re: 温度传感器在使用getStatisticsRangHour统计图表能力存在一个疑问
datafill这个属性具体会有什么效果?我在文档和接口参数代码中没有查询到相关信息
- 
				silverlight
- Posts: 183
Re: 温度传感器在使用getStatisticsRangHour统计图表能力存在一个疑问
Code: Select all
getStatisticsRangHour({
  devId: 'xxx',
  dpId: '106',
  date: date,
  type: 'avg',
  datafill:1,
})
  .then((response) => {
    console.warn('获取到的日志信息',response);
  })
  .catch((error) => {
    console.error('Error fetching data:', error);
  });getStatisticsRangHour没有datafill这个属性
Re: 温度传感器在使用getStatisticsRangHour统计图表能力存在一个疑问
传 auto: 1就可以了,他会自动填充数据
- 
				silverlight
- Posts: 183
Re: 温度传感器在使用getStatisticsRangHour统计图表能力存在一个疑问
我希望的不是自动填充 这部分,因为在公版温湿度面板中,缺失的部分是直接没有数据。我想知道如何达到公版的效果
Re: 温度传感器在使用getStatisticsRangHour统计图表能力存在一个疑问
你可以穿auto: 2 试试看 这个会把每上报的时间段都范围一个标识符类似:
res = {
  20250822: 130,
  20250823: '#',
  20250824: 240,
}
然后你业务侧拿到数据后统一替换
- 
				silverlight
- Posts: 183
Re: 温度传感器在使用getStatisticsRangHour统计图表能力存在一个疑问
xiaoqi 2025年 Aug 22日 14:40你可以穿auto: 2 试试看 这个会把每上报的时间段都范围一个标识符类似:
res = {
20250822: 130,
20250823: '#',
20250824: 240,
}然后你业务侧拿到数据后统一替换
谢谢,就是要这样的格式。