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

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

الأخطاء

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

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

عندما يكون أحد الأجهزة غير متصل بالإنترنت، عليك الإبلاغ عن {"online": false} لالإبلاغ عن الحالة في غضون 5 دقائق من رصد سلوك الجهاز.

باختصار:

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

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

يوضّح المقتطف التالي من تنسيق 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"
            }
          }
        }
      }
    }
  }
}

قائمة الأخطاء

ستؤدي الأخطاء التالية إلى إنشاء ميزة تحويل النص إلى كلام المرتبطة بها على الجهاز.

  • aboveMaximumLightEffectsDuration : هذه المدة أطول من الحد الأقصى لساعة واحدة. يُرجى إعادة المحاولة.
  • أعلى من الحد الأقصى لمدة زمنية : يمكنني ضبط <device(s)> فقط لمدة تصل إلى <timeperiod>
  • actionNotAvailable : عذرًا، لا يمكنني إجراء ذلك الآن.
  • actionUnavailableWhileRunning : <device(s)> <is/are> currently running, so I can't make any changes.
  • alreadyArmed : <device(s)> <is/are> already armed.
  • alreadyAtMax : <device(s)> <is/are> already set to the maximum temperature.
  • alreadyAtMin : <device(s)> <is/are> already set to the minimum temperature.
  • alreadyClosed : <device(s)> <is/are> already closed.
  • alreadyDisarmed : <device(s)> <is/are> already disarmed.
  • alreadyDocked : <device(s)> <is/are> already docked.
  • alreadyInState : <device(s)> <is/are> already in that state.
  • alreadyLocked : <device(s)> <is/are> already locked.
  • سبق أن تم إيقاف : سبق أن تم إيقاف <device(s)> <is/are>.
  • alreadyOn : <device(s)> <is/are> already on.
  • سبق أن تم فتحه : سبق أن تم فتح <device(s)> <is/are>.
  • متوقف مؤقتًا : <device(s)> <is/are> متوقف مؤقتًا من قبل.
  • سبق أن تم بدؤها : سبق أن بدأ تشغيل <device(s)> <is/are>.
  • alreadyStopped : <device(s)> <is/are> already stopped.
  • سبق فتح قفل الجهاز : <device(s)> <is/are> سبق فتح قفله.
  • ambiguousZoneName : عذرًا، لا يمكن لأجهزة <device(s)> تحديد المنطقة المقصودة. يُرجى التأكّد من أنّ المناطق تحمل أسماء فريدة وإعادة المحاولة.
  • amountAboveLimit : هذا أكبر مما يمكن أن يتوافق مع <device(s)>.
  • appLaunchFailed : تعذّر إطلاق <اسم التطبيق> على <الأجهزة>.
  • ArmFailure : تعذّر تسليح <device(s)>.
  • armLevelNeeded : لست متأكّدًا من المستوى المطلوب ضبط <device(s)> عليه. يمكنك قول "ضبط <الأجهزة> على <مستوى أمان منخفض>" أو "ضبط <الأجهزة> على <مستوى أمان مرتفع>".
  • authFailure : تعذّر علينا الوصول إلى <device(s)>. يُرجى التحقّق من التطبيق للتأكّد من أنّ <device/devices> <is/are> تم إعداده بالكامل.
  • bagFull : <device(s)> <has/have> <a full bag/full bags>. Please empty <it/them> and try again.
  • belowMinimumLightEffectsDuration : يعني ذلك أنّ مدّة التأثيرات الضوئية أقل من الحدّ الأدنى البالغ 5 دقائق. يُرجى إعادة المحاولة.
  • belowMinimumTimerDuration : لا يمكنني ضبط <device(s)> لمدة قصيرة جدًا. يُرجى إعادة المحاولة.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • cancelArmingRestricted : عذرًا، لم نتمكّن من إلغاء تفعيل جهاز <device(s)>.
  • cancelTooLate : عذرًا، لقد انتهت فرصة الإلغاء. استخدِم <device(s)> أو التطبيق بدلاً من ذلك.
  • channelSwitchSwitch : عذرًا، تعذّر التبديل إلى القناة <channel name>. يُرجى المحاولة مجددًا في وقت لاحق.
  • chargerIssue : عذرًا، يبدو أنّ <الأجهزة> <تواجه/تواجه> <مشكلة في الشاحن/مشاكل في الشاحن>.
  • commandInsertFailed : تعذّر معالجة الطلبات المتعلّقة بالأجهزة <device(s)>.
  • deadBattery : <device(s)> <has/have> <a dead battery/dead batteries>.
  • degreesOutOfRange : إنّ الدرجات المطلوبة خارج النطاق المسموح به لـ <device(s)>.
  • deviceAlertNeedsAssistance : <device(s)> <has/have> an active alert and <need(s)> your assistance.
  • deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
  • deviceBusy : عذرًا، يبدو أنّ <device(s)> ينفّذ إجراءً معيّنًا في الوقت الحالي.
  • deviceCharging : عذرًا، يبدو أنّه لا يمكن لخدمة <device(s)> تنفيذ ذلك لأنّ (ha_shared.ItsTheyre size=$item.devices.total_device_count) قيد الشحن.
  • deviceClogged : عذرًا، يبدو أنّ <device(s)> مسدود.
  • deviceCurrentlyDispensing : <device(s)> يُخرج حاليًا بعض المنتجات.
  • deviceDoorOpen : الباب مفتوح على <device(s)>. يُرجى إغلاقه وإعادة المحاولة.
  • deviceHandleClosed : تم إغلاق الاسم المعرِّف على <device(s)>. يُرجى فتحه وإعادة المحاولة.
  • deviceJammingDetected : <device(s)> <is/are> jammed.
  • deviceLidOpen : الغطاء مفتوح على <device(s)>. يُرجى إغلاقه وإعادة المحاولة.
  • deviceNeedsRepair : <device(s)> <need(s)> to be repaired. يُرجى التواصل مع وكيل الصيانة المحلي.
  • deviceNotDocked : عذرًا، يبدو أنّ <device(s)> <isn't/aren't> تم إرساءه. يُرجى إرساء <الجهاز> وإعادة المحاولة.
  • deviceNotFound : <device(s)> <is/are>n't available. ننصحك بمحاولة ضبط إعدادات <الجهاز/الأجهزة> مرة أخرى.
  • deviceNotMounted : عذرًا، يبدو أنّه لا يمكن <للأجهزة> إجراء ذلك لأنّها <غير مثبّتة>.
  • deviceNotReady : <device(s)> <is/are>n't ready.
  • deviceStuck : <device(s)> <is/are> stuck and needs your help.
  • deviceTampered : <device(s)> <has/have> been tampered with.
  • إيقاف تشغيل الجهاز الحراري : عذرًا، يبدو أنّ جهاز <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> لإجراء ذلك.
  • dispenseFractionalAmountNotSupported : لا يمكن لـ <device(s)> توزيع أجزاء من <dispense item>.
  • dispenseFractionalUnitNotSupported : لا تتيح <device(s)> أجزاء من هذه الوحدة لـ <dispense item>.
  • dispenseUnitNotSupported : لا تتوافق <device(s)> مع هذه الوحدة الخاصة بـ <dispense item>.
  • doorClosedTooLong : مرّ وقت طويل على فتح باب <device(s)>. يُرجى فتح الباب والتأكّد من وجود شيء بداخله ثم إعادة المحاولة.
  • emergencyHeatOn : <device(s)> <is/are> in Emergency Heat Mode, so <it/they>'ll have to be adjusted by hand.
  • faultyBattery : <device(s)> <has/have> <a faulty battery/faulty batteries>.
  • floorUnreachable : لا يمكن للأجهزة <device(s)> الوصول إلى هذه الغرفة. يُرجى نقل <الجهاز> إلى الطابق الصحيح وإعادة المحاولة.
  • functionNotSupported : في الواقع، <device(s)> <doesn't/don't> تتيح هذه الوظيفة.
  • genericDispenseNotSupported : أحتاج إلى معرفة ما تريد توزيعه. يُرجى إعادة المحاولة مع إدخال اسم السلعة.
  • hardError : عذرًا، حدث خطأ ولا يمكنني التحكّم في جهازك المنزلي.
  • hardError : عذرًا، حدث خطأ ولا يمكنني التحكّم في جهازك المنزلي.
  • inAutoMode : <device(s)> <is/are> set currently to auto mode. لتغيير درجة الحرارة، عليك تبديلها إلى وضع آخر.
  • inAwayMode : <device(s)> <is/are> set currently to away mode. للتحكّم في الترموستات، عليك ضبطه يدويًا على وضع "داخل المنزل" باستخدام تطبيق Nest على هاتف أو جهاز لوحي أو كمبيوتر.
  • inDryMode : <device(s)> <is/are> مضبوط حاليًا على الوضع الجاف. لتغيير درجة الحرارة، عليك ضبط <الجهاز> على وضع مختلف.
  • inEcoMode : <device(s)> <is/are> set currently to eco mode. لتغيير درجة الحرارة، عليك ضبط <الجهاز> على وضع مختلف.
  • inFanOnlyMode : <device(s)> <is/are> مضبوط حاليًا على وضع المروحة فقط. لتغيير درجة الحرارة، عليك ضبط <الجهاز> على وضع مختلف.
  • inHeatOrCool : <device(s)> <is/are>ليس في وضع التدفئة أو التبريد.
  • inHumidifierMode : <device(s)> <is/are> currently set to humidifier mode. لتغيير درجة الحرارة، عليك ضبط <الجهاز> على وضع مختلف.
  • inOffMode : <device(s)> <is/are> off currently. To change the temperature, you'll need to switch <it/them> to a different mode.
  • inPurifierMode : <device(s)> <is/are> set currently to purifier mode. لتغيير درجة الحرارة، عليك ضبط <الجهاز> على وضع مختلف.
  • inSleepMode : <device(s)> <is/are> in sleep mode. يُرجى إعادة المحاولة لاحقًا.
  • inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
  • lockFailure : تعذَّر قفل <device(s)>.
  • lockedState : <device(s)> <is/are> locked currently.
  • lockedToRange : هذه درجة الحرارة خارج النطاق المُقفَل على <device(s)>.
  • lowBattery : <device(s)> <has/have> low battery.
  • maxsettingReached : سبق أن تم ضبط <device(s)> <is/are> على أعلى إعداد.
  • maxSpeedReached : <device(s)> <is/are> already set to the maximum speed.
  • minSettingReached : <device(s)> <is/are> already set to the lowest setting.
  • minSpeedReached : تم ضبط <device(s)> <is/are> على الحد الأدنى للسرعة.
  • monitoringServiceConnectionLost : <device(s)> <has/have> lost <its/their> connection to the monitoring service.
  • needsAttachment : عذرًا، يبدو أنّ <الأجهزة> <لا تتضمّن> مرفقًا مطلوبًا. يُرجى استبداله وإعادة المحاولة.
  • needsBin : عذرًا، يبدو أنّ <الأجهزة> لا تتضمّن حاوية. يُرجى استبداله وإعادة المحاولة.
  • needsPads : <device(s)> <need(s)> new pads.
  • needsSoftwareUpdate : <device(s)> <need(s)> a software update.
  • needsWater : <device(s)> <need(s)> water.
  • networkProfileNotRecognized : عذرًا، لا يمكنني التعرّف على "<network profile>" على <device(s)>.
  • networkSpeedTestInProgress : أختبر حاليًا <الشبكة> <السرعة/السرعات>>.
  • noAvailableApp : يبدو أنّ <app name> غير متاح.
  • noAvailableChannel : عذرًا، يبدو أنّ القناة <channel name> غير متاحة.
  • noChannelSubscription : عذرًا، لست مشتركًا في قناة <channel name> في الوقت الحالي.
  • noTimerExists : عذرًا، يبدو أنّه لم يتم ضبط أيّ موقّتات على <device(s)>.
  • notSupported : عذرًا، هذا الوضع غير متاح على <device(s)>.
  • obstructionDetected : رصدت<device(s)> عائقًا.
  • offline , deviceOffline : عذرًا، يبدو أنّ <device(s)> <is/are> غير متاح الآن.
  • onRequiresMode : يُرجى تحديد الوضع الذي تريد تفعيله.
  • passphraseIncorrect : عذرًا، يبدو أنّ رقم التعريف الشخصي غير صحيح.
  • percentOutOfRange : عذرًا، لا يمكنني ضبط <device(s)> على <percent>.
  • pinIncorrect : (passphraseIncorrect)
  • rainDetected : لم أفتح <device(s)> لأنّه تم رصد تساقط أمطار.
  • rangeTooClose : هذه القيم قريبة جدًا من بعضها ولا يمكن استخدامها لإعداد نطاق التدفئة والتبريد في <device(s)>. يُرجى اختيار درجات حرارة أبعد عن بعضها.
  • relinkRequired : عذرًا، يبدو أنّه حدث خطأ في حسابك. يُرجى استخدام تطبيق Google Home أو تطبيق "مساعد Google" لإعادة ربط <الأجهزة>.
  • RemoteSetDisabled :
    • المعلمة الاختيارية errorCodeReason
    • currentlyArmed - عذرًا، بما أنّ نظام الأمان مفعَّل، عليك استخدام <device(s)> أو التطبيق لإجراء أي تغييرات.
    • remoteUnlockNotAllowed - لا يمكنني فتح قفل <الأجهزة> عن بُعد.
    • remoteControlOff - هذا الإجراء غير مفعَّل حاليًا. يُرجى تفعيل ميزة التحكّم عن بُعد في <الأجهزة> وإعادة المحاولة.
    • childSafetyModeActive - تم إيقاف هذا الإجراء على <device(s)> عندما يكون وضع "أمان الأطفال" مفعَّلاً.
  • RoomOn differentFloors : لا يمكن لـ <device(s)> الوصول إلى هذه الغرف لأنّها في طوابق مختلفة.
  • safetyShutOff : <device(s)> <is/are> in Safety Shut-Off Mode, so <it/they>'ll have to be adjusted by hand.
  • sceneCannotBeApplied : عذرًا، يتعذّر تطبيق <device(s)>.
  • securityRestriction : <device(s)> <has/have> a security restriction.
  • softwareUpdateNotAvailable : لا يتوفّر تحديث للبرامج على <device(s)>.
  • startتتطلبTime : لإجراء ذلك، يجب تحديد المدة المطلوبة لتشغيل <device(s)>.
  • stillCoolingDown : <device(s)> <is/are> still cooling down.
  • stillWarmingUp : <device(s)> <is/are> لا تزال في مرحلة التحضير.
  • streamUnavailable : عذرًا، يبدو أنّه لا يمكن حاليًا بث المحتوى من <device(s)>.
  • streamUnplayable : عذرًا، لا يمكنني تشغيل البث من <device(s)> في الوقت الحالي.
  • خزنة فارغ : <device(s)> <has/have> <anحاسة/خزانات فارغة>. يُرجى ملء <it/them> وإعادة المحاولة.
  • targetAlreadyReached : عذرًا، يبدو أنّ درجة الحرارة الحالية هي الدرجة المطلوبة.
  • مُوَقِّتْValueOutRange : يتعذّر ضبط <device(s)> لهذه المدّة الزمنية.
  • tooManyFailedAttempts : عذرًا، تعذّر إتمام محاولات كثيرة. يُرجى الانتقال إلى التطبيق على جهازك لإكمال هذا الإجراء.
  • transientError : عذرًا، حدث خطأ أثناء التحكّم في <device(s)>. يُرجى إعادة المحاولة.
  • turnedOff , deviceTurnedOff : <device(s)> <is/are> off right now.
  • cannotLocateDevice : لم أتمكّن من تحديد موقع <device(s)>.
  • unknownFoodPreset : لا تتيح <device(s)> إعدادات الطعام المُسبَقة هذه.
  • unlockFailure : تعذّر فتح قفل <device(s)>.
  • unpausableState : لا يمكن حاليًا إيقاف <device(s)> مؤقتًا.
  • تم إلغاء المستخدم : حسنًا
  • valueOutOfRange : لا يمكن ضبط درجة الحرارة على <device(s)>.

الاستثناءات

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

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

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

إذا تعذّر تنفيذ الأمر بسبب استثناءات، يجب أن تكون الحالة "EXCEPTIONS"، ويجب الإبلاغ عن الاستثناءات باستخدام السمة 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/full bags>. Please empty <it/them> and try again.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • تم رصد أول أكسيد الكربون : تم رصد أول أكسيد الكربون في <اسم المنزل>.
  • deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
  • deviceJammingDetected : <device(s)> <is/are> jammed.
  • deviceMoved : <device(s)> <was/were> moved.
  • deviceOpen : <device(s)> <is/are> open.
  • deviceTampered : <device(s)> <has/have> been tampered with.
  • deviceUnplugged : <device(s)> <is/are> unplugged.
  • floorUnreachable : لا يمكن للأجهزة <device(s)> الوصول إلى هذه الغرفة. يُرجى نقل <الجهاز> إلى الطابق الصحيح وإعادة المحاولة.
  • hardwareFailure : <device(s)> <has/have> a hardware problem.
  • inSoftwareUpdate : <device(s)> <is/are> في انتظار تحديث برنامج حاليًا.
  • تم تجاوزه : تم تجاوز <device(s)> <is/are> حاليًا.
  • lowBattery : <device(s)> <has/have> low battery.
  • تم رصد حركة : أجهزة <device(s)> <detect(s)> حركة.
  • needsPads : <device(s)> <need(s)> new pads.
  • needsSoftwareUpdate : <device(s)> <need(s)> a software update.
  • needsWater : <device(s)> <need(s)> water.
  • networkJammingDetected : لا يعمل الاتصال بالشبكة المنزلية مع <device(s)> بشكلٍ سليم.
  • noIssuesReported : لم يتم الإبلاغ عن أي مشاكل في<device(s)>.
  • RoomOn differentFloors : لا يمكن لـ <device(s)> الوصول إلى هذه الغرف لأنّها في طوابق مختلفة.
  • runCycleFinished : <device(s)> <has/have> finished running.
  • securityRestriction : <device(s)> <has/have> a security restriction.
  • smokeDetected : تم رصد دخان في <house name>.
  • خزنة فارغ : <device(s)> <has/have> <anحاسة/خزانات فارغة>. يُرجى ملء <it/them> وإعادة المحاولة.
  • usingCellularBackup : <device(s)> <is/are> using cellular backup.
  • waterLeakDetected : <device(s)> <detect(s)> a water leak.