คุณสามารถเพิ่มลักษณะให้กับรุ่นอุปกรณ์ของคุณได้มากตามต้องการ ลักษณะเหล่านี้ไม่ได้เชื่อมโยงกับอุปกรณ์เพียงประเภทเดียว คุณนำไปใช้ได้ตามต้องการ
ขั้นตอนในการเพิ่มลักษณะและจัดการคําสั่งขาเข้ามีดังนี้
กำหนดลักษณะที่คุณต้องการเพิ่ม
เปิดไฟล์
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) ใช้คำสั่งจากตารางคำสั่งของอุปกรณ์ my-function
ตั้งชื่อฟังก์ชันของตัวแฮนเดิลตามที่คุณต้องการ parameter-name
ให้ดูที่ตารางคำสั่งของอุปกรณ์ในหน้าลักษณะอีกครั้ง แต่ละคำสั่งจะมีพารามิเตอร์ที่เกี่ยวข้องอย่างน้อย 1 รายการ รายการเหล่านี้จะแสดงอยู่ใน "params"
ใน JSON ของคำขอ EXECUTE ใช้ชื่อพารามิเตอร์ที่ตรงกัน โปรดทราบว่าพารามิเตอร์บางรายการเหล่านี้เป็นออบเจ็กต์ที่มีพารามิเตอร์อื่นๆ เพียงใช้ออบเจ็กต์ระดับบนสุด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%
เปลี่ยนให้เป็นสีฟ้า