智能家居 OpenClose trait 架构
action.devices.traits.OpenClose
- 此 trait 适用于支持打开和关闭的设备,在某些情况下,部分打开和关闭,或者可能在多个方向上打开和关闭。
设备属性
具有此 trait 的设备可能会在 SYNC
操作中报告以下属性。如需详细了解如何处理 SYNC
intent,请参阅intent 执行方式。
属性 | 类型 | 说明 |
---|---|---|
discreteOnlyOpenClose |
布尔值 |
(默认值: 设置为 true 表示设备必须完全展开或完全关闭(即不支持介于 0% 到 100% 之间的值)。 |
openDirection |
数组 |
设备支持的打开或关闭方向列表。如果设备支持向多个方向打开和关闭,请添加此属性。 |
[item, ...] |
String |
支持的方向。 支持的值:
|
commandOnlyOpenClose |
布尔值 |
(默认值: 指示设备是否支持使用单向(true)或双向(false)通信。如果设备无法响应此特征的 QUERY intent 或报告状态,请将此属性设置为 true。 |
queryOnlyOpenClose |
布尔值 |
(默认值: 指示是否只能查询设备的状态信息,而无法控制设备。只能报告打开状态的传感器应将此字段设为 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 |
必填。 设备的打开方向。 支持的值:
|
示例
简单的开闭设备。
{ "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 |
打开方向。仅当设备支持多种方向(如 支持的值:
|
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 |
必填。 请求的结果。 支持的值:
|
openPercent |
编号 |
必填。 表示设备展开的百分比,其中 0 表示完全关闭,100 表示完全展开。 |
失败
字段 | 类型 | 说明 |
---|---|---|
followUpToken |
String |
必填。 原始 EXECUTE 请求中提供的令牌。 |
status |
String |
必填。 请求的结果。 支持的值:
|
errorCode |
String |
必填。 此值可以是此 trait 的任何错误代码,例如 |
示例
打开车库门。(针对成功案例的跟进响应)
{ "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 |
打开方向。仅当设备支持多种方向(如 支持的值:
|
示例
稍微打开设备
{ "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%