Skip to content

监听产品所有设备属性变化

产品用来描述设备的属性、方法、事件。比如一个风机产品可能具有转速、电流、电压等属性,一个具体的设备如风机007风机产品的一个实例。产品类似一个模板,在面向对象的编程语言中,产品就等同于;而设备是基于这个模板生成的实例。

当某产品下有非常多设备实例时,按照设备来进行开发就显得不大现实了。这时我们可以基于产品来开发。我们可以把产品看作某种能力,比如摄像头产品具备获取视频数据的能力,我们面向产品开发,本质就是面向能力开发,而不是具体的设备。

前置条件

此能力需要先登录

添加事件节点

右键单击画布任意位置,选择事件,选择设备属性变化事件

添加产品

在产品列表里面拖入某产品至画布中:

数组

注意所有设备输出点位的圆圈是虚线。在鸿图里,我们用虚线来表示数组

监听所有设备

我们将产品的所有设备点位和设备属性变化事件的输入点位连接,就实现了监听该产品下所有设备的功能。

读取发生变化设备的信息

至此,我们同时监听了很多设备,当任意设备属性发生变化时,我们的代码都将被执行,那如何获取当前上报事件的设备信息呢?在设备属性变化事件的右下角有一个输出点位,对应当前上报事件的设备,我们可以获取其信息。

我们首先添加一个获取设备信息的节点:

然后,我们将事件发生时的设备作为输入给到获取设备信息的节点,这样我们就可以获取设备信息了。比如我们可以打印发生事件设备的标识符: