# 当房间开门时,打开对应房间的空调
原理:
- 利用
ReactorQL节点
来订阅设备的开门事件. - 利用
设备指令
节点选择相同分组内的另外一个设备.
# 创建智能门锁设备
- 进入系统:
设备管理
-设备产品
-新建
。
- 输入产品信息以及相关信息。
点击
确定
进行保存。配置MQTT认证信息。
- 配置物模型。
- 应用配置。
- 创建设备实例。
- 激活设备。
注意:
新建产品启用需要发布,此处直接点击应用配置
按钮,则会自动发布该产品。
# 创建智能空调设备
参考创建智能门锁设备。
创建产品:
配置物模型:
创建设备实例:
分别激活设备产品、设备实例。
# 创建房间分组
- 创建分组
- 关联智能门锁和智能空调。
# 创建规则实例
# 创建ReactorQL节点
- 在工作区中拖入
监听HTTP
节点。
使用方式可参考工作区右侧的节点帮助
。
- 双击节点进入编辑页。
使用SQL如下:
select
t.deviceId deviceId
from "/device/t-lock/*/message/event/open-door" t
# 创建设备指令
- 在工作区中拖入
设备指令
节点。
使用方式可参考工作区右侧的节点帮助
。
- 双击节点进入编辑页。
选择设备输入:
same_group(deviceId),product('t-smart-ac')
消息内容输入:
{
"messageType": "INVOKE_FUNCTION",
"functionId":"open",
"inputs": []
}
配置完成后启动规则。
# 模拟器设备消息
- 此处通过mqtt.fx来模拟智能门锁lock001(以下简称客户端lock001)
和智能空调ac001(以下简称客户端ac001) 。
点击按钮Connect
连接平台,连接成功后,设备应为在线状态。
注意:
同一台机器无法开启两个mqtt.fx客户端时,请在两台机器上模拟两个设备,或者启用jetlinks源码中的模拟器 (opens new window)。
- 在客户端ac001中订阅功能调用topic:
/invoke-function
。
- 在客户端lock001中推送开门的事件,topic为
/open-door
。
- 客户端ac001收到功能调用消息表示此规则应用成功。