스마트 홈 초인종 가이드

action.devices.types.DOORBELL - 초인종을 사용하면 누군가 방문했음을 알릴 수 있습니다. 이 기기는 해당 기능이 있는 경우 알림을 전송하고 동영상을 스트리밍할 수 있습니다.

이 유형은 기기에 초인종 아이콘과 관련 동의어 및 별칭이 표시됨을 나타냅니다.

기기 기능

서비스에서 지원해야 하는 속성 및 상태, EXECUTE 및 QUERY 응답을 빌드하는 방법과 같은 구현 세부정보는 해당 트레잇 문서를 참고하세요.

기기에 해당하는 경우 이러한 트레잇을 사용하는 것이 좋습니다. 하지만 기존 제품 기능에 가장 적합하도록 사용 가능한 모든 트레잇을 자유롭게 조합할 수 있습니다.

품질 요구사항

  • 지연 시간: 2000ms 이하여야 합니다.
  • 안정성: 97% 이상이어야 합니다.

기기 예: 간단한 초인종

이 섹션에는 위의 기기 유형 및 트레잇을 기반으로 일반적인 '초인종'을 나타내는 인텐트 페이로드의 예시가 포함되어 있습니다. 구현에서 트레잇을 추가하거나 삭제하는 경우 이러한 변경사항을 반영하도록 응답을 수정합니다.

샘플 SYNC 응답

요청응답
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.DOORBELL",
        "traits": [
          "action.devices.traits.CameraStream",
          "action.devices.traits.ObjectDetection"
        ],
        "name": {
          "name": "Simple doorbell"
        },
        "willReportState": true,
        "notificationSupportedByAgent": true,
        "attributes": {
          "cameraStreamSupportedProtocols": [
            "hls"
          ],
          "cameraStreamNeedAuthToken": true
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

샘플 QUERY 응답

요청응답
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true
      }
    }
  }
}

샘플 EXECUTE 명령어

GetCameraStream

명령어 매개변수에 관한 자세한 내용은 action.devices.traits.CameraStream 참조를 참고하세요.

요청응답
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.GetCameraStream",
                "params": {
                  "StreamToChromecast": true,
                  "SupportedStreamProtocols": [
                    "hls"
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "cameraStreamAccessUrl": "https://example.com/stream.mp4",
          "cameraStreamProtocol": "hls"
        }
      }
    ]
  }
}

샘플 NOTIFICATIONS 보고서

ObjectDetection

알림 속성에 관한 자세한 내용은 action.devices.traits.ObjectDetection 참조를 참고하세요.

요청응답
{
  "requestId": "6894439706274654518",
  "payload": {
    "devices": {
      "notifications": {
        "123": {
          "ObjectDetection": {
            "objects": {
              "named": [
                "Alice"
              ]
            },
            "priority": 0,
            "detectionTimestamp": 946684800000
          }
        }
      }
    }
  }
}
{
  "requestId": "6894439706274654518"
}

기기 오류

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