DP主要分三类:obj类型,stat(统计)类型,raw(透传)类型。统计类型DP重点是观察一个过程,比如求次数,求平均,求和,等等,中间数据是不允许丢的。
【已解决】wifi&ble产品DPID上报失败
Re: 【已解决】wifi&ble产品DPID上报失败
bamy 2022年 Oct 14日 17:44DP主要分三类:obj类型,stat(统计)类型,raw(透传)类型。统计类型DP重点是观察一个过程,比如求次数,求平均,求和,等等,中间数据是不允许丢的。
好的,感谢支持
Re: 【求助】wifi&ble产品DPID上报失败
sandia 2022年 Oct 14日 17:37愚者千虑必有一得 2022年 Oct 14日 17:20
obj
型DP
上报的时候,会对上报的数值进行过滤,相同则不予上报;- 如果想上报相同的
obj
型DP
,可以通过带force
的接口上报,或者将DP
点定义为统计类型(stat
)另外从你的逻辑上看:
1,你是上电报了flase,tuyaos会将这个flase缓存;
2,然后app发了个true,你的代码逻辑会再上报个false,此时上报的flase和tuyaos缓存的false是一致的,导致dp被过滤。
3,如果你上报true就不会过滤。可以理解为:开关默认是关的(false)app想把开关打开(dp=6,设置为true),设备打开成功之后,给云端/app返回了开关已经打开(dp=6的值上报true)。
1、app下发给我的数据是不会刷新tuyaOS缓存的,tuyaos中缓存的只是我的上报,所以会重复导致被过滤;
2、带force的接口我找到了,如何将‘DP’点定义为统计类型(‘stat’)?感谢回复
1,是的
2,stat是dp的统计属性,需要让pm在方案上进行配置,iot前台是看不到的,需要联系对应的pm来做配置。统计型dp有个专门的接口来上报:dev_report_dp_stat_sync,同步上报,并在上报失败的时候做存储,属于特殊的逻辑。