스마트 홈 NetworkControl 트레잇 스키마
action.devices.traits.NetworkControl
- 이 트레잇은 네트워크 데이터 보고 및 네트워크 관련 작업 실행을 지원하는 기기에 속합니다.
기기 속성
이 트레잇이 있는 기기는 SYNC
작업의 일부로 다음 속성을 보고할 수 있습니다. SYNC
인텐트 처리에 관한 자세한 내용은 인텐트 처리를 참고하세요.
속성 | 유형 | 설명 |
---|---|---|
supportsEnablingGuestNetwork |
Boolean |
(기본값: 게스트 네트워크를 사용 설정할 수 있는 경우 true로 설정합니다. |
supportsDisablingGuestNetwork |
Boolean |
(기본값: 게스트 네트워크를 사용 중지할 수 있는 경우 true로 설정합니다. |
supportsGettingGuestNetworkPassword |
Boolean |
(기본값: 게스트 네트워크 비밀번호를 |
networkProfiles |
배열 |
지원되는 네트워크 프로필 이름을 나타냅니다. |
[item, ...] |
String |
관련 기기 그룹을 나타내는 네트워크 프로필의 이름입니다. |
supportsEnablingNetworkProfile |
Boolean |
(기본값: 네트워크 프로필을 사용 설정할 수 있는 경우 true로 설정합니다. |
supportsDisablingNetworkProfile |
Boolean |
(기본값: 네트워크 프로필을 사용 중지할 수 있는 경우 true로 설정합니다. |
supportsNetworkDownloadSpeedTest |
Boolean |
(기본값: 다운로드 속도 테스트를 실행할 수 있는 경우 true로 설정합니다. |
supportsNetworkUploadSpeedTest |
Boolean |
(기본값: 업로드 속도 테스트를 실행할 수 있는 경우 true로 설정합니다. |
예
게스트 네트워크, 프로필, 속도 테스트를 지원하는 네트워크 기기
{ "supportsEnablingGuestNetwork": true, "supportsDisablingGuestNetwork": true, "supportsEnablingNetworkProfile": true, "supportsDisablingNetworkProfile": true, "supportsNetworkDownloadSpeedTest": true, "supportsNetworkUploadSpeedTest": true, "supportsGettingGuestNetworkPassword": true, "networkProfiles": [ "Kids" ] }
기기 상태
이 트레잇이 있는 항목은 QUERY
작업의 일부로 다음 상태를 보고할 수 있습니다. QUERY
인텐트 처리에 관한 자세한 내용은 인텐트 처리를 참고하세요.
주 | 유형 | 설명 |
---|---|---|
networkEnabled |
Boolean |
기본 네트워크가 사용 설정되어 있는지 여부입니다. |
networkSettings |
객체 |
기본 네트워크의 SSID를 포함합니다. |
ssid |
String |
필수사항. 네트워크 SSID |
guestNetworkEnabled |
Boolean |
게스트 네트워크가 사용 설정되어 있는지 여부입니다. |
guestNetworkSettings |
객체 |
게스트 네트워크의 SSID를 포함합니다. |
ssid |
String |
필수사항. 네트워크 SSID |
numConnectedDevices |
정수 |
네트워크에 연결된 기기 수입니다. |
networkUsageMB |
숫자 |
네트워크 사용량 (MB)입니다. 네트워크 사용량이 현재 결제 기간 내에 있으므로 결제 기간 네트워크 사용량 한도와 관련하여 모니터링하는 데 유용할 수 있습니다. |
networkUsageLimitMB |
숫자 |
네트워크 사용량 한도 (MB)입니다. 네트워크 사용량 한도가 현재 결제 기간 내에 있습니다. |
networkUsageUnlimited |
Boolean |
네트워크 사용량이 무제한인지 여부입니다. 이 옵션을 true로 설정하면 기기 상태 networkUsageLimitMB가 무시됩니다. |
lastNetworkDownloadSpeedTest |
객체 |
가장 최근의 네트워크 다운로드 속도 테스트 결과가 포함되어 있습니다. |
downloadSpeedMbps |
숫자 |
마지막 네트워크 속도 테스트의 다운로드 속도 (Mbps: 초당 메가비트)입니다. |
unixTimestampSec |
정수 |
마지막 네트워크 다운로드 속도 테스트가 실행된 시점의 Unix 타임스탬프 (Unix epoch 이후 초 수)입니다. |
status |
String |
마지막 네트워크 다운로드 속도 테스트의 성공 여부를 나타냅니다. 지원되는 값:
|
lastNetworkUploadSpeedTest |
객체 |
최신 네트워크 업로드 속도 테스트의 결과가 포함됩니다. |
uploadSpeedMbps |
숫자 |
마지막 네트워크 속도 테스트의 업로드 속도 (Mbps: 초당 메가비트)입니다. |
unixTimestampSec |
정수 |
마지막 네트워크 업로드 속도 테스트가 실행된 시점의 유닉스 타임스탬프 (Unix epoch 이후 초 수)입니다. |
status |
String |
마지막 네트워크 업로드 속도 테스트의 성공 여부를 나타냅니다. 지원되는 값:
|
networkSpeedTestInProgress |
Boolean |
(기본값: 현재 속도 테스트가 실행 중인지 여부입니다. |
networkProfilesState |
객체 |
네트워크 프로필의 상태입니다. 이 최상위 객체에는 키-값 쌍이 포함되어야 하며, 여기서 키는 |
<string> |
객체 |
개별 네트워크 프로필의 상태를 저장하는 객체입니다. |
enabled |
Boolean |
네트워크 프로필의 현재 사용 설정/사용 중지 상태입니다. |
예
활성 네트워크가 연결된 기기
{ "networkEnabled": true, "networkSettings": { "ssid": "home-network-123" }, "guestNetworkSettings": { "ssid": "home-network-123-guest" }, "numConnectedDevices": 4, "networkUsageMB": 100.8 }
활성 네트워크 및 속도 테스트 결과가 있는 기기
{ "networkEnabled": true, "networkSettings": { "ssid": "home-network-123" }, "guestNetworkSettings": { "ssid": "home-network-123-guest" }, "numConnectedDevices": 4, "networkUsageMB": 100.8, "lastNetworkDownloadSpeedTest": { "downloadSpeedMbps": 159.8, "unixTimestampSec": 1563215576, "status": "SUCCESS" }, "lastNetworkUploadSpeedTest": { "uploadSpeedMbps": 64.1, "unixTimestampSec": 1563215576, "status": "SUCCESS" } }
활성 네트워크가 있고 속도 테스트가 진행 중인 기기
{ "networkEnabled": true, "networkSettings": { "ssid": "home-network-123" }, "guestNetworkSettings": { "ssid": "home-network-123-guest" }, "numConnectedDevices": 4, "networkUsageMB": 100.8, "networkSpeedTestInProgress": true }
'아동용' networkProfile이 사용 중지된 기기
{ "networkEnabled": true, "networkSettings": { "ssid": "home-network-123" }, "networkProfilesState": { "parents": { "enabled": true }, "kids": { "enabled": false } } }
기기 명령어
이 트레잇이 있는 기기는 EXECUTE
작업의 일부로 다음 명령어에 응답할 수 있습니다. EXECUTE
인텐트 처리에 관한 자세한 내용은 인텐트 처리를 참고하세요.
action.devices.commands.EnableDisableGuestNetwork
게스트 네트워크를 사용 설정 또는 사용 중지합니다. PIN을 사용한 보조 사용자 인증을 사용해야 합니다. 이러한 명령어를 통해 다른 보안 기기가 사용 중지되면 사용자의 홈 보안이 영향을 받는 것으로 간주될 수 있습니다.
이 명령어에는 다음 속성이 필요합니다.{ "supportsEnablingGuestNetwork": true, "supportsDisablingGuestNetwork": true }
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
enable |
Boolean |
필수사항. 게스트 네트워크를 사용 설정하려면 true를, 사용 중지하려면 false를 입력합니다. |
예
게스트 네트워크를 사용 설정합니다.
{ "command": "action.devices.commands.EnableDisableGuestNetwork", "params": { "enable": true } }
action.devices.commands.EnableDisableNetworkProfile
네트워크 프로필을 사용 설정 또는 사용 중지합니다. PIN을 사용한 보조 사용자 인증을 사용해야 합니다. 이러한 명령어를 통해 다른 보안 기기가 사용 중지되면 사용자의 홈 보안이 영향을 받는 것으로 간주될 수 있습니다.
이 명령어에는 다음 속성이 필요합니다.{ "supportsEnablingNetworkProfile": true, "supportsDisablingNetworkProfile": true }
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
profile |
String |
필수사항.
|
enable |
Boolean |
필수사항. 프로필을 사용 설정하려면 true를, 사용 중지하려면 false를 입력합니다. |
예
자녀의 인터넷을 사용 중지합니다.
{ "command": "action.devices.commands.EnableDisableNetworkProfile", "params": { "profile": "Kids", "enable": false } }
관련 오류
지정된 네트워크 프로필을 제어하려고 시도하는 중에 오류가 발생했습니다.
지원되는 값:
networkProfileNotRecognized
action.devices.commands.GetGuestNetworkPassword
게스트 네트워크 비밀번호를 가져옵니다. PIN을 사용한 보조 사용자 인증을 사용해야 합니다. 이러한 명령어를 통해 다른 보안 기기가 사용 중지되면 사용자의 홈 보안이 영향을 받는 것으로 간주될 수 있습니다.
이 명령어에는 다음 속성이 필요합니다.{ "supportsGettingGuestNetworkPassword": true }
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
속성이 없습니다. |
예
게스트 Wi-Fi 비밀번호 보여 줘.
{ "command": "action.devices.commands.GetGuestNetworkPassword", "params": {} }
결과
결과 | 유형 | 설명 |
---|---|---|
guestNetworkPassword |
String |
필수사항. 게스트 네트워크의 비밀번호입니다. |
예
게스트 Wi-Fi 비밀번호 보여 줘.
{ "guestNetworkPassword": "123456" }
action.devices.commands.TestNetworkSpeed
네트워크 다운로드 및 업로드 속도를 테스트합니다.
이 명령어에는 다음 속성이 필요합니다.{ "supportsNetworkDownloadSpeedTest": true, "supportsNetworkUploadSpeedTest": true }
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
testDownloadSpeed |
Boolean |
필수사항. 다운로드 속도를 테스트해야 하는지 여부를 나타냅니다. |
testUploadSpeed |
Boolean |
필수사항. 업로드 속도를 테스트해야 하는지 여부를 나타냅니다. |
followUpToken |
String |
필수사항. 후속 응답을 위해 Google에서 제공한 토큰입니다. |
예
Wi-Fi 속도는 어떻게 되나요?
{ "command": "action.devices.commands.TestNetworkSpeed", "params": { "testDownloadSpeed": true, "testUploadSpeed": true, "followUpToken": "123" } }
관련 오류
속도 테스트를 요청하는 중에 오류가 발생했습니다.
지원되는 값:
networkSpeedTestInProgress
후속 응답
이 트레잇이 있는 기기는 EXECUTE
작업의 일부로 다음과 같은 후속 응답 페이로드를 반환할 수 있습니다. 후속 응답 구현에 관한 자세한 내용은 스마트 홈 작업 알림을 참고하세요.
페이로드에는 다음 중 하나가 포함됩니다.
성공: networkDownloadSpeedMbps
필드 | 유형 | 설명 |
---|---|---|
followUpToken |
String |
필수사항. 원래 EXECUTE 요청에 제공된 토큰입니다. |
status |
String |
필수사항. 요청 결과입니다. 지원되는 값:
|
networkDownloadSpeedMbps |
숫자 |
필수사항. 초당 메가비트 단위로 측정된 네트워크 다운로드 속도입니다. |
성공: networkUploadSpeedMbps
필드 | 유형 | 설명 |
---|---|---|
followUpToken |
String |
필수사항. 원래 EXECUTE 요청에 제공된 토큰입니다. |
status |
String |
필수사항. 요청 결과입니다. 지원되는 값:
|
networkUploadSpeedMbps |
숫자 |
필수사항. 초당 메가비트 단위로 측정되는 네트워크 업로드 속도입니다. |
성공: networkDownloadSpeedMbps 및 networkUploadSpeedMbps
필드 | 유형 | 설명 |
---|---|---|
followUpToken |
String |
필수사항. 원래 EXECUTE 요청에 제공된 토큰입니다. |
status |
String |
필수사항. 요청 결과입니다. 지원되는 값:
|
networkDownloadSpeedMbps |
숫자 |
필수사항. 초당 메가비트 단위로 측정된 네트워크 다운로드 속도입니다. |
networkUploadSpeedMbps |
숫자 |
필수사항. 초당 메가비트 단위로 측정되는 네트워크 업로드 속도입니다. |
실패
필드 | 유형 | 설명 |
---|---|---|
followUpToken |
String |
필수사항. 원래 EXECUTE 요청에 제공된 토큰입니다. |
status |
String |
필수사항. 요청 결과입니다. 지원되는 값:
|
errorCode |
String |
필수사항. 값은 이 트레잇의 오류 코드(예: |
예
Wi-Fi 속도는 어떻게 되나요? (후속 응답)
{ "NetworkControl": { "priority": 0, "followUpResponse": { "status": "SUCCESS", "networkDownloadSpeedMbps": 23.3, "networkUploadSpeedMbps": 10.2, "followUpToken": "1234" } } }
Wi-Fi 속도는 어떻게 되나요? (실패 후 후속 응답)
{ "NetworkControl": { "priority": 0, "followUpResponse": { "status": "FAILURE", "errorCode": "transientError", "followUpToken": "1234" } } }
기기 오류
오류 및 예외의 전체 목록을 참고하세요.지정된 네트워크 프로필을 제어하려고 시도하는 중에 오류가 발생했습니다.
지원되는 값:
networkProfileNotRecognized
속도 테스트를 요청하는 중에 오류가 발생했습니다.
지원되는 값:
networkSpeedTestInProgress