기기 모델에 특성을 원하는 만큼 추가할 수 있습니다. 이러한 특성은 한 가지 기기 유형에만 국한된 것이 아니며, 원하는 대로 사용할 수 있습니다.
다음은 트레잇을 추가하고 수신 명령어를 처리하는 프로세스입니다.
추가할 트레잇을 결정합니다.
hotword.py
파일을 엽니다.cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
nano hotword.py
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.')
위 코드 블록에서 각 변수에 필요한 정보를 찾습니다.
command-name
1단계의 특정 trait 페이지로 이동합니다 (예: ColorTemperature). 기기 명령어 표의 명령어를 사용합니다. parameter-name
trait 페이지에서 기기 명령어 표를 다시 살펴보세요. 각 명령어에는 하나 이상의 매개변수가 연결되어 있습니다. 이는 EXECUTE 요청 JSON의 "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.')
1단계에서 추가한 특성으로 기기 모델을 업데이트합니다.
수정된 소스 코드를 실행합니다.
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
python hotword.py --device-model-id my-model
쿼리를 사용해 보세요.
Hey Google, 밝기를 65%로 설정해 줘.
Hey Google, 파란색으로 바꿔 줘.