الأخطاء والاستثناءات

يسرد هذا المستند الأخطاء والاستثناءات المعتمدة رسميًا للأجهزة المنزلية الذكية. يُرجى استخدام رموز الأخطاء والاستثناءات المحددة هذه في استجابة intent أو في الإشعارات إذا كنت قد نفذتها، لكي ينبه "مساعد Google" المستخدمين النهائيين بالمشاكل المتعلقة بأمر معيّن أو حالة الجهاز. إذا كان الردّ يتضمّن تنسيقًا غير صحيح أو errorCode، يعرض "مساعد Google" للمستخدمين رسالة خطأ عامة، مثلاً "عذرًا، الجهاز غير متاح في الوقت الحالي".

الأخطاء

يجب عليك عرض رمز خطأ عندما تتسبب مشكلة في فشل تنفيذ أو طلب طلب بحث. على سبيل المثال، إذا كان قفل الباب عالقًا ولا يمكن قفله أو فتح قفله، يجب أن تظهر رسالة خطأ للمستخدم بشأن هذه الحالة.

يمكن إرفاق رموز الخطأ على مستوى الجهاز أو على المستوى العام. على سبيل المثال، إذا كان لدى المستخدم عدة مصابيح من مقدّم خدمة واحد ويتم التحكّم به من خلال موزّع إضاءة، عندما يطلب المستخدم إطفاء المصابيح، قد يعرض موفّر الخدمة رسالة خطأ على مستوى الجهاز إذا كان مصباح واحد غير متصل بالإنترنت، أو خطأ على مستوى العالم إذا كان الموزِّع غير متصل بالإنترنت ولا يمكن التحكّم في أي مصابيح. وإذا كانت جميع الأجهزة غير متصلة بالإنترنت، ليس هناك فرق بين استخدام الأخطاء على المستوى العالمي أو على مستوى الجهاز. عندما يكون الجهاز غير متصل بالإنترنت، يجب الإبلاغ عن حالة {"online": false} في reportState حتى إذا عرضت رمز الخطأ deviceOffline.

باختصار:

  • خطأ على المستوى العالمي: تحتوي جميع الأجهزة في الاستجابة على الخطأ نفسه
  • خطأ على المستوى المحلي: الاستجابة المختلطة بحالات الخطأ والنجاح

أخطاء على المستوى العام

يوضح مقتطف JSON التالي كيفية عرض أخطاء على المستوى العام في استجابة QUERY أو EXECUTE.

مثال على خطأ على المستوى العام deviceOffline لأنّ الموزع غير متصل بالإنترنت:

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "errorCode": "deviceOffline",
    "status" : "ERROR"
  }
}

فيما يلي مثال على خطأ inSoftwareUpdate على المستوى العام بسبب الموزع (hub):

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

تنفيذ الرد

يعرض مقتطف 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 : هذه المدة أكبر من الحد الأقصى للمدة التي تبلغ ساعة واحدة. يُرجى إعادة المحاولة.
  • أعلى من الحد الأقصى لمدة زمنية : يمكنني ضبط <device(s)> فقط لمدة تصل إلى <timeperiod>
  • actionNotavailable : عذرًا، لا يمكنني إجراء ذلك الآن.
  • actionUnavailableWhile running : <device(s)> <is/are> قيد التشغيل حاليًا، لذلك لا يمكنني إجراء أي تغييرات
  • مسلح حاليًا : سبق أن تم تسليح<device(s)> <is/are>.
  • alreadyAtMax : <device(s)> <is/are> سبق أن تم ضبطها على الحدّ الأقصى لدرجة الحرارة.
  • alreadyAtMin : <device(s)> <is/are> سبق أن تم ضبطها على الحدّ الأدنى لدرجة الحرارة.
  • alreadyClosed : <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>.
  • alreadyOn : <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)>.
  • appLaunchFound : عذرًا، تعذّر تشغيل <app name> على <device(s)>.
  • ArmFailure : تعذّر تسليح <device(s)>.
  • armLevel needed : لستُ متأكدًا من المستوى المطلوب ضبط <device(s)> عليه. يمكنك قول "ضبط <الأجهزة)> على <مستوى أمان منخفض> أو "ضبط <الأجهزة)> على <الأمان العالي>.
  • تعذُّر المصادقة : يبدو أنّني لم أتمكّن من الوصول إلى <device(s)>. يُرجى التحقّق من التطبيق للتأكّد من أنّه تم إعداد <device/devices> <is/are> بالكامل.
  • bagFull : <device(s)> <has/have> <a Full bag/fullbag>. يُرجى إفراغ <it/them> وإعادة المحاولة.
  • lessLightEffectsDuration : هذه أقل من الحد الأدنى للمدة، وهو 5 دقائق. يُرجى إعادة المحاولة.
  • lessTimerDuration : لا يمكنني ضبط <device(s)> لهذه الفترة الزمنية القصيرة. يُرجى إعادة المحاولة.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • cancelArmingRestricted : عذرًا، لم أتمكّن من إلغاء تفعيل جهاز <device(s)>.
  • cancelTooLate : عذرًا، فات الأوان لإلغاء الاشتراك. يُرجى استخدام <device(s)> أو التطبيق بدلاً من ذلك.
  • ChannelSwitchFound : عذرًا، تعذّر التبديل إلى القناة <channel name>. يُرجى المحاولة مجددًا في وقت لاحق.
  • الشاحن : عذرًا، يبدو أنّ المشكلة هي <device(s)> <has/have> <a الشحن المشكلة/مشاكل الشاحن>.
  • comCommandInsertFound : تعذّر معالجة الأوامر لجهاز <device(s)>.
  • البطارية فارغة : <device(s)> <has/have> <بطارية فارغة/بطاريات معطّلة>.
  • الدرجات خارج النطاق : الدرجات المطلوبة خارج نطاق <device(s)>.
  • DeviceAlertHelpAssistance : <device(s)> <has/have> تنبيه نشط و<بحاجة إلى مساعدتك.
  • deviceAtExtremeLoad : <device(s)> <is/are> عند <درجة حرارة قصوى/شديدة>.
  • deviceBusy : عذرًا، يبدو أنّ <device(s)> ينفّذ إجراءً معيّنًا في الوقت الحالي.
  • DeviceCharging : عذرًا، يبدو أنّه ليس بإمكان <device(s)> تنفيذ هذا الإجراء بسبب شحن (ha_shared.Its theyre size=$item.devices.total_device_count).
  • تم انسداد الجهاز : عذرًا، يبدو أنّ <device(s)> مسدود.
  • deviceCurrentDispings : يوزّع الجهاز حاليًا منتجًا أو خدمة<device(s)>.
  • DeviceDoorOpen : الباب مفتوح على <device(s)>. يُرجى إغلاقه وإعادة المحاولة.
  • deviceHandleClosed : تم إغلاق الاسم المعرِّف على <device(s)>. يُرجى فتحه وإعادة المحاولة.
  • deviceJammingDetected : <device(s)> <is/are> عالق.
  • deviceLidOpen : إنّ غطاء الجهاز مفتوح على <device(s)>. يُرجى إغلاقه وإعادة المحاولة.
  • DevicerequestRepair : <device(s)> <need(s)> to be المرجعية يُرجى التواصل مع وكيل الصيانة المحلي.
  • deviceNotDocked : عذرًا، يبدو أنّ <device(s)> <isn't/aren't> مثبَّتة على قاعدة الإرساء. يُرجى إرساء <it/them> وإعادة المحاولة.
  • DeviceNotFound : <device(s)> <is/are>غير متاحة. يُرجى محاولة إعدادها مرة أخرى.
  • deviceNotMounted : يبدو أنّه ليس بإمكان <device(s)> تنفيذ ذلك لأنّ <it/they> <is/are> غير مثبَّتة.
  • الجهاز غير جاهز : <device(s)> <is/are>غير جاهز.
  • deviceStuck : <device(s)> <is/are> متوقّف ويحتاج إلى مساعدتك.
  • تم التلاعب بالجهاز : تم التلاعب بجهاز <device(s)> <has/have>.
  • إيقاف تشغيل الجهاز الحراري : عذرًا، يبدو أنّ جهاز <device(s)> متوقف بسبب الارتفاع الشديد في درجات الحرارة.
  • directResponseOnlyUnreachable : <device(s)> <doesnt/don't> متوافقًا مع وحدة التحكّم عن بُعد
  • disarmFailure : تعذّر إيقاف <device(s)>.
  • decreteOnlyOpenClose : عذرًا، لا يمكن فتح أو إغلاق <device(s)> بالكامل.
  • dispenseAmountAboveLimit : لا يمكن لـ <device(s)> توزيع هذا المقدار الكبير.
  • dispenseAmountBelowLimit : لا يمكن لجهاز <device(s)> توزيع هذا الكمية الصغيرة.
  • dispenseAmountRemainingExceeded : ليس لدى <device(s)> ما يكفي من <dispense item> لتنفيذ ذلك.
  • dispenseFractionAmountNotSupported : لا يمكن لـ <device(s)> توزيع كسور من <dispense item>.
  • dispenseFracitiveUnitNotSupported : <device(s)> لا تتيح استخدام الكسور من هذه الوحدة في <dispense item>.
  • dispenseUnitNotAllowed : لا يتيح <device(s)> استخدام هذه الوحدة في <dispense item >".
  • illClosedTooLong : مرّ وقت طويل على فتح باب <device(s)>. يُرجى فتح الباب والتأكّد من وجود شيء بداخله وإعادة المحاولة.
  • النقل : <device(s)> <is/are> في "وضع التدفئة الطارئة"؛ لذا يجب تعديل <it/they> يدويًا.
  • عيوب في البطارية : <device(s)> <has/have> <أعطال في البطارية أو بطاريات في البطاريات>.
  • لا يمكن الوصول إلى الطابق : لا يمكن لـ <device(s)> الوصول إلى الغرفة. يُرجى نقل <it/them> إلى الطابق الصحيح وإعادة المحاولة.
  • functionNotsupported : في الواقع، أجهزة <device(s)> <لا/لا> تتوافق مع هذه الوظيفة.
  • genericDispenseNotsupported : أحتاج إلى معرفة نوع المحتوى الذي تريد توزيعه. يُرجى إعادة المحاولة باستخدام اسم العنصر.
  • hardError : حدث خطأ ولا يمكنني التحكّم في جهازك المنزلي.
  • hardError : حدث خطأ ولا يمكنني التحكّم في جهازك المنزلي.
  • في الوضع التلقائي : <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>ليس في وضع التدفئة أو التبريد.
  • inHumodifierMode : <device(s)> <is/are> مضبوط حاليًا على وضع ترطيب الهواء. لتغيير درجة الحرارة، عليك تبديلها إلى وضع آخر.
  • inOffMode : <device(s)> <is/are> غير مفعّل حاليًا. لتغيير درجة الحرارة، يجب التبديل <it/them> إلى وضع مختلف.
  • inPurifierMode : <device(s)> <is/are> مضبوط حاليًا على وضع "جهاز تنقية الهواء". لتغيير درجة الحرارة، عليك تبديلها إلى وضع آخر.
  • 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> على الحدّ الأقصى للسرعة.
  • minSettingsReached : <device(s)> <is/are> مضبوطة مسبقًا على أدنى إعداد.
  • minSpeedReached : تم ضبط<device(s)> <is/are> على الحد الأدنى للسرعة.
  • MonitoringServiceConnectionLost : <device(s)> <has/have> فقدت اتصال <its/their> بخدمة المراقبة.
  • بحاجة إلى المرفقات : عذرًا، يبدو أنّ <device(s)> <is/are> ينقصه مرفق مطلوب. يُرجى استبداله وإعادة المحاولة.
  • needBin : عذرًا، يبدو أنّ <device(s)> <is/are> ينقصه سلة. يُرجى استبداله وإعادة المحاولة.
  • getPads : <device(s)> <need(s)> وسادات جديدة
  • needSoftwareUpdate : <device(s)> <need(s)> تحديث للبرنامج.
  • needWater : <device(s)> <need(s)> الماء.
  • NetworkProfileNotRecognized : عذرًا، لم أتعرّف على "<network profile>" على <device(s)>.
  • NetworkSpeedTestInProgress : إنّني أختبر حاليًا <network> <speed/speeds>>.
  • noAvailableApp : عذرًا، يبدو أنّ تطبيق <app name> غير متاح.
  • noavailableChannel : عذرًا، يبدو أنّ القناة <channel name> غير متوفّرة.
  • noChannel Subscription : عذرًا، لست مشتركًا في قناة <channel name> في الوقت الحالي.
  • noTimerExists : عذرًا، يبدو أنّه لم يتم ضبط أي موقّتات على <device(s)>.
  • غير متاح : عذرًا، هذا الوضع غير متاح لأجهزة <device(s)>.
  • obstructionDetected : رصد<device(s)> عائقًا
  • بلا اتصال بالإنترنت ، الجهاز غير متصل : عذرًا، يبدو أن <device(s)> <is/are> غير متاح في الوقت الحالي.
  • onrequiredsMode : يُرجى تحديد الوضع الذي تريد تفعيله.
  • عبارة المرور غير صحيحة : عذرًا، يبدو أنّ رقم التعريف الشخصي هذا غير صحيح.
  • النسبة المئوية للخروج من النطاق : عذرًا، لا يمكنني ضبط قيمة <device(s)> على <percent>.
  • رقم التعريف الشخصي غير صحيح : (عبارة المرور غير صحيحة)
  • تم رصد مطر : لم أفتح <device(s)> بسبب رصد تساقط أمطار.
  • rangeTooClose : لا يمكن أن تصل درجة الحرارة إلى نطاق التدفئة - التبريد لـ <device(s)>. يُرجى اختيار درجات حرارة بعيدة عن بعضها.
  • relinkrequired : عذرًا، يبدو أنّه حدث خطأ في حسابك. يُرجى استخدام Google Home أو تطبيق "مساعد Google" لإعادة ربط <الأجهزة>.
  • RemoteSetDisabled :
    • المعلمة الاختيارية errorCodeReason
    • currentlyArmed - عذرًا، نظرًا لأنه تم تفعيل جهاز الأمان من قبل، يجب استخدام <device(s)> أو التطبيق لإجراء أي تغييرات.
    • remoteUnlockNotAllowed - عذرًا، لا يمكنني فتح قفل <device(s)> عن بُعد.
    • remoteControlOff - هذا الإجراء غير مفعَّل حاليًا. يُرجى تفعيل جهاز التحكّم عن بُعد على <device(s)> وإعادة المحاولة.
    • childSafetyModeActive - تم إيقاف هذا الإجراء على <device(s)> عندما يكون وضع "أمان الأطفال" مفعَّلاً.
  • RoomOnSomeFloors : لا يمكن لـ <device(s)> الوصول إلى هذه الغرف لأنّها في طوابق مختلفة.
  • SafetyStatus : <device(s)> <is/are> في "وضع الإيقاف الآمن"، لذلك يجب ضبط <it/they> يدويًا.
  • senseCannotBeApplied : عذرًا، يتعذّر تطبيق <device(s)>.
  • قيود الأمان : <device(s)> <has/have> أحد قيود الأمان.
  • SoftwareUpdateNotavailable : عذرًا، لا يتوفر تحديث للبرامج على <device(s)>.
  • startتتطلبTime : لإجراء ذلك، يجب تحديد المدة المطلوبة لتشغيل <device(s)>.
  • stillCoolingDown : <device(s)> <is/are> لا تزال باردة.
  • stillWarmingUp : <device(s)> <is/are> لا تزال في مرحلة التحضير.
  • ساحة المشاركات غير متوفرة : عذرًا، يبدو أنّ البث غير متوفّر حاليًا من <device(s)>.
  • StreamUnplayable : عذرًا، لا يمكنني تشغيل البث من <device(s)> في الوقت الحالي.
  • خزان فارغ : <device(s)> <has/have> <an empty tank/free tanks>. يُرجى ملء <it/them> وإعادة المحاولة.
  • targetAl alreadyReached : عذرًا، يبدو أنّ هذه درجة الحرارة الحالية.
  • مُوَقِّتْValueOutRange : يتعذّر ضبط <device(s)> لهذه المدّة الزمنية.
  • TooManyFounds : عذرًا، لقد تعذّر إكمال عدد كبير جدًا من المحاولات. يُرجى الانتقال إلى التطبيق على جهازك لإكمال هذا الإجراء.
  • transientError : عذرًا، حدث خطأ أثناء التحكّم في <device(s)>. يُرجى إعادة المحاولة.
  • غير مفعّل ، تم إيقاف الجهاز : <device(s)> <is/are> غير مُفعَّل في الوقت الحالي.
  • notLocateDevice : لم أتمكّن من تحديد مكان <device(s)>.
  • UnknownFoodPreset : لا يتوافق جهاز <device(s)> مع هذا الإعداد المسبق للطعام.
  • UnlockFailure : تعذَّر فتح قفل <device(s)>.
  • unpausableState : لا يمكن إيقاف <device(s)> مؤقتًا في الوقت الحالي.
  • تم إلغاء المستخدم : حسنًا
  • valueOutOfRange : يتعذّر ضبط <device(s)> على درجة الحرارة هذه.

الاستثناءات

يجب عليك عرض استثناء عندما تكون هناك مشكلة أو تنبيه مرتبط بأمر. قد ينجح الأمر أو يفشل.

إذا تم الأمر بنجاح (الحالة = "Success")، يمكنك الإبلاغ عن الاستثناءات باستخدام السمة StatusReport (للأجهزة غير المستهدفة)، أو من خلال عرض رمز exceptionCode مناسب (للجهاز المستهدف).

على سبيل المثال، إذا كانت شاشة وبر المجفف ممتلئة، سيظل بإمكان المستخدم تشغيل المجفف، ولكن يمكنك تحذيره بشأن هذه الحالة. وبالمثل، إذا كان مستوى شحن بطارية الجهاز منخفضًا وغير فارغ، سيظل بإمكانك تنفيذ أحد الأوامر، ولكن عليك إخباره بأنّ بطارية الجهاز منخفضة.

إذا تعذّر تنفيذ الأمر بسبب بعض الاستثناءات، يجب أن تكون الحالة "استثناءات"، ويجب الإبلاغ عن الاستثناءات باستخدام السمة 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 bag/fullbag>. يُرجى إفراغ <it/them> وإعادة المحاولة.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • تم رصد أول أكسيد الكربون : تم رصد أول أكسيد الكربون في <اسم المنزل>.
  • deviceAtExtremeLoad : <device(s)> <is/are> عند <درجة حرارة قصوى/شديدة>.
  • deviceJammingDetected : <device(s)> <is/are> عالق.
  • تم نقل الجهاز : تم نقل<device(s)> <was/were>.
  • deviceOpen : <device(s)> <is/are> open.
  • تم التلاعب بالجهاز : تم التلاعب بجهاز <device(s)> <has/have>.
  • جهاز غير موصول بمصدر طاقة : <device(s)> <is/are> غير موصول بمصدر طاقة.
  • لا يمكن الوصول إلى الطابق : لا يمكن لـ <device(s)> الوصول إلى الغرفة. يُرجى نقل <it/them> إلى الطابق الصحيح وإعادة المحاولة.
  • hardwareFailure : <device(s)> <has/have> مشكلة في الجهاز.
  • inSoftwareUpdate : <device(s)> <is/are> في انتظار تحديث برنامج حاليًا.
  • تم تجاوزه : تم تجاوز<device(s)> <is/are> حاليًا.
  • انخفاض مستوى شحن البطارية : <device(s)> <has/have> مستوى شحن البطارية منخفض.
  • تم رصد حركة : أجهزة <device(s)> <detect(s)> حركة.
  • getPads : <device(s)> <need(s)> وسادات جديدة
  • needSoftwareUpdate : <device(s)> <need(s)> تحديث للبرنامج.
  • needWater : <device(s)> <need(s)> الماء.
  • NetworkJammingDetected : لا يعمل الاتصال بالشبكة المنزلية بجهاز <device(s)> بشكل صحيح.
  • noISSUEsReported : <device(s)> لم يتم الإبلاغ عن أي مشاكل.
  • RoomOnSomeFloors : لا يمكن لـ <device(s)> الوصول إلى هذه الغرف لأنّها في طوابق مختلفة.
  • runCycleFinished : تم الانتهاء من تشغيل<device(s)> <has/have>.
  • قيود الأمان : <device(s)> <has/have> أحد قيود الأمان.
  • تم رصد دخان : تم رصد دخان في <house name>.
  • خزان فارغ : <device(s)> <has/have> <an empty tank/free tanks>. يُرجى ملء <it/them> وإعادة المحاولة.
  • usingCellular Backup : <device(s)> <is/are> يستخدم ميزة الاحتفاظ بنسخة احتياطية من بيانات شبكة الجوّال.
  • WaterLeakDetected : <device(s)> <detect(s)> هناك تسرُّب للمياه