스마트 홈 모드 트레잇 스키마
action.devices.traits.Modes
- 이 트레잇은 기기에서 사용 가능한 모든 모드와 모드별 설정을 다룹니다.
이 트레잇은 각 모드의 모드와 설정이 임의이며 각 기기 또는 기기 유형에 고유한 임의 개수의 'n-way' 모드가 있는 모든 기기에 속합니다. 각 모드에는 여러 설정이 가능하지만 한 번에 하나만 선택할 수 있습니다. 건조기는 '섬세', '일반', '강력' 모드를 동시에 사용할 수 없습니다. 간단히 사용 설정 또는 사용 중지할 수 있는 설정은 Toggles 트레잇에 속합니다.
예를 들어 세탁기에는 세탁물의 양과 온도에 관한 설정이 있을 수 있습니다. 이 두 가지는 서로 독립적이므로 모두 모드이지만 한 번에 하나의 상태만 있을 수 있습니다. 사용자는 세탁기의 온도를 차갑게 설정과 같은 명령어를 사용하여 온도와 같은 모드를 명시적으로 설정할 수 있습니다.
일부 모드는 '순서가 지정된' 모드이며 위/아래, 증가/감소 표현으로 조정할 수도 있습니다. 예를 들어 로드 크기 (소형, 중형, 대형)와 온도는 명확하게 정렬됩니다 (온도는 다른 기기와 달리 숫자 타겟이 있는 실제 온도 조절기가 아님). 하지만 로드 유형(섬세한, 일반, 양모 등)은 정렬되지 않을 수 있습니다.
이 트레잇은 사용자가 설정할 수 있는 하나 이상의 개별 모드를 다룹니다. 일반적으로 이러한 모드는 다른 기기 동작과 연결되지 않은 기능에 사용해야 합니다. 기기 자체를 켜거나 끄는 것과 같은 연결된 동작은 더 구체적인 트레잇 (예: 트레잇 TemperatureSetting의 thermostatMode
)을 사용해야 합니다.
기기 속성
이 트레잇이 있는 기기는 SYNC
작업의 일부로 다음 속성을 보고할 수 있습니다. SYNC
인텐트 처리에 관한 자세한 내용은 인텐트 처리를 참고하세요.
속성 | 유형 | 설명 |
---|---|---|
availableModes |
배열 |
필수사항. 사용 가능한 모드 목록입니다. |
[item, ...] |
객체 |
사용 가능한 모드 |
name |
String |
필수사항. 명령어와 상태에 사용되는 모드의 내부 이름입니다. 사용자 친화적이지 않을 수 있으며 모든 언어로 공유됩니다. |
name_values |
배열 |
필수사항. 지원되는 각 언어의 모드의 동의어입니다. |
[item, ...] |
객체 |
지정된 언어로 된 모드의 동의어입니다. |
name_synonym |
배열 |
필수사항. 모드의 동의어입니다. 이 목록의 첫 번째 문자열은 해당 언어로 된 수준의 표준 이름으로 사용됩니다. |
[item, ...] |
String |
동의어 이름입니다. |
lang |
String |
필수사항. 언어 코드 (ISO 639-1) 지원되는 언어를 참고하세요. |
settings |
배열 |
필수사항. 이 모드에서 지원되는 설정입니다. |
[item, ...] |
객체 |
지원되는 설정 항목이 2개 이상 필요합니다. |
setting_name |
String |
필수사항. 명령어 및 상태에 사용되는 모드 설정의 내부 이름입니다. 사용자 친화적이지 않을 수 있으며 모든 언어로 공유됩니다. |
setting_values |
배열 |
필수사항. 지원되는 각 언어의 설정 동의어입니다. |
[item, ...] |
객체 |
지정된 언어로 된 설정의 동의어입니다. |
setting_synonym |
배열 |
필수사항. 설정의 동의어입니다. 이 목록의 첫 번째 문자열은 해당 언어로 된 수준의 표준 이름으로 사용됩니다. |
[item, ...] |
String |
동의어 이름입니다. |
lang |
String |
필수사항. 언어 코드 (ISO 639-1) 지원되는 언어를 참고하세요. |
ordered |
Boolean |
(기본값: 이 값을 true로 설정하면 설정 배열의 순서 (증가)대로 증가/감소 로직에 관한 추가 문법이 적용됩니다. |
commandOnlyModes |
Boolean |
(기본값: 기기가 단방향 (true) 또는 양방향 (false) 통신 사용을 지원하는지 나타냅니다. 기기가 이 트레잇의 QUERY 인텐트 또는 Report State에 응답할 수 없는 경우 이 속성을 true로 설정합니다. |
queryOnlyModes |
Boolean |
(기본값: 기기가 쿼리 전용 실행을 지원하는 경우 필요합니다. 이 속성은 기기에서 상태 정보만 쿼리할 수 있고 제어할 수 없는지 여부를 나타냅니다. |
예
여러 모드와 설정이 있는 기기
{ "availableModes": [ { "name": "load_mode", "name_values": [ { "name_synonym": [ "Load", "Size", "Load size" ], "lang": "en" } ], "settings": [ { "setting_name": "small_load", "setting_values": [ { "setting_synonym": [ "Small", "Half" ], "lang": "en" } ] }, { "setting_name": "medium_load", "setting_values": [ { "setting_synonym": [ "Medium", "Normal" ], "lang": "en" } ] }, { "setting_name": "large_load", "setting_values": [ { "setting_synonym": [ "Large", "Full" ], "lang": "en" } ] } ], "ordered": true }, { "name": "temp_mode", "name_values": [ { "name_synonym": [ "Temperature", "Temp" ], "lang": "en" } ], "settings": [ { "setting_name": "hot_temp", "setting_values": [ { "setting_synonym": [ "Hot", "White" ], "lang": "en" } ] }, { "setting_name": "warm_temp", "setting_values": [ { "setting_synonym": [ "Warm", "Color" ], "lang": "en" } ] }, { "setting_name": "cold_temp", "setting_values": [ { "setting_synonym": [ "Cold", "Delicate" ], "lang": "en" } ] } ], "ordered": false } ] }
명령어 전용 모드가 있는 기기
{ "availableModes": [ { "name": "light_mode", "name_values": [ { "name_synonym": [ "Light", "Lighting" ], "lang": "en" } ], "settings": [ { "setting_name": "day_light", "setting_values": [ { "setting_synonym": [ "Day", "Bright" ], "lang": "en" } ] }, { "setting_name": "night_light", "setting_values": [ { "setting_synonym": [ "Night", "Dark" ], "lang": "en" } ] }, { "setting_name": "reading_light", "setting_values": [ { "setting_synonym": [ "Reading", "Ambiant" ], "lang": "en" } ] } ], "ordered": false } ], "commandOnlyModes": true, "queryOnlyModes": false }
기기 상태
이 트레잇이 있는 항목은 QUERY
작업의 일부로 다음 상태를 보고할 수 있습니다. QUERY
인텐트 처리에 관한 자세한 내용은 인텐트 처리를 참고하세요.
주 | 유형 | 설명 |
---|---|---|
currentModeSettings |
객체 |
필수사항. 기기의 모드 |
<string> |
String |
현재 |
예
기기의 모드는 무엇인가요?
{ "currentModeSettings": { "load_mode": "small_load", "temp_mode": "cold_temp" } }
기기 명령어
이 트레잇이 있는 기기는 EXECUTE
작업의 일부로 다음 명령어에 응답할 수 있습니다. EXECUTE
인텐트 처리에 관한 자세한 내용은 인텐트 처리를 참고하세요.
action.devices.commands.SetModes
모드 설정을 업데이트합니다.
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
updateModeSettings |
객체 |
필수사항. 기기의 모드 |
<string> |
String |
새 |
예
부하가 큰 것으로 설정합니다.
{ "command": "action.devices.commands.SetModes", "params": { "updateModeSettings": { "load_mode": "large_load" } } }
샘플 발화
de-DE
- Stelle den Staubsauger auf Ruhemodus
en-US
- set the vacuum to energy saver mode
es-ES
- pon la lavadora en modo frío
fr-FR
- mets l'aspirateur en silencieux
hi-IN
- वैक्यूम पर कार्पेट मोड लगाएं
it-IT
- imposta l'aspirapolvere su silenzioso
ja-JP
- 掃除機 を 静音 モードに設定して
ko-KR
- 세탁기 세탁량 많음 으로 설정해
pt-BR
- acionar a função autolimpeza do aspirador
- ligar o modo de aquecimento