智能家居 OpenClose trait 架构

action.devices.traits.OpenClose - 此 trait 适用于支持打开和关闭的设备,在某些情况下,部分打开和关闭,或者可能在多个方向上打开和关闭。

设备属性

具有此 trait 的设备可能会在 SYNC 操作中报告以下属性。如需详细了解如何处理 SYNC intent,请参阅intent 执行方式

属性 类型 说明
discreteOnlyOpenClose 布尔值

(默认值:false

设置为 true 表示设备必须完全展开或完全关闭(即不支持介于 0% 到 100% 之间的值)。

openDirection 数组

设备支持的打开或关闭方向列表。如果设备支持向多个方向打开和关闭,请添加此属性。

[item, ...] String

支持的方向。

支持的值:

UP
DOWN
LEFT
RIGHT
IN
OUT
commandOnlyOpenClose 布尔值

(默认值:false

指示设备是否支持使用单向(true)或双向(false)通信。如果设备无法响应此特征的 QUERY intent 或报告状态,请将此属性设置为 true。

queryOnlyOpenClose 布尔值

(默认值:false

指示是否只能查询设备的状态信息,而无法控制设备。只能报告打开状态的传感器应将此字段设为 true。

示例

简单的开闭设备。

{
  "discreteOnlyOpenClose": true
}

自上而下、自下而上的设备可向任意方向打开。

{
  "openDirection": [
    "UP",
    "DOWN"
  ]
}

仅限命令的设备。

{
  "commandOnlyOpenClose": false
}

设备状态

具有此 trait 的实体可能会在 QUERY 操作期间报告以下状态。如需详细了解如何处理 QUERY intent,请参阅intent 执行方式

载荷包含以下任一内容:

单向开启-关闭

类型 说明
openPercent 编号

必填。

指示设备打开的百分比,其中 0 为关闭,100 为完全打开。

targetOpenPercent 编号

级别,表示设备因位置持续变化而将达到或正在达到的打开百分比。

多方向开合

类型 说明
openState 数组

必填。

每个受支持的打开方向对应的状态列表。

[item, ...] 对象

指定打开方向的当前状态。

openPercent 编号

必填。

指示设备打开的百分比,其中 0 为关闭,100 为完全打开。

targetOpenPercent 编号

级别,表示设备因位置持续变化而将达到或正在达到的打开百分比。

openDirection String

必填。

设备的打开方向。

支持的值:

UP
DOWN
LEFT
RIGHT
IN
OUT

示例

简单的开闭设备。

{
  "openPercent": 100
}

简单的开合装置目前正在打开到新位置。

{
  "openPercent": 50,
  "targetOpenPercent": 100
}

设备向下打开 30%,向上打开 50%。

{
  "openState": [
    {
      "openPercent": 30,
      "openDirection": "DOWN"
    },
    {
      "openPercent": 50,
      "openDirection": "UP"
    }
  ]
}

向下打开设备 30%,向上打开设备 50%,目前正在向 80% 向上打开。

{
  "openState": [
    {
      "openPercent": 30,
      "openDirection": "DOWN"
    },
    {
      "openPercent": 50,
      "targetOpenPercent": 80,
      "openDirection": "UP"
    }
  ]
}

设备命令

具有此 trait 的设备可能会在 EXECUTE 操作期间响应以下命令。如需详细了解如何处理 EXECUTE intent,请参阅intent 执行方式

action.devices.commands.OpenClose

设置设备的开启-关闭状态。

参数

参数 类型 说明
openPercent 编号

必填。

指示设备打开的百分比,其中 0 为关闭,100 为完全打开。

openDirection String

打开方向。仅当设备支持多种方向(如 openDirection 属性所示)且用户指定了方向时才会出现。

支持的值:

UP
DOWN
LEFT
RIGHT
IN
OUT
followUpToken String

Google 提供的用于后续响应的令牌。

示例

打开设备。

{
  "command": "action.devices.commands.OpenClose",
  "params": {
    "openPercent": 100,
    "followUpToken": "123"
  }
}

将设备打开 50%。

{
  "command": "action.devices.commands.OpenClose",
  "params": {
    "openPercent": 50,
    "openDirection": "DOWN",
    "followUpToken": "456"
  }
}

设置设备的开启-关闭状态时出错。

支持的值:

lockedState
deviceJammingDetected

后续回复

具有此 trait 的设备可能会在 EXECUTE 操作中返回以下后续响应载荷。如需详细了解如何实现后续响应,请参阅智能家居 Action 的通知

载荷包含以下任一内容:

成功

字段 类型 说明
followUpToken String

必填。

原始 EXECUTE 请求中提供的令牌。

status String

必填。

请求的结果。

支持的值:

SUCCESS
openPercent 编号

必填。

表示设备展开的百分比,其中 0 表示完全关闭,100 表示完全展开。

失败

字段 类型 说明
followUpToken String

必填。

原始 EXECUTE 请求中提供的令牌。

status String

必填。

请求的结果。

支持的值:

FAILURE
errorCode String

必填。

此值可以是此 trait 的任何错误代码,例如 lockedState

示例

打开车库门。(针对成功案例的跟进响应)

{
  "OpenClose": {
    "priority": 0,
    "followUpResponse": {
      "openPercent": 100,
      "status": "SUCCESS",
      "followUpToken": "1234"
    }
  }
}

打开车库门。(针对失败支持请求的后续回复)

{
  "OpenClose": {
    "priority": 0,
    "followUpResponse": {
      "errorCode": "lockedState",
      "status": "FAILURE",
      "followUpToken": "1234"
    }
  }
}

action.devices.commands.OpenCloseRelative

根据当前状态调整设备的开合状态。只有在 commandOnlyOpenClose 设为 false 时,此命令才可用。

此命令需要以下属性:
{
  "commandOnlyOpenClose": false
}

参数

参数 类型 说明
openRelativePercent 编号

必填。

更改开关状态的确切百分比。系统会将不明确的相对命令转换为精确的百分比参数(例如,“将百叶窗打开一点”而不是“将百叶窗打开 5%”)。

openDirection String

打开方向。仅当设备支持多种方向(如 openDirection 属性所示)且用户指定了方向时才会出现。

支持的值:

UP
DOWN
LEFT
RIGHT
IN
OUT

示例

稍微打开设备

{
  "command": "action.devices.commands.OpenCloseRelative",
  "params": {
    "openRelativePercent": 5
  }
}

关闭设备时功耗降低了 10%

{
  "command": "action.devices.commands.OpenCloseRelative",
  "params": {
    "openRelativePercent": -10
  }
}

向下滑动 50%,打开设备。

{
  "command": "action.devices.commands.OpenCloseRelative",
  "params": {
    "openRelativePercent": 50,
    "openDirection": "DOWN"
  }
}

设置设备的开启-关闭状态时出错。

支持的值:

lockedState
deviceJammingDetected

示例话语

de-DE

  • Bitte öffne die Jalousien auf 30%
  • Fensterläden um 25 % schliessen
  • Ist die Jalousie zu?
  • Mach den Rollladen zu
  • Mach die Rollos auf
  • schließe die Rollläden ein bisschen mehr
  • Öffne die Jalousien um 25%

en-US

  • Are the blinds in the kitchen open
  • Close the blinds 25% in my room
  • Close the door more
  • Just close the front door
  • open the blinds in my room
  • open the blinds to 25%
  • open the door by 25%

es-ES

  • abre la ventana del salón
  • cerrar persianas del dormitorio un 20%
  • cierra la cortina del salón
  • cierra mucho más la ventana
  • está abierta la puerta
  • quiero que subas la persiana al 25%
  • sube un 20% las persianas

fr-FR

  • baisse les stores de 10%
  • est-ce que la porte d'entrée est ouverte
  • ferme les stores
  • ferme un peu les stores
  • ouvre les stores
  • ouvre les stores de la chambre de 25%
  • ouvre les stores à 25%

hi-IN

  • कृपया 25% पर्दे को खुला रखो
  • क्या मैंने सामने वाला दरवाजा खुला छोड दिया?
  • पर्दे को 25% बंद करोगे
  • पर्दे खोलो
  • ब्लाइंड 25% खुले पर सेट कर दीजिए
  • ब्लाइंड को थोड़ा और बंद कर दिजिए
  • ब्लाइंड बंद करें

it-IT

  • abbassa un po' di più le tapparelle
  • apri la serranda
  • apri la tapparella al 30%
  • apri le serrande del 30%
  • chiudi le serrande
  • chiudi le tende del 25%
  • è aperta la porta d'ingresso

ja-JP

  • 25% ブラインド を開けて
  • 25% ブラインド を閉めてください
  • 25% ブラインド 開けて
  • ブラインド 閉めて
  • ブラインド 開けて
  • 少し ブラインド を閉じて
  • 玄関のドア は開いてますか

ko-KR

  • 살짝만 닫아 줘
  • 블라인드 25% 열어 줘
  • 블라인드 25% 까지 열어 줘
  • 블라인드 30프로 닫아
  • 블라인드 닫아 줘
  • 블라인드 열어 줘
  • 안방 문 열렸어

nl-NL

  • doe de gordijnen 25% open
  • doe de jaloezieën voor 25% dicht
  • doe het raam ietsje meer dicht
  • is de voordeur open
  • open de gordijnen
  • sluit het gordijn
  • zet de luxaflex voor 50% open

pt-BR

  • Abrir janela 50%
  • As cortinas estão abertas?
  • Fecha a persiana toda
  • Fechar a janela 10%
  • a cortina do quarto está aberta?
  • abra a persiana até 30%
  • abre as cortinas
  • abre as cortinas a 50%
  • abrir as cortinas
  • abrir as cortinas na sala em 30%
  • fecha a persiana por favor
  • fecha um bocado a janela
  • fechar as cortinas em 25%
  • fechar um pouco mais as cortinas

sv-SE

  • Dra upp persiennerna
  • Dra upp persiennerna till 25%
  • stäng persiennen i mitt rum 25%
  • stäng persiennerna
  • är ytterdörren öppen?
  • öppna persiennerna med 25%

设备错误

查看错误和异常的完整列表。