新增更多托盤和處理常式

您可以視需要為裝置型號新增多個特徵。這些特徵 不限於單一裝置類型,您可以自由選擇使用。

就是新增任何特徵並處理傳入指令的程序:

  1. 決定您想要的特徵。 。

  2. 開啟 pushtotalk.py 檔案。

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    nano pushtotalk.py
  3. 將下列程式碼區塊加入現有程式碼區塊的下方 處理 action.devices.commands.OnOff 指令 (不要刪除現有 程式碼區塊)。

    @device_handler.command('action.devices.commands.command-name')
    def my-function(parameter-name):
        if conditional:
            logging.info('Something happened.')
        else:
            logging.info('Something else happened.')
    
  4. 在上述程式碼區塊中,尋找每個變數的所需資訊。

    command-name前往該特性的頁面 步驟 1 (例如 ColorTemperature)。 使用「裝置指令」表格中的指令。
    my-function視需要為處理常式函式命名。
    parameter-name再次查看「裝置指令」 建立表格每個指令都有一或多個參數 相關聯的資源這些清單會列在「EXECUTE」的 "params" 底下 要求 JSON請使用確切的參數名稱。請注意 參數是包含其他參數的物件,只要使用 頂層物件
    conditional不必嚴格使用 ,不過還是有助於您區分執行 指令。

    以下列舉幾個亮度特徵的範例 和 ColorTemperature

    @device_handler.command('action.devices.commands.BrightnessAbsolute')
    def brightnessCheck(brightness):
        if brightness > 50:
            logging.info('brightness > 50')
        else:
            logging.info('brightness <= 50')
    
    @device_handler.command('action.devices.commands.ColorAbsolute')
    def color(color):
        if color.get('name') == "blue":
            logging.info('color is blue')
        else:
            logging.info('color is not blue')
    
  5. 更新裝置型號 包含您在步驟 1 新增的特徵

  6. 執行修改後的原始碼。

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    python pushtotalk.py
  7. 按下 Enter 鍵並嘗試查詢。

    例如:

    將亮度設為 65%。

    設為藍色。

下一步

註冊自訂裝置動作