javascript - 干舷:指示灯小部件不工作

标签 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 还是 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 毫秒),则它返回 0,即指标小部件上的“关闭”状态。

关于javascript - 干舷:指示灯小部件不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31432735/

相关文章:

docker - Freeboard 的 Orion 数据源和 Context Broker 之间没有连接

javascript - 使用数据源中的数据将 "literal HTML"添加到 HTML 小部件?

node.js - 附加到 Express 中的 url 路径

javascript - jQuery 提交成功后追加评论

javascript - 在 VML 和 Internet Explorer 中禁用图形元素选择

javascript - Lodash 通过匹配 ids 数组从数组中删除对象

javascript - 无法渲染js unicode字符 `\u1F310`

javascript加载图像到div onclick