ยินดีต้อนรับสู่ Google Home Developer Center แหล่งใหม่เรียนรู้วิธีพัฒนาการดําเนินการในบ้านอัจฉริยะ หมายเหตุ: คุณจะสร้างการดําเนินการต่างๆ ต่อไปในคอนโซลการดําเนินการ

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

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

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

ข้อผิดพลาด

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

อาจแนบรหัสข้อผิดพลาดที่ระดับอุปกรณ์หรือที่ระดับส่วนกลาง ตัวอย่างเช่น หากผู้ใช้มีไฟหลายดวงจากผู้ให้บริการ 1 ราย และพวกเขาควบคุมโดยฮับ เมื่อผู้ใช้ขอปิดไฟทุกดวง ผู้ให้บริการอาจแสดงข้อผิดพลาดระดับอุปกรณ์หากไฟดวงเดียวออฟไลน์ หรือข้อผิดพลาดระดับสากล หากไฟทั้งดวงออฟไลน์และไม่ได้ควบคุมหลอดไฟ หากอุปกรณ์ทั้งหมดออฟไลน์อยู่ ก็ไม่จําเป็นต้องใช้ข้อผิดพลาดระดับสากลหรืออุปกรณ์ระดับเดียวกัน เมื่ออุปกรณ์ออฟไลน์ คุณควรรายงานสถานะ {"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 ต่อไปนี้แสดงวิธีแสดงข้อผิดพลาดระดับอุปกรณ์ในการตอบกลับ

{
  "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 ที่เกี่ยวข้องในอุปกรณ์

  • ข้างต้นMaxLightEffectsDuration : มากกว่าระยะเวลาสูงสุดที่ 1 ชั่วโมง โปรดลองอีกครั้ง
  • ที่ด้านบนตัวจับเวลาสูงสุด : ฉันตั้งค่า <อุปกรณ์(สูงสุด) ได้ไม่เกิน <ระยะเวลา>
  • actionNotavailable : ขอโทษด้วย ตอนนี้ดูเหมือนจะทําแบบนั้นไม่ได้
  • actionUnavailable AlongRunning : <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> อยู่บนแท่นชาร์จแล้ว
  • 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> ปลดล็อกแล้ว
  • ambigrossZoneName : ขออภัย <device(s)> ไม่สามารถระบุโซนที่คุณอยู่ได้ โปรดตรวจสอบว่าโซนมีชื่อไม่ซ้ํากันและลองอีกครั้ง
  • amountAboveLimit : มากกว่าที่ <device(s)> รองรับได้
  • appLaunchFailed : ขออภัย เปิดใช้ <app name> ใน <device(s)> ไม่สําเร็จ
  • ArmFailure : <device(s)> เปิดระบบไม่ได้
  • ArmLevelneeded : ฉันไม่แน่ใจว่าจะตั้งค่า <device(s)> เป็นระดับใด ลองพูดว่า "ตั้งค่า <อุปกรณ์> เป็น <ความปลอดภัยต่ํา>" หรือ "ตั้ง <อุปกรณ์> เป็น <ความปลอดภัยสูง>"
  • authFailure : ฉันดูเหมือนจะเข้าถึง <device(s)> ไม่ได้ ลองตรวจสอบแอปดูว่าตั้งค่า <device/devices> <is/are> ครบถ้วนแล้ว
  • BagFull : <device(s)> <has/have> <a Fullสัมภาระ/fullสัมภาระ> โปรดเว้นว่างไว้ <it/them> แล้วลองอีกครั้ง
  • Underต่ําสุดLightEffectsDuration : น้อยกว่าระยะเวลาขั้นต่ําที่ 5 นาที โปรดลองอีกครั้ง
  • ต่ํากว่าระยะเวลาต่ําสุด : ฉันตั้งเวลา <อุปกรณ์) ไม่ได้เป็นเวลาสั้นๆ โปรดลองอีกครั้ง
  • binFull : <device(s)> <has/have> <a Full bin/full bins>
  • cancelArmingRestricted : ขออภัย ฉันยกเลิกการเปิดใช้งาน <device(s)> ไม่ได้
  • cancelTooLate : ขออภัย คุณยกเลิกไม่ทันแล้ว ใช้ <device(s)> หรือแอปแทน
  • channelSwitchFailed : ขออภัย การเปลี่ยนไปใช้ช่อง <channel name> ไม่ได้ โปรดลองอีกครั้งในภายหลัง
  • ปัญหาที่ชาร์จ : ดูเหมือนว่าอุปกรณ์ <device(s)> <has/have> <aแสดงถึงที่ชาร์จ/ปัญหาเกี่ยวกับที่ชาร์จ>
  • CommandInsertFailed : ประมวลผลคําสั่งสําหรับ <device(s)> ไม่ได้
  • แบตเตอรี่หมด : <device(s)> <has/have> <a dead dead/adadแบตเตอรี่s>
  • องศานอกช่วง : องศาที่ขออยู่นอกช่วงของ <device(s)>
  • deviceAlertNeedsAssistance : <device(s)> <has/have> ซึ่งเป็นการแจ้งเตือนที่ใช้งานอยู่และ<need(s)> ที่คุณให้ความช่วยเหลือ
  • deviceAtExtremeTemperature : <device(s)> <is/are> ที่ <anไม่มีให้บริการอุณหภูมิสูงสุด/อุณหภูมิสูงสุด>
  • deviceไม่ว่าง : ขออภัย ดูเหมือนว่า <device(s)> ได้ดําเนินการบางอย่างแล้วตอนนี้
  • การชาร์จอุปกรณ์ : ขออภัย ดูเหมือนว่า <device(s)> จะทําเช่นนั้นไม่ได้เนื่องจากการชาร์จ (ha_shared.ItsYoure size=$item.devices.total_device_count)
  • deviceCloged : ขออภัย ดูเหมือนว่า <device(s)> อุดตัน
  • อุปกรณ์ที่กําลังจ่ายอยู่ : <device(s)> กําลังจ่ายอาหารอยู่แล้วในขณะนี้
  • deviceDoorOpen : ประตูเปิดอยู่ใน <device(s)> โปรดปิดแล้วลองอีกครั้ง
  • deviceHandleClosed : แฮนเดิลปิดใน <device(s)> โปรดเปิดแล้วลองอีกครั้ง
  • deviceJammingDetected : <device(s)> <is/are> ติดขัด
  • deviceLidOpen : ฝาเปิดอยู่ใน <device(s)> โปรดปิดแล้วลองอีกครั้ง
  • deviceneedsRepair : <device(s)> <need(s)> ต้องซ่อม โปรดติดต่อตัวแทนจําหน่ายที่ให้บริการในพื้นที่
  • deviceNotDock : ขออภัย ดูเหมือนว่าอุปกรณ์ <device(s)> <isn't/aren't> บนแท่นชาร์จแล้ว โปรดชาร์จ <it/them> แล้วลองอีกครั้ง
  • deviceNotFound : <device(s)> <is/are> ไม่พร้อมใช้งาน คุณอาจต้องลองตั้งค่า <it/them> อีกครั้ง
  • deviceNotMounted : ขออภัย ดูเหมือนว่าอุปกรณ์ <device(s)> จะทําเช่นนั้นไม่ได้เนื่องจาก <it/you> <is/are> ไม่ได้ติดตั้ง
  • deviceNotReady : <device(s)> <is/are>ยังไม่พร้อม
  • deviceStuck : <device(s)> <is/are> ค้างอยู่และต้องการความช่วยเหลือของคุณ
  • เปลี่ยนอุปกรณ์ : <device(s)> <has/have> มีการเปลี่ยนแปลง
  • deviceThermalShutdown : ขออภัย ดูเหมือนว่า <device(s)> ปิดลงเพราะมีอุณหภูมิสูงหรือต่ําเกินไป
  • directResponseOnlyUnreachable : <device(s)> <don's/don't> รองรับรีโมตคอนโทรล
  • disarmFailure : ปิดระบบ <device(s)> ไม่ได้
  • discreteOnlyOpenClosed : ขออภัย <device(s)> เปิดหรือปิดได้ตลอด
  • dispenseAmountAboveLimit : <device(s)> ไม่สามารถจ่ายปริมาณมากได้
  • dispenseAmountด้านล่างLimit : <device(s)> ไม่สามารถจ่ายจํานวนเงินน้อยได้
  • dispenseAmountRemainingExceeded : <device(s)> มี <dispense item> ไม่เพียงพอที่จะดําเนินการ
  • dispenseFractionalAmountNotSupported : <device(s)> ไม่สามารถจ่ายเศษส่วนของ <dispense item>
  • dispenseFractionalUnitNotSupported : <device(s)> ไม่รองรับเศษส่วนของหน่วยนั้นสําหรับ <dispense item>
  • dispenseUnitNotSupported : <device(s)> ไม่รองรับหน่วยนั้นสําหรับ <dispense item>
  • ประตูที่ปิดไปแล้ว : คุณไม่ได้เปิดอุปกรณ์ <device(s)> มาระยะหนึ่งแล้ว โปรดเปิดประตู ดูให้แน่ใจว่ามีของอยู่ในนั้นแล้วลองอีกครั้งนะ
  • ฉุกเฉิน: : <device(s)> <is/are> ในโหมดทําความร้อนฉุกเฉิน <it/the> จึงต้องปรับด้วยตัวเอง
  • faulty Battery : <device(s)> <has/have> <a Faulty Battery/faulity แบตเตอรี่ >
  • ราคาพื้นไม่สามารถเข้าถึงได้ : <device(s)> เข้าถึงห้องนั้นไม่ได้ โปรดย้าย <it/them> ไปยังชั้นที่ถูกต้องแล้วลองอีกครั้ง
  • ฟังก์ชันไม่รองรับ : จริงๆ แล้ว <device(s)> <notd/don't> รองรับฟังก์ชันนั้น
  • GeneralDispenseNotSupported : ฉันอยากทราบว่าคุณต้องการจ่ายอะไร โปรดลองอีกครั้งพร้อมตั้งชื่อสินค้า
  • 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)> <is/are> ตั้งค่าเป็นโหมดสําหรับแฟนๆ เท่านั้น หากต้องการปรับอุณหภูมิ คุณจะต้องเปลี่ยน <it/them> เป็นโหมดอื่น
  • ใน HeatOrCool : <device(s)> <is/are>ไม่ได้อยู่ในโหมดทําความร้อน/ทําความเย็น
  • inHumidifierMode : <device(s)> <is/are> ตั้งค่าเป็นโหมดเครื่องทําความชื้น หากต้องการปรับอุณหภูมิ คุณจะต้องเปลี่ยน <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> ขาดการเชื่อมต่อ <its/the> กับบริการตรวจสอบ
  • needไฟล์แนบ : ขออภัย ดูเหมือนว่า <device(s)> <is/are> ไม่มีไฟล์แนบที่จําเป็น เปลี่ยนใหม่แล้วลองอีกครั้ง
  • needBin : ขออภัย ดูเหมือนว่า <device(s)> <is/are> ไม่มีถังเก็บ เปลี่ยนใหม่แล้วลองอีกครั้ง
  • needPads : <device(s)> <need(s)> แผ่นข้อมูลใหม่
  • needSoftwareUpdate : <device(s)> <need(s)> การอัปเดตซอฟต์แวร์
  • needWater : <device(s)> <need(s)> Water
  • networkProfileNotRecognized : ขออภัย ฉันไม่รู้จัก "<network profile>" ใน <device(s)>
  • networkSpeedTestInProgress : ฉันทดสอบ <เครือข่าย> <speed/speeds>> อยู่แล้ว
  • noAvailableApp : ขออภัย ดูเหมือนว่า <app name> ไม่พร้อมใช้งาน
  • noavailableChannel : ขออภัย ดูเหมือนว่าช่อง <channel name> ไม่พร้อมใช้งาน
  • noChannelSubscription : ขออภัย คุณยังไม่ได้ติดตามช่อง <channel name> ในขณะนี้
  • ไม่มีตัวจับเวลาที่มีอยู่ : ขออภัย ดูเหมือนว่าไม่ได้ตั้งตัวจับเวลาไว้ที่ <อุปกรณ์)>
  • ไม่รองรับ : ขออภัย โหมดนี้ไม่พร้อมใช้งานสําหรับ <device(s)>
  • obtureionDetected : <device(s)> ตรวจพบสิ่งกีดขวาง
  • ออฟไลน์ , อุปกรณ์ออฟไลน์ : ขออภัย ดูเหมือนว่า <อุปกรณ์(>) <is/are>ไม่พร้อมใช้งานในขณะนี้
  • onRequiredsMode : โปรดระบุโหมดที่ต้องการเปิด
  • รหัสผ่านไม่ถูกต้อง : ขออภัย ดูเหมือนว่า PIN นี้ไม่ถูกต้อง
  • เปอร์เซ็นต์ OutOfRange : ขออภัย ฉันตั้งค่า <device(s)> เป็น <percent> ไม่ได้
  • PIN ไม่ถูกต้อง : (passการทํางานแบบวลีinvalid)
  • RainDetected : ฉันไม่ได้เปิด <device(s)> เนื่องจากตรวจพบฝนตก
  • range มากเกินไป : อุณหภูมิเหล่านั้นอยู่ใกล้ช่วงทําความร้อน • ทําความเย็นของ <device(s)> มากกว่านี้ โปรดเลือกช่วงอุณหภูมิที่อยู่ห่างจากช่วงดังกล่าวมากกว่า
  • ลิงก์อีกครั้ง : ขออภัย ดูเหมือนว่ามีบางอย่างผิดพลาดกับบัญชีของคุณ ใช้แอป Google Home หรือ Assistant เพื่อลิงก์ <อุปกรณ์> อีกครั้ง
  • RemoteSetSet :
    • พารามิเตอร์ที่ไม่บังคับ errorCodeReason
    • currentlyArmed - ขออภัย เนื่องจากระบบรักษาความปลอดภัยเปิดอยู่แล้ว คุณต้องใช้ <device(s)> หรือแอปเพื่อทําการเปลี่ยนแปลง
    • remoteUnlockNotAllowed - ขออภัย ฉันปลดล็อก <อุปกรณ์) จากระยะไกลไม่ได้
    • remoteControlOff - การดําเนินการนั้นปิดอยู่ โปรดเปิดใช้รีโมตคอนโทรลใน <อุปกรณ์> แล้วลองอีกครั้ง
    • childSafetyModeActive - ระบบจะปิดใช้การดําเนินการนั้นสําหรับ <device(s)> ขณะที่โหมดปลอดภัยของเด็กทํางานอยู่
  • RoomOnDifferentFloors : <device(s)> เข้าถึงห้องเหล่านั้นไม่ได้เนื่องจากอยู่คนละชั้น
  • SafetyShutoff : <device(s)> <is/are> ในโหมดปิดระบบรักษาความปลอดภัย <it/the> จึงต้องปรับด้วยตนเอง
  • vibeCannotBeapply : ขออภัย <device(s)> ไม่สามารถใช้ได้
  • securityRestriction : <device(s)> <has/have> ข้อจํากัดด้านความปลอดภัย
  • SoftwareUpdateNotAvailable : ขออภัย ไม่มีการอัปเดตซอฟต์แวร์ที่พร้อมใช้งานใน <device(s)>
  • startRequiredsเวลา : ในการทําเช่นนี้ คุณต้องแจ้งให้เราทราบว่าคุณต้องการเรียกใช้ <device(s)> นานเท่าใด
  • ภาพนิ่งCoolingDown : <device(s)> <is/are> ยังคงกําลังเย็นลง
  • tillWarmingUp : <device(s)> <is/are> ยังทําความร้อนไม่เสร็จ
  • สตรีมไม่พร้อมใช้งาน : ขออภัย ดูเหมือนว่าสตรีมจะไม่พร้อมใช้งานจาก <device(s)> ในขณะนี้
  • StreamUnplayable : ขออภัย ตอนนี้ฉันเล่นสตรีมจาก <device(s)> ไม่ได้
  • tankempty : <device(s)> <has/have> <anว่างเปล่า ถัง/ถังว่างเปล่า> โปรดกรอก <it/them> แล้วลองอีกครั้ง
  • targetAlreadyReached : ขออภัย ดูเหมือนว่าอุณหภูมิดังกล่าวเป็นอุณหภูมิปัจจุบัน
  • ตัวจับเวลาValueOutOfRange : <device(s)> ไม่สามารถตั้งค่าได้สําหรับระยะเวลานั้น
  • การทดสอบล้มเหลวหลายครั้งเกินไป : ขออภัย คุณพยายามไม่สําเร็จหลายครั้งเกินไป โปรดไปที่แอปของอุปกรณ์เพื่อดําเนินการดังกล่าวให้เสร็จสิ้น
  • transientError : ขออภัย เกิดข้อผิดพลาดบางอย่างในการควบคุม <device(s)> โปรดลองอีกครั้ง
  • turnOFF , deviceTurnedOFF : <device(s)> <is/are> ปิดอยู่ในขณะนี้
  • ล้มเหลวสําหรับตําแหน่งของอุปกรณ์ : ฉันหา <device(s)> ไม่เจอ
  • UnknownFoodPreset : <device(s)> ไม่รองรับการตั้งค่าอาหารล่วงหน้านั้น
  • ปลดล็อกไม่สําเร็จ : ปลดล็อกอุปกรณ์ไม่ได้ <device(s)>
  • unpaoptState : <device(s)> หยุดชั่วคราวไม่ได้ในตอนนี้
  • userCancelled : ok
  • 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"
      }
    }]
  }
}

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

ตัวอย่างสําหรับการใช้ระบบรักษาความปลอดภัยคือการเปิดระบบรักษาความปลอดภัยให้ หน้าต่างด้านหน้าเปิดอยู่

{
  "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"
        }]
      }
    }]
  }
}

การบล็อกข้อยกเว้นเกี่ยวกับอุปกรณ์อื่นโดยใช้สถานะรายงาน

{
  "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สัมภาระ/fullสัมภาระ> โปรดเว้นว่างไว้ <it/them> แล้วลองอีกครั้ง
  • binFull : <device(s)> <has/have> <a Full bin/full bins>
  • CarbonMonoxideDetected : ตรวจพบคาร์บอนมอนอกไซด์ใน <ชื่อบ้าน>
  • deviceAtExtremeTemperature : <device(s)> <is/are> ที่ <anไม่มีให้บริการอุณหภูมิสูงสุด/อุณหภูมิสูงสุด>
  • deviceJammingDetected : <device(s)> <is/are> ติดขัด
  • ย้ายอุปกรณ์ : <device(s)> <was/were> ย้ายแล้ว
  • deviceOpen : <device(s)> <is/are> เปิดอยู่
  • เปลี่ยนอุปกรณ์ : <device(s)> <has/have> มีการเปลี่ยนแปลง
  • ถอดปลั๊กอุปกรณ์ : <device(s)> <is/are> ไม่ได้เสียบปลั๊ก
  • ราคาพื้นไม่สามารถเข้าถึงได้ : <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)> Water
  • networkJammingDetected : การเชื่อมต่อเครือข่ายในบ้านกับ <device(s)> ทํางานไม่ถูกต้อง
  • noISSUEsReported : <device(s)> ไม่มีปัญหา
  • RoomOnDifferentFloors : <device(s)> เข้าถึงห้องเหล่านั้นไม่ได้เนื่องจากอยู่คนละชั้น
  • RunCycleFinished : <device(s)> <has/have> ทํางานเสร็จแล้ว
  • securityRestriction : <device(s)> <has/have> ข้อจํากัดด้านความปลอดภัย
  • smokeDetected : ตรวจพบควันใน <ชื่อบ้าน>
  • tankempty : <device(s)> <has/have> <anว่างเปล่า ถัง/ถังว่างเปล่า> โปรดกรอก <it/them> แล้วลองอีกครั้ง
  • โดยใช้ฟีเจอร์ใช้อินเทอร์เน็ตมือถือเป็นเครือข่ายสํารอง : <device(s)> <is/are> โดยใช้ฟีเจอร์ใช้อินเทอร์เน็ตมือถือเป็นเครือข่ายสํารอง
  • WaterLeakDetected : <device(s)> <detect(s)> น้ํารั่ว