ข้อผิดพลาดและข้อยกเว้น

เอกสารนี้แสดงข้อผิดพลาดและข้อยกเว้นที่สนับสนุนอย่างเป็นทางการสำหรับ อุปกรณ์ในบ้าน โปรดใช้รหัสข้อผิดพลาดและข้อยกเว้นที่ให้ไว้ใน 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 : &lt;device(s)&gt; &lt;is/are&gt; กำลังทำงานอยู่ ก็เลยเปลี่ยนแปลงอะไรไม่ได้
  • alreadyArmed : &lt;device(s)&gt; &lt;is/are&gt; เปิดระบบแล้ว
  • alreadyAtMax : &lt;device(s)&gt; &lt;is/are&gt; ตั้งเป็นอุณหภูมิสูงสุดแล้ว
  • alreadyAtMin : &lt;device(s)&gt; &lt;is/are&gt; ตั้งเป็นอุณหภูมิต่ำสุดแล้ว
  • alreadyClosed : &lt;device(s)&gt; &lt;is/are&gt; ปิดแล้ว
  • alreadyDisarmed : &lt;device(s)&gt; &lt;is/are&gt; ปิดระบบแล้ว
  • alreadyDocked : &lt;device(s)&gt; &lt;is/are&gt; อยู่บนแท่นชาร์จแล้ว
  • alreadyInState : &lt;device(s)&gt; &lt;is/are&gt; อยู่ในสถานะนั้นแล้ว
  • alreadyLocked : &lt;device(s)&gt; &lt;is/are&gt; ล็อกอยู่แล้ว
  • alreadyOff : &lt;device(s)&gt; &lt;is/are&gt; ปิดไปแล้ว
  • alreadyOn : &lt;device(s)&gt; &lt;is/are&gt; เปิดไว้แล้ว
  • alreadyOpen : &lt;device(s)&gt; &lt;is/are&gt; เปิดไว้แล้ว
  • alreadyPaused : &lt;device(s)&gt; &lt;is/are&gt; หยุดชั่วคราวแล้ว
  • alreadyStarted : &lt;device(s)&gt; &lt;is/are&gt; ที่เริ่มไปแล้วเลย
  • alreadyStopped : &lt;device(s)&gt; &lt;is/are&gt; หยุดอยู่แล้ว
  • alreadyUnlocked : &lt;device(s)&gt; &lt;is/are&gt; ปลดล็อกแล้ว
  • ambiguousZoneName : ขออภัย <device(s)> ระบุไม่ได้ว่าคุณหมายถึงโซนใด โปรดตรวจสอบว่าโซนมีชื่อไม่ซ้ำกันแล้วลองอีกครั้ง
  • amountAboveLimit : มากกว่าที่ <device(s)> ช่วยสนับสนุนได้
  • appLaunchFailed : ขออภัย เปิด <ชื่อแอป> ไม่สำเร็จ ใน <device(s)>
  • armFailure : &lt;device(s)&gt; ติดอาวุธไม่ได้
  • armLevelNeeded : ฉันไม่แน่ใจว่าจะตั้งค่า <device(s)> ระดับไหน เป็น ลองพูดว่า "ตั้งค่า <device(s)> เป็น <การรักษาความปลอดภัยต่ำ>" หรือ "ตั้งค่า <device(s)> เป็น <high safety>"
  • authFailure : ดูเหมือนจะเข้าถึง <device(s)> ไม่ได้ ลองตรวจสอบแอปว่า <device/devices> &lt;is/are&gt; พร้อมใช้งานอย่างสมบูรณ์
  • bagFull : &lt;device(s)&gt; &lt;has/have&gt; <a สัมภาระทั้งหมด/ถุงเต็ม> โปรดเว้นว่าง <it/them> แล้วลองอีกครั้ง
  • belowMinimumLightEffectsDuration : สั้นกว่าระยะเวลาขั้นต่ำที่ 5 นาทีนะ โปรดลองอีกครั้ง
  • belowMinimumTimerDuration : ฉันตั้งค่า <device(s)> ไม่ได้ ในช่วงเวลาสั้นๆ โปรดลองอีกครั้ง
  • binFull : &lt;device(s)&gt; &lt;has/have&gt; <a Full bin/full bins>
  • cancelArmingRestricted : ขออภัย ฉันยกเลิกการเปิดใช้งาน <device(s)> ไม่ได้
  • cancelTooLate : ขออภัย คุณยกเลิกไม่ทันแล้ว ใช้ <device(s)> หรือแอปแทน
  • channelSwitchFailed : ขออภัย เปลี่ยนเป็นช่อง <channel name> ไม่สำเร็จ โปรดลองอีกครั้งในภายหลัง
  • chargerIssue : ขออภัย ดูเหมือน <device(s)> &lt;has/have&gt; <a ปัญหาเกี่ยวกับที่ชาร์จ/ปัญหาที่ชาร์จ>
  • commandInsertFailed : ประมวลผลคำสั่งสำหรับ <device(s)> ไม่ได้
  • deadBattery : <อุปกรณ์> &lt;has/have&gt; <แบตเตอรี่หมด/แบตเตอรี่หมด>
  • degreesOutOfRange : องศาที่ขออยู่นอกช่วงของ <device(s)>
  • deviceAlertNeedsAssistance : &lt;device(s)&gt; &lt;has/have&gt; การแจ้งเตือนที่ใช้งานอยู่และ <need(s)> ความช่วยเหลือของคุณ
  • deviceAtExtremeTemperature : <อุปกรณ์> &lt;is/are&gt; ที่<อุณหภูมิสูงหรืออุณหภูมิสูงสุด>
  • deviceBusy : ขออภัย ดูเหมือน <device(s)> กำลังทำอะไรบางอย่างอยู่แล้วในตอนนี้
  • deviceCharging : ขออภัย ดูเหมือน <device(s)> ทำแบบนั้นไม่ได้เพราะกำลังชาร์จ (ha_shared.Its theyre size=$item.devices.total_device_count)
  • deviceClogged : ขออภัย ดูเหมือน <device(s)> อุดตัน
  • deviceCurrentlyDispensing : &lt;device(s)&gt; กำลังจ่ายอะไรบางอย่างอยู่ตอนนี้
  • deviceDoorOpen : ประตูเปิดอยู่ใน <device(s)> โปรดปิดแล้วลองอีกครั้ง
  • deviceHandleClosed : แฮนเดิลปิดอยู่ใน <device(s)> โปรดเปิดแล้วลองอีกครั้ง
  • deviceJammingDetected : &lt;device(s)&gt; &lt;is/are&gt; ติดขัด
  • deviceLidOpen : ฝาเครื่องเปิดอยู่ใน <device(s)> โปรดปิดแล้วลองอีกครั้ง
  • deviceNeedsRepair : &lt;device(s)&gt; &lt;need(s)&gt; รอซ่อม โปรดติดต่อตัวแทนจำหน่ายที่ให้บริการในพื้นที่
  • deviceNotDocked : ขออภัย ดูเหมือน <device(s)> <ไม่ใช่/ไม่ใช่> วางอยู่บนแท่นชาร์จแล้ว โปรดจอดที่ <it/them> แล้วลองอีกครั้ง
  • deviceNotFound : &lt;device(s)&gt; <is/are>ไม่พร้อมใช้งาน คุณอาจลองตั้งค่า<it/them> อีกครั้ง
  • deviceNotMounted : ขออภัย ดูเหมือน <device(s)> ทำแบบนั้นไม่ได้เพราะ <it/their> <is/are>ไม่ได้ติดตั้ง
  • deviceNotReady : &lt;device(s)&gt; <is/are>ยังไม่พร้อม
  • deviceStuck : &lt;device(s)&gt; &lt;is/are&gt; พบปัญหาและต้องการความช่วยเหลือจากคุณ
  • deviceTampered : <อุปกรณ์> &lt;has/have&gt; ถูกดัดแปลง
  • deviceThermalShutdown : ขออภัย ดูเหมือน <device(s)> ปิดลงเนื่องจากอุณหภูมิสูงหรือต่ำเกินไป
  • directResponseOnlyUnreachable : &lt;device(s)&gt; <ไม่/ไม่> รองรับรีโมตคอนโทรล
  • disarmFailure : &lt;device(s)&gt; ปิดระบบไม่ได้
  • discreteOnlyOpenClose : ขออภัย <device(s)> จะเปิดหรือปิดจนสุดได้เท่านั้น
  • dispenseAmountAboveLimit : &lt;device(s)&gt; จ่ายเยอะขนาดนั้นไม่ได้
  • dispenseAmountBelowLimit : &lt;device(s)&gt; จ่ายน้อยขนาดนั้นไม่ได้
  • dispenseAmountRemainingExceeded : &lt;device(s)&gt; มี <รายการจ่าย> ไม่เพียงพอ ทำแบบนั้นได้
  • dispenseFractionalAmountNotSupported : &lt;device(s)&gt; จ่ายเศษส่วนของ <dispense item> ไม่ได้
  • dispenseFractionalUnitNotSupported : &lt;device(s)&gt; ไม่รองรับเศษส่วนของหน่วยนั้นสำหรับ <dispense item>
  • dispenseUnitNotSupported : &lt;device(s)&gt; ไม่รองรับหน่วยนั้นสำหรับ <dispense item>
  • doorClosedTooLong : คุณเปิดประตูใน <device(s)> มาสักพักแล้ว ถูกเปิดแล้ว โปรดเปิดประตู ดูให้แน่ใจว่ามีของอยู่ในนั้นแล้วลองอีกครั้ง
  • emergencyHeatOn : &lt;device(s)&gt; &lt;is/are&gt; ในโหมดแหล่งความร้อนฉุกเฉิน คุณจึงจะต้องปรับ <it/มัน> เอง
  • faultyBattery : <อุปกรณ์> &lt;has/have&gt; <a แบตเตอรี่ที่มีข้อบกพร่อง/แบตเตอรี่ที่มีข้อบกพร่อง>
  • floorUnreachable : &lt;device(s)&gt; ไม่สามารถเข้าถึงห้องนั้นได้ โปรดย้าย <it/them> ของชั้นที่ถูกต้องแล้วลองอีกครั้ง
  • functionNotSupported : จริงๆ แล้ว <device(s)> <ไม่/ไม่> รองรับฟังก์ชันการทำงานนั้น
  • genericDispenseNotSupported : จำเป็นต้องทราบว่าคุณต้องการจ่ายอะไร โปรดลองอีกครั้งด้วยชื่อของไอเทม
  • hardError : ขอโทษด้วย มีบางอย่างผิดพลาดทำให้ควบคุมอุปกรณ์ในบ้านไม่ได้
  • hardError : ขอโทษด้วย มีบางอย่างผิดพลาดทำให้ควบคุมอุปกรณ์ในบ้านไม่ได้
  • inAutoMode : &lt;device(s)&gt; &lt;is/are&gt; ตอนนี้ตั้งเป็นโหมดอัตโนมัติ คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปใช้โหมดอื่น
  • inAwayMode : &lt;device(s)&gt; &lt;is/are&gt; ตอนนี้ตั้งเป็นโหมดไม่อยู่ หากต้องการควบคุมตัวควบคุมอุณหภูมิ คุณจะต้องสลับเป็นโหมดอยู่บ้านด้วยตนเองโดยใช้แอป Nest ในโทรศัพท์ แท็บเล็ต หรือคอมพิวเตอร์
  • inDryMode : &lt;device(s)&gt; &lt;is/are&gt; ตอนนี้ตั้งค่าเป็นโหมดแห้ง คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปใช้โหมดอื่น
  • inEcoMode : &lt;device(s)&gt; &lt;is/are&gt; ตอนนี้ตั้งค่าเป็นโหมดอีโค คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปใช้โหมดอื่น
  • inFanOnlyMode : &lt;device(s)&gt; &lt;is/are&gt; ตอนนี้ตั้งค่าเป็นโหมดแฟนเท่านั้น คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปใช้โหมดอื่น
  • inHeatOrCool : &lt;device(s)&gt; <is/are>ไม่ได้อยู่ในโหมดทำความร้อน/ทำความเย็น
  • inHumidifierMode : &lt;device(s)&gt; &lt;is/are&gt; ตอนนี้ตั้งค่าเป็นโหมดเครื่องทำความชื้น คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปใช้โหมดอื่น
  • inOffMode : &lt;device(s)&gt; &lt;is/are&gt; ปิดอยู่ในขณะนี้ คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปยังโหมดอื่น
  • inPurifierMode : &lt;device(s)&gt; &lt;is/are&gt; ตอนนี้ตั้งเป็นโหมดฟอกอากาศ คุณจะต้องปรับอุณหภูมิเพื่อเปลี่ยนอุณหภูมิ ไปใช้โหมดอื่น
  • inSleepMode : &lt;device(s)&gt; &lt;is/are&gt; ในโหมดสลีป โปรดลองอีกครั้งในภายหลัง
  • inSoftwareUpdate : <อุปกรณ์> &lt;is/are&gt; อยู่ระหว่างการอัปเดตซอฟต์แวร์
  • lockFailure : &lt;device(s)&gt; ล็อกไม่ได้
  • lockedState : &lt;device(s)&gt; &lt;is/are&gt; ล็อกอยู่ในขณะนี้
  • lockedToRange : อุณหภูมินั้นอยู่นอกช่วงที่ล็อกไว้ใน <device(s)>
  • lowBattery : <อุปกรณ์> &lt;has/have&gt; แบตเตอรี่เหลือน้อย
  • maxSettingReached : &lt;device(s)&gt; &lt;is/are&gt; เป็นการตั้งค่าสูงสุดแล้ว
  • maxSpeedReached : &lt;device(s)&gt; &lt;is/are&gt; ตั้งเป็นความเร็วสูงสุดแล้ว
  • minSettingReached : &lt;device(s)&gt; &lt;is/are&gt; ตั้งเป็นการตั้งค่าที่ต่ำที่สุดแล้ว
  • minSpeedReached : &lt;device(s)&gt; &lt;is/are&gt; ตั้งเป็นความเร็วขั้นต่ำแล้ว
  • monitoringServiceConnectionLost : &lt;device(s)&gt; &lt;has/have&gt; <its/their> เชื่อมต่อกับบริการตรวจสอบ
  • needsAttachment : ขออภัย ดูเหมือน <device(s)> &lt;is/are&gt; ไม่มีไฟล์แนบที่จำเป็น โปรดใส่โค้ดใหม่แล้วลองอีกครั้ง
  • needsBin : ขออภัย ดูเหมือน <device(s)> &lt;is/are&gt; ไม่มีถัง โปรดใส่โค้ดใหม่แล้วลองอีกครั้ง
  • needsPads : &lt;device(s)&gt; &lt;need(s)&gt; ใหม่ๆ
  • needsSoftwareUpdate : <อุปกรณ์> &lt;need(s)&gt; การอัปเดตซอฟต์แวร์
  • needsWater : &lt;device(s)&gt; &lt;need(s)&gt; ค่าน้ำ
  • networkProfileNotRecognized : ขออภัย ฉันไม่รู้จัก "<โปรไฟล์เครือข่าย>" ใน <device(s)>
  • networkSpeedTestInProgress : ฉันกำลังทดสอบ <network> <speed/speeds>> คืออะไร
  • noAvailableApp : ขออภัย ดูเหมือน <ชื่อแอป> ไม่พร้อมให้บริการ
  • noAvailableChannel : ขออภัย ดูเหมือนช่อง <channel name> ไม่พร้อมให้บริการ
  • noChannelSubscription : ขออภัย คุณไม่ได้ติดตามช่อง <channel name> ในขณะนี้
  • noTimerExists : ขอโทษนะ ดูเหมือนไม่ได้ตั้งตัวจับเวลาไว้ใน <device(s)> ไว้
  • notSupported : ขอโทษนะ โหมดนั้นไม่พร้อมใช้งานใน <device(s)>
  • obstructionDetected : &lt;device(s)&gt; ตรวจพบสิ่งกีดขวาง
  • ออฟไลน์ , 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 : &lt;device(s)&gt; เข้าถึงห้องพวกนั้นไม่ได้เพราะอยู่คนละชั้น
  • safetyShutOff : &lt;device(s)&gt; &lt;is/are&gt; ในโหมดปลอดภัยปิด คุณจึงจะต้องปรับ <it/โปรไฟล์> ด้วยตนเอง
  • sceneCannotBeApplied : ขออภัย <device(s)> ไม่สามารถใช้ได้
  • securityRestriction : &lt;device(s)&gt; &lt;has/have&gt; ข้อจำกัดด้านความปลอดภัย
  • softwareUpdateNotAvailable : ขออภัย ไม่มีการอัปเดตซอฟต์แวร์ใน <device(s)>
  • startRequiresTime : สำหรับเรื่องนั้น คุณจะต้องบอกก่อนว่าจะใช้ <device(s)> นานแค่ไหน
  • stillCoolingDown : &lt;device(s)&gt; &lt;is/are&gt; ยังคงเย็นลงอยู่
  • stillWarmingUp : &lt;device(s)&gt; &lt;is/are&gt; ที่ยังเป็นปกติทั่วไปอยู่
  • streamUnavailable : ขออภัย ดูเหมือนว่าตอนนี้สตรีมจาก <device(s)> ไม่พร้อมใช้งาน
  • streamUnplayable : ขออภัย ฉันเล่นสตรีมจาก <device(s)> ไม่ได้ ในขณะนี้
  • tankEmpty : &lt;device(s)&gt; &lt;has/have&gt; <ถังเปล่า/ถังเปล่า> โปรดกรอก <it/them> แล้วลองอีกครั้ง
  • targetAlreadyReached : ขอโทษนะ ดูเหมือนว่าจะเป็นอุณหภูมินั้นอยู่แล้ว
  • timerValueOutOfRange : &lt;device(s)&gt; ตั้งค่าระยะเวลาดังกล่าวไม่ได้
  • tooManyFailedAttempts : ขออภัย คุณดำเนินการไม่สำเร็จหลายครั้งเกินไป โปรดไปที่แอปของอุปกรณ์เพื่อดําเนินการดังกล่าวให้เสร็จสิ้น
  • transientError : ขออภัย มีบางอย่างผิดพลาดในการควบคุม <device(s)> โปรดลองอีกครั้ง
  • turnedOff , อุปกรณ์ปิดอยู่ : &lt;device(s)&gt; &lt;is/are&gt; ปิดอยู่ในตอนนี้
  • unableToLocateDevice : ฉันไม่พบ <device(s)>
  • unknownFoodPreset : &lt;device(s)&gt; ไม่รองรับค่าอาหารล่วงหน้านั้น
  • unlockFailure : &lt;device(s)&gt; ไม่สามารถปลดล็อก
  • unpausableState : &lt;device(s)&gt; หยุดชั่วคราวไม่ได้ในขณะนี้
  • userCancelled : ตกลง
  • valueOutOfRange : &lt;device(s)&gt; ตั้งค่าเป็นอุณหภูมินั้นไม่ได้

ข้อยกเว้น

คุณควรส่งคืนข้อยกเว้นเมื่อมีปัญหาหรือการแจ้งเตือนที่เชื่อมโยงกับ คำสั่ง คำสั่งนี้อาจสำเร็จหรือล้มเหลว

หากคำสั่งสำเร็จ (สถานะ = "สำเร็จ") ให้รายงานข้อยกเว้น โดยใช้ลักษณะ 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 : &lt;device(s)&gt; &lt;has/have&gt; <a สัมภาระทั้งหมด/ถุงเต็ม> โปรดเว้นว่าง <it/them> แล้วลองอีกครั้ง
  • binFull : &lt;device(s)&gt; &lt;has/have&gt; <a Full bin/full bins>
  • carbonMonoxideDetected : ตรวจพบคาร์บอนมอนอกไซด์ใน <ชื่อบ้าน>
  • deviceAtExtremeTemperature : <อุปกรณ์> &lt;is/are&gt; ที่<อุณหภูมิสูงหรืออุณหภูมิสูงสุด>
  • deviceJammingDetected : &lt;device(s)&gt; &lt;is/are&gt; ติดขัด
  • deviceMoved : &lt;device(s)&gt; &lt;was/were&gt; ย้ายแล้ว
  • deviceOpen : <อุปกรณ์> &lt;is/are&gt; เปิดอยู่
  • deviceTampered : <อุปกรณ์> &lt;has/have&gt; ถูกดัดแปลง
  • deviceUnplugged : <อุปกรณ์> &lt;is/are&gt; ไม่ได้เสียบปลั๊ก
  • floorUnreachable : &lt;device(s)&gt; ไม่สามารถเข้าถึงห้องนั้นได้ โปรดย้าย <it/them> ของชั้นที่ถูกต้องแล้วลองอีกครั้ง
  • hardwareFailure : <อุปกรณ์> &lt;has/have&gt; ปัญหาด้านฮาร์ดแวร์
  • inSoftwareUpdate : <อุปกรณ์> &lt;is/are&gt; อยู่ระหว่างการอัปเดตซอฟต์แวร์
  • isBypassed : &lt;device(s)&gt; &lt;is/are&gt; ที่ข้ามในปัจจุบัน
  • lowBattery : <อุปกรณ์> &lt;has/have&gt; แบตเตอรี่เหลือน้อย
  • motionDetected : <อุปกรณ์> &lt;detect(s)&gt; การเคลื่อนไหว
  • needsPads : &lt;device(s)&gt; &lt;need(s)&gt; ใหม่ๆ
  • needsSoftwareUpdate : <อุปกรณ์> &lt;need(s)&gt; การอัปเดตซอฟต์แวร์
  • needsWater : &lt;device(s)&gt; &lt;need(s)&gt; ค่าน้ำ
  • networkJammingDetected : การเชื่อมต่อเครือข่ายในบ้านกับ <device(s)> ทำงานไม่ถูกต้อง
  • noIssuesReported : &lt;device(s)&gt; ไม่ได้รายงานว่ามีปัญหาใดๆ
  • roomsOnDifferentFloors : &lt;device(s)&gt; เข้าถึงห้องพวกนั้นไม่ได้เพราะอยู่คนละชั้น
  • runCycleFinished : &lt;device(s)&gt; &lt;has/have&gt; ทำงานเสร็จแล้ว
  • securityRestriction : &lt;device(s)&gt; &lt;has/have&gt; ข้อจำกัดด้านความปลอดภัย
  • smokeDetected : ตรวจพบควันใน <ชื่อบ้าน>
  • tankEmpty : &lt;device(s)&gt; &lt;has/have&gt; <ถังเปล่า/ถังเปล่า> โปรดกรอก <it/them> แล้วลองอีกครั้ง
  • usingCellularBackup : <อุปกรณ์> &lt;is/are&gt; โดยใช้ฟีเจอร์ใช้อินเทอร์เน็ตมือถือเป็นเครือข่ายสำรอง
  • waterLeakDetected : <อุปกรณ์> &lt;detect(s)&gt; น้ำรั่ว