1.1.1. 标准化设备

数据类型 {Object}

标准化设备 数据定义参考: jsonschemalint 在线检查工具

deviceId
  • {String}
  • 设备唯一Id,用来标识一个设备,要具备唯一性

Example: uuid 等

"06d0dfe0-1123-11e7-93ae-92361f002671"
name
  • {String}
  • 设备名称

Example:

"智能灯泡"
type

Example:

"light"
actions
  • {Object}
  • 一个智能设备具备的能力,如下面 example 所示,智能灯泡具备开关,调颜色,调亮度三个能力。
  • 设备能力定义

Example:

{
  "switch":["on","off"],
  "color":["num"],
  "brightness":["num"]
}
state
  • {Object}
  • 设备当前状态
  • actions 对应, actions 定义的设备能力对应的当前状态

Example:

state:

{
  "switch": "on",
  "color": 256,
  "brightness": 10
}

actions:

{
  "switch":["on","off"],
  "color":["num"],
  "brightness":["num"]
}
offline
  • {Boolean}
  • 设备离线状态
    • true: 离线
    • false: 在线
deviceInfo
  • {Object}
  • Option
  • 与设备有关的信息,允许自由定义和储存查询、控制设备等必需的信息

Example:

{
  "hostname":"http://127.0.0.1",
  "port":"3000"
}
execDelay
  • {Number} Option 该设备控制指令发出后与下一个控制指令的延迟, 默认 150ms

对于一些红外设备, 用控制延迟可以避免两次控制指令同时下发,导致控制冲突或者设备压力过大引起的控制失败

Example:

{
  "name": "电视",
  "deviceId": "123",
  "type": "tv",
  "actions": {
    "switch": ["on", "off"]
  },
  "execDelay": 1000,
}
roomName
  • {String}
  • 可选
  • 设备所属房间名称

Example:

{
  "deviceId": "qwert",
  "name": "落地灯",
  "roomName": "卧室",
}
homeName
  • {String}
  • 可选
  • 设备所属家庭名称

提供家庭名称, 可以帮助设备绑定的时候,用户可以选择自动创建该家庭, 并将设备自动同步到该家庭。

家庭可以做设备控制的隔离, 特别适合酒店客房或者不同住所控制需要。避免控制到其他客房或者住所的设备。

Example:

{
  "deviceId": "qwert",
  "name": "落地灯",
  "homeNmae": "客房218"
}

results matching ""

    No results matching ""