기기 검색 지원

Google이 로컬에서 제어 가능한 기기와 일치하면 로컬 처리 경로가 설정됩니다. SYNC에서 반환된 기기에 전송 요청을 보낼 수 있습니다

Google이 로컬 네트워크에서 기기를 검색하고 로컬 처리 경로를 사용하려면 Actions 콘솔에서 검색 정보를 추가해야 합니다. 또한 클라우드 처리의 SYNC 응답을 업데이트해야 Google은 로컬에서 제어 가능한 기기에 관해 알고 있습니다.

스캔 구성 정보 설정

검색 정보를 지정하려면 다음 단계를 따르세요.

  1. Actions 콘솔에서 스마트 홈 프로젝트를 엽니다.
  2. 왼쪽 탐색 메뉴에서 작업을 클릭합니다.
  3. Local Home SDK 구성 (선택사항)에서 > 기기 스캔 구성 추가에서 새 스캔 구성을 클릭합니다.
  4. 드롭다운에서 스캔 일치 프로토콜 유형을 선택하고 값을 입력하세요. Google에서 스캔합니다.

다음 표에는 프로토콜에 따라 추가할 수 있는 속성이 나와 있습니다. Google에서 기기를 스캔하는 데 사용하도록 할 파일:

<ph type="x-smartling-placeholder">
</ph>
mDNS
속성 설명 예시 값
서비스 이름 필수 항목입니다. 기기에서 게시한 서비스 이름입니다. service.domain _http._tcp.local
이름

필수 항목입니다. 다음에서 고유 서비스 인스턴스를 필터링합니다. instance.service.domain 형식

플랫폼은 이 값을 정규 표현식으로 취급하며 일치하는 기기를 찾습니다.
my-device-[0-9]{4}\._http\._tcp\.local
UPnP
속성 설명 예시 값
서비스 유형 필수 항목입니다. 다음 형식으로 된 UPnP 서비스의 정규화된 식별자입니다. domain:service:type:version schemas-upnp-org:service:SwitchPower:1
전체 사용자 인터페이스

선택사항입니다. <ph type="x-smartling-placeholder"></ph> 조직 고유 식별자

기기 제조업체를 식별하는 24비트 값입니다. 일반적으로 기기 MAC 주소의 처음 세 옥텟입니다.
1A:2B:3C
UDP
속성 설명 예시 값
브로드캐스트 주소 필수 항목입니다. UDP 브로드캐스트의 대상 IP 주소입니다. 255.255.255.255
브로드캐스트 포트 필수 항목입니다. UDP 브로드캐스트의 대상 포트입니다. 5555
수신 포트 필수 항목입니다. UDP 검색 응답의 리슨 포트입니다. 5556
탐색 패킷

필수 항목입니다. UDP 브로드캐스트에서 전송할 페이로드.

바이트의 16진수 인코딩 문자열 형식으로 지정됩니다.
48454C4C4F

클라우드 처리에서 SYNC 응답 업데이트

SYNC 인텐트는 다음에 보고합니다. 어시스턴트는 사용자가 제어하는 기기와 관련 기능을 제공합니다.

로컬 처리를 지원하기 위해 Local Home 플랫폼은 SYNC 응답을 확인합니다. 스마트 홈 작업의 클라우드 처리에서 가져온 후 일치하는 기기를 찾습니다. otherDeviceIds 필드의 ID를 IDENTIFY 핸들러. otherDeviceIds 필드가 없는 기기 항목은 다음과 같습니다. 로컬 처리에서 제외됩니다.

otherDeviceIds 드림 필드에 표시되는 SYNC 스마트 홈의 기기 ID를 설정해야 합니다. 몇 가지 예가 있습니다. 필드는 device 수준에서 표시됩니다. 을 입력합니다. Google은 다음 항목이 있는 모든 기기에서 로컬 처리 경로를 설정할 수 있습니다. 지정된 ID입니다.

customData 필드를 사용하여 Google에서 필요로 하는 추가 데이터를 지정합니다. 독립형 기기에 연결하거나 허브를 통해 최종 장치 타겟팅 (예: 포트 번호 및 기타 프로토콜별 정보)

다음 스니펫은 SYNC 핸들러를 만드는 방법을 보여줍니다.

<ph type="x-smartling-placeholder">
</ph>
독립형/허브
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "agentUserId": "1836.15267389",
    "devices": [{
      "id": "123",
      "type": "action.devices.types.OUTLET",
      "traits": [
        "action.devices.traits.OnOff"
      ],
      "name": {
        "name": "Night light"
      },
      "willReportState": false,
      "otherDeviceIds": [{
        "deviceId": "local-device-id"
      }],
      "customData": {
        "port": 5555,
        "authToken": "..."
      }
    }]
  }
}