더 많은 특성 및 핸들러 추가

<ph type="x-smartling-placeholder">

기기 모델에 원하는 만큼 많은 트레잇을 추가할 수 있습니다. 이러한 특성은 한 가지 기기 유형에만 묶이지 않고 원하는 대로 사용할 수 있습니다.

다음은 트레잇을 추가하고 수신되는 명령어를 처리하는 프로세스입니다.

  1. 원하는 트레잇 결정 추가할 수 있습니다.

  2. hotword.py 파일을 엽니다.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
    nano hotword.py
  3. 기존 코드 블록 아래에 다음 코드 블록을 추가합니다. action.devices.commands.OnOff 명령어를 처리하며 기존 코드 블록).

    if command == "action.devices.commands.command-name":
        if params['parameter-name']:
            if conditional:
                print('Something happened.')
            else:
                print('Something else happened.')
    
  4. 위의 코드 블록에서 각 변수에 필요한 정보를 찾습니다.

    command-name다음에서 특정 trait 페이지로 이동 1단계 (예: ColorTemperature) 기기 명령어 표의 명령어를 사용합니다.
    parameter-name기기 명령어를 다시 확인합니다. 트레잇 페이지의 테이블을 참조하세요. 각 명령어에는 하나 이상의 매개변수가 있습니다. 관련이 있습니다. 실행의 "params" 아래에 나열됩니다. 요청할 수 있습니다 정확한 매개변수 이름을 사용합니다. 이 중 일부는 매개변수는 다른 매개변수를 포함하는 객체입니다. 최상위 객체입니다.
    conditional따라서 이 쿼리와 같이 를 사용하지 않지만 이 함수를 실행하는 방법을 차별화하는 데 도움이 될 수 있습니다. 명령을 실행합니다.

    다음은 밝기 특성의 예입니다. 및 ColorTemperature:

    if command == "action.devices.commands.BrightnessAbsolute":
        if params['brightness']:
            if params['brightness'] > 50:
                print('brightness > 50')
            else:
                print('brightness <= 50')
    
    if command == "action.devices.commands.ColorAbsolute":
        if params['color']:
            if params['color'].get('name') == "blue":
                print('The color is blue.')
            else:
                print('The color is not blue.')
    
  5. 기기 모델 업데이트 1단계에서 추가한 트레잇을 사용합니다.

  6. 수정된 소스 코드를 실행합니다.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
    python hotword.py --device-model-id my-model
  7. 쿼리해 보세요.

    Hey Google, 밝기 65%로 설정해 줘.

    Ok Google, 파란색으로 바꿔 줘

다음 단계

맞춤 기기 작업 등록