เอกสารนี้แสดงข้อผิดพลาดและข้อยกเว้นที่สนับสนุนอย่างเป็นทางการสําหรับอุปกรณ์ในบ้านอัจฉริยะ โปรดใช้ข้อผิดพลาดและรหัสข้อผิดพลาดต่อไปนี้ในการตอบสนอง Intent หรือในการแจ้งเตือนหากคุณใช้งาน Google Assistant จะแจ้งเตือนผู้ใช้ปลายทางเกี่ยวกับปัญหาที่เกี่ยวข้องกับคําสั่งหรือสถานะของอุปกรณ์ หากคําตอบอยู่ในรูปแบบที่ไม่ถูกต้องหรือ
errorCode
Google Assistant จะแสดงข้อความแสดงข้อผิดพลาดทั่วไป เช่น
"ขออภัย อุปกรณ์ไม่พร้อมใช้งานในขณะนี้"
ข้อผิดพลาด
คุณควรแสดงรหัสข้อผิดพลาดเมื่อปัญหาทําให้เกิดคําขอการดําเนินการหรือการค้นหาไม่สําเร็จ ตัวอย่างเช่น หากการล็อกประตูติดอยู่และไม่สามารถล็อกหรือปลดล็อกได้ ควรแสดงข้อผิดพลาดเกี่ยวกับสถานะนี้ให้กับผู้ใช้
สามารถแนบรหัสข้อผิดพลาดได้ในระดับอุปกรณ์หรือระดับสากล ตัวอย่างเช่น ถ้าผู้ใช้ไฟหลายดวงจากผู้ให้บริการรายหนึ่งควบคุมโดยฮับ เมื่อผู้ใช้ขอปิดไฟทุกดวง ผู้ให้บริการอาจแสดงข้อผิดพลาดระดับอุปกรณ์ถ้าไฟดวงเดียวออฟไลน์ หรือข้อผิดพลาดระดับโลกถ้าทั้งฮับออฟไลน์อยู่ และจะควบคุมหลอดไฟไม่ได้ หากอุปกรณ์ทุกเครื่องออฟไลน์ จะไม่มีข้อผิดพลาดระหว่างการใช้ข้อผิดพลาดในระดับสากลหรือระดับอุปกรณ์ เมื่ออุปกรณ์ออฟไลน์อยู่ คุณควรรายงานสถานะ {"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 ที่เกี่ยวข้องในอุปกรณ์
- aboveMaxLightEffectsDuration : มากกว่าระยะเวลาสูงสุด 1 ชั่วโมง โปรดลองอีกครั้ง
- ที่ด้านบน maxDurationDuration : ฉันตั้งค่า <device(s)> ได้ไม่เกิน <time period>
- actionNotavailable : ขออภัย ตอนนี้เราไม่สามารถทําแบบนั้นได้
- actionUnavailableDoesRunning : <device(s)> <is/are> กําลังทํางานอยู่ตอนนี้ ก็เลยแก้ไขอะไรไม่ได้
- Armed : <device(s)> <is/are> เปิดเครื่องแล้ว
- alreadyAtMax : <device(s)> <is/are> ตั้งค่าเป็นอุณหภูมิสูงสุดแล้ว
- alreadyAtMin : <device(s)> <is/are> ตั้งค่าเป็นอุณหภูมิต่ําสุดแล้ว
- ปิดแล้ว : <device(s)> <is/are> ปิดไปแล้ว
- ปิดระบบแล้ว : <device(s)> <is/are> ถูกปิดระบบแล้ว
- แท่นชาร์จอยู่แล้ว : <device(s)> <is/are> อยู่บนแท่นชาร์จแล้ว
- alreadyInState : <device(s)> <is/are> อยู่ในสถานะนั้นแล้ว
- ล็อกแล้ว : <device(s)> <is/are> ล็อกอยู่แล้ว
- ปิดแล้ว : <device(s)> <is/are> ปิดอยู่
- เปิดอยู่แล้ว : <device(s)> <is/are> เปิดอยู่
- เปิดอยู่แล้ว : <device(s)> <is/are> เปิดอยู่แล้ว
- หยุดชั่วคราวแล้ว : <device(s)> <is/are> หยุดชั่วคราวแล้ว
- เริ่มต้นแล้ว : <device(s)> <is/are> เริ่มทํางานแล้ว
- หยุดแล้ว : <device(s)> <is/are> หยุดทํางานแล้ว
- ปลดล็อกแล้ว : <device(s)> <is/are> ปลดล็อกอยู่แล้ว
- ambiguousZoneName : ขออภัย <device(s)> ระบุว่าคุณหมายถึงโซนใด โปรดตรวจสอบว่าโซนมีชื่อไม่ซ้ํากันแล้วลองอีกครั้ง
- amountAboveLimit : มากกว่าสิ่งที่ <device(s)> รองรับได้
- appLaunchFailed : ขออภัย เปิด <ชื่อแอป> ใน <device(s)> ไม่สําเร็จ
- ArmFailure : <device(s)> เปิดระบบไม่ได้
- armLevelRequireed : ฉันไม่แน่ใจว่าจะตั้งค่า <device(s)> เป็นระดับใด ลองพูดว่า "ตั้ง <อุปกรณ์> เป็น <ความปลอดภัยต่ํา>" หรือ "ตั้ง <อุปกรณ์> เป็น <ความปลอดภัยสูง>"
- authFailure : ฉันไม่สามารถเข้าถึง <device(s)> ลองตรวจสอบแอปเพื่อให้แน่ใจว่าได้ตั้งค่า <device/devices> <is/are> เรียบร้อยแล้ว
- BagFull : <device(s)> <has/have> <a full bags/full bags> โปรดล้างข้อมูล <it/them> แล้วลองอีกครั้ง
- ต่ํากว่าMinimumLightEffectsDuration : น้อยกว่าระยะเวลาขั้นต่ํา 5 นาที โปรดลองอีกครั้ง
- ต่ํากว่าMinimumMinimumDuration : ฉันตั้งค่า <device(s)> เป็นระยะเวลาสั้นๆ ไม่ได้ โปรดลองอีกครั้ง
- binFull : <device(s)> <has/have> <a full bin/full bins>
- cancelArmingRestricted : ขออภัย ฉันยกเลิกการเปิดใช้งาน <device(s)> ไม่ได้
- cancelTooLate : ขออภัย ยกเลิกไม่ทัน โปรดใช้ <device> หรือแอปแทน
- channelSwitchFailed : ขออภัย เปลี่ยนเป็นช่อง <channel name> ไม่สําเร็จ โปรดลองอีกครั้งในภายหลัง
- ที่ชาร์จ : ขออภัย ดูเหมือนว่า <device(s)> <has/have> <aแสดงถึงปัญหาที่ชาร์จ/ปัญหาเกี่ยวกับที่ชาร์จ>
- commandInsertFailed : ประมวลผลคําสั่งสําหรับ <device(s)> ไม่ได้
- แบตเตอรี่หมด : <device(s)> <has/have> <a deadแบตเตอรี่/adad eriess>
- องศาภายนอก : องศาที่ขออยู่นอกช่วงของ <อุปกรณ์(s)>
- deviceAlertRequiresAssistance : <device(s)> <has/have> a active notification and <need(s(s)> ความช่วยเหลือของคุณ
- deviceAtExtremeTemperature : <device(s)> <is/are> ที่ <antremtemp/tremeอุณหภูมิs>
- อุปกรณ์ไม่ว่าง : ขออภัย ดูเหมือนว่า <device(s)> กําลังทําอะไรอยู่
- การชาร์จอุปกรณ์ : ขออภัย ดูเหมือนว่า <device(s)> ดําเนินการดังกล่าวไม่ได้เนื่องจากการชาร์จ (ha_shared.Itsโฆษณาเหล่านั้นre size=$item.devices.total_device_count)
- deviceClogged : ขออภัย ดูเหมือนว่า <device(s)> อุดตันนะ
- deviceCurrentDispensing : <device(s)> กําลังจ่ายอาหารอยู่ตอนนี้
- deviceDoorOpen : ประตูเปิดอยู่ใน <device(s)> โปรดปิดประตูดังกล่าวแล้วลองอีกครั้ง
- deviceHandleClosed : แฮนเดิลปิดอยู่ใน <device(s)> โปรดเปิดแฮนเดิลแล้วลองอีกครั้ง
- deviceJammingDetected : <device(s)> <is/are> ติดขัด
- deviceLidOpen : ฝาเปิดใน <device(s)> โปรดปิดฝาแล้วลองใหม่
- deviceneedsRepair : <device(s)> <need(s)> ที่จะได้รับการซ่อมแซม โปรดติดต่อตัวแทนจําหน่ายในพื้นที่
- deviceNotDocked : ขออภัย ดูเหมือนว่าอุปกรณ์ <is(s)> <isn't/aren't> อยู่ที่แท่นชาร์จ โปรดเสียบ <it/them> แล้วลองอีกครั้ง
- deviceNotFound : <device(s)> <is/are> ไม่พร้อมใช้งาน คุณอาจต้องลองตั้งค่า <it/them> อีกครั้ง
- deviceNotMounted : ขออภัย ดูเหมือนว่า <device(s)> ทําแบบนั้นไม่ได้ เนื่องจาก <it/they> <is/are> ไม่ได้ต่อเชื่อม
- deviceNotReady : <device(s)> <is/are>ยังไม่พร้อม
- deviceStuck : <device(s)> <is/are> ติดขัดและต้องการความช่วยเหลือจากคุณ
- deviceTampered : <device(s)> <has/have> ถูกแก้ไข
- deviceThermalShutdown : ขออภัย ดูเหมือนว่า <device(s)> ปิดตัวลงเพราะอุณหภูมิสูงหรือต่ําเกินไป
- directResponseOnlyUnreachable : <device(s)> <don't/don't> สนับสนุนการควบคุมระยะไกล
- disarmFailure : ปิด <device(s)> ไม่ได้
- discreteOnlyOpenClose : ขออภัย <device(s)> เปิดหรือปิดได้จนสุด
- dispenseAmountAboveLimit : <device(s)> ไม่สามารถจ่ายยาได้เป็นจํานวนมาก
- dispenseAmountLowLimit : <device(s)> จ่ายเงินจํานวนนี้น้อยไม่ได้
- dispenseAmountRemainingExceeded : <device(s)> มี <dispense item> ไม่เพียงพอสําหรับดําเนินการ
- dispenseFractionalAmountNotSupported : <device(s)> ไม่สามารถกระจายเศษส่วนของ <dispense item>
- dispenseFractionalUnitNotSupported : <device(s)> ไม่รองรับเศษส่วนของหน่วยนั้นสําหรับ <dispense item>
- dispenseUnitNotSupported : <device(s)> ไม่รองรับหน่วยดังกล่าวสําหรับ <dispense item>
- GateClosedTooLong : ประตูบน <device(s)> ได้เปิดไว้แล้ว โปรดเปิดประตู ดูให้แน่ใจว่ามีของอยู่ในนั้นแล้วลองอีกครั้ง
- EmergencyHeatOn : <device(s)> <is/are> ในโหมดฉุกเฉิน จึงต้องปรับ <it/them> ด้วยตนเอง
- โหมดแบตเตอรี่ผิดพลาด : <อุปกรณ์) <มี/มี> <aแบตเตอรี่ผิดพลาด/แบตเตอรี่ขัดข้อง>
- floorUnreachable : <device(s)> เข้าถึงห้องดังกล่าวไม่ได้ โปรดย้าย <it/them> ไปยังชั้นที่ถูกต้องแล้วลองอีกครั้ง
- functionNotSupported : อันที่จริง <device(s)> <don't/don’t> รองรับฟังก์ชันดังกล่าว
- genericDispenseNotSupported : ฉันต้องการทราบสิ่งที่คุณต้องการจ่าย โปรดลองอีกครั้งด้วยชื่อของสินค้า
- HardError : ขออภัย มีบางอย่างผิดพลาดและฉันควบคุมอุปกรณ์ในบ้านไม่ได้
- HardError : ขออภัย มีบางอย่างผิดพลาดและฉันควบคุมอุปกรณ์ในบ้านไม่ได้
- inAutoMode : <device(s)> <is/are> ตั้งค่าเป็นโหมดอัตโนมัติอยู่ในขณะนี้ ถ้าจะปรับอุณหภูมิก็ต้อง <it/them> เป็นโหมดอื่น
- inAwayMode : <device(s)> <is/are> ตั้งค่าเป็นโหมดไม่อยู่ หากต้องการควบคุมตัวควบคุมอุณหภูมิ คุณจะต้องสลับเป็นโหมดบ้านเองโดยใช้แอป Nest ในโทรศัพท์ แท็บเล็ต หรือคอมพิวเตอร์
- inDryMode : <device(s)> <is/are> ตั้งค่าเป็นโหมดแห้ง ถ้าจะปรับอุณหภูมิก็ต้อง <it/them> เป็นโหมดอื่น
- inEcoMode : <device(s)> <is/are> ตั้งค่าเป็นโหมดประหยัดพลังงาน ถ้าจะปรับอุณหภูมิก็ต้อง <it/them> เป็นโหมดอื่น
- inFanOnlyMode : <device(s)> <เป็น/เป็น> ตั้งค่าเป็นโหมดพัดลมเท่านั้น ถ้าจะปรับอุณหภูมิก็ต้อง <it/them> เป็นโหมดอื่น
- inHeatOrCool : <device(s)> <is/are>ไม่ได้อยู่ในโหมดทําความร้อน/ทําความเย็น
- inHumidifierMode : <device(s)> <เป็น/เป็น> ตั้งค่าเป็นโหมดเครื่องทําความชื้น ถ้าจะปรับอุณหภูมิก็ต้อง <it/them> เป็นโหมดอื่น
- inOffMode : <device(s)> <is/are> ปิดอยู่ ถ้าจะเปลี่ยนอุณหภูมิ คุณต้องสลับ <it/them> เป็นโหมดอื่น
- inPurifierMode : <device(s)> <is/are> ตั้งค่าเป็นโหมดฟอกอากาศ ถ้าจะปรับอุณหภูมิก็ต้อง <it/them> เป็นโหมดอื่น
- inSleepMode : <device(s)> <is/are> ในโหมดสลีป โปรดลองอีกครั้งภายหลัง
- inSoftwareUpdate : <device(s)> <is/are> อยู่ในการอัปเดตซอฟต์แวร์
- lockFailure : <device(s)> ล็อกไม่ได้
- lockState : <device(s)> <is/are> ถูกล็อกอยู่ในขณะนี้
- lockToRange : อุณหภูมินั้นอยู่นอกช่วงที่ล็อกใน <device(s)>
- แบตเตอรี่ต่ํา : <device(s)> <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> สูญเสียการเชื่อมต่อ <it//>> กับบริการ Monitoring
- needAttachment : ขออภัย ดูเหมือนว่า <device/s>จะ<จําเป็น/ไม่มี>ไฟล์แนบที่จําเป็น โปรดเปลี่ยนใหม่แล้วลองอีกครั้ง
- needBin : ขออภัย ดูเหมือนว่า <device/s> <is/are> ไม่มีถัง โปรดเปลี่ยนใหม่แล้วลองอีกครั้ง
- NeedPads : <device(s)> <need(s)> แผ่นใหม่
- needSoftwareUpdate : <device(s)> <need(s)> การอัปเดตซอฟต์แวร์
- NeedWater : <device(s)> <need(s)> น้ํา
- networkProfileNotRecognized : ขออภัย ฉันไม่รู้จัก "<network profile>" ใน <device(s)>
- networkSpeedTestInProgress : ฉันกําลังทดสอบ <network> <speed/speeds>> อยู่แล้ว
- noAVAILABLEApp : ขออภัย ดูเหมือนว่า <ชื่อแอป> ยังไม่พร้อมให้บริการ
- noavailableChannel : ขออภัย ดูเหมือนว่าช่อง <channel name> ไม่พร้อมให้บริการ
- noChannelSubscription : ขออภัย คุณไม่ได้ติดตามช่อง <channel name> อยู่ในขณะนี้
- ไม่มีตัวจับเวลาที่มีอยู่ : ขออภัย ดูเหมือนว่าไม่มีตัวจับเวลาที่ตั้งไว้ใน <อุปกรณ์ >
- ไม่รองรับ : ขออภัย โหมดนี้ไม่พร้อมให้บริการสําหรับ <device(s)>
- obstructionDetected : <device(s)> ตรวจพบสิ่งกีดขวาง
- ออฟไลน์ , อุปกรณ์ออฟไลน์ : ขออภัย ดูเหมือนว่า <device(s)> <is/are>ไม่พร้อมใช้งานในขณะนี้
- onRequiresMode : โปรดระบุโหมดที่ต้องการเปิด
- รหัสผ่านไม่ถูกต้อง : ขออภัย ดูเหมือนว่า PIN นี้ไม่ถูกต้อง
- เปอร์เซ็นต์ภายนอก : ขออภัย ฉันตั้งค่า <อุปกรณ์> เป็น <เปอร์เซ็นต์> ไม่ได้
- PIN ไม่ถูกต้อง : (รหัสผ่านไม่ถูกต้อง)
- RainDetected : ฉันไม่ได้เปิด <device(s)> เพราะตรวจพบฝน
- rangeTooClose : บริเวณเหล่านี้อยู่ใกล้ช่วง Heat-Cool ของ <device(s)> มากเกินไป โปรดเลือกช่วงอุณหภูมิที่อยู่ห่างจากช่วงนี้มากกว่า
- ต้องการลิงก์อีกครั้ง : ขออภัย ดูเหมือนว่ามีบางอย่างผิดปกติกับบัญชี โปรดใช้แอป Google Home หรือแอป Assistant เพื่อลิงก์ <device(s)>อีกครั้ง
-
RemoteSetDisabled
:
- พารามิเตอร์ที่ไม่บังคับ
errorCodeReason
currentlyArmed
- ขออภัย เนื่องจากระบบรักษาความปลอดภัยเปิดอยู่แล้ว คุณจะต้องใช้ <device(s)> หรือแอปเพื่อทําการเปลี่ยนแปลงremoteUnlockNotAllowed
- ขออภัย ฉันปลดล็อก <อุปกรณ์> จากระยะไกลไม่ได้remoteControlOff
- การทํางานนั้นถูกปิดใช้งานอยู่ในขณะนี้ โปรดเปิดใช้รีโมตคอนโทรลใน <อุปกรณ์> แล้วลองอีกครั้งchildSafetyModeActive
- การดําเนินการนี้จะปิดใช้งาน <device(s)> ขณะที่ใช้งานโหมดปลอดภัยสําหรับเด็ก
- พารามิเตอร์ที่ไม่บังคับ
- RoomsOnDifferentFloors : <device(s)> เข้าถึงห้องเหล่านั้นไม่ได้เนื่องจากอยู่คนละชั้น
- SafetyShutOff : <device(s)> <is/are> ในโหมดปิดความปลอดภัย ดังนั้นคุณจะต้อง <it/them> ปรับเอง
- modeCannotBeApplied : ใช้ <device(s)> ไม่ได้
- securityRestriction : <device(s)> <has/have> ข้อจํากัดด้านความปลอดภัย
- SoftwareUpdateNotNot : ขออภัย ไม่มีการอัปเดตซอฟต์แวร์ให้บริการใน <device(s)>
- startRequiresTime : วิธีการคือให้บอกเวลาที่ต้องการเรียกใช้ <device(s)>
- tillCoolingDown : <device(s)> <is/are> ยังอยู่ระหว่างรอให้ระบบเย็นลง
- tillWarmingUp : <device(s)> <is/are> ยังทําความร้อนอยู่
- StreamUnavailable : ขออภัย ดูเหมือนว่าสตรีมจะใช้งานไม่ได้จาก <device(s)>
- streamUnplayable : ขออภัย ตอนนี้ฉันเปิดสตรีมจาก <device(s)> ไม่ได้
- tankEmpty : <device(s)> <has/have> <an empty tank/empty tank> โปรดกรอก <it/them> แล้วลองอีกครั้ง
- targetAlreadyReached : ขออภัย ดูเหมือนว่าอุณหภูมินั้นเป็นอุณหภูมิปัจจุบันแล้ว
- TimerValueOutOfRange : <device(s)> ภายในระยะเวลาดังกล่าวไม่ได้
- FailedFailedAttempts มากเกินไป : ขออภัย คุณป้อนรหัสผ่านผิดหลายครั้งเกินไป โปรดไปที่แอปของอุปกรณ์เพื่อดําเนินการดังกล่าวให้เสร็จ
- transientError : ขออภัย มีบางอย่างผิดพลาดในการควบคุม <device(s)> โปรดลองอีกครั้ง
- turnOff , deviceTurnedOff : <device(s)> <is/are> ปิดอยู่ตอนนี้
- unableToLocationeDevice : ฉันหา <device(s)> ไม่เจอ
- UnknownFoodPreset : <device(s)> ไม่รองรับการตั้งค่าอาหารล่วงหน้านั้น
- UnlockFailure : <device(s)> ปลดล็อกไม่ได้
- unpausableState : <device(s)> หยุดชั่วคราวไม่ได้ในขณะนี้
- userCancelled : ok
- valueOutOfRange : <device(s)> ตั้งค่าเป็นอุณหภูมินั้นไม่ได้
ข้อยกเว้น
คุณควรส่งคืนข้อยกเว้นเมื่อมีปัญหาหรือการแจ้งเตือนที่เกี่ยวข้องกับคําสั่ง คําสั่งอาจสําเร็จหรือล้มเหลวก็ได้
หากคําสั่งสําเร็จ (status = "SUCCESS") ให้รายงานข้อยกเว้นโดยใช้ลักษณะเฉพาะของ StatusReport
(สําหรับอุปกรณ์อื่นที่ไม่ใช่เป้าหมาย) หรือโดยส่งกลับ exceptionCode
ที่เหมาะสม (สําหรับอุปกรณ์เป้าหมาย)
เช่น ถ้าหน้าจอโปรแกรม Lint แห้งเต็มแล้ว ผู้ใช้ก็จะเริ่มโปรแกรม Dryry ได้ แต่คุณอาจต้องเตือนผู้ใช้เกี่ยวกับสถานะนี้ ในทํานองเดียวกัน เมื่อแบตเตอรี่ของอุปกรณ์เหลือน้อยและไม่ว่างเปล่า คุณจะยังสั่งการได้ และควรแจ้งให้อุปกรณ์ทราบว่าแบตเตอรี่เหลือน้อย
หากคําสั่งทํางานไม่สําเร็จเนื่องจากมีข้อยกเว้น สถานะควรเป็น "ยกเว้น" และควรรายงานข้อยกเว้นโดยใช้ลักษณะเฉพาะของ StatusReport
ข้อยกเว้นที่ยังสามารถบล็อก (SUCCESS) เกี่ยวกับอุปกรณ์เป้าหมาย
ตัวอย่างนี้มีไว้สําหรับล็อกประตู
ล็อกประตูหน้าแบตเตอรี่เหลือน้อย กําลังล็อกประตูหน้า
{ "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" } }] } }
ข้อยกเว้นที่ยังสามารถบล็อก (SUCCESS) ในอุปกรณ์อื่นที่ใช้ 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 full bags/full bags> โปรดล้างข้อมูล <it/them> แล้วลองอีกครั้ง
- binFull : <device(s)> <has/have> <a full bin/full bins>
- carbonMonoxideDetected : ตรวจพบคาร์บอนมอนอกไซด์ใน <ชื่อบ้าน>
- deviceAtExtremeTemperature : <device(s)> <is/are> ที่ <antremtemp/tremeอุณหภูมิs>
- deviceJammingDetected : <device(s)> <is/are> ติดขัด
- deviceMoved : <device(s)> <was/were> ย้ายแล้ว
- deviceOpen : <device(s)> <is/are> open
- deviceTampered : <device(s)> <has/have> ถูกแก้ไข
- อุปกรณ์ที่ไม่ได้เสียบปลั๊ก : <device(s)> <is/are> unplugged
- floorUnreachable : <device(s)> เข้าถึงห้องดังกล่าวไม่ได้ โปรดย้าย <it/them> ไปยังชั้นที่ถูกต้องแล้วลองอีกครั้ง
- hardwareFailure : <device(s)> <has/have> เมื่อมีปัญหาเกี่ยวกับฮาร์ดแวร์
- inSoftwareUpdate : <device(s)> <is/are> อยู่ในการอัปเดตซอฟต์แวร์
- isBypassed : <device(s)> <is/are> ถูกข้ามอยู่ในขณะนี้
- แบตเตอรี่ต่ํา : <device(s)> <has/have> แบตเตอรี่ต่ํา
- MotionDetected : <device(s)> <detect(s)> การเคลื่อนไหว
- NeedPads : <device(s)> <need(s)> แผ่นใหม่
- needSoftwareUpdate : <device(s)> <need(s)> การอัปเดตซอฟต์แวร์
- NeedWater : <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> <an empty tank/empty tank> โปรดกรอก <it/them> แล้วลองอีกครั้ง
- โดยใช้ฟีเจอร์ใช้อินเทอร์เน็ตมือถือ : <device(s)> <is/are> โดยใช้ฟีเจอร์ใช้อินเทอร์เน็ตมือถือเป็นเครือข่ายสํารอง
- WaterLeakDetected : <device(s)> <detect(s)> น้ํารั่ว