การแจ้งเตือน

To get the most out of Google Home, choose your Help Center: U.S. Help Center, U.K. Help Center, Canada Help Center, Australia Help Center.

เขียนระบบการทำงานอัตโนมัติที่ใช้สคริปต์ด้วยเครื่องมือแก้ไขสคริปต์

เครื่องมือแก้ไขสคริปต์ให้คุณเขียนการทำงานอัตโนมัติของตนเองเพื่อสร้างกิจวัตรของครอบครัวขั้นสูงได้ด้วย Google Home สำหรับเว็บหรือในแอป Google Home หากต้องการเขียนระบบการทำงานอัตโนมัติที่ใช้สคริปต์ คุณจำเป็นต้องทราบพื้นฐานเกี่ยวกับภาษาสคริปต์ YAML, วิธีกำหนดโครงสร้างสคริปต์ และวิธีใช้คอมโพเนนต์ที่ประกอบกันขึ้นมาเป็นสคริปต์

ขณะนี้ เครื่องมือแก้ไขสคริปต์พร้อมใช้งานในเวอร์ชันตัวอย่างแบบสาธารณะแล้ว คุณเข้าถึงเครื่องมือแก้ไขสคริปต์ได้ด้วย Google Home สำหรับเว็บหรือในแอป Google Home บนอุปกรณ์เคลื่อนที่หลังจากเข้าร่วมเวอร์ชันตัวอย่างแบบสาธารณะแล้ว

ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างระบบการทำงานอัตโนมัติด้วยเครื่องมือแก้ไขสคริปต์

แนวทางปฏิบัติเพิ่มเติมในการเขียนการทำงานอัตโนมัติที่ใช้สคริปต์และตัวอย่างสคริปต์

ไปที่ Codelab
สำคัญ: สมาชิกในครอบครัวทุกคนจะเห็นเมื่อกิจวัตรเหล่านี้ทำงาน กิจวัตรมีไว้เพื่ออํานวยความสะดวกเท่านั้น ไม่ได้มีไว้ใช้งานเพื่อความปลอดภัยหรือในกรณีที่ต้องการความปลอดภัย อย่าสร้างกิจวัตรที่อาจทำให้บาดเจ็บหรือเป็นอันตรายหากเริ่มต้นหรือหยุดไม่สำเร็จ การทำงานของกิจวัตรอาจขึ้นอยู่กับอินเทอร์เน็ตและ Wi-Fi ที่ใช้งานได้ รวมถึงบริการที่พร้อมใช้งานจากทั้ง Google และบุคคลที่สามที่ผลิตอุปกรณ์ซึ่งใช้ได้กับกิจวัตร กิจวัตรอาจไม่ได้ทำงานทุกครั้งและ Google จะไม่รับผิดชอบต่ออันตรายหรือความสูญเสียใดๆ ซึ่งเกิดจากการที่กิจวัตรทำงานไม่สำเร็จ

พื้นฐานเกี่ยวกับภาษาสคริปต์ YAML

เครื่องมือแก้ไขสคริปต์จะใช้ YAML ซึ่งเป็นภาษาสคริปต์ที่ยืดหยุ่นที่ให้คุณป้อนคำสั่งแบบทีละบรรทัดสำหรับสิ่งต่างๆ ที่ต้องการให้อุปกรณ์ทํา และต้องการให้ทำตอนไหน โดยคำสั่งเหล่านี้จะเขียนในรูปแบบคู่คีย์-ค่า

คู่คีย์-ค่า

YAML เขียนเป็นชุดคู่คีย์-ค่า 

name: TV on lights off

ในตัวอย่างนี้ คีย์ = name และค่า = TV on light off 

โดยหลักแล้ว คีย์คือคีย์เวิร์ดสำหรับองค์ประกอบที่คุณต้องการใช้ แต่ละคีย์ต้องไม่ซ้ำกัน แต่ลำดับของคีย์ไม่มีความสำคัญ คู่คีย์-ค่าแต่ละคู่จะขึ้นบรรทัดใหม่ 

ค่าที่เชื่อมโยงกับคีย์อาจอยู่ในรูปแบบของประเภทข้อมูลที่หลากหลาย

ประเภทข้อมูล

แบบพื้นฐาน

ประเภทข้อมูลพื้นฐานรวมถึงประเภทข้อมูลพื้นฐานทั้งหมดที่เครื่องมือแก้ไขสคริปต์รองรับ

แบบฟอร์มพื้นฐาน ประเภทของค่า
บูลีน
  • true
  • false
หมายเลข จำนวนเต็มหรือเลขทศนิยม
สตริง

ข้อความธรรมดา

ค่าสตริงจะต้องใช้เครื่องหมายคําพูดก็ต่อเมื่อขึ้นต้นด้วย [, {, ", ', หรือ # หรือสตริงมีเครื่องหมายโคลอนตามด้วยเว้นวรรค 1 หรือ 2 ช่อง เครื่องหมายคำพูดต้องตรงกัน ตัวอย่างเช่น ใช้ " " หรือ ‘ ‘ ไม่ใช่ " ‘

วันที่

เดือนและวัน รูปแบบคือ MM-DD หรือ MM/DD

  • 09/01
  • 09-01
เวลา

สามารถใช้รูปแบบเวลา AM/PM หรือรูปแบบ 24H จะใส่หรือไม่ใส่วินาทีก็ได้ นอกจากนี้ยังสามารถใช้เวลาแบบสัมพันธ์กับดวงอาทิตย์ ตัวอย่างเช่น คุณสามารถใช้คีย์เวิร์ด sunrise และ sunset ตามด้วยระยะเวลา

  • 12:30 am
  • 13:00:01
  • sunrise / sunset
  • sunset+30min / sunset-1hour
วันที่และเวลา

ปี เดือน วัน และเวลาของวัน

โดยต้องเว้นวรรคระหว่างวันที่และเวลา

รูปแบบวันที่คือ YYYY-MM-DD หรือ YYYY/MM/DD รูปแบบเวลาจะเหมือนกับ "เวลา" ด้านบน ไม่รองรับเขตเวลา

  • 2022/01/01 14:00
  • 2022-12-31 sunrise+30min
วันธรรมดา
  • MON หรือ MONDAY
  • TUE หรือ TUESDAY
  • WED หรือ WEDNESDAY
  • THU หรือ THURSDAY
  • FRI หรือ FRIDAY
  • SAT หรือ SATURDAY
  • SUN หรือ SUNDAY
ระยะเวลา

ช่วงเวลาหนึ่ง

  • 30min
  • 1hour
  • 20sec
  • 1hour10min20sec

ColorHex

รหัสเลขฐานสิบหก 6 หลักที่ใช้แทนสีหนึ่งๆ จะไม่มี # นําหน้า

  • FFFFFF
  • B5D2A1
  • DFA100
อุณหภูมิ

ข้อมูลอุณหภูมิ เติม C หรือ F เสมอเพื่อใช้แทนหน่วยองศาเซลเซียสหรือฟาเรนไฮต์

  • 20.5C
  • 90F
อุณหภูมิสี

อุณหภูมิสีในหน่วยเคลวิน

  • 5000K

โครงสร้าง: คู่คีย์-ค่าที่ฝังอยู่

ประเภทข้อมูลแบบโครงสร้างคือ "บล็อก" หรือโครงสร้างข้อมูลที่มีคู่คีย์-ค่าหลายรายการ คู่คีย์-ค่าเหล่านี้จะฝังอยู่ใต้คีย์หลักคีย์เดียว โดยมีระดับของการฝังที่เยื้องด้วยการเว้นวรรคหรือแท็บจำนวนเท่าๆ กันเพื่อระบุลําดับชั้น

actions: 
  device: Light B - Living room  
  state: on

 ในตัวอย่างนี้ คีย์หลัก = actions ค่าสําหรับ actions คือคู่คีย์-ค่าที่ฝังอยู่ 2 คู่ ได้แก่ 

  • คู่ที่ 1: คีย์ย่อย = device; ค่า = Light B - Living room
  • คู่ที่ 2: คีย์ย่อย = state; ค่า = on

ลิสต์: คีย์ที่มีหลายค่า

หากต้องการใส่หลายค่าไว้ในคีย์เดียว ให้สร้างลิสต์ที่มีขีดกลางก่อนแต่ละรายการ ลิสต์สามารถใช้ได้ทั้งค่าประเภทข้อมูลแบบโครงสร้างหรือแบบพื้นฐาน แต่จะใช้ทั้ง 2 อย่างพร้อมกันไม่ได้

weekdays:
- MONDAY
- THURSDAY

ในตัวอย่าง คีย์ = weekdays และค่า = ลิสต์ที่มี Monday และ Thursday

โครงสร้างขั้นสูง: มีทั้งคู่ที่ฝังอยู่และลิสต์รวมกัน

สําหรับระบบการทำงานอัตโนมัติที่ซับซ้อนมากขึ้น ค่าอาจเป็นลิสต์ที่มีคู่คีย์-ค่าที่ฝังอยู่หลายคู่
starters:
- type: time.schedule
  at: 10:00 am
  weekdays:
  - MONDAY
  - THURSDAY
- type: time.schedule
  at: SUNSET
  weekdays:
  - MONDAY
  - THURSDAY

ในตัวอย่างนี้ คีย์หลัก = starters ค่าของคีย์หลักนี้ = ลิสต์ที่แต่ละรายการในลิสต์มีคู่คีย์-ค่าหลายรายการ

คีย์บางประเภทกำหนดให้ค่าอยู่ในรูปแบบเฉพาะ ในขณะที่คีย์อื่นๆ จะรับลักษณะมาโดยอิงตามความสามารถของอุปกรณ์ ดูว่าเงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการที่เจาะจงมีโครงสร้างอย่างไร

ไวยากรณ์ภาษา YAML

เมื่อคุณเขียนกิจวัตรที่มีสคริปต์ ให้ใช้แนวคิดการจัดรูปแบบต่อไปนี้

แนวคิด ตัวอย่าง

โคลอน

YAML ใช้โคลอน : ตามด้วยการเว้นวรรคเพื่อแยกคีย์ออกจากค่า

state: on

การเยื้อง

การเยื้องแสดงถึงโครงสร้างและลําดับชั้น และกำหนดคู่คีย์ที่ฝัง

ในตัวอย่าง คีย์หลัก = metadata คีย์ name และ description คือคีย์ย่อยที่ฝังอยู่ใต้ข้อมูลเมตาของคีย์หลัก คีย์ที่ฝังจะเยื้องกัน 2 เว้นวรรค หรือ 1 แท็บเพื่อระบุลําดับชั้นของคีย์

metadata:
  name: TV on lights off
  description: Turn off lights when TV turns on

 

ขีดกลาง 

เครื่องหมายขีดกลางและตามด้วยเว้นวรรคจะกำหนดรายการในลิสต์
weekdays:
- MONDAY
- THURSDAY

ความคิดเห็น

ใช้เครื่องหมายสี่เหลี่ยม # เพื่อเพิ่มความคิดเห็นหรือบันทึกในสคริปต์ เครื่องมืออัตโนมัติจะไม่สนใจความคิดเห็นและไม่ส่งผลกระทบต่อระบบการทำงานอัตโนมัติ
# This is a comment. It will be ignored.

เทมเพลตของเครื่องมือแก้ไขสคริปต์

เมื่อสร้างระบบการทำงานอัตโนมัติใหม่ เครื่องมือแก้ไขสคริปต์จะให้เทมเพลตเปล่าสำหรับเขียนสคริปต์โดยใช้โครงสร้างต่อไปนี้

metadata มีชื่อการทำงานอัตโนมัติและคําอธิบาย
automations กำหนดลักษณะการทํางานอัตโนมัติ
starters กำหนดตัวทริกเกอร์ที่จะเริ่มต้นการทำงานอัตโนมัติ
  condition กำหนดข้อจํากัดว่าการทำงานอัตโนมัติควรจะทำตอนไหน (ไม่บังคับ)
  actions ระบุการดำเนินการที่จะเกิดขึ้นในการทำงานอัตโนมัติ

เทมเพลตจะแบ่งออกเป็น 2 บล็อกหลัก ได้แก่ ข้อมูลเมตาและการทำงานอัตโนมัติ จากนั้นการทำงานอัตโนมัติจะแบ่งออกเป็นส่วนต่างๆ สําหรับเงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการ

บล็อกข้อมูลเมตาและการทำงานอัตโนมัติ

เทมเพลตของเครื่องมือแก้ไขสคริปต์มีคีย์หลักระดับบนสุดหรือบล็อก 2 รายการ คือ metadata และ automations

บล็อก metadata จะมีชื่อและคําอธิบายของการทำงานอัตโนมัติ การตั้งค่านี้ใช้เพื่อช่วยให้คุณระบุการทำงานอัตโนมัติเท่านั้น

metadata:
  name: TV time
  description: When TV is on, turn on lights

บล็อก automations เป็นแกนหลักของสคริปต์การทำงานอัตโนมัติ ซึ่งเป็นจุดที่คุณกำหนดลักษณะของการทำงานอัตโนมัติโดยใช้เงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการ

automations:
  starters:
    # e.g. Motion detected
  condition:
    # e.g. Between two times
  actions:
    # e.g. Turn on lights

หากต้องการทําความเข้าใจเพิ่มเติมเกี่ยวกับวิธีใช้เครื่องมือแก้ไขสคริปต์ โปรดไปที่ Codelab, ดูสคริปต์ตัวอย่าง หรือเรียนรู้วิธีจัดรูปแบบเงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการแต่ละรายการได้ในศูนย์นักพัฒนาแอป Google Home

เติมข้อความอัตโนมัติ

เครื่องมือแก้ไขสคริปต์จะช่วยนำทางคุณในการเขียนสคริปต์ โดยให้คำแนะนําการเติมข้อความอัตโนมัติโดยอิงตามเงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการที่มีให้ ดังนี้ 

  • เมื่อเคอร์เซอร์อยู่ในตําแหน่งที่มีตัวเลือกที่ใช้ได้ เช่น อยู่ต่อจาก "- type: "
  • เมื่อคุณพิมพ์โค้ดที่มีคําแนะนําที่ใช้ได้ โดยจะเห็นรายการตัวกรองคําแนะนําขณะพิมพ์

คุณเริ่มการเติมข้อความอัตโนมัติด้วยตนเองได้โดยใช้ทางลัด Ctrl+Space

กด Enter เพื่อเลือกคําแนะนําจากรายการ การเติมข้อความอัตโนมัติจะกรอกข้อมูลในช่องเพิ่มเติมอิงตามโครงสร้างที่คุณเลือก

เคล็ดลับ: คุณสามารถใช้การเติมข้อความอัตโนมัติเพื่อดูสถานะหรือคําสั่งของอุปกรณ์ที่ใช้กับอุปกรณ์ของคุณได้ และดูว่าอุปกรณ์ใดบ้างที่ใช้สถานะหรือคําสั่งของอุปกรณ์บางอย่างได้ 

หากต้องการดูว่าสถานะหรือคําสั่งของอุปกรณ์ใดบ้างที่ใช้กับอุปกรณ์ของคุณได้ เมื่อเขียนสคริปต์ ให้ป้อนคีย์ "device: " ก่อนแล้วตามด้วยคีย์ "type: " ฟีเจอร์เติมข้อความอัตโนมัติจะแสดงรายการสถานะหรือคําสั่งที่ใช้ได้สําหรับอุปกรณ์นั้น

ตัวอย่าง

starters:
- device: LED lights - Living Room
- type:

หากต้องการค้นหาอุปกรณ์ที่ใช้ได้สําหรับสถานะของอุปกรณ์หรือคําสั่งบางรายการ ให้ป้อนคีย์ "type: " ก่อนแล้วตามด้วยคีย์ "device: "  ฟีเจอร์เติมข้อความอัตโนมัติจะแสดงรายการอุปกรณ์ที่มีอยู่ในบ้านซึ่งรองรับสถานะหรือคําสั่งนั้น

ตัวอย่าง

starters:
- type: device.state.OnOff
- device:

เงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการ

การทำงานอัตโนมัติประกอบด้วยเงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการของอุปกรณ์ คอมโพเนนต์เหล่านี้จะกําหนดลักษณะของการทำงานอัตโนมัติ 

เงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการบางอย่างจําเป็นต้องใช้คู่คีย์-ค่าเปรียบเทียบบางประเภท เพื่อช่วยป้อนตรรกะของการทำงานอัตโนมัติ และช่วยให้สคริปต์รู้ถึงสิ่งที่คุณต้องการให้ประเมิน ค่าต้องเป็นประเภทข้อมูลที่เข้ากันได้ เช่น สถานะ on ของหลอดไฟจะเป็น true หรือ false ก็ได้ หากต้องการเริ่มต้นการทํางานอัตโนมัติเมื่อไฟเปิดอยู่ คุณอาจใช้ดังนี้

state: on
is: true

ที่ด้านล่างมีรายละเอียดเกี่ยวกับเงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการต่างๆ ที่มีให้ หากต้องการดูรายการเงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการทั้งหมด ให้ไปที่ศูนย์นักพัฒนาแอป Google Home

เงื่อนไขเริ่มต้น

ส่วนเงื่อนไขเริ่มต้นของสคริปต์คือจุดที่คุณระบุสิ่งที่จะทำให้สคริปต์ทำงาน เงื่อนไขเริ่มต้นจะอิงตามสิ่งที่อุปกรณ์ทำได้หรือแอตทริบิวต์ที่เปลี่ยนแปลงได้ เช่น สถานะของอุปกรณ์ เวลา และเหตุการณ์ในอุปกรณ์ เช่น คุณอาจใช้หลอดไฟที่มีสถานะ OnOff, Brightness และ ColorSetting หากต้องการรวมเงื่อนไขเริ่มต้นหลายรายการ ให้ลิสต์รายการเงื่อนไขเริ่มต้นแต่ละรายการด้วยคีย์ " - type: " โดยสคริปต์จะต้องเป็นไปตามเงื่อนไขเริ่มต้นอย่างน้อยหนึ่งข้อเพื่อให้ทํางานได้

ดูรายการเงื่อนไขเริ่มต้นที่รองรับทั้งหมด

ประเภทเงื่อนไขเริ่มต้น

เงื่อนไขเริ่มต้นเกี่ยวกับ Assistant

ใช้เงื่อนไขเริ่มต้น assistant.command เพื่อเริ่มสคริปต์เมื่ออุปกรณ์ที่มี Assistant ได้ยินคําสั่ง Assistant ที่ขึ้นต้นด้วย "Ok Google"
หมายเหตุ: หากการทำงานอัตโนมัติเริ่มต้นด้วยคำสั่งเสียงและมีการดำเนินการของ Assistant ในสคริปต์ การดำเนินการนั้นจะเกิดขึ้นในอุปกรณ์ที่ฟังคำสั่งเสียง แม้ว่าจะระบุอุปกรณ์อื่นไว้ในสคริปต์ก็ตาม
ตัวอย่าง: เริ่มต้นการทํางานอัตโนมัติเมื่อมีคนพูดว่า "Ok Google party time"
starters:
- type: assistant.command.OkGoogle
  eventData: query
  is: party time

เงื่อนไขเริ่มต้นเหตุการณ์ในอุปกรณ์

ใช้เงื่อนไขเริ่มต้น device.event เพื่อให้สคริปต์เริ่มทํางานเมื่อเกิดเหตุการณ์บางอย่าง เช่น เมื่อมีคนกดกริ่งประตูหรือเซ็นเซอร์ตรวจพบบางสิ่ง หมายเหตุ: ระบบอาจไม่รองรับบางเหตุการณ์

ตัวอย่าง: เริ่มการทำงานอัตโนมัติเมื่อกดกริ่งประตู
starters:
- type: device.event.DoorbellPress
  device: Doorbell - Front door
ตัวอย่าง: เริ่มการทำงานอัตโนมัติเมื่อกล้องตรวจพบบุคคล
starters:
- type: device.event.PersonDetection
  device: Camera - Backyard 

ตัวอย่าง: เริ่มการทำงานอัตโนมัติเมื่อกล้องตรวจพบการเคลื่อนไหว

starters:
- type: device.event.MotionDetection
  device: Camera - Backyard

หมายเหตุ

  • เหตุการณ์จากกล้องต้องใช้กล้อง Nest ที่เข้ากันได้ กริ่งประตู หรือจอแสดงผล รวมถึงต้องตั้งค่าการตรวจจับเหตุการณ์
  • เหตุการณ์บางอย่างจากกล้องอาจต้องมีการสมัครใช้บริการ Nest Aware หรือกล้องอาจต้องใช้สายไฟ เช่น การตรวจจับเสียงจะทำงานได้ใน Nest Cam (กลางแจ้งหรือในอาคาร แบบใช้แบตเตอรี่) เมื่อใช้สายเท่านั้น
  • คุณสามารถระงับเงื่อนไขเริ่มต้นไม่ให้เกิดซ้ำเป็นระยะเวลาหนึ่งได้โดยอิงตามเหตุการณ์ในอุปกรณ์และสถานะของอุปกรณ์

เงื่อนไขเริ่มต้นสถานะของอุปกรณ์

ใช้เงื่อนไขเริ่มต้น device.state เพื่อให้การทำงานอัตโนมัติเริ่มทำงานตามสถานะของอุปกรณ์ สถานะคือลักษณะของอุปกรณ์ เช่น เมื่ออุณหภูมิของตัวควบคุมอุณหภูมิถึงระดับที่เจาะจง เมื่อมีการเปิดหรือปิดไฟ หรือเมื่อเซ็นเซอร์ที่รองรับถึงเกณฑ์ที่กำหนดไว้ หมายเหตุ: คุณสามารถระงับเงื่อนไขเริ่มต้นไม่ให้เกิดซ้ำเป็นระยะเวลาหนึ่งได้โดยอิงตามเหตุการณ์ในอุปกรณ์และสถานะของอุปกรณ์
เพิ่มสถานะสำหรับเงื่อนไขเริ่มต้นสถานะของอุปกรณ์ต่อจาก "device.state" เช่น หากต้องการตรวจสอบว่าอุปกรณ์เปิดอยู่หรือไม่ ให้ใช้ device.state.OnOff
หากต้องการใช้เงื่อนไขเริ่มต้น device.state ให้เริ่มต้นด้วยคีย์ 3 รายการ ได้แก่ type, device และ state ตามด้วยคู่คีย์-ค่าการเปรียบเทียบอย่างน้อย 1 รายการ
คีย์ ค่า ตัวอย่าง
ประเภท เงื่อนไขเริ่มต้นสถานะของอุปกรณ์ ขึ้นต้นด้วย device.state device.state.ArmDisarm
อุปกรณ์ ชื่อตามที่แสดงในแอป Google Home พร้อมชื่อห้อง: Device name - Room name Alarm - Front Door
สถานะ

ฟิลด์หรือข้อมูลสถานะของเงื่อนไขเริ่มต้นที่ต้องการตรวจสอบ

ค้นหาเงื่อนไขเริ่มต้นที่ต้องการใช้ได้ในศูนย์นักพัฒนาแอป Google Home เพื่อค้นหา "ฟิลด์ที่รองรับ" หรือ "ข้อมูลสถานะ"
isArmed

เคล็ดลับ: หากต้องการดูสถานะของอุปกรณ์ที่ใช้ได้กับอุปกรณ์ของคุณ ให้ป้อนคีย์ "device: " ก่อนแล้วตามด้วยคีย์ "type: " ในสคริปต์ ฟีเจอร์เติมข้อความอัตโนมัติจะแสดงรายการสถานะที่ใช้ได้สําหรับอุปกรณ์นั้น

คุณใช้คู่คีย์-ค่าการเปรียบเทียบต่อไปนี้กับเงื่อนไขเริ่มต้น device.state ได้

คีย์การเปรียบเทียบ ประเภทค่าที่รองรับ ตัวอย่าง
is สตริง | ตัวเลข | บูลีน | ไดนามิก is: on
isNot สตริง | ตัวเลข | บูลีน | ไดนามิก isNot: cast
greaterThan
greaterThanOrEqualTo
สตริง | ตัวเลข | บูลีน | ไดนามิก greaterThan: 1
lessThan
lessThanOrEqualTo
สตริง | ตัวเลข | บูลีน | ไดนามิก lessThan: 10
suppressFor ระยะเวลา suppressFor: 1hour

 ตัวอย่าง: เริ่มการทำงานอัตโนมัติหากระดับเสียงของทีวีอยู่ระหว่าง 1-10

starters:
- type:  device.state.Volume
  device: TV - Living room
  state:  currentVolume
  greaterThan: 1
  lessThan: 10 

เงื่อนไขเริ่มต้นสถานะ "อยู่บ้าน"

ใช้เงื่อนไขเริ่มต้น home.state เพื่อให้สคริปต์เริ่มทํางานเมื่อคุณอยู่บ้านหรือไม่อยู่บ้าน ซึ่งสามารถตรวจจับได้ด้วยการตรวจหาบุคคลในบ้าน
ตัวอย่าง: เริ่มต้นการทํางานอัตโนมัติเมื่อคุณอยู่บ้าน
starters:
- type: home.state.HomePresence
  state: homePresenceMode
  is: HOME

เงื่อนไขเริ่มต้นเวลา

ใช้เงื่อนไขเริ่มต้น time เพื่อเริ่มการทำงานอัตโนมัติโดยอิงตามวันและเวลาที่เจาะจง คุณใช้คู่คีย์-ค่าการเปรียบเทียบต่อไปนี้กับเงื่อนไขเริ่มต้นเวลาได้
คีย์การเปรียบเทียบ ประเภทค่าที่รองรับ ตัวอย่าง
before เวลา before: sunset
after เวลา after: 7:00 am
วันธรรมดา วันธรรมดา weekdays: MON

ตัวอย่าง: เริ่มการทำงานอัตโนมัติในวันจันทร์และอังคาร 30 นาทีหลังพระอาทิตย์ขึ้น

starters:
- type: time.schedule
  at: sunrise+30min
  weekdays:
  - MON
  - TUE

วิธีระงับเงื่อนไขเริ่มต้น

ใช้คีย์การเปรียบเทียบ suppressFor เพื่อบอกการทำงานอัตโนมัติให้ละเว้นเงื่อนไขเริ่มต้นเป็นระยะเวลาหนึ่ง เช่น เมื่อกล้องตรวจพบบุคคล ให้ประกาศว่า "มีคนอยู่ที่หน้าประตู" และไม่ต้องประกาศอีกเป็นเวลา 10 นาทีต่อจากนี้ แม้ว่ากล้องจะยังตรวจพบบุคคลอยู่ก็ตาม

ตัวอย่าง: เมื่อมีคนเดินผ่านโถงในบ้านของฉันในตอนเช้าเป็นครั้งแรก ให้เปิดม่านทั้งหมดจากนั้นระงับเงื่อนไขเริ่มต้นดังกล่าวเป็นเวลา 20 ชั่วโมงต่อจากนี้

metadata:
  name: Open Blinds
  description: Open blinds in the morning after motion detected
automations:
  starters:
  - type: device.event.MotionDetection
    device: Camera - Hallway
    suppressFor: 20hours
  condition:
    type: time.between
    after: 5:00     
    before: 12:00   
  actions:     
  - type: device.command.OpenClose
    openPercent: 100
  devices:
  - Blinds1 - Living Room
  - Blinds2 - Family Room

เงื่อนไข

เงื่อนไขเป็นข้อจํากัดที่ไม่บังคับสำหรับเวลาที่การทำงานอัตโนมัติจะเริ่มต้น หากคุณใส่เงื่อนไข สคริปต์จะทํางานต่อเมื่อเป็นไปตามเงื่อนไขเท่านั้น เงื่อนไขเริ่มต้นหลายรายการอาจใช้เป็นเงื่อนไขได้ด้วย และสามารถรวมเข้ากับโอเปอเรเตอร์เชิงตรรกะ and, or และ not เพื่อแสดงการตรวจสอบเงื่อนไขที่ซับซ้อนขึ้นได้
type: or
conditions:
- type: time.between
  before: sunrise
  after: sunset
  weekdays:
  - MON
  - TUE
- type: device.state.Volume
  device: My TV - Living Room
  state: currentVolume
  greaterThan: 1
  lessThan: 10

ในตัวอย่างนี้ มีเงื่อนไขเวลา 1 รายการ และเงื่อไข device.state 1 รายการ สคริปต์นี้จะทำงานหากเวลาอยู่ระหว่างช่วงพระอาทิตย์ตกจนถึงพระอาทิตย์ขึ้นในวันจันทร์หรือวันอังคาร หรือหากระดับเสียงของทีวีอยู่ระหว่าง 1 ถึง 10

คุณใช้เงื่อนไขประเภทต่อไปนี้ได้

โอเปอเรเตอร์เงื่อนไข

เงื่อนไข "และ"

เมื่อคุณใช้เงื่อนไข and สคริปต์จะทำงานก็ต่อเมื่อเป็นไปตามเงื่อนไขย่อยทั้งหมด

ตัวอย่าง: เริ่มการทำงานอัตโนมัติหากทีวีเปิดอยู่ "และ" หลังเวลา 18:00 น.

condition:
  type: and
  conditions:
  - type: device.state.OnOff
    device: TV - Living Room
    state: on
    is: true
  - type: time.between
    after: 6:00 pm

เงื่อนไข OR

เมื่อคุณใช้เงื่อนไข or สคริปต์จะทำงานเมื่อมีเงื่อนไขย่อยใดๆ เกิดขึ้น

ตัวอย่าง: เริ่มการทำงานอัตโนมัติหากทีวีเปิดอยู่ "หรือ" หลังเวลา 18:00 น.

condition:
  type: or
  conditions:
  - type: device.state.OnOff
    device: TV - Living Room
    state: on
    is: true
  - type: time.between
    after: 6:00 pm

เงื่อนไข "ไม่"

เมื่อคุณใช้เงื่อนไข not สคริปต์จะไม่ทำงานหากมีเงื่อนไขย่อยเกิดขึ้น

ตัวอย่าง: เริ่มการทำงานอัตโนมัติหากเวลาไม่อยู่ในช่วงระหว่าง 18:00-20:00 น.

condition:
  type: not
  condition:
    type: time.between
    after: 6:00pm
    before: 8:00pm

เงื่อนไขสถานะของอุปกรณ์

ใช้เงื่อนไข device.state เพื่อจำกัดเวลาที่สคริปต์จะเกิดขึ้นโดยอิงตามสถานะของอุปกรณ์เมื่อสคริปต์เริ่มต้น เงื่อนไข device.state จะคล้ายกับเงื่อนไขเริ่มต้น device.state ยกเว้นแทนที่จะบอกสคริปต์ว่าจะเริ่มทํางานเมื่อใด แต่เงื่อนไขสามารถจำกัดสถานการณ์ที่จะให้สคริปต์ทำงานได้
เพิ่มสถานะสําหรับเงื่อนไขสถานะของอุปกรณ์ต่อจาก "device.state" เช่น หากต้องการตรวจสอบว่าอุปกรณ์เปิดอยู่หรือไม่ ให้ใช้ device.state.OnOff
หากต้องการใช้เงื่อนไข device.state ให้เริ่มต้นด้วยคีย์ 3 รายการ ได้แก่ type, device และ state ตามด้วยคู่คีย์-ค่าการเปรียบเทียบอย่างน้อย 1 รายการ
คีย์ ค่า ตัวอย่าง
ประเภท เงื่อนไขสถานะของอุปกรณ์ เริ่มต้นด้วย device.state device.state.OnOff
อุปกรณ์ ชื่อตามที่แสดงในแอป Google Home พร้อมชื่อห้อง: Device name - Room name Chromecast - Living Room
สถานะ สถานะเริ่มต้นที่คุณต้องการตรวจสอบ ค้นหาเงื่อนไขสถานะของอุปกรณ์ที่ต้องการใช้ได้ในศูนย์นักพัฒนาแอป Google Home state: on

เคล็ดลับ: หากต้องการดูสถานะของอุปกรณ์ที่ใช้ได้กับอุปกรณ์ของคุณ ให้ป้อนคีย์ "device: " ก่อนแล้วตามด้วยคีย์ "type: " ในสคริปต์ ฟีเจอร์เติมข้อความอัตโนมัติจะแสดงรายการสถานะที่ใช้ได้สําหรับอุปกรณ์นั้น

คุณใช้คู่คีย์-ค่าการเปรียบเทียบต่อไปนี้กับเงื่อนไข device.state ได้

คีย์การเปรียบเทียบ ประเภทค่าที่รองรับ ตัวอย่าง
is สตริง | ตัวเลข | บูลีน | ไดนามิก is: on
isNot สตริง | ตัวเลข | บูลีน | ไดนามิก isNot: cast
greaterThan
greaterThanOrEqualTo
สตริง | ตัวเลข | บูลีน | ไดนามิก greaterThan: 1
lessThan
lessThanOrEqualTo
สตริง | ตัวเลข | บูลีน | ไดนามิก lessThan: 10

ตัวอย่าง: เริ่มการทำงานอัตโนมัติหากตัวควบคุมอุณหภูมิตรวจพบว่าระดับความชื้นสูงกว่า 55%

condition:
  type: device.state.TemperatureSetting
  device: My Thermostat - Living Room
  state: thermostatHumidityAmbient
  greaterThan: 55

เงื่อนไขสถานะ "อยู่บ้าน"

ใช้เงื่อนไข home.state.HomePresence เพื่อจํากัดเวลาที่สคริปต์สามารถเกิดขึ้นได้โดยอิงตามสถานะของอุปกรณ์ว่ามีคนอยู่บ้านหรือไม่

หมายเหตุ: ก่อนสร้างสคริปต์ที่ใช้เงื่อนไข home.state.HomePresence อย่าลืมตรวจสอบว่าคุณได้ตั้งค่าการตรวจหาบุคคลในบ้านในแอป Google Home แล้ว และฟีเจอร์ดังกล่าวทํางานตามที่คาดไว้ การตรวจหาบุคคลในบ้านจะกำหนดได้จากตําแหน่งของโทรศัพท์ เซ็นเซอร์ในอุปกรณ์ Nest บางรุ่น หรือโดยการสลับโหมดอยู่บ้านหรือไม่อยู่บ้านในแอป Google Home ด้วยตนเอง

ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์การตรวจหาบุคคลในบ้านและกิจวัตร "อยู่บ้าน" และ "ไม่อยู่บ้าน"

คุณสามารถใช้คู่คีย์-ค่าการเปรียบเทียบต่อไปนี้กับเงื่อนไข home.state.HomePresence ได้
คีย์การเปรียบเทียบ ประเภทค่าที่รองรับ ตัวอย่าง
is สตริง ("HOME" หรือ "AWAY") is: away
isNot สตริง ("HOME" หรือ "AWAY") isNot: HOME
for ระยะเวลา for: 30min
suppressFor ระยะเวลา suppressFor: 1hour

ตัวอย่าง: เงื่อนไข home.state.HomePresence จะเริ่มการทำงานอัตโนมัติหากการตรวจหาบุคคลตั้งเป็น HOME

condition:
  type: home.state.HomePresence
  state: homePresenceMode
  is: HOME

เงื่อนไขเวลา

ใช้เงื่อนไข time.between เพื่อจำกัดเวลาที่สคริปต์จะทำงานได้ คุณสามารถใช้คู่คีย์-ค่าการเปรียบเทียบต่อไปนี้กับเงื่อนไข time.between ได้
คีย์การเปรียบเทียบ ประเภทค่าที่รองรับ ตัวอย่าง
before เวลา before: sunset
after เวลา after: 7:00 am
วันธรรมดา วันธรรมดา weekdays: MON

ตัวอย่าง: เริ่มการทำงานอัตโนมัติในช่วงสุดสัปดาห์ก่อนเวลา 10:00 น. เท่านั้น

condition:
  type: time.between
  before: 10am
  weekdays:
  - SAT
  - SUN

การดำเนินการ

ส่วนการดําเนินการของสคริปต์คือลิสต์รายการที่คุณต้องการให้อุปกรณ์ทํา หากต้องการรวมการดำเนินการหลายรายการ ให้ระบุแต่ละรายการที่ขึ้นต้นด้วยคีย์ "- type: " สคริปต์ของคุณต้องมีการดำเนินการอย่างน้อย 1 รายการ การดําเนินการส่วนใหญ่จะขึ้นต้นด้วย device.command

ประเภทการดําเนินการที่คุณใช้ได้มีดังนี้

การดำเนินการของ Assistant

ใช้การดำเนินการ assistant.command กับลำโพงหรือจอแสดงผลเพื่อให้ Assistant ดำเนินการต่างๆ ให้เสร็จสิ้น เช่น "ปิดไฟทุกดวง" หรือ "บอกสภาพอากาศหน่อย"

เมื่อใช้คำสั่ง Assistant คุณจะสั่งอุปกรณ์ตามห้องหรือทั้งบ้านได้โดยไม่ต้องใช้ชื่ออุปกรณ์ที่เฉพาะเจาะจง วิธีนี้ช่วยให้คุณประหยัดเวลาได้เนื่องจากอุปกรณ์ในอนาคตที่เพิ่มลงในแอป Home จะทำงานตามคำสั่งนี้โดยอัตโนมัติ คำสั่ง Assistant ต้องใช้ลำโพงหรือจอแสดงผลที่เข้ากันได้จึงจะเรียกใช้การดำเนินการได้

หมายเหตุ: หากการทำงานอัตโนมัติเริ่มต้นด้วยคำสั่งเสียงและมีการดำเนินการของ Assistant ในสคริปต์ การดำเนินการนั้นจะเกิดขึ้นในอุปกรณ์ที่ฟังคำสั่งเสียง แม้ว่าจะระบุอุปกรณ์อื่นไว้ในสคริปต์ก็ตาม

ตัวอย่าง: ใช้ "เปิดไฟห้องนั่งเล่น" เพื่อเปิดไฟทุกดวงในห้องนั่งเล่น
actions:
- type: assistant.command.OkGoogle
  okGoogle: Turn on living room lights  
  devices: My Speaker - Room Name 
ตัวอย่าง: ใช้ "ปิดไฟทุกดวง" เพื่อปิดไฟทุกดวงที่ตั้งค่าไว้ในบ้าน
actions:
- type: assistant.command.OkGoogle
  okGoogle: Turn off all lights  
  devices: My Speaker - Room Name 
ตัวอย่าง: คุณตั้งค่าให้ลำโพงหรือจอแสดงผลประกาศได้
actions:
- type: assistant.command.Broadcast
  devices:  
  - My Speaker 1 - Room Name
  - My Speaker 2 - Room Name
  message: It’s dinner time.
     

การดำเนินการของ Assistant ยังให้คุณดำเนินการต่างๆ ที่กำหนดเองได้ เช่น

  • "เปิด Hello ของ Adele จาก YouTube Music ที่ลำโพงห้องนอน" 
  • "เปิดวิดีโอแมวตลกๆ จาก YouTube ในจอแสดงผลในห้องนั่งเล่น"
  • "พรุ่งนี้อากาศเป็นยังไงบ้าง" 
  • "เล่าเรื่องตลกให้ฟังหน่อย" 
  • "แสดงกล้องที่ทางรถเข้าออกบนจอแสดงผลโฮมออฟฟิศ"

หมายเหตุ: การดำเนินการของ Assistant ที่ต้องมีการเปิด Voice Match หรือผลการค้นหาเฉพาะบุคคลจะใช้กับการทำงานอัตโนมัติในครอบครัวที่สร้างขึ้นด้วยเครื่องมือแก้ไขสคริปต์ไม่ได้

การดำเนินการของอุปกรณ์

ใช้การทํางาน device.command เพื่อควบคุมหรือปรับอุปกรณ์ คําสั่งการดำเนินการแต่ละรายการจะมีชุดลักษณะและโครงสร้างของตัวเอง คุณเพิ่มคําสั่งลงในสคริปต์ได้โดยใส่คําสั่งการดำเนินการสําหรับอุปกรณ์ต่อจาก "device.command" เช่น หากต้องการเปิดอุปกรณ์ ให้ใช้ device.command.OnOff การดำเนินการของ device.command ต้องมีข้อมูลต่อไปนี้
คีย์ ค่า ตัวอย่าง
ประเภท การดำเนินการของอุปกรณ์ ขึ้นต้นด้วย device.command device.command.OpenClose
อุปกรณ์ ชื่อของอุปกรณ์ตามที่แสดงในแอป Google Home พร้อมชื่อห้อง: Device name - Room name หากต้องการรวมอุปกรณ์หลายเครื่อง ให้สร้างลิสต์ Blinds - Bedroom

เคล็ดลับ: หากต้องการดูการดำเนินการหรือคำสั่งที่ใช้ได้กับอุปกรณ์ของคุณ ให้ป้อนคีย์ "device:" ก่อนแล้วตามด้วยคีย์ "type:" ฟีเจอร์เติมข้อความอัตโนมัติจะแสดงลิสต์ของการดำเนินการที่ใช้ได้สําหรับอุปกรณ์ดังกล่าว

การดำเนินการของ device.command จํานวนมากจะมีคีย์เพิ่มเติมซึ่งระบุอินพุตที่จําเป็นสําหรับคําสั่งนี้ ตัวอย่างเช่น device.command.ThermostatTemperatureSetpoint ต้องใช้คู่คีย์-ค่า thermostatTemperatureSetpoint เพื่อบอกให้ตัวควบคุมอุณหภูมิตั้งอุณหภูมิใหม่ตามที่ต้องการ

หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้คําสั่ง ให้หาการดำเนินการที่เกี่ยวข้องที่ศูนย์นักพัฒนาแอป Google Home และทําตามโครงสร้างสำหรับการดำเนินการที่คุณต้องการใช้

ตัวอย่าง: เปิดทีวีในห้องนั่งเล่น

actions:
  type: device.command.OnOff
  devices: TV - Living room
  on: true

 ตัวอย่าง: เปิดไฟและปิดหลังจากผ่านไป 5 นาที

actions:
- type: device.command.OnOff
  devices: Light A - Living Room
  on: true
- type: time.delay
  for: 5min
- type: device.command.OnOff
  devices: Light A - Living Room
  on: false

การดำเนินการกับการแจ้งเตือน

ใช้การดำเนินการ home.command.Notification เพื่อให้สคริปต์ส่งการแจ้งเตือนไปยังอุปกรณ์เคลื่อนที่ของสมาชิกในบ้าน ตัวอย่างเช่น คุณสามารถรับการแจ้งเตือนเมื่อเครื่องใช้ไฟฟ้าที่เชื่อมต่อกับปลั๊กอัจฉริยะปิดหรือออฟไลน์

actions:
- type: home.command.Notification
  members:
  - Alex - cloudysanfrancisco@gmail.com
  - Kim - jeffersonloveshiking@gmail.com
  title: It’s movie time!
  body: Join me in the living room
 

การดำเนินการเกี่ยวกับเวลา

ใช้การทํางาน time.delay เพื่อให้สคริปต์รอตามระยะเวลาที่กําหนดไว้ระหว่าง 2 การดำเนินการในลิสต์แทนที่จะทำการดำเนินการทั้งหมดพร้อมกัน คุณเพิ่มการรอเวลาให้กับสคริปต์ได้หลายรายการ เช่น คุณสามารถให้สคริปต์รอ 10 วินาทีระหว่างการดำเนินการแต่ละรายการ
ตัวอย่าง: เปิดไฟและปิดไฟหลังจากที่รอเวลา 30 วินาที
actions:
- type: device.command.OnOff
  devices: 
    - Bedside Lamp - Bedroom
    - Ceiling Light - Bedroom
  on: true
- type: time.delay
  for: 30sec
- type: device.command.OnOff
  devices: 
    - Bedside Lamp - Bedroom
    - Ceiling Light - Bedroom
  on: false

แหล่งข้อมูล

ฝึกเขียนสคริปต์

ในการเริ่มต้น เราจะสร้างการทำงานอัตโนมัติแบบง่ายมากๆ แต่เป็นที่นิยมซึ่งได้แก่ "ปิดไฟเมื่อทีวีเปิด"

หมายเหตุ: หากไม่มี Chromecast, หลอดไฟอัจฉริยะ หรืออุปกรณ์ที่เปรียบเทียบกันได้ คุณก็ยังฝึกตามได้เพื่อทําความเข้าใจขั้นตอนการเขียนสคริปต์ แต่สคริปต์ที่เขียนจะไม่ทำงาน

  1. เปิด home.google.com/automations แล้วลงชื่อเข้าใช้บัญชี
  2. คลิกเพิ่มใหม่
  3. กรอกข้อมูลเมตา ในสคริปต์นี้ ชื่อ = TV on lights off และคำอธิบาย = Turn off lights when TV turns on ตรวจสอบว่าคุณจัดรูปแบบสคริปต์อย่างถูกต้อง
    metadata:
      name: TV on lights off
      description: Turn off lights when TV turns on.
  4. ต่อไปเราจะสร้างการทํางานอัตโนมัติ ใส่เงื่อนไขเริ่มต้นด้วยการขึ้นบรรทัดใหม่ใต้ "starters:" ซึ่งเริ่มต้นด้วย "- type:
    • ในการสร้างบรรทัดใหม่ ให้เยื้องบรรทัดโดยเคาะเว้นวรรค 2 ครั้งหรือกด Tab 1 ครั้งหลังการเริ่มต้น "starters:" ดังที่แสดงด้านล่าง
    • หากต้องการใส่เงื่อนไขเริ่มต้นหลายรายการ เงื่อนไขเริ่มต้นแต่ละรายการต้องเริ่มต้นด้วยขีดกลางและเว้นวรรค
      metadata:
        name:  TV on lights off
        description:  Turn off lights when TV turns on
      automations:
        starters:
        - type:
  5. ใส่เงื่อนไขเริ่มต้น device.state จำไว้ว่าหากจะใช้เงื่อนไขเริ่มต้น device.state คุณต้องใช้คีย์ 3 คีย์ ได้แก่ type device และstate ตามด้วยคู่คีย์-ค่าเปรียบเทียบอย่างน้อย 1 คู่ เครื่องมือแก้ไขสคริปต์จะช่วยคุณในส่วนของโครงสร้าง โดยจะให้คําแนะนําแบบเติมข้อความอัตโนมัติตามเงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการที่มีให้ใช้ได้ ในสคริปต์นี้มีรายละเอียดดังนี้
    • ประเภท = device.state.OnOff สถานะของอุปกรณ์ที่จะประเมินเพื่อเริ่มต้นการทํางานอัตโนมัติ  
    • อุปกรณ์ = Chromecast - Living Room ชื่อของอุปกรณ์ตามที่ปรากฏในแอป Google Home 
    • สถานะ = on On เป็นฟิลด์หรือข้อมูลสถานะที่รองรับสําหรับสถานะของอุปกรณ์ OnOff
    • คู่คีย์-ค่าเปรียบเทียบ = is: true ค่าสําหรับคีย์การเปรียบเทียบนี้เป็นประเภทข้อมูลพื้นฐาน สคริปต์จะทำงานหากทีวีเปิด
      metadata:
        name: TV on lights off
        description: Turn off lights when TV turns on
      automations:
        starters:
        - type: device.state.OnOff
          device: Chromecast - Living Room
          state: on
          is: true 

      สําหรับการเปรียบเทียบกัน โปรดดูที่สคริปต์ที่คล้ายกันที่มีเงื่อนไขเริ่มต้นอื่น ในสคริปต์ด้านล่าง การทำงานอัตโนมัติจะเริ่มต้นเมื่อระดับเสียงอยู่ระหว่าง 1 ถึง 10 มากกว่าตอนที่ทีวีเปิด เพื่อทำการเปลี่ยนแปลงนี้ เราแทนที่สถานะ OnOff ด้วยVolume และเปลี่ยนสถานะเป็น currentVolume เพื่อให้จับคู่กับแอตทริบิวต์ใหม่ และเรายังเปลี่ยนคู่คีย์-ค่าการเปรียบเทียบเป็นคู่ที่ฝังอยู่ 2 คู่ซึ่งจะสร้างช่วงขึ้นมาช่วงหนึ่งดังนี้  greaterThan: 1 และ lessThan: 10 ดูตัวอย่างเพิ่มเติมได้จากลิสต์เงื่อนไขเริ่มต้นทั้งหมดที่คุณใช้ได้

      metadata:
        name: TV on lights off
        description: Turn off lights when TV turns on
      automations:
        starters:
        - type: device.state.Volume
          device: Chromecast - Living Room
          state: currentVolume
          greaterThan: 1
          lessThan: 10
  6. คลิกบันทึกเพื่อบันทึกสคริปต์ได้ทุกเมื่อ เมื่อบันทึกสคริปต์ เครื่องมือแก้ไขสคริปต์จะตรวจสอบสคริปต์และตรวจหาข้อผิดพลาดโดยอัตโนมัติ สคริปต์ที่ไม่ถูกต้องจะไม่ทำงาน
  7. ตอนนี้ให้เพิ่มการดำเนินการลงในสคริปต์ ในการเพิ่มการดำเนินการ ให้สร้างบรรทัดใหม่ใต้ "actions:" เริ่มต้นด้วย " - type"  ในการขึ้นบรรทัดใหม่ ให้เยื้องบรรทัดโดยเคาะเว้นวรรค 2 ครั้งให้เลยจากส่วนเริ่มต้นของ "actions:" ดังที่แสดงด้านล่าง
    • หากต้องการใส่การดำเนินการเพิ่มเติม การดำเนินการแต่ละรายการควรเริ่มต้นด้วยขีดกลางและเว้นวรรค
      metadata:
        name: TV on lights off
        description: Turn off lights when TV turns on.
      automations:
        starters:
        - type: device.state.OnOff
          device: Chromecast - Living Room
          state: on
          is: true
        actions:
        - type: 
  8. เราจะใช้การดำเนินการ device.command เพื่อปิดไฟ ในการใช้การดำเนินการ device.command เราจะรวมข้อมูลต่อไปนี้ 
    • ประเภท = device.command.OnOff คือชื่อของคําสั่งหรือการดำเนินการ โปรดทราบว่าสามารถฝังคําสั่งได้หลายรายการในอุปกรณ์ของคุณ และคําสั่งแต่ละรายการจะมีสถานะของตัวเอง 
    • อุปกรณ์ = ลิสต์ที่ประกอบด้วย Floor Lamp - Living Room และ Overhead Light - Living Room คือชื่อของหลอดไฟที่แสดงในแอป Google Home เราต้องการใส่หลอดไฟหลายรายการ จึงลิสต์อุปกรณ์แต่ละเครื่องแยกบรรทัดกัน โดยแต่ละบรรทัดจะขึ้นต้นด้วยเครื่องหมายขีดกลาง
    • สถานะที่ต้องการของคําสั่ง = on: false บรรทัดนี้จะบอกให้ไฟปิด
      metadata:
        name: TV on lights off
        description: Turn off lights when TV turns on.
      automations:
        starters:
        - type: device.state.OnOff
          device: Chromecast - Living Room
          state: on
          is: true
        actions:
        - type: device.command.OnOff
          devices:
          - Floor Lamp - Living Room
          - Overhead Light - Living Room 
          on: false
  9. คลิกบันทึกเพื่อบันทึกสคริปต์ หากไม่มีข้อผิดพลาด สคริปต์จะเปิดใช้งานโดยอัตโนมัติ เมื่อใดก็ตามที่ทีวีเปิดขึ้นไฟก็จะปิด หากคุณยังไม่พร้อมที่จะเรียกใช้สคริปต์ ให้หยุดสคริปต์ชั่วคราวโดยปิดตัวเลือกเปิดใช้งาน

สําหรับการฝึกฝนเพิ่มเติม ลองเปลี่ยนสคริปต์ให้ใช้เงื่อนไขเริ่มต้นอื่น รวมถึงเปลี่ยนประเภทข้อมูล ใช้การดำเนินการหลายรายการ หรือใส่เงื่อนไขเพิ่มเติมอย่างเช่น time.between คุณยังตรวจสอบสคริปต์ตัวอย่างและดูข้อมูลเพิ่มเติมได้ที่ codelab สำหรับข้อมูลโดยละเอียดเกี่ยวกับเงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการ โปรดไปที่ศูนย์นักพัฒนาแอป Google Home

ความช่วยเหลือเกี่ยวกับการทำงานอัตโนมัติที่ใช้สคริปต์

ข้อมูลนี้มีประโยชน์ไหม

เราจะปรับปรุงได้อย่างไร
ค้นหา
ล้างการค้นหา
ปิดการค้นหา
เมนูหลัก
16717293031128432465
true
ค้นหาศูนย์ช่วยเหลือ
true
true
true
true
true
1633396
false
false