스마트 홈 모드 특성 스키마
action.devices.traits.Modes
- 이 특성은 기기에 사용 가능한 모든 모드와 모드별 설정을 다룹니다.
이 속성은 각 모드의 모드와 설정이 임의적이고 각 기기 또는 기기 유형에 고유한 'n방향' 모드가 임의로 있는 기기에 속합니다. 각 모드에는 여러 가지 설정이 가능하지만 한 번에 하나만 선택할 수 있습니다. 건조기가 '섬세', '일반', '강력' 모드에 동시에 있을 수는 없습니다. 단순히 사용 설정 또는 사용 중지할 수 있는 설정은 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 인텐트 또는 상태 보고에 응답할 수 없는 경우 이 속성을 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