action.devices.SYNC

이 인텐트는 지정된 사용자 및 사용자 기능과 연결된 기기 목록을 요청합니다.

계정 연결 중 또는 사용자가 수동으로 기기를 다시 동기화합니다. 처리에서는 다음과 같이 응답해야 합니다. 각 기기에 지원되는 트레잇과 속성이 있습니다.

SYNC 응답은 사용자와 연결된 모든 기기를 반환해야 합니다. 특정 기기에 연결할 수 있는지 여부는 결정하지 않습니다. 이 작업은 QUERYEXECUTE개 응답

자세한 내용은 식별 및 동기화를 참고하세요.

요청 형식

필드 유형 설명
requestId String

필수사항.

요청의 ID입니다.

inputs 배열

필수사항.

인텐트 요청과 일치하는 입력 목록입니다.

[item, ...] 객체

인텐트 요청과 연결된 유형 및 페이로드입니다.

intent

필수사항.

(상수 값: "action.devices.SYNC")

인텐트 요청 유형입니다.

동기화 인텐트 요청

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}

응답 형식

필드 유형 설명
requestId String

필수사항.

해당하는 요청의 ID입니다.

payload 객체

필수사항.

인텐트 응답 페이로드

agentUserId String

필수사항.

에이전트 플랫폼의 고유한 (변경 불가능한) 사용자 ID를 반영합니다. 이 문자열은 Google에 불투명하므로 에이전트 측에 변경할 수 없는 양식과 변경 가능한 양식이 있는 경우 변경할 수 없는 양식 (예: 이메일이 아닌 계정 번호)을 사용합니다.

errorCode String

SYNC의 시스템 오류

debugString String

사용자에게 표시되지는 않지만 개발 중에 기록되거나 사용될 수 있는 자세한 오류입니다.

devices 배열

필수사항.

사용자가 소유한 기기 목록입니다. 0개 이상의 기기가 반환됩니다. 즉, 사용자에게 기기가 없거나 모두 연결 해제되었음을 의미합니다.

[item, ...] 객체

기기 메타데이터입니다.

id String

필수사항.

개발자 클라우드에 있는 기기의 ID입니다. 이 이름은 사용자와 개발자별로 고유해야 합니다. 공유하는 경우 동일한 기기에서 여러 보기의 중복을 제거하는 데 사용할 수 있기 때문입니다. 기기에서 변경할 수 없어야 합니다. 상태가 변경되면 어시스턴트가 새 기기로 취급합니다.

type String

필수사항.

기기의 하드웨어 유형입니다.

traits 배열

필수사항.

이 기기의 특성 목록입니다. 이는 기기에서 지원하는 명령어, 속성, 상태를 정의합니다.

[item, ...] String

지원되는 트레잇의 이름입니다.

name 객체

필수사항.

이 기기의 이름입니다.

defaultNames 배열

사용자가 아닌 개발자가 제공한 이름 목록, 보통 제조업체 이름, SKU 등입니다.

[item, ...] String

기기 기본 이름입니다.

name String

필수사항.

기기의 기본 이름으로, 일반적으로 사용자가 제공합니다. 이 이름은 어시스턴트가 응답 시 기기를 설명하는 데 선호되는 이름이기도 합니다.

nicknames 배열

기기에 대해 사용자가 제공한 추가 이름입니다.

[item, ...] String

기기 닉네임

willReportState Boolean

필수사항.

실시간 피드를 통해 이 기기의 상태를 업데이트할지 여부를 나타냅니다. (상태 보고에 실시간 피드를 사용하려면 true이고, 폴링 모델을 사용하려면 false입니다.)

notificationSupportedByAgent Boolean

(기본값: false)

기기에 알림이 사용 설정되어 있는지 여부를 나타냅니다.

roomHint String

설정이 간소화되도록 사용자 집에 있는 기기의 현재 방을 제공합니다.

deviceInfo 객체

필요한 경우 일회성 로직에 사용할 기기를 설명하는 필드가 포함됩니다 (예: '고장난 펌웨어 버전 X 조명 Y의 경우 색상을 조정해야 함' 또는 '보안 결함으로 인해 모든 사용자에게 펌웨어 Z를 알려야 함').

manufacturer String

개발자가 다른 기기의 허브인 경우에 특히 유용합니다. Google은 제조업체 표준 목록을 여기에 제공할 수 있으므로 예를 들어 TP-Link와 Smartthings는 모두 'osram'을 설명합니다. 사용할 수 있습니다.

model String

특정 기기의 모델 또는 SKU 식별자입니다.

hwVersion String

하드웨어에 연결된 특정 버전 번호(있는 경우)

swVersion String

소프트웨어/펌웨어에 연결된 특정 버전 번호(있는 경우)

attributes 객체

각 트레잇 스키마 참조에 설명된 트레잇별 속성에 맞춰 정렬했습니다.

customData 객체

개발자가 정의한 객체이며 향후 QUERY 및 EXECUTE 요청에 연결되며 기기당 최대 512바이트입니다. 이 객체를 사용하여 클라우드 서비스에서 필요할 수 있는 기기에 대한 추가 정보(예: 기기의 전역 리전)를 저장합니다. 이 객체의 데이터에는 개인 식별 정보를 포함하되 이에 국한되지 않는 민감한 정보가 없습니다.

otherDeviceIds 배열

로컬 실행을 위해 클라우드 동기화 기기를 식별하는 데 사용되는 대체 ID의 목록입니다.

[item, ...] 객체

대체 기기 ID입니다.

agentId String

상담사의 ID입니다. 일반적으로 Actions 콘솔의 프로젝트 ID입니다.

deviceId String

필수사항.

상담사가 정의한 기기 ID입니다. 기기 ID는 고유해야 합니다.

동기화 인텐트 응답

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "agentUserId": "1836.15267389",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.OUTLET",
        "traits": [
          "action.devices.traits.OnOff"
        ],
        "name": {
          "defaultNames": [
            "My Outlet 1234"
          ],
          "name": "Night light",
          "nicknames": [
            "wall plug"
          ]
        },
        "willReportState": false,
        "roomHint": "kitchen",
        "deviceInfo": {
          "manufacturer": "lights-out-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        },
        "otherDeviceIds": [
          {
            "deviceId": "local-device-id"
          }
        ],
        "customData": {
          "fooValue": 74,
          "barValue": true,
          "bazValue": "foo"
        }
      },
      {
        "id": "456",
        "type": "action.devices.types.LIGHT",
        "traits": [
          "action.devices.traits.OnOff",
          "action.devices.traits.Brightness",
          "action.devices.traits.ColorSetting"
        ],
        "name": {
          "defaultNames": [
            "lights out inc. bulb A19 color hyperglow"
          ],
          "name": "lamp1",
          "nicknames": [
            "reading lamp"
          ]
        },
        "willReportState": false,
        "roomHint": "office",
        "attributes": {
          "colorModel": "rgb",
          "colorTemperatureRange": {
            "temperatureMinK": 2000,
            "temperatureMaxK": 9000
          },
          "commandOnlyColorSetting": false
        },
        "deviceInfo": {
          "manufacturer": "lights out inc.",
          "model": "hg11",
          "hwVersion": "1.2",
          "swVersion": "5.4"
        },
        "customData": {
          "fooValue": 12,
          "barValue": false,
          "bazValue": "bar"
        }
      }
    ]
  }
}