【发布时间】:2021-11-29 13:44:08
【问题描述】:
我最近开始在我的学士论文中使用 thingsboard。没错,我正在尝试不同的功能,以检查事情板已经满足哪些要求,哪些必须由我实现。
在该过程中,我坚持要求 thingsboard 仪表板应提供有关已注册设备的连接状态(连接、断开、活动、非活动)的实时信息。
为了解决这个问题,我尝试编辑分配给感兴趣设备的设备配置文件使用的规则链。具体来说,我使用message type switch 并尝试了通过 ConnectEvent、DisconnectEvent、ActiveEvent 和 InactiveEvent 连接到它的各种操作节点。我想要的是设备的连接状态存储在SERVER_SCOPE 属性中,然后显示在实体小部件中。我所做的只是在断开连接时生成警报,并在(重新)连接时清除警报。我知道有一个名为active 的服务器端属性会在设备连接时立即更改true,但它只会在inactivityTimeout 过期后变为false。
我还查看了ThingsBoard Device Connectivity Status 页面、Create Alarm when the Device is offline 指南并进行了很长时间的研究,但无法使其发挥作用。
你们有什么解决方案或提示给我吗?
亲切的问候。
【问题讨论】:
-
什么决定了设备的状态?我的意思是,连接状态对您意味着什么?在最后 x 分钟/秒内发布?在我的解决方案中,我通过其
lastActivityTime服务器属性表示设备的状态,该属性适合我,但可能不适合您。 -
我想区分状态
connected(基于lastConnectTime或ConnectEvent)、disconnected(基于lastDisconnectTime或DisconnectEvent)和lastActivityTime也需要知道。状态所基于的变量很容易显示,但我希望将其作为二进制连接变量或一些字符串表示“已连接”/“已断开”。 -
在你的规则链中,你可以放一个(蓝色的)Transform - Script 节点并用一些逻辑配置它吗?说,“在连接事件 ->
connected = true”,然后通过保存属性节点保存? -
天哪!非常感谢。那成功了!我会发布一个答案,以便其他人可以应用该解决方案。
标签: thingsboard