我正在尝试比较两个时间戳,如果它大于x秒差异,则表示“离线”。这是我在小部件的js编辑器中的内容:
// Example: Convert temp from C to F and truncate to 2 decimal places.
// return (datasources["MyDatasource"].sensor.tempInF * 1.8 + 32).toFixed(2);
console.log("Checking Time Difference")
var timediff = (new Date) - datasources["ConsentDS"].Timestamp
console.log(timediff)
if timediff > 1 * 60 * 1000 {
return 1
} else {
return 0
}
即使差异大于30秒,指示灯也始终处于“在线”状态。它甚至没有像我期望的那样写入控制台。
我找不到任何文件,所以我甚至不确定我是应该返回1还是真或大象:(
答案 0 :(得分:1)
因此,我的大多数问题都是javascript语法,因为@Donut和其他人可能会立即注意到。
以下是工作版本:
var ts = new Date(datasources["ConsentDS"].Timestamp).getTime();
var ms = new Date().getTime();
var d = ms - ts;
if (d > 5 * 60 * 1000) {
return 0;
} else {
return 1;
}
如果当前时间减去数据上的时间戳超过30秒(30000毫秒),则返回0,即" OFF"指标小部件上的状态。