添加更多特征和处理程序

你可以根据需要向设备型号添加任意数量的特征。这些特征并非仅与一种设备类型相关联,您可以根据需要使用它们。

以下是添加任何特征并处理传入命令的过程:

  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前往第 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.')
    
  5. 使用您在第 1 步中添加的特征更新设备模型

  6. 运行修改后的源代码。

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
    python hotword.py --device-model-id my-model
  7. 请尝试查询。

    “Ok Google,把亮度设为 65%”。

    Ok Google,将其设置为蓝色。

后续步骤

注册自定义设备操作