스마트 홈 모드 특성 스키마

action.devices.traits.Modes - 이 특성은 기기에 사용 가능한 모든 모드와 모드별 설정을 다룹니다.

이 속성은 각 모드의 모드와 설정이 임의적이고 각 기기 또는 기기 유형에 고유한 'n방향' 모드가 임의로 있는 기기에 속합니다. 각 모드에는 여러 가지 설정이 가능하지만 한 번에 하나만 선택할 수 있습니다. 건조기가 '섬세', '일반', '강력' 모드에 동시에 있을 수는 없습니다. 단순히 사용 설정 또는 사용 중지할 수 있는 설정은 Toggles 특성에 속합니다.

예를 들어 세탁기에는 세탁량과 온도 설정이 있을 수 있습니다. 이 두 가지는 서로 독립적이므로 모드입니다. 하지만 각 모드는 한 번에 하나의 상태만 가질 수 있습니다. 사용자는 세탁기 온도를 냉수로 설정해 줘.와 같은 명령어로 온도와 같은 모드를 명시적으로 설정할 수 있습니다.

일부 모드는 '순서 지정'되어 있으며 위/아래, 증가/감소 문구로 조정할 수도 있습니다. 예를 들어 세탁량 (소, 중, 대)과 온도는 명확하게 순서가 지정되어 있지만 (온도는 다른 기기에서와 같이 숫자 타겟이 있는 실제 온도 조절기가 아님) 세탁물 유형(섬세, 일반, 울 등)은 그렇지 않을 수 있습니다.

이 특성은 사용자가 설정할 수 있는 하나 이상의 개별 모드를 다룹니다. 일반적으로 이러한 모드는 다른 기기 동작과 연결되지 않은 기능에 사용해야 합니다. 기기 자체를 켜거나 끄는 등의 연결된 동작은 더 구체적인 특성 (예: 특성 TemperatureSettingthermostatMode)을 사용해야 합니다.

기기 속성

이 특성이 있는 기기는 SYNC 작업의 일부로 다음 속성을 보고할 수 있습니다. SYNC 인텐트 처리에 대해 자세히 알아보려면 인텐트 처리를 참고하세요.

속성 유형 설명
availableModes 배열

필수사항.

사용 가능한 모드 목록입니다.

[item, ...] 객체

사용 가능한 모드입니다.

name String

필수사항.

명령과 상태에 사용되는 모드의 내부 이름입니다. 이 경우 사용자 친화적이지 않으며 모든 언어에 공유됩니다.

name_values 배열

필수사항.

지원되는 각 언어의 모드 동의어입니다.

[item, ...] 객체

지정된 언어의 모드 동의어입니다. 언어 대체 기능을 제공하려면 lang 값이 en인 항목이 하나 이상 필요합니다.

name_synonym 배열

필수사항.

모드의 동의어입니다. 이 목록의 첫 번째 문자열은 해당 언어의 레벨 표준 이름으로 사용됩니다.

[item, ...] String

동의어 이름입니다. 언어 대체 기능을 제공하려면 lang 값이 en인 항목이 하나 이상 필요합니다.

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

(기본값: false)

true로 설정하면 설정 배열의 순서 (증가)에 따라 증가/감소 로직에 추가 문법이 적용됩니다.

commandOnlyModes Boolean

(기본값: false)

기기가 단방향 (true) 또는 양방향 (false) 통신을 지원하는지 나타냅니다. 기기가 이 특성의 QUERY 인텐트 또는 상태 보고에 응답할 수 없는 경우 이 속성을 true로 설정합니다.

queryOnlyModes Boolean

(기본값: false)

기기가 쿼리 전용 실행을 지원하는 경우 필수입니다. 이 속성은 기기의 상태 정보만 쿼리할 수 있고 제어할 수 없는지 여부를 나타냅니다.

모드와 설정이 여러 개인 기기

{
  "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 객체

필수사항.

기기의 모드 name를 키로, 현재 setting_name를 값으로 하는 키-값 쌍입니다.

<string> String

현재 setting_name.

기기가 어떤 모드에 있나요?

{
  "currentModeSettings": {
    "load_mode": "small_load",
    "temp_mode": "cold_temp"
  }
}

기기 명령어

이 특성이 있는 기기는 EXECUTE 작업의 일부로 다음 명령어에 응답할 수 있습니다. EXECUTE 인텐트 처리에 대해 자세히 알아보려면 인텐트 처리를 참고하세요.

action.devices.commands.SetModes

모드 설정을 업데이트합니다.

매개변수

매개변수 유형 설명
updateModeSettings 객체

필수사항.

기기의 모드 name를 키로, 새 setting_name를 값으로 하는 키-값 쌍입니다.

<string> String

setting_name

대량 로드로 설정

{
  "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

기기 오류

오류 및 예외의 전체 목록을 참고하세요.