三星SmartThings应用程序中如何实现设备和传感器的类?

AJ_IoT:

我们想为Samsung Groovy SmartThings实施基础架构。当然,基础结构的主要部分是使用各自的方法为每个设备实现不同的类。例如,对于锁的设备,我们假设我们有一个带有方法lock()和unlock()的锁类。这里的问题是我们在Groovy的SmartThings应用程序之一中拥有这部分代码:

def presence(evt)
{
    if (evt.value == "present") {
            //Somecode
            lock1.unlock()
    }
    else {
            //Somecode
            lock1.lock()
    }
}

因此,很可能lock1是类lock的对象,而lock()和unlock()是该类的方法。事情是这样的:使用lock1 [0] .unlock()命令可解锁#0号门锁,但使用lock1.unlock()命令可解锁所有门锁。

这里的问题是如何创建类?如果lock1是对象列表,我们如何拥有像lock1.unlock()这样的命令。

这里的要点是,两个对象应具有相同的名称lock1,并且两个方法都是名为lock()的相同方法。

先感谢您。

注入:

您在这里有2个选项:

1)使用Groovy的spread运算符在列表的每个元素上调用方法:

List lock1 = [.....]
lock1.*lock()

2)使一个Lock类扩展或包含元素列表,并向其添加一个类级方法:

class Lock {
  List locks

  def lock() {
    locks.*lock()
  }

  // this method allows for calls like lock1[42].lock()
  def getAt( int ix ) { 
    locks[ ix ] 
  } 
}

实际上,对于物联网设备而言,继承是有害的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Gear 3三星的心率传感器

从相机获取图像时,Android应用程序仅在三星设备中崩溃

从我的应用程序捕获的图像仅在三星设备中旋转

如何使应用程序支持三星的弹出窗口?

如何告诉 Android 在我的应用程序中在某些设备(例如三星)中打开自定义文件类型

适用于三星设备的不受监控的应用程序

三星设备自动设置默认的共享意向应用程序

有没有办法通过蓝牙将传感器数据从三星 Gear S3 手表(例如心率数据)发送到智能手表应用程序(react native 或 Ionic 应用程序)?

无法将应用程序添加到三星智能电视仿真器

三星Gear 2应用程序图标

三星Tizen Web应用程序进行测试

tizen 三星电视上的服务应用程序和/或后台模式

如何为我的应用程序禁用三星多窗口托盘栏

三星游戏午餐者如何将应用程序检测为游戏

在三星 S9 中卸载应用程序后 SharedPreferences 不清晰

应用程序意外停止,请在三星银河ace中重试

Android应用程序上的多个传感器

我得到了用于制作应用程序的三星(7.1.1)设备。当我尝试直接在设备上运行应用程序时,显示错误提示

Android 应用程序可以只允许自己安装在带有磁传感器的设备上吗?

在三星智能电视应用程序中创建widgetlist.xml,以进行多次下载

三星配套应用程序:我们需要在手机上使用三星 Gear 应用程序吗?

我们如何将三星银河设备添加到android模拟器中?

在应用的发行版中,三星设备中未生成FCM令牌

如何检测设备是否为三星设备

如何在Tizen原生应用中读取可穿戴设备的当前传感器值(Galaxy Active 2)

当我的应用程序打开时,单击三星设备上的内置菜单按钮会响两次

我可以在android中同时在两个应用程序中使用陀螺仪传感器吗?

在我自己的应用程序中使用三星智能滚动功能

三星智能电视-在模拟器中获取设备ID