您可以視需求在裝置型號中新增多個特徵。這些特徵並非只與一種裝置類型相關聯,可以視需要使用。
這個流程可新增特徵及處理傳入的指令:
決定要新增的特徵。
開啟
pushtotalk.py
檔案。cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py
在處理
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.')
在上方的程式碼區塊中,找出每個變數需要的資訊。
command-name
前往步驟 1 的特定特徵頁面 (例如「ColorTemperature」ColorTemperature)。使用 Device COMMANDS 表格中的指令。 my-function
視需要為處理常式函式命名。 parameter-name
再次查看特徵頁面的「裝置指令」表格。每個指令都有一或多個相關聯的參數。這些程式碼列在 EXECUTE 要求 JSON 的 "params"
下。請使用確切的參數名稱。請注意,部分參數是包含其他參數的物件,只要使用頂層物件即可。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')
使用您在步驟 1 新增的特徵更新裝置型號。
執行經過修改的原始碼。
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
python pushtotalk.py
按下 Enter 鍵並嘗試查詢。
例如:
將亮度設為 65%。
設為藍色。