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

يسرد هذا المستند الأخطاء والاستثناءات المتوافقة رسميًا لأجهزة المقترنة بالمنزل الذكي. يُرجى استخدام رموز الأخطاء والاستثناءات هذه في الإشعارات إذا كنت قد نفّذتها، حتى يُرسِل "مساعد 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 كيفية عرض الأخطاء على مستوى الجهاز في استجابة 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"
            }
          }
        }
      }
    }
  }
}

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

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

  • aboveMaximumLightEffectsDuration : هذه المدة أطول من الحد الأقصى لساعة واحدة. يُرجى إعادة المحاولة.
  • aboveMaximumTimerDuration : يمكنني ضبط <device(s)> لمدة تصل إلى <time period> فقط
  • 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.
  • alreadyOff : <device(s)> <is/are> already off.
  • alreadyOn : <device(s)> <is/are> already on.
  • alreadyOpen : <device(s)> <is/are> already open.
  • alreadyPaused : <device(s)> <is/are> already paused.
  • alreadyStarted : <device(s)> <is/are> already started.
  • alreadyStopped : <device(s)> <is/are> already stopped.
  • alreadyUnlocked : <device(s)> <is/are> already unlocked.
  • 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)> أو التطبيق بدلاً من ذلك.
  • channelSwitchFailed : تعذّر علينا التبديل إلى القناة <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.
  • deviceThermalShutdown : عذرًا، يبدو أنّ <device(s)> قد توقّفت عن العمل بسبب ارتفاع درجة حرارتها.
  • directResponseOnlyUnreachable : <device(s)> <doesn't/don't> support remote control.
  • disarmFailure : تعذّر إيقاف أنظمة الأمان في <device(s)>.
  • discreteOnlyOpenClose : عذرًا، لا يمكن فتح <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> set currently to dry mode. لتغيير درجة الحرارة، عليك ضبط <الجهاز> على وضع مختلف.
  • inEcoMode : <device(s)> <is/are> set currently to eco mode. لتغيير درجة الحرارة، عليك ضبط <الجهاز> على وضع مختلف.
  • inFanOnlyMode : <device(s)> <is/are> set currently to fan-only mode. لتغيير درجة الحرارة، عليك ضبط <الجهاز> على وضع مختلف.
  • inHeatOrCool : <device(s)> <is/are>n't in heat/cool mode.
  • 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> already set to the highest setting.
  • 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> already set to the minimum speed.
  • 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 - هذا الإجراء غير مفعَّل في <الأجهزة> عندما يكون وضع "سلامة الأطفال" مفعَّلاً.
  • roomsOnDifferentFloors : لا يمكن لـ <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)>.
  • startRequiresTime : لإجرائه، عليك تحديد مدة تشغيل <device(s)>.
  • stillCoolingDown : <device(s)> <is/are> still cooling down.
  • stillWarmingUp : <device(s)> <is/are> still warming up.
  • streamUnavailable : عذرًا، يبدو أنّه لا يمكن حاليًا بث المحتوى من <device(s)>.
  • streamUnplayable : عذرًا، لا يمكنني تشغيل البث من <device(s)> في الوقت الحالي.
  • tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
  • targetAlreadyReached : عذرًا، يبدو أنّ درجة الحرارة الحالية هي الدرجة المطلوبة.
  • timerValueOutOfRange : لا يمكن ضبط <device(s)> لمدة هذه المدة.
  • tooManyFailedAttempts : عذرًا، تعذّر إتمام محاولات كثيرة. يُرجى الانتقال إلى تطبيق الجهاز لإكمال هذا الإجراء.
  • transientError : عذرًا، حدث خطأ أثناء التحكّم في <device(s)>. يُرجى إعادة المحاولة.
  • turnedOff , deviceTurnedOff : <device(s)> <is/are> off right now.
  • unableToLocateDevice : تعذّر عليّ تحديد موقع <device(s)>.
  • unknownFoodPreset : لا تتيح <device(s)> إعدادات الطعام المُسبَقة هذه.
  • unlockFailure : تعذّر فتح قفل <device(s)>.
  • unpausableState : لا يمكن حاليًا إيقاف <device(s)> مؤقتًا.
  • userCancelled : ok
  • 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"
          }
        ]
      }
    }
  }
}

قائمة الاستثناءات

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

  • 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>.
  • carbonMonoxideDetected : تم رصد أول أكسيد الكربون في <house name>.
  • 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> currently in a software update.
  • isBypassed : <device(s)> <is/are> bypassed currently.
  • lowBattery : <device(s)> <has/have> low battery.
  • motionDetected : <device(s)> <detect(s)> motion.
  • 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)>.
  • roomsOnDifferentFloors : لا يمكن لـ <device(s)> الوصول إلى هذه الغرف لأنّها في طوابق مختلفة.
  • runCycleFinished : <device(s)> <has/have> finished running.
  • securityRestriction : <device(s)> <has/have> a security restriction.
  • smokeDetected : تم رصد دخان في <house name>.
  • tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
  • usingCellularBackup : <device(s)> <is/are> using cellular backup.
  • waterLeakDetected : <device(s)> <detect(s)> a water leak.