你可以根据需要向设备型号添加任意数量的特征。这些特征并非仅与一种设备类型相关联,您可以根据需要使用它们。
以下是添加任何特征并处理传入命令的过程:
确定要添加的特征。
打开
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 步中的特定特征页面(例如 ColorTemperature)。 使用设备命令表中的命令。 parameter-name
再次查看“特征”页面上的设备命令表。每个命令都有一个或多个与之关联的参数。这些信息列在 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
请尝试查询。
“Ok Google,把亮度设为 65%”。
Ok Google,将其设置为蓝色。