스마트 홈 작업을 개발하는 방법을 알아볼 수 있는 새로운 공간인 Google Home 개발자 센터에 오신 것을 환영합니다. 참고: Actions 콘솔에서 작업을 계속 만들 수 있습니다.

스마트 홈 주전자 가이드

action.devices.types.KETTLE - 주전자는 물을 끓이는 기기입니다. 주전자와의 상호작용에는 주전자 켜기/끄기, 희망 온도 조절, 다양한 모드 설정 조정 등이 포함될 수 있습니다.

이 유형은 기기가 Kettle 아이콘과 일부 관련 동의어 및 별칭을 가져왔음을 나타냅니다.

주전자에는 action.devices.traits.OnOff의 유형 기반 문법이 있습니다. 기기에서 OnOff를 지원하면 물을 끓입니다. 그러면 action.devices.commands.OnOff 명령어가 전송됩니다.

기기 기능

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

필수 특성

이러한 특성과 명령어는 기기에 해당하는 경우 필수입니다.

이러한 특성이 기기에 해당하는 경우 권장됩니다. 그러나 사용 가능한 모든 특성 중에서 원하는 것을 자유롭게 조합하여 기존 제품 기능과 일치시킬 수 있습니다.

품질 요구사항

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

기기 예: 간단한 주전자

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

샘플 SYNC 응답

요청
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
응답
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.KETTLE",
        "traits": [
          "action.devices.traits.TemperatureControl",
          "action.devices.traits.OnOff"
        ],
        "name": {
          "name": "Simple kettle"
        },
        "willReportState": true,
        "attributes": {
          "temperatureRange": {
            "minThresholdCelsius": 0,
            "maxThresholdCelsius": 100
          },
          "temperatureUnitForUX": "F"
        },
        "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,
        "on": true,
        "temperatureSetpointCelsius": 100
      }
    }
  }
}

샘플 EXECUTE 명령어

온도 설정

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

요청
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetTemperature",
                "params": {
                  "temperature": 85
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
응답
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "temperatureSetpointCelsius": 85
        }
      }
    ]
  }
}

사용 안함

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

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

기기 ERRORS

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