一句话实现批量设备发现和云端配置
天猫精灵在酒店侧提供发现设备对接技能,客控厂商可以通过如下方式把房间内客控设备批量配置到云端:
-
在施工现场对天猫精灵音箱说“天猫精灵,发现设备”;
-
通过酒店平台“客控-房间配置”界面,勾选对应房间号,点击“发现设备状态”按钮。
目前技能已实现并落地,但客控厂商使用之前,需要跟天猫精灵进行接口技术对接,从而实现在施工现场使用该技能。
需要对接该技能的厂商可以基于以下接口开发对接:
查询房间所有设备(可用于同步设备)
酒店支持的位置:
room 房间
livingroom 客厅
washroom 洗手间
balcony 阳台
passage 走廊
cloakroom 衣帽间
bathroom 淋浴间
tearoom 茶室
bedroom 卧室
masterbedroom 主卧
secondbedroom 次卧
diningroom 餐厅
酒店支持的设备品类:
aircondition 空调
laceCurtain 纱帘
curtain 窗帘
tv 电视
light 灯
exhaustFan 排气扇
dimminglight 调光灯
door 门
fan 风扇
tvbox 电视盒子
projector 投影仪
settopbox 机顶盒
switch 开关
KeyCardSwitch 插卡取电
thermostat 温控器
rollingShutter 卷帘
skyCurtain 天幕
telecontroller 万能遥控器
IR_sensor 人体传感器
door_sensor 门磁传感器
sensirion 温湿度传感器
outlet 插座
doorLock 门锁
humanPresenceSensor 人体存在传感器
{
"baseInfo": {
"appName": "xxxx酒店",
"authType": "MD5",
"hotelId": "ad6b7****7b3ff",
"requestId": "fcd07dd93d****2266e970504",
"requestTime": 1668416399452,
"roomNo": "1201",
"token": "fa4a90bba****b23eedd"
},
"command": {
"commandType": "QUERYALL"
}
}
响应
{
"result": {
//是否支持红外设备标志,默认不传会走保留逻辑,注:
//传入true时,表示会覆盖原本已配置的红外设备信息
//传入false时,表示会保留原本已配置的红外设备信息
"enableInfraredDeviceImport":true,
//是否支持mesh设备标志,默认不传会走覆盖逻辑,注:
//传入true时,表示会覆盖原本已配置的mesh设备信息
//传入false时,表示会保留原本已配置的mesh设备信息
"enableMeshDeviceImport":true,
//客控方语音发现设备,需要设备导入请按以下结构返回设备数据完成服务端配置
"groups": [{
"groupName": "房间", //groupName&groupId需要一一对应,参考值文档上 // 位置名称
"groupId": "room", // 位置 必传
"devices": [{
"number": "device-1-10", // 设备编号 必传
"name": "light", // 设备品类名称 必传
"deviceName": "卧室电视灯带", // 设备昵称 必传
"customContent": "测试", //自定义描述消息,控制请求中会透传返回该字段
"aliasList": [ // 设备别名 可不传 10个以内
"电视灯",
"灯带"
]
}, {
"number": "device-1-11",
"name": "light",
"deviceName": "卧室天花灯带",
"customContent": "测试" //自定义描述消息
}, {
"number": "device-1-13",
"name": "light",
"deviceName": "卧室洗手台灯",
"customContent": "测试" //自定义描述消息
}, { //多键开关
"multiKeySwitchExt": {
"switchList": [
{
"location": "room", //开关子设备的位置
"category": "light", //开关子设备的品类
"deviceIndex": 0, //开关子设备index
"deviceName": "吧台灯", //开关子设备名称
"customContent": "测试", //自定义描述消息
"aliasList": [ //开关子设备别名 10个以内
"餐饮灯",
"氛围灯"
]
},
{
"location": "room",
"category": "light",
"deviceIndex": 1,
"deviceName": "走廊灯",
"customContent": "测试", //自定义描述消息
"aliasList": [
"过道灯",
"顶灯"
]
},
{
"location": "room",
"category": "light",
"deviceIndex": 2,
"deviceName": "洗手台灯",
"customContent": "测试", //自定义描述消息
"aliasList": [
"洗漱灯"
]
}
],
},
"connectType": "mesh", //对接类型 mesh、infrared、rcu(不传默认为rcu)
"name": "switch", //设备品类
"dn": "xxxxxx", //设备dn
"pk": "xxxxx", //设备pk
"deviceName": "三键零火开关", //设备名称
"customContent": "测试", //自定义描述消息
"number":"xxx", //设备唯一标识
"aliasList": [ //设备别名 10个以内
"三键开关",
"零火开关",
"智能开关"
]
},{ //红外设备
"connectType": "infrared",//对接类型 mesh、infrared、rcu(不传默认为rcu)
"name": "tv", //设备品类
"brand":"Addsion", //品牌
"infraredId":"xxx", //红外码库id
"infraredIndex":"1", //红外码库index
"infraredVersion":"4.0", //红外码库版本
"deviceName":"电视", //设备名称
"customContent": "测试", //自定义描述消息
"aliasList": [ //设备别名 10个以内
"视机",
"电机",
"电视机"
]
},{ //红外设备
"connectType": "infrared",//如果是红外机顶盒设备需要在此基础再加上必传三个字段province,city,serviceProvider
"name": "settopbox", //设备品类
"brand":"xxx", //品牌
"infraredId":"xxx", //红外码库id
"infraredIndex":"1", //红外码库index
"infraredVersion":"4.0", //红外码库版本
"deviceName":"测试", //设备名称
"customContent": "测试", //自定义描述消息
"province": "省份", //省份(品类为机顶盒时必传)
"city": "城市", //城市(品类为机顶盒时必传)
"serviceProvider": "浙江省电信IPTV", //服务提供商(品类为机顶盒时必传)
"aliasList": [ //设备别名 10个以内
"测试"
]
}
,{ //一般mesh设备
"aliasList": ["西瓜"], //设备别名 10个以内
"connectType": "mesh", //对接类型 mesh、infrared、rcu(不传默认为rcu)
"deviceName": "廊灯", //设备名称
"customContent": "测试", //自定义描述消息
"dn": "xxxx", //设备dn
"name": "light", //设备品类
"pk": "xxxx", //设备pk
"number":"xxx", //设备唯一标识
}...]
}],
//客控方语音发现设备,需要关联房间的场景模式请按照以下结构返回场景内容完成场景的关联
"sceneModes":[{
//未创建场景,创建对应场景同时完成关联的参数传值,自定义RCU场景id,以及对应配置
"sceneId": "esports", //场景编码 自定义rcu场景
"name": "电竞模式", //场景名称
"icon":"https://gw.alicdn.com/imgextra/i2/O1CN01PN0NkB1V9swibSl8n_!!6000000002611-2-tps-136-136.png", //场景图标图片
"description":"xxxxxx", //场景描述信息
"isDisplayScreen": 1, //是否带屏显示
"customContent": "测试", //自定义描述消息
"corpusList":["打开电竞模式","我要玩游戏"] //触发语料
}]
},
"success": true,
"requestId": "fcd07dd****e970504",
"responseTime": 1667977280759,
"message": "success",
"statusCode": 200
}
如果开发有问题,可以随时通过商务或产品对接人咨询我们。
常见FAQ整理:
-
发现设备接口返回值result整体是个object,不是一个数组。
-
位置以及设备品类枚举值都在文档上方,不支持自定义。
-
sceneId是自定义的,string类型的。
-
corpusList里的语料是精准匹配的,测试时候,请精准喊出对应语料才会走自定义场景。