스마트 홈 차고 가이드

action.devices.types.GARAGE: 차고 문이 열리고 닫히며 열린 상태를 감지할 수 있습니다. 또한 문이 닫히는 동안 문이 닫히는 것을 막고 있는지 아니면 문이 잠겨 있어 제어할 수 없는지를 나타낼 수 있습니다.

이 유형은 기기가 Garage 아이콘과 일부 관련 동의어 및 별칭을 가져오게 됨을 나타냅니다.

기기 기능

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

필수 trait

기기에 적용되는 경우 이러한 특성과 명령어가 필요합니다. 기기가 이러한 특성을 지원하지 않으면 QUERY 또는 EXECUTE 응답에 functionNotSupported 오류 코드를 입력합니다. 자세한 내용은 오류 및 예외를 참고하세요.

기기에 적용되는 경우 이러한 특성이 권장됩니다. 하지만 사용 가능한 모든 특성 중에서 기존 제품 기능에 가장 잘 맞는 특성을 자유롭게 조합해도 됩니다.

품질 요구사항

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

기기 예: 단순한 차고

이 섹션에는 위의 기기 유형과 특성에 따라 일반적인 '차고'를 나타내는 인텐트 페이로드 예시가 포함되어 있습니다. 구현에 특성을 추가하거나 삭제하는 경우 이러한 변경사항을 반영하도록 응답을 적절하게 수정하세요.

샘플 SYNC 응답

요청
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
응답
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.GARAGE",
        "traits": [
          "action.devices.traits.OpenClose",
          "action.devices.traits.LockUnlock"
        ],
        "name": {
          "name": "Simple garage"
        },
        "willReportState": true,
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

샘플 쿼리 응답

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

샘플 EXECUTE 명령어

OpenClose

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

요청
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OpenClose",
                "params": {
                  "openPercent": 100
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
응답
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "openPercent": 100
        }
      }
    ]
  }
}

LockUnlock

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

요청
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.LockUnlock",
                "params": {
                  "lock": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
응답
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "isLocked": true,
          "isJammed": false
        }
      }
    ]
  }
}

기기 오류

오류 및 예외의 전체 목록을 참조하세요.
  • obstructionDetected - 사용자가 차고 문을 닫으려고 했지만 문을 가리는 물체가 있습니다.
  • lockedState - 사용자가 차고 문을 제어하려고 했지만 잠겨서 이동할 수 없습니다.