干舷:指示灯小部件不工作
Freeboard: Indicator Light widget not working
我正在尝试比较两个时间戳,如果差异大于 x 秒,请指出 "offline"。这是我在小部件的 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
}
指示器始终保持 "online",即使差异应大于 30 秒。它甚至没有像我期望的那样写入控制台。
我找不到任何文档,所以我什至不确定我应该返回 1 还是 true 或 elephant :(
所以我的大部分问题是 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 毫秒),那么它 returns 0 这是指标小部件上的 "OFF" 状态。
我正在尝试比较两个时间戳,如果差异大于 x 秒,请指出 "offline"。这是我在小部件的 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
}
指示器始终保持 "online",即使差异应大于 30 秒。它甚至没有像我期望的那样写入控制台。
我找不到任何文档,所以我什至不确定我应该返回 1 还是 true 或 elephant :(
所以我的大部分问题是 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 毫秒),那么它 returns 0 这是指标小部件上的 "OFF" 状态。