Closed zhoujia456888 closed 7 years ago
另外还有一点,我在addTimerWithTask()添加定时的时候dps传值{"1",true} 。调用getTimerWithTask()和getAllTimerWithDeviceId()方法的时候,都只获取到了dpId=1。并没有获取到完整的dps里面的值。请问该如何获取完整的dps={"1",true}?
@zhoujia456888 您好 感谢您的反馈 1.第一个问题我们会在下个版本修复掉,并加入接口测试用例 2.第二个问题,目前对外封装的接口是偏业务化的Timer类,如您所见,可以通过Timer类获取到dpId/通过isOpen接口获取执行的命令的开关,并没有完整的dps。目前您可以通过这两个状态重组一下。
请问您现在是什么样的需求导致上层需要dps的原始字符串,我们会根据您的需要探讨一下接口的优化。
第二个问题需求是这样的:我在设定定时的时候,希望在9点钟开关关闭。所以在addTimerWithTask()时我传入的值是这样的
("task01", "00200359600194218e99", "1111111", {"1",false}, "9:00", new IResultStatusCallback() );
软件界面是这样
注意箭头所指的地方
而当我需要对这条定时进行修改时,我希望进入的时候展现给我的界面依然是这个样子,这就需要获取到三条数据:设定的定时时间time=9:00,设定的重复周期loops=1111111以及设定的开关状态dps={"1",false}。time和loops在接口getTimerWithTask()中已经有了。isOpen获取到的是这条定时器是否打开而并非我设定的开关状态。
@zhoujia456888 您好 可以试一下 Timer 的 getValue() 函数
SDK版本1.5.9 官方文档中updateTimerStatus()传入第一个参数是taskName,我也照做了。但是之后再查询定时的时候发现taskName跑到了dpid那个位置。 更新定时之前
更新定时之后
我ctrl+鼠标左键跟踪SDK中的代码,发现SDK中taskName被放在了dpid的位置。。。