SmartThings标准设备类型(Standard Device Type Pattern)开发

By | 2015年5月22日

·本文内容翻译自官网文档·

在SmartThings平台上开发标准的设备类型主要包含以下几个部分。

###Finger Printing (指纹识别)

加入到SmartThings平台中的一般都是特定类型的设备。当我们添加一个新的设备时,SmartThings会通过指纹识别处理来确定新设备的类型。这个处理有以下几方面:

– 协议(如ZigBee, Z-Wave, UPnP等等)
– 厂商
– 型号
– 协议特定的功能(如ZibBee集群,Z-Wave命令类型,UPnP服务)

指纹识别的设计是为了快速的检测到设备的类型并确定使用那个模块把设备集成到SmartThings平台。完成这个集成处理的软件模块就是”Device-Type Handler”。Device-Type Handler可以处理设备的特定协议,并将这些协议转换为SmartThings平台通用的功能(capabilities)和属性(attributes)。

###消息解析(Parsing Incoming Messages)

从第三方设备发过来的消息具有各自特定的格式。无论是ZigBee, Z-Wave或者LAN设备,消息的格式都各不相同。所以需要有一个机制来将这些协议做统一的解析,让SmartThings系统能够处理。设备类型(Device Type)必须完成这个将设备特定协议的语法抽象出来的繁重任务。

###创建事件(Generating Events)

消息被解析之后,设备就可以决定如何进行处理。一般基于消息会触发一个事件。比如,消息的内容是一个开关被打开了。所以一个”on”事件会被触发。

###执行命令(Command Methods)

SmartThings平台也赋予了用户在设备上执行命令的能力。你可以直接调用一个”on”方法来打开一个开关。每一个命令必须对应设备类型(device type)中匹配的方法。

###格式化输出命令(Formatting Outbound Commands)

当你在设备上执行命令的时候。这个功能可以将SmartThings的命令转换为终端设备可以理解的命令。比如你对一个ZigBee设备执行”on”命令,实际上终端会收到转换后的ZigBee格式命令行。

发表评论

电子邮件地址不会被公开。 必填项已用*标注