Freeboard:指示灯小部件无法正常工作

时间:2015-07-15 14:06:54

标签: javascript freeboard

我正在尝试比较两个时间戳,如果它大于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还是真或大象:(

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"指标小部件上的状态。