โหมด "ไม่อยู่บ้าน" และ "เวลาถึงโดยประมาณ"

ไม่อยู่

ใน Nest API แนวคิดของ "Home" หรือ "Away" ส่งผลต่อพฤติกรรมของฟีเจอร์ประหยัดพลังงานและความสะดวกของ Nest อย่างมาก

วิธีการทํางานของโหมด "อยู่บ้าน" และ "ไม่อยู่บ้าน"

Nest ใช้สัญญาณต่างๆ ในการตรวจหาบุคคลในบ้านในบ้าน หากตรวจพบว่าไม่มีอุปกรณ์อยู่เป็นเวลานาน ก็จะตั้งค่าบ้านเป็นโหมด "ไม่อยู่บ้าน" โดยอัตโนมัติ เมื่อตรวจพบว่ามีมนุษย์อยู่ ระบบจะส่งโครงสร้างกลับไปยังสถานะบ้าน

การตอบสนองต่อการเปลี่ยนแปลงสถานะอยู่บ้าน/ไม่อยู่บ้านจะเปิดโอกาสต่างๆ สําหรับผลิตภัณฑ์ ตัวอย่างเช่น ผลิตภัณฑ์ของคุณจะมีลักษณะดังนี้

  • ปิดไฟเมื่อบ้านเปลี่ยนเป็นโหมดไม่อยู่บ้านเพื่อประหยัดพลังงาน
  • ส่งการแจ้งเตือนหากประตูโรงรถเปิดอยู่เมื่อบ้านไม่อยู่บ้าน
  • เปิดเพลงเมื่อบ้านเปลี่ยนเป็นโหมดอยู่บ้าน

เวลาถึงโดยประมาณ

ในบางกรณี ผู้ใช้จะมีแอปของบุคคลที่สามที่ใช้ GPS เพื่อระบุเวลาถึงโดยประมาณ (ETA) ให้แก่ Nest API ในกรณีอื่นๆ ผู้ใช้อาจใช้แอปเพื่อป้อนเวลาถึงโดยประมาณด้วยตนเอง หรืออาจคํานวณเวลาถึงโดยประมาณตามกําหนดการปกติของผู้ใช้

แอป ETA ที่ผสานรวมกับ Nest Thermostat จะทําให้ตัวควบคุมอุณหภูมิเริ่มอุ่นหรือเย็นที่บ้านก่อนที่ผู้ใช้จะไปถึง

เมื่อมีการผสานรวม ETA/ตัวควบคุมอุณหภูมิอยู่ในบัญชีของผู้ใช้ จะมีข้อมูลเวลาถึงโดยประมาณให้นักพัฒนาซอฟต์แวร์ Works with Nest คนอื่นๆ ใช้ในการผสานรวมกับ Works with Nest ได้

หลังจากที่ป้อนเวลาถึงโดยประมาณแล้ว การผสานรวมของ Works with Nest อีกรายการจะใช้เป็นสัญญาณเพื่อเตรียมบ้านให้ผู้มาเยือนมาถึงได้

  1. นักพัฒนาซอฟต์แวร์ของ Nest เขียนเวลาถึงโดยประมาณโดยใช้การเรียก PUT eta API แบบเขียนเท่านั้น
  2. Nest Thermostat ใช้ข้อมูลนี้
  3. หากนักพัฒนาซอฟต์แวร์คนอื่นๆ ต้องการใช้ API นี้ ก็จะใช้GET eta_beginการเรียก API แบบอ่านอย่างเดียวได้
ข้อมูลเวลาถึงโดยประมาณ

สิ่งสําคัญที่ควรทราบคือ ข้อมูล ETA ต้องป้อนข้อมูลโดยบุคคลที่สาม ปัจจุบัน Nest ยังไม่ให้ข้อมูลเวลาถึงโดยประมาณ หากไม่ได้เขียนข้อมูลเวลาถึงโดยประมาณไว้ Nest API จะแสดงผลค่าเริ่มต้น "1970-01-01T00:00:00.000Z"

ตัวอย่างเช่น สมมติว่าคุณเป็นผู้ให้บริการหลอดไฟ คุณจะรับข้อมูล ETA ที่ได้จากการผสานรวม ETA/ตัวควบคุมอุณหภูมิ และใช้เป็นสัญญาณเพื่อเปิดไฟได้

วิธีนี้ไม่เพียงแต่ทําให้อุณหภูมิสูงขึ้นเท่านั้น ไฟก็สว่างเช่นกันเมื่อผู้ใช้มาถึงบ้าน

การตอบสนองต่อการเปลี่ยนแปลงสถานะเวลาถึงโดยประมาณจะเปิดโอกาสอันหลากหลายสําหรับผลิตภัณฑ์ ตัวอย่างเช่น ผลิตภัณฑ์ของคุณจะมีลักษณะดังนี้

  • เปิดทีวีเมื่อผู้ใช้เข้าใกล้บ้าน
  • เปิดประตูโรงรถเมื่อผู้ใช้ใกล้บ้าน
  • เล่นเพลงอยู่แล้วเมื่อผู้ใช้กลับบ้าน

สิทธิ์ "ไม่อยู่บ้าน"

ระดับการเข้าถึงต่อไปนี้ใช้ได้สําหรับค่าข้อมูล "ไม่อยู่บ้าน"



การเข้าถึง

ไม่อยู่บ้าน
อ่าน/เขียนไม่อยู่บ้าน

เวลาถึงโดยประมาณอ่าน

การอ่าน/เขียนเวลาถึงโดยประมาณ
การอ่านสัญญาณเตือนควันและคาร์บอนมอนอกไซด์
การอ่านตัวควบคุมอุณหภูมิ
อ่าน/เขียนตัวควบคุมอุณหภูมิ
away ได้ ได้สิ ได้
eta_begin (อ่านเท่านั้น) ได้ ได้
ออบเจ็กต์ eta (เขียนเท่านั้น) ได้

ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมสิทธิ์

ฟีเจอร์ไม่อยู่บ้าน

อยู่บ้าน-ไม่อยู่บ้าน

ค่าข้อมูล away จะบอกได้ว่า Nest คิดว่ามีคนครอบครองโครงสร้างหรือไม่ โดยค่าที่เป็นไปได้มีดังนี้

ค่าคำอธิบาย
homeมีคนอยู่ในโครงสร้างนี้ สถานะนี้ตั้งค่าได้:
• ตาม Nest หากมั่นใจว่ามีความน่าเชื่อถือสูงจากข้อมูลเซ็นเซอร์ตรวจจับการเคลื่อนไหว
• โดยผู้ใช้ผ่านแอป Nest, Nest Thermostat หรือผลิตภัณฑ์ของคุณ
• ผ่านอัลกอริทึมผ่านเวลาถึงโดยประมาณ
awayไม่มีคนอยู่ในโครงสร้างนี้ ผู้ใช้ได้ตั้งค่าโครงสร้างไว้อย่างชัดเจน ไม่ว่าจะผ่านแอป Nest, Nest Thermostat หรือผลิตภัณฑ์
unknownหากไม่มีอุปกรณ์ที่เชื่อมโยงกับโครงสร้าง สถานะไม่อยู่บ้านจะเป็น unknown

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

โปรดทราบว่าผู้ใช้กําหนดสถานะอยู่บ้าน/ไม่อยู่บ้านด้วยตนเองได้เสมอ

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ผู้ใช้ตั้งค่าสถานะ "อยู่บ้าน" และ "ไม่อยู่บ้าน"

ETA

ไม่อยู่

ETA คือวัตถุที่มีช่องที่สามารถตั้งบนโครงสร้างได้ ใช้เพื่อแจ้งให้ Nest ทราบว่าผู้ใช้จะต้องกลับบ้านในเวลาที่เฉพาะเจาะจง เมื่อตั้งค่าเวลาถึงโดยประมาณ ผลิตภัณฑ์จะสร้าง trip_id ที่ไม่ซ้ํากันและระบุกรอบเวลาการมาถึงที่คาดไว้ ซึ่งระบุด้วยค่าต่อไปนี้

  • estimated_arrival_window_begin
  • estimated_arrival_window_end

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

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

ETA จะไม่ขึ้นอยู่กับสถานะบ้าน หากเวลาถึงโดยประมาณจะมาถึง ETA เวลาถึงโดยประมาณจะมีความสําคัญสูงสุด

โทรออกโดยใช้เวลาถึงโดยประมาณ

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

ค่าข้อมูล

การเรียกเวลาถึงโดยประมาณต้องมีค่าข้อมูลต่อไปนี้

ชื่อ ประเภท คำอธิบาย
trip_id สตริง ตัวระบุการเดินทางเวลาถึงโดยประมาณที่ไม่ซ้ํากัน
estimated_arrival_window_begin สตริง การประทับเวลา
ต้องมากกว่า NOW ในรูปแบบ ISO 8601
estimated_arrival_window_end สตริง การประทับเวลา
ต้องมากกว่า estimated_arrival_window_begin ในรูปแบบ ISO 8601

เนื่องจากความเป็นไปได้ในการออกจากการเชื่อมต่อในการสื่อสารด้วย GPS ขอแนะนําให้สตรีมตัวอย่างทุกๆ 5 นาที

การเรียก ETA ทั้งหมดต้องมีสตริง trip_id ที่ไม่ซ้ํากันซึ่งคุณกําหนดในการเรียกเริ่มต้น พารามิเตอร์อื่นๆ อาจเปลี่ยนตามการเรียกที่ต่อเนื่องไปยัง trip_id เดียวกันได้

การเรียก ETA จะแสดงรหัสสถานะ HTTP 200 OK เมื่อสําเร็จ

ตัวอย่าง

Curl
curl --location-trusted -X PUT -d \
  '{"trip_id":"sample-trip-id","estimated_arrival_window_begin":"2014-10-31T22:42:00.000Z","estimated_arrival_window_end":"2014-10-31T23:59:59.000Z"}' \
  "http://developer-api.nest.com/structures/5af48890-b516-11e3-9eff-123139166438/eta.json?auth=c.VG6bfzyOxAltaih6P4v..."

ยกเลิกเวลาถึงโดยประมาณ

หากต้องการยกเลิกการจัดส่ง ให้ส่ง estimated_arrival_window_begin = 0 ตรวจสอบว่าคุณส่งจํานวนเต็ม (0) ในการโทรครั้งนี้ ไม่ใช่สตริง ("0") ไม่เช่นนั้นการเรียกจะไม่สําเร็จ

ข้อความแสดงข้อผิดพลาด

ดูข้อมูลเกี่ยวกับความหมายของการเรียก API และวิธีจัดการข้อผิดพลาดได้ที่ข้อความแสดงข้อผิดพลาด