累积性-managedObject事件-检测设备第一次连接



希望了解c8ynamagedObject侧是否存在防弹事件,我们知道该设备刚刚连接。

我有一个实时监听事件的微服务,一旦我们知道设备已经连接以发送其有效载荷,我就想触发一个进程。

我们使用过:

"c8y_Connection": {"status":"CONNECTED"}

我们已经将managedObjects中的所有事件的微服务日志记录到Slack中,在三天的时间里,我们在报告时间看到了演示设备的有效载荷中的"status":"CONNECTED"值。

但三天后,我们再也看不到这种";CONNECTED";状态(所有有效载荷显示"断开"(。

我试图从inventoryObject事件中实现的是了解设备何时连接并发送有效负载,以了解数据何时到达。然后我去获取数据并从外部进行处理。这是注册后,作为我的设备类型的每日数据发送周期的一部分。

当设备在微服务中发送有效载荷时,最好的理解方式是什么?我想用"id 35213的数据已到达"或更好的消息通知外部应用程序,"设备35213数据已到达,这是$payload"。

正如前面的一般信息:显示已连接的c8y_Connection片段显示活动的MQTT连接或活动的长轮询连接,并且每分钟只评估一次。因此,如果客户端只是发送数据,然后立即断开连接,这可能不会发生。

如果你想看到设备已经向Cumulocity发送了一些东西,也许c8y_Availability片段更好,因为它保存了设备上次发送东西的时间戳。

{ "lastMessage": "2022-10-11T14:49:50.201+09:00", "status": "UNAVAILABLE"}

此外,这里的评估(或者更好的是数据库更新(只在每分钟发生一次。

但是,c8y_Availability和c8y_Connection只有在设备的可用性监控已激活(通过定义设备所需的间隔(时才会生成。

因此,如果你已经激活了可用性监控;lastMessage";你可以可靠地说该设备已经向Cumulocity发送了一些东西。

最新更新