เอกสารนี้แสดงข้อผิดพลาดและข้อยกเว้นที่สนับสนุนอย่างเป็นทางการสำหรับ
อุปกรณ์ในบ้าน โปรดใช้รหัสข้อผิดพลาดและข้อยกเว้นที่ให้ไว้ใน Intent
การตอบกลับหรือในการแจ้งเตือน
หากคุณติดตั้งใช้งานไว้ Google Assistant จะแจ้งเตือนผู้ใช้ปลายทางเมื่อมีปัญหาที่เกี่ยวข้องกับ
คำสั่งหรือสถานะของอุปกรณ์ หากคำตอบมีรูปแบบที่ไม่ถูกต้อง หรือ
errorCode
Google Assistant จะแสดงข้อความแสดงข้อผิดพลาดทั่วไปให้แก่ผู้ใช้ เช่น
"ขออภัย device ไม่พร้อมใช้งานในขณะนี้"
ข้อผิดพลาด
คุณควรส่งคืนรหัสข้อผิดพลาดเมื่อปัญหาทำให้เกิดการดำเนินการหรือ คำขอไม่สำเร็จ เช่น หากล็อกประตูติดอยู่และไม่สามารถ ล็อกหรือปลดล็อก ระบบควรแสดงข้อผิดพลาดเกี่ยวกับสถานะนี้แก่ผู้ใช้
สามารถแนบรหัสข้อผิดพลาดได้ที่ระดับอุปกรณ์หรือที่ระดับส่วนกลาง ตัวอย่างเช่น
หากผู้ใช้มีหลอดไฟหลายดวงจากผู้ให้บริการรายเดียว และฮับจะควบคุมหลอดไฟเหล่านั้น
หากผู้ใช้ขอให้ปิดไฟทุกดวง ผู้ให้บริการอาจส่งคืน
ข้อผิดพลาดระดับอุปกรณ์หากไฟดวงเดียวออฟไลน์ หรือข้อผิดพลาดระดับส่วนกลางหาก
ฮับทั้งเครื่องอยู่ในสถานะออฟไลน์ และไม่มีการควบคุมไฟใดๆ หากทุก
อุปกรณ์ต่างๆ ออฟไลน์อยู่ ไม่มีความแตกต่างระหว่างการใช้ระดับส่วนกลางกับระดับอุปกรณ์
เมื่ออุปกรณ์ออฟไลน์อยู่ คุณควรรายงานสถานะ{"online": false}
ใน
reportState แม้ว่าคุณจะแสดงผล
รหัสข้อผิดพลาด deviceOffline
โดยสรุปได้ดังนี้
- ข้อผิดพลาดระดับส่วนกลาง: อุปกรณ์ทั้งหมดในการตอบสนองมีข้อผิดพลาดเดียวกัน
- ข้อผิดพลาดระดับท้องถิ่น: การตอบสนองแบบผสมที่มีข้อผิดพลาดและกรณีสำเร็จ
ข้อผิดพลาดระดับส่วนกลาง
ข้อมูลโค้ด JSON ต่อไปนี้แสดงวิธีแสดงข้อผิดพลาดระดับส่วนกลางใน คำตอบ QUERY หรือ EXECUTE
ตัวอย่างของข้อผิดพลาดระดับส่วนกลาง deviceOffline
เนื่องจากฮับคือ
ออฟไลน์:
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "errorCode": "deviceOffline", "status" : "ERROR" } }
ตัวอย่างของข้อผิดพลาดระดับส่วนกลาง inSoftwareUpdate
เนื่องจากฮับคือ
กำลังอัปเดต:
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "errorCode": "inSoftwareUpdate", "status" : "ERROR" } }
ข้อผิดพลาดระดับอุปกรณ์
การตอบกลับ QUERY
ข้อมูลโค้ด JSON ต่อไปนี้แสดงวิธีแสดงข้อผิดพลาดระดับอุปกรณ์ใน การตอบกลับ QUERY
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "devices": { "device-id-1": { "errorCode": "deviceOffline", "status" : "ERROR" }, "device-id-2": { "errorCode": "deviceOffline", "status" : "ERROR" } } } }
คำตอบ "EXECUTE"
ข้อมูลโค้ด JSON ต่อไปนี้แสดงวิธีแสดงข้อผิดพลาดระดับอุปกรณ์ใน EXECUTE การตอบกลับ
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "device-id-1" ], "status": "ERROR", "errorCode": "deviceOffline" }, { "ids": [ "device-id-2" ], "status": "SUCCESS", "states": { "on": true, "online": true } } ] } }
การแจ้งเตือนที่มีข้อผิดพลาด
การแจ้งเตือนเชิงรุก
ข้อมูลโค้ด JSON ต่อไปนี้แสดงวิธีรายงานข้อผิดพลาดระดับอุปกรณ์ใน การแจ้งเตือนเชิงรุก
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "agentUserId": "agent-user-id-1", "eventId": "unique-event-id-1", "payload": { "devices": { "notifications": { "device-id-1": { "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceDoorOpen" } } } } } }
การตอบกลับเพื่อติดตามผล
ข้อมูลโค้ด JSON ต่อไปนี้แสดงวิธีรายงานข้อผิดพลาดระดับอุปกรณ์ใน อีเมลตอบกลับเพื่อติดตามผล
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "agentUserId": "agent-user-id-1", "eventId": "unique-event-id-1", "payload": { "devices": { "notifications": { "device-id-1": { "LockUnlock": { "priority": 0, "followUpResponse": { "status": "FAILURE", "errorCode": "deviceJammingDetected", "followUpToken": "PLACEHOLDER" } } } } } } }
รายการข้อผิดพลาด
ข้อผิดพลาดต่อไปนี้จะสร้าง TTS ที่เกี่ยวข้องในอุปกรณ์
วันที่
- aboveMaximumLightEffectsDuration : นานกว่าระยะเวลาสูงสุดที่ 1 ชั่วโมงแล้ว โปรดลองอีกครั้ง
- aboveMaximumTimerDuration : ฉันตั้งค่าได้เฉพาะ <device(s)> เป็นเวลาสูงสุด <ระยะเวลา>
- actionNotAvailable : ขอโทษด้วย ดูเหมือนตอนนี้จะทำแบบนั้นไม่ได้
- actionUnavailableWhileRunning : <device(s)> <is/are> กำลังทำงานอยู่ ก็เลยเปลี่ยนแปลงอะไรไม่ได้
- alreadyArmed : <device(s)> <is/are> เปิดระบบแล้ว
- alreadyAtMax : <device(s)> <is/are> ตั้งเป็นอุณหภูมิสูงสุดแล้ว
- alreadyAtMin : <device(s)> <is/are> ตั้งเป็นอุณหภูมิต่ำสุดแล้ว
- alreadyClosed : <device(s)> <is/are> ปิดแล้ว
- alreadyDisarmed : <device(s)> <is/are> ปิดระบบแล้ว
- alreadyDocked : <device(s)> <is/are> อยู่บนแท่นชาร์จแล้ว
- alreadyInState : <device(s)> <is/are> อยู่ในสถานะนั้นแล้ว
- alreadyLocked : <device(s)> <is/are> ล็อกอยู่แล้ว
- alreadyOff : <device(s)> <is/are> ปิดไปแล้ว
- alreadyOn : <device(s)> <is/are> เปิดไว้แล้ว
- alreadyOpen : <device(s)> <is/are> เปิดไว้แล้ว
- alreadyPaused : <device(s)> <is/are> หยุดชั่วคราวแล้ว
- alreadyStarted : <device(s)> <is/are> ที่เริ่มไปแล้วเลย
- alreadyStopped : <device(s)> <is/are> หยุดอยู่แล้ว
- alreadyUnlocked : <device(s)> <is/are> ปลดล็อกแล้ว
- ambiguousZoneName : ขออภัย <device(s)> ระบุไม่ได้ว่าคุณหมายถึงโซนใด โปรดตรวจสอบว่าโซนมีชื่อไม่ซ้ำกันแล้วลองอีกครั้ง
- amountAboveLimit : มากกว่าที่ <device(s)> ช่วยสนับสนุนได้
- appLaunchFailed : ขออภัย เปิด <ชื่อแอป> ไม่สำเร็จ ใน <device(s)>
- armFailure : <device(s)> ติดอาวุธไม่ได้
- armLevelNeeded : ฉันไม่แน่ใจว่าจะตั้งค่า <device(s)> ระดับไหน เป็น ลองพูดว่า "ตั้งค่า <device(s)> เป็น <การรักษาความปลอดภัยต่ำ>" หรือ "ตั้งค่า <device(s)> เป็น <high safety>"
- authFailure : ดูเหมือนจะเข้าถึง <device(s)> ไม่ได้ ลองตรวจสอบแอปว่า <device/devices> <is/are> พร้อมใช้งานอย่างสมบูรณ์
- bagFull : <device(s)> <has/have> <a สัมภาระทั้งหมด/ถุงเต็ม> โปรดเว้นว่าง <it/them> แล้วลองอีกครั้ง
- belowMinimumLightEffectsDuration : สั้นกว่าระยะเวลาขั้นต่ำที่ 5 นาทีนะ โปรดลองอีกครั้ง
- belowMinimumTimerDuration : ฉันตั้งค่า <device(s)> ไม่ได้ ในช่วงเวลาสั้นๆ โปรดลองอีกครั้ง
- binFull : <device(s)> <has/have> <a Full bin/full bins>
- cancelArmingRestricted : ขออภัย ฉันยกเลิกการเปิดใช้งาน <device(s)> ไม่ได้
- cancelTooLate : ขออภัย คุณยกเลิกไม่ทันแล้ว ใช้ <device(s)> หรือแอปแทน
- channelSwitchFailed : ขออภัย เปลี่ยนเป็นช่อง <channel name> ไม่สำเร็จ โปรดลองอีกครั้งในภายหลัง
- chargerIssue : ขออภัย ดูเหมือน <device(s)> <has/have> <a ปัญหาเกี่ยวกับที่ชาร์จ/ปัญหาที่ชาร์จ>
- commandInsertFailed : ประมวลผลคำสั่งสำหรับ <device(s)> ไม่ได้
- deadBattery : <อุปกรณ์> <has/have> <แบตเตอรี่หมด/แบตเตอรี่หมด>
- degreesOutOfRange : องศาที่ขออยู่นอกช่วงของ <device(s)>
- deviceAlertNeedsAssistance : <device(s)> <has/have> การแจ้งเตือนที่ใช้งานอยู่และ <need(s)> ความช่วยเหลือของคุณ
- deviceAtExtremeTemperature : <อุปกรณ์> <is/are> ที่<อุณหภูมิสูงหรืออุณหภูมิสูงสุด>
- deviceBusy : ขออภัย ดูเหมือน <device(s)> กำลังทำอะไรบางอย่างอยู่แล้วในตอนนี้
- deviceCharging : ขออภัย ดูเหมือน <device(s)> ทำแบบนั้นไม่ได้เพราะกำลังชาร์จ (ha_shared.Its theyre size=$item.devices.total_device_count)
- deviceClogged : ขออภัย ดูเหมือน <device(s)> อุดตัน
- deviceCurrentlyDispensing : <device(s)> กำลังจ่ายอะไรบางอย่างอยู่ตอนนี้
- deviceDoorOpen : ประตูเปิดอยู่ใน <device(s)> โปรดปิดแล้วลองอีกครั้ง
- deviceHandleClosed : แฮนเดิลปิดอยู่ใน <device(s)> โปรดเปิดแล้วลองอีกครั้ง
- deviceJammingDetected : <device(s)> <is/are> ติดขัด
- deviceLidOpen : ฝาเครื่องเปิดอยู่ใน <device(s)> โปรดปิดแล้วลองอีกครั้ง
- deviceNeedsRepair : <device(s)> <need(s)> รอซ่อม โปรดติดต่อตัวแทนจำหน่ายที่ให้บริการในพื้นที่
- deviceNotDocked : ขออภัย ดูเหมือน <device(s)> <ไม่ใช่/ไม่ใช่> วางอยู่บนแท่นชาร์จแล้ว โปรดจอดที่ <it/them> แล้วลองอีกครั้ง
- deviceNotFound : <device(s)> <is/are>ไม่พร้อมใช้งาน คุณอาจลองตั้งค่า<it/them> อีกครั้ง
- deviceNotMounted : ขออภัย ดูเหมือน <device(s)> ทำแบบนั้นไม่ได้เพราะ <it/their> <is/are>ไม่ได้ติดตั้ง
- deviceNotReady : <device(s)> <is/are>ยังไม่พร้อม
- deviceStuck : <device(s)> <is/are> พบปัญหาและต้องการความช่วยเหลือจากคุณ
- deviceTampered : <อุปกรณ์> <has/have> ถูกดัดแปลง
- deviceThermalShutdown : ขออภัย ดูเหมือน <device(s)> ปิดลงเนื่องจากอุณหภูมิสูงหรือต่ำเกินไป
- directResponseOnlyUnreachable : <device(s)> <ไม่/ไม่> รองรับรีโมตคอนโทรล
- disarmFailure : <device(s)> ปิดระบบไม่ได้
- discreteOnlyOpenClose : ขออภัย <device(s)> จะเปิดหรือปิดจนสุดได้เท่านั้น
- dispenseAmountAboveLimit : <device(s)> จ่ายเยอะขนาดนั้นไม่ได้
- dispenseAmountBelowLimit : <device(s)> จ่ายน้อยขนาดนั้นไม่ได้
- dispenseAmountRemainingExceeded : <device(s)> มี <รายการจ่าย> ไม่เพียงพอ ทำแบบนั้นได้
- dispenseFractionalAmountNotSupported : <device(s)> จ่ายเศษส่วนของ <dispense item> ไม่ได้
- dispenseFractionalUnitNotSupported : <device(s)> ไม่รองรับเศษส่วนของหน่วยนั้นสำหรับ <dispense item>
- dispenseUnitNotSupported : <device(s)> ไม่รองรับหน่วยนั้นสำหรับ <dispense item>
- doorClosedTooLong : คุณเปิดประตูใน <device(s)> มาสักพักแล้ว ถูกเปิดแล้ว โปรดเปิดประตู ดูให้แน่ใจว่ามีของอยู่ในนั้นแล้วลองอีกครั้ง
- emergencyHeatOn : <device(s)> <is/are> ในโหมดแหล่งความร้อนฉุกเฉิน คุณจึงจะต้องปรับ <it/มัน> เอง
- faultyBattery : <อุปกรณ์> <has/have> <a แบตเตอรี่ที่มีข้อบกพร่อง/แบตเตอรี่ที่มีข้อบกพร่อง>
- floorUnreachable : <device(s)> ไม่สามารถเข้าถึงห้องนั้นได้ โปรดย้าย <it/them> ของชั้นที่ถูกต้องแล้วลองอีกครั้ง
- functionNotSupported : จริงๆ แล้ว <device(s)> <ไม่/ไม่> รองรับฟังก์ชันการทำงานนั้น
- genericDispenseNotSupported : จำเป็นต้องทราบว่าคุณต้องการจ่ายอะไร โปรดลองอีกครั้งด้วยชื่อของไอเทม
- hardError : ขอโทษด้วย มีบางอย่างผิดพลาดทำให้ควบคุมอุปกรณ์ในบ้านไม่ได้
- hardError : ขอโทษด้วย มีบางอย่างผิดพลาดทำให้ควบคุมอุปกรณ์ในบ้านไม่ได้
- inAutoMode : <device(s)> <is/are> ตอนนี้ตั้งเป็นโหมดอัตโนมัติ คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปใช้โหมดอื่น
- inAwayMode : <device(s)> <is/are> ตอนนี้ตั้งเป็นโหมดไม่อยู่ หากต้องการควบคุมตัวควบคุมอุณหภูมิ คุณจะต้องสลับเป็นโหมดอยู่บ้านด้วยตนเองโดยใช้แอป Nest ในโทรศัพท์ แท็บเล็ต หรือคอมพิวเตอร์
- inDryMode : <device(s)> <is/are> ตอนนี้ตั้งค่าเป็นโหมดแห้ง คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปใช้โหมดอื่น
- inEcoMode : <device(s)> <is/are> ตอนนี้ตั้งค่าเป็นโหมดอีโค คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปใช้โหมดอื่น
- inFanOnlyMode : <device(s)> <is/are> ตอนนี้ตั้งค่าเป็นโหมดแฟนเท่านั้น คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปใช้โหมดอื่น
- inHeatOrCool : <device(s)> <is/are>ไม่ได้อยู่ในโหมดทำความร้อน/ทำความเย็น
- inHumidifierMode : <device(s)> <is/are> ตอนนี้ตั้งค่าเป็นโหมดเครื่องทำความชื้น คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปใช้โหมดอื่น
- inOffMode : <device(s)> <is/are> ปิดอยู่ในขณะนี้ คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปยังโหมดอื่น
- inPurifierMode : <device(s)> <is/are> ตอนนี้ตั้งเป็นโหมดฟอกอากาศ คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปใช้โหมดอื่น
- inSleepMode : <device(s)> <is/are> ในโหมดสลีป โปรดลองอีกครั้งในภายหลัง
- inSoftwareUpdate : <อุปกรณ์> <is/are> อยู่ระหว่างการอัปเดตซอฟต์แวร์
- lockFailure : <device(s)> ล็อกไม่ได้
- lockedState : <device(s)> <is/are> ล็อกอยู่ในขณะนี้
- lockedToRange : อุณหภูมินั้นอยู่นอกช่วงที่ล็อกไว้ใน <device(s)>
- lowBattery : <อุปกรณ์> <has/have> แบตเตอรี่เหลือน้อย
- maxSettingReached : <device(s)> <is/are> เป็นการตั้งค่าสูงสุดแล้ว
- maxSpeedReached : <device(s)> <is/are> ตั้งเป็นความเร็วสูงสุดแล้ว
- minSettingReached : <device(s)> <is/are> ตั้งเป็นการตั้งค่าที่ต่ำที่สุดแล้ว
- minSpeedReached : <device(s)> <is/are> ตั้งเป็นความเร็วขั้นต่ำแล้ว
- monitoringServiceConnectionLost : <device(s)> <has/have> <its/their> เชื่อมต่อกับบริการตรวจสอบ
- needsAttachment : ขออภัย ดูเหมือน <device(s)> <is/are> ไม่มีไฟล์แนบที่จำเป็น โปรดใส่โค้ดใหม่แล้วลองอีกครั้ง
- needsBin : ขออภัย ดูเหมือน <device(s)> <is/are> ไม่มีถัง โปรดใส่โค้ดใหม่แล้วลองอีกครั้ง
- needsPads : <device(s)> <need(s)> ใหม่ๆ
- needsSoftwareUpdate : <อุปกรณ์> <need(s)> การอัปเดตซอฟต์แวร์
- needsWater : <device(s)> <need(s)> ค่าน้ำ
- networkProfileNotRecognized : ขออภัย ฉันไม่รู้จัก "<โปรไฟล์เครือข่าย>" ใน <device(s)>
- networkSpeedTestInProgress : ฉันกำลังทดสอบ <network> <speed/speeds>> คืออะไร
- noAvailableApp : ขออภัย ดูเหมือน <ชื่อแอป> ไม่พร้อมให้บริการ
- noAvailableChannel : ขออภัย ดูเหมือนช่อง <channel name> ไม่พร้อมให้บริการ
- noChannelSubscription : ขออภัย คุณไม่ได้ติดตามช่อง <channel name> ในขณะนี้
- noTimerExists : ขอโทษนะ ดูเหมือนไม่ได้ตั้งตัวจับเวลาไว้ใน <device(s)> ไว้
- notSupported : ขอโทษนะ โหมดนั้นไม่พร้อมใช้งานใน <device(s)>
- obstructionDetected : <device(s)> ตรวจพบสิ่งกีดขวาง
- ออฟไลน์ , deviceออฟไลน์ : ขออภัย ดูเหมือน <device(s)> <is/are>ไม่พร้อมใช้งานในขณะนี้
- onRequiresMode : โปรดระบุโหมดที่ต้องการเปิด
- passphraseIncorrect : ขออภัย ดูเหมือนว่า PIN จะไม่ถูกต้อง
- percentOutOfRange : ขอโทษด้วย ตั้ง <device(s)> ไม่ได้ เป็น <percent>
- pinIncorrect : (passphraseIncorrect)
- rainDetected : ฉันไม่ได้เปิด <device(s)> เพราะตรวจพบฝนตก
- rangeTooClose : อุปกรณ์เหล่านั้นอยู่ใกล้ช่วง Heat-Cool ของ <device(s)> มากเกินไป โปรดเลือกช่วงอุณหภูมิที่อยู่ห่างจากช่วงดังกล่าว
- relinkRequired : ขออภัย บัญชีของคุณน่าจะมีปัญหาบางอย่าง ใช้แอป Google Home หรือ Assistant เพื่อลิงก์ <device(s)> อีกครั้ง
-
remoteSetDisabled
:
- พารามิเตอร์ที่ไม่บังคับ
errorCodeReason
currentlyArmed
- ขออภัย เนื่องจากการรักษาความปลอดภัยเริ่มทำงานแล้ว คุณต้องใช้ <device(s)> หรือแอปให้ทำการเปลี่ยนแปลงremoteUnlockNotAllowed
- ขอโทษด้วย ฉันปลดล็อก <device(s)> ไม่ได้ จากระยะไกลremoteControlOff
- การทำงานนี้ถูกปิดใช้งานอยู่ โปรดเปิดใช้รีโมตคอนโทรลใน <device(s)> แล้วลองอีกครั้งchildSafetyModeActive
- ปิดใช้งานการดำเนินการนั้นใน <device(s)> ขณะที่เปิดใช้งานโหมดปลอดภัยของเด็ก
- พารามิเตอร์ที่ไม่บังคับ
- roomsOnDifferentFloors : <device(s)> เข้าถึงห้องพวกนั้นไม่ได้เพราะอยู่คนละชั้น
- safetyShutOff : <device(s)> <is/are> ในโหมดปลอดภัยปิด คุณจึงจะต้องปรับ <it/โปรไฟล์> ด้วยตนเอง
- sceneCannotBeApplied : ขออภัย <device(s)> ไม่สามารถใช้ได้
- securityRestriction : <device(s)> <has/have> ข้อจำกัดด้านความปลอดภัย
- softwareUpdateNotAvailable : ขออภัย ไม่มีการอัปเดตซอฟต์แวร์ใน <device(s)>
- startRequiresTime : สำหรับเรื่องนั้น คุณจะต้องบอกก่อนว่าจะใช้ <device(s)> นานแค่ไหน
- stillCoolingDown : <device(s)> <is/are> ยังคงเย็นลงอยู่
- stillWarmingUp : <device(s)> <is/are> ที่ยังเป็นปกติทั่วไปอยู่
- streamUnavailable : ขออภัย ดูเหมือนว่าตอนนี้สตรีมจาก <device(s)> ไม่พร้อมใช้งาน
- streamUnplayable : ขออภัย ฉันเล่นสตรีมจาก <device(s)> ไม่ได้ ในขณะนี้
- tankEmpty : <device(s)> <has/have> <ถังเปล่า/ถังเปล่า> โปรดกรอก <it/them> แล้วลองอีกครั้ง
- targetAlreadyReached : ขอโทษนะ ดูเหมือนว่าจะเป็นอุณหภูมินั้นอยู่แล้ว
- timerValueOutOfRange : <device(s)> ตั้งค่าระยะเวลาดังกล่าวไม่ได้
- tooManyFailedAttempts : ขออภัย คุณดำเนินการไม่สำเร็จหลายครั้งเกินไป โปรดไปที่แอปของอุปกรณ์เพื่อดําเนินการดังกล่าวให้เสร็จสิ้น
- transientError : ขออภัย มีบางอย่างผิดพลาดในการควบคุม <device(s)> โปรดลองอีกครั้ง
- turnedOff , อุปกรณ์ปิดอยู่ : <device(s)> <is/are> ปิดอยู่ในตอนนี้
- unableToLocateDevice : ฉันไม่พบ <device(s)>
- unknownFoodPreset : <device(s)> ไม่รองรับค่าอาหารล่วงหน้านั้น
- unlockFailure : <device(s)> ไม่สามารถปลดล็อก
- unpausableState : <device(s)> หยุดชั่วคราวไม่ได้ในขณะนี้
- userCancelled : ตกลง
- valueOutOfRange : <device(s)> ตั้งค่าเป็นอุณหภูมินั้นไม่ได้
ข้อยกเว้น
คุณควรส่งคืนข้อยกเว้นเมื่อมีปัญหาหรือการแจ้งเตือนที่เชื่อมโยงกับ คำสั่ง คำสั่งนี้อาจสำเร็จหรือล้มเหลว
หากคำสั่งสำเร็จ (สถานะ = "สำเร็จ") ให้รายงานข้อยกเว้น
โดยใช้ลักษณะ StatusReport
(สำหรับอุปกรณ์อื่นๆ นอกเหนือจากเป้าหมาย)
หรือโดยแสดงผล exceptionCode
ที่เหมาะสม (สำหรับอุปกรณ์เป้าหมาย)
ตัวอย่างเช่น หากหน้าจอผ้าย่อยสำหรับเครื่องอบผ้าเต็ม ผู้ใช้ยังคงเริ่มต้นได้ เครื่องอบผ้า แต่คุณอาจต้องการเตือนผู้ใช้เกี่ยวกับรัฐนี้ ในทำนองเดียวกัน เมื่อ อุปกรณ์มีแบตเตอรี่เหลือน้อย คุณยังเรียกใช้คำสั่งได้อยู่ แต่ควรบอกให้รู้ว่าแบตเตอรี่ของอุปกรณ์เหลือน้อย
หากเรียกใช้คำสั่งไม่สำเร็จเนื่องจากข้อยกเว้น สถานะควรเป็น "EXCEPTIONS"
และควรรายงานข้อยกเว้นโดยใช้ลักษณะ StatusReport
ข้อยกเว้นที่ไม่บล็อก (สำเร็จ) เกี่ยวกับอุปกรณ์เป้าหมาย
ตัวอย่างการล็อกประตู
ล็อกประตูหน้าเหลือแบตเตอรี่น้อย กำลังล็อกประตูหน้า
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["device-id-1"], "status": "SUCCESS", "states": { "on": true, "online": true, "isLocked": true, "isJammed": false, "exceptionCode": "lowBattery" } }] } }
ข้อยกเว้นที่ไม่บล็อก (สำเร็จ) เกี่ยวกับอุปกรณ์อื่นโดยใช้ StatusReport
ตัวอย่างการเปิดใช้งานระบบรักษาความปลอดภัย: การเปิดระบบรักษาความปลอดภัย หน้าต่างด้านหน้าเปิดอยู่
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["device-id-1"], "status": "SUCCESS", "states": { "on": true, "online": true, "isArmed": true, "currentArmLevel": "L2", "currentStatusReport": [{ "blocking": false, "deviceTarget": "sensor_id1", "priority": 0, "statusCode": "deviceOpen" }] } }] } }
การบล็อกข้อยกเว้นเกี่ยวกับอุปกรณ์อื่นโดยใช้ StatusReport
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "devices": { "device-id-1": { "on": true, "online": true, "status": "EXCEPTIONS", "currentStatusReport": [{ "blocking": true, "deviceTarget": "device-id-1", "priority": 0, "statusCode": "lowBattery" }, { "blocking": true, "deviceTarget": "front_window_id", "priority": 1, "statusCode": "deviceOpen" }, { "blocking": true, "deviceTarget": "back_window_id", "priority": 1, "statusCode": "deviceOpen" } ] } } } }
รายการข้อยกเว้น
ข้อยกเว้นต่อไปนี้จะสร้าง TTS ที่เกี่ยวข้องในอุปกรณ์
วันที่
- bagFull : <device(s)> <has/have> <a สัมภาระทั้งหมด/ถุงเต็ม> โปรดเว้นว่าง <it/them> แล้วลองอีกครั้ง
- binFull : <device(s)> <has/have> <a Full bin/full bins>
- carbonMonoxideDetected : ตรวจพบคาร์บอนมอนอกไซด์ใน <ชื่อบ้าน>
- deviceAtExtremeTemperature : <อุปกรณ์> <is/are> ที่<อุณหภูมิสูงหรืออุณหภูมิสูงสุด>
- deviceJammingDetected : <device(s)> <is/are> ติดขัด
- deviceMoved : <device(s)> <was/were> ย้ายแล้ว
- deviceOpen : <อุปกรณ์> <is/are> เปิดอยู่
- deviceTampered : <อุปกรณ์> <has/have> ถูกดัดแปลง
- deviceUnplugged : <อุปกรณ์> <is/are> ไม่ได้เสียบปลั๊ก
- floorUnreachable : <device(s)> ไม่สามารถเข้าถึงห้องนั้นได้ โปรดย้าย <it/them> ของชั้นที่ถูกต้องแล้วลองอีกครั้ง
- hardwareFailure : <อุปกรณ์> <has/have> ปัญหาด้านฮาร์ดแวร์
- inSoftwareUpdate : <อุปกรณ์> <is/are> อยู่ระหว่างการอัปเดตซอฟต์แวร์
- isBypassed : <device(s)> <is/are> ที่ข้ามในปัจจุบัน
- lowBattery : <อุปกรณ์> <has/have> แบตเตอรี่เหลือน้อย
- motionDetected : <อุปกรณ์> <detect(s)> การเคลื่อนไหว
- needsPads : <device(s)> <need(s)> ใหม่ๆ
- needsSoftwareUpdate : <อุปกรณ์> <need(s)> การอัปเดตซอฟต์แวร์
- needsWater : <device(s)> <need(s)> ค่าน้ำ
- networkJammingDetected : การเชื่อมต่อเครือข่ายในบ้านกับ <device(s)> ทำงานไม่ถูกต้อง
- noIssuesReported : <device(s)> ไม่ได้รายงานว่ามีปัญหาใดๆ
- roomsOnDifferentFloors : <device(s)> เข้าถึงห้องพวกนั้นไม่ได้เพราะอยู่คนละชั้น
- runCycleFinished : <device(s)> <has/have> ทำงานเสร็จแล้ว
- securityRestriction : <device(s)> <has/have> ข้อจำกัดด้านความปลอดภัย
- smokeDetected : ตรวจพบควันใน <ชื่อบ้าน>
- tankEmpty : <device(s)> <has/have> <ถังเปล่า/ถังเปล่า> โปรดกรอก <it/them> แล้วลองอีกครั้ง
- usingCellularBackup : <อุปกรณ์> <is/are> โดยใช้ฟีเจอร์ใช้อินเทอร์เน็ตมือถือเป็นเครือข่ายสำรอง
- waterLeakDetected : <อุปกรณ์> <detect(s)> น้ำรั่ว