错误和异常

本文档列出了官方支持的智能 家居设备请在 intent 中使用指定的错误和异常代码 或在通知中 如果您已实现此功能,Google 助理就会提醒最终用户注意 或设备状态如果响应中包含不正确的格式或 errorCode,Google 助理会向用户显示一般错误消息,例如 “抱歉,device目前无法使用。”

错误

当某个问题导致执行或 查询请求失败。例如,如果门锁卡住了,无法 已锁定或已解锁,则应向用户返回有关此状态的错误。

您可以在设备级别或全局级别添加错误代码。例如: 如果用户有多个来自一个提供商的灯具,并且这些灯具由 hub 控制,则 如果用户要求关闭所有灯,提供商可能会返回 如果单个灯具处于离线状态,则会发生设备级错误;如果单个灯具处于离线状态,则显示全局级错误 他们的整个集线器都处于离线状态,无法控制任何灯具。如果所有 设备已离线,使用全局级还是设备级没有区别 错误。当设备离线时,您应在以下位置报告 {"online": false} 状态: reportState,即使您返回了 deviceOffline 错误代码。

总结:

  • 全局级错误:响应中的所有设备都存在相同的错误
  • 局部错误:响应包含错误和成功示例

全局级错误

以下 JSON 代码段展示了如何在 QUERY 或 EXECUTE 响应。

由 hub 导致的全局级错误 deviceOffline 的示例如下: 离线:

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

由 hub 导致的全局级错误 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。

  • <ph type="x-smartling-placeholder"></ph> aboveMaximumLightEffectsDuration : 这超过了 1 小时的时长上限。请重试。
  • <ph type="x-smartling-placeholder"></ph> aboveMaximumTimerDuration : 我只能设置 <device(s)>最多 <time period>
  • <ph type="x-smartling-placeholder"></ph> actionNotAvailable : 抱歉,我目前似乎无法执行这项操作。
  • <ph type="x-smartling-placeholder"></ph> actionUnavailableWhileRunning : &lt;device(s)&gt;&lt;is/are&gt;所以我无法进行任何更改。
  • <ph type="x-smartling-placeholder"></ph> alreadyArmed : &lt;device(s)&gt;&lt;is/are&gt;已经开启。
  • <ph type="x-smartling-placeholder"></ph> alreadyAtMax : &lt;device(s)&gt;&lt;is/are&gt;已经设为最高温度了。
  • <ph type="x-smartling-placeholder"></ph> alreadyAtMin : &lt;device(s)&gt;&lt;is/are&gt;已经设为最低温度了。
  • <ph type="x-smartling-placeholder"></ph> alreadyClosed : &lt;device(s)&gt;&lt;is/are&gt;已经停止营业。
  • <ph type="x-smartling-placeholder"></ph> alreadyDisarmed : &lt;device(s)&gt;&lt;is/are&gt;已经关闭报警器。
  • <ph type="x-smartling-placeholder"></ph> alreadyDocked : &lt;device(s)&gt;&lt;is/are&gt;已插入基座。
  • <ph type="x-smartling-placeholder"></ph> alreadyInState : &lt;device(s)&gt;&lt;is/are&gt;已经处于该状态。
  • <ph type="x-smartling-placeholder"></ph> alreadyLocked : &lt;device(s)&gt;&lt;is/are&gt;已经上锁。
  • <ph type="x-smartling-placeholder"></ph> alreadyOff : &lt;device(s)&gt;&lt;is/are&gt;已经关闭。
  • <ph type="x-smartling-placeholder"></ph> alreadyOn : &lt;device(s)&gt;&lt;is/are&gt;已经开启。
  • <ph type="x-smartling-placeholder"></ph> alreadyOpen : &lt;device(s)&gt;&lt;is/are&gt;已经打开。
  • <ph type="x-smartling-placeholder"></ph> alreadyPaused : &lt;device(s)&gt;&lt;is/are&gt;已经暂停。
  • <ph type="x-smartling-placeholder"></ph> alreadyStarted : &lt;device(s)&gt;&lt;is/are&gt;已经开始。
  • <ph type="x-smartling-placeholder"></ph> alreadyStopped : &lt;device(s)&gt;&lt;is/are&gt;已停止运行。
  • <ph type="x-smartling-placeholder"></ph> alreadyUnlocked : &lt;device(s)&gt;&lt;is/are&gt;已经解锁。
  • <ph type="x-smartling-placeholder"></ph> ambiguousZoneName : 抱歉,<device(s)>无法识别您指的是哪一个区域。请确保您的区域具有唯一的名称,然后重试。
  • <ph type="x-smartling-placeholder"></ph> amountAboveLimit : 这不仅仅是<device(s)>能支持哪些对象。
  • <ph type="x-smartling-placeholder"></ph> appLaunchFailed : 抱歉,未能启动<app name>在<device(s)>上。
  • <ph type="x-smartling-placeholder"></ph> armFailure : &lt;device(s)&gt;没法开启武器。
  • <ph type="x-smartling-placeholder"></ph> armLevelNeeded : 我不确定要将<device(s)>设为哪个级别目标。请试着说“设置 <设备>设为<低安全性>或“设置 <设备>更改为 <high security>
  • <ph type="x-smartling-placeholder"></ph> authFailure : 我好像无法连接到<device(s)>。请尝试检查应用,确保您的 <device/devices>&lt;is/are&gt;设置完毕。
  • <ph type="x-smartling-placeholder"></ph> bagFull : &lt;device(s)&gt;&lt;has/have&gt;<a full bag/full bags>。请清空<it/them>然后重试。
  • <ph type="x-smartling-placeholder"></ph> belowMinimumLightEffectsDuration : 这少于 5 分钟的最短持续时间。请重试。
  • <ph type="x-smartling-placeholder"></ph> belowMinimumTimerDuration : 我无法设置 <device(s)>这么短的时间内请重试。
  • <ph type="x-smartling-placeholder"></ph> binFull : &lt;device(s)&gt;&lt;has/have&gt;<afull bin/full bins>。
  • <ph type="x-smartling-placeholder"></ph> cancelArmingRestricted : 抱歉,我无法取消之前开启<device(s)>的报警器。
  • <ph type="x-smartling-placeholder"></ph> cancelTooLate : 抱歉,现在无法取消。使用<device(s)>或应用。
  • <ph type="x-smartling-placeholder"></ph> channelSwitchFailed : 抱歉,未能切换到<channel name>频道。请稍后再试。
  • <ph type="x-smartling-placeholder"></ph> chargerIssue : 抱歉,好像是<device(s)>&lt;has/have&gt;<充电器问题/充电器问题>。
  • <ph type="x-smartling-placeholder"></ph> commandInsertFailed : 无法处理针对 <device(s)> 的命令。
  • <ph type="x-smartling-placeholder"></ph> deadBattery : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;has/have&gt;<电池没电/电池没电>
  • <ph type="x-smartling-placeholder"></ph> degreesOutOfRange : 您请求的度数超出了<device(s)>的可测量范围。
  • <ph type="x-smartling-placeholder"></ph> deviceAlertNeedsAssistance : &lt;device(s)&gt;&lt;has/have&gt;一条有效提醒且<need(s)>您的协助。
  • <ph type="x-smartling-placeholder"></ph> deviceAtExtremeTemperature : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;is/are&gt;<an extreme 温度/极端温度>。
  • <ph type="x-smartling-placeholder"></ph> deviceBusy : 抱歉,好像是<device(s)>目前正在开展某项工作。
  • <ph type="x-smartling-placeholder"></ph> deviceCharging : 抱歉,好像是<device(s)>没法这样做,因为 (ha_shared.ItsThisre size=$item.devices.total_device_count) 正在充电。
  • <ph type="x-smartling-placeholder"></ph> deviceClogged : 抱歉,好像是<device(s)>被阻塞了
  • <ph type="x-smartling-placeholder"></ph> deviceCurrentlyDispensing : &lt;device(s)&gt;正在投喂食物。
  • <ph type="x-smartling-placeholder"></ph> deviceDoorOpen : <device>>的门没开。请把它关好,然后再试一次。
  • <ph type="x-smartling-placeholder"></ph> deviceHandleClosed : <device(s)> 上的句柄已关闭。请打开它,然后再试一次。
  • <ph type="x-smartling-placeholder"></ph> deviceJammingDetected : &lt;device(s)&gt;&lt;is/are&gt;卡住了。
  • <ph type="x-smartling-placeholder"></ph> deviceLidOpen : <device(s)>上的设备盖已打开。请把它关好,然后再试一次。
  • <ph type="x-smartling-placeholder"></ph> deviceNeedsRepair : &lt;device(s)&gt;&lt;need(s)&gt;进行修复请与您当地的服务经销商联系。
  • <ph type="x-smartling-placeholder"></ph> deviceNotDocked : 抱歉,好像是<device(s)><不是/不是>已插入基座。请停靠<it/them>然后重试。
  • <ph type="x-smartling-placeholder"></ph> deviceNotFound : &lt;device(s)&gt;<is/are>不可用。你可能要尝试设置<it/them>再次启动。
  • <ph type="x-smartling-placeholder"></ph> deviceNotMounted : 抱歉,好像是<device(s)>不能这样做,因为<it/them><未装载。
  • <ph type="x-smartling-placeholder"></ph> deviceNotReady : &lt;device(s)&gt;<is/are>还没准备好呢。
  • <ph type="x-smartling-placeholder"></ph> deviceStuck : &lt;device(s)&gt;&lt;is/are&gt;遇到了困难,需要你的帮助。
  • <ph type="x-smartling-placeholder"></ph> deviceTampered : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;has/have&gt;可能遭到篡改
  • <ph type="x-smartling-placeholder"></ph> deviceThermalShutdown : 抱歉,好像是<device(s)>设备会因为极端温度而关机
  • <ph type="x-smartling-placeholder"></ph> directResponseOnlyUnreachable : &lt;device(s)&gt;<不/不>支持远程控制。
  • <ph type="x-smartling-placeholder"></ph> disarmFailure : &lt;device(s)&gt;没能关闭报警器。
  • <ph type="x-smartling-placeholder"></ph> discreteOnlyOpenClose : 抱歉,<device(s)>只能全开或全关。
  • <ph type="x-smartling-placeholder"></ph> dispenseAmountAboveLimit : &lt;device(s)&gt;无法分配这么大的量。
  • <ph type="x-smartling-placeholder"></ph> dispenseAmountBelowLimit : &lt;device(s)&gt;我无法分配这么小的量。
  • <ph type="x-smartling-placeholder"></ph> dispenseAmountRemainingExceeded : &lt;device(s)&gt;没有足够的<分配商品>做到这一点。
  • <ph type="x-smartling-placeholder"></ph> dispenseFractionalAmountNotSupported : &lt;device(s)&gt;无法分配<分配商品>的比例。
  • <ph type="x-smartling-placeholder"></ph> dispenseFractionalUnitNotSupported : &lt;device(s)&gt;不支持使用以该单位表示的<分配商品>的分数。
  • <ph type="x-smartling-placeholder"></ph> dispenseUnitNotSupported : &lt;device(s)&gt;不支持 <dispense item> 的单位。
  • <ph type="x-smartling-placeholder"></ph> doorClosedTooLong : <device(s)> 上的门已经有一段时间了已打开。请打开门,确保门内已放好,然后重试。
  • <ph type="x-smartling-placeholder"></ph> emergencyHeatOn : &lt;device(s)&gt;&lt;is/are&gt;所以必须手动调整。
  • <ph type="x-smartling-placeholder"></ph> faultyBattery : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;has/have&gt;<电池故障/电池故障>
  • <ph type="x-smartling-placeholder"></ph> floorUnreachable : &lt;device(s)&gt;无法进入该房间请移动<it/them>请到合适的楼层,然后重试。
  • <ph type="x-smartling-placeholder"></ph> functionNotSupported : 实际上,<device(s)><不/不>支持该功能
  • <ph type="x-smartling-placeholder"></ph> genericDispenseNotSupported : 我需要知道您要分配什么。请使用商品名称重试。
  • <ph type="x-smartling-placeholder"></ph> hardError : 抱歉,出了点问题,我没法控制你的家居设备。
  • <ph type="x-smartling-placeholder"></ph> hardError : 抱歉,出了点问题,我没法控制你的家居设备。
  • <ph type="x-smartling-placeholder"></ph> inAutoMode : &lt;device(s)&gt;&lt;is/are&gt;当前设为自动模式。要调节温度,你需要切换<it/them>其他模式。
  • <ph type="x-smartling-placeholder"></ph> inAwayMode : &lt;device(s)&gt;&lt;is/are&gt;目前设为外出模式。若要控制温控器,您需要使用手机、平板电脑或计算机上的 Nest 应用将其手动切换到在家模式。
  • <ph type="x-smartling-placeholder"></ph> inDryMode : &lt;device(s)&gt;&lt;is/are&gt;目前设为除湿模式要调节温度,你需要切换<it/them>其他模式。
  • <ph type="x-smartling-placeholder"></ph> inEcoMode : &lt;device(s)&gt;&lt;is/are&gt;目前设为节能模式要调节温度,你需要切换<it/them>其他模式。
  • <ph type="x-smartling-placeholder"></ph> inFanOnlyMode : &lt;device(s)&gt;&lt;is/are&gt;目前设为仅送风模式。要调节温度,你需要切换<it/them>其他模式。
  • <ph type="x-smartling-placeholder"></ph> inHeatOrCool : &lt;device(s)&gt;<未开启适温模式。
  • <ph type="x-smartling-placeholder"></ph> inHumidifierMode : &lt;device(s)&gt;&lt;is/are&gt;目前设为加湿模式。要调节温度,你需要切换<it/them>其他模式。
  • <ph type="x-smartling-placeholder"></ph> inOffMode : &lt;device(s)&gt;&lt;is/are&gt;目前处于关闭状态。要调节温度,你需要切换<it/them>其他模式
  • <ph type="x-smartling-placeholder"></ph> inPurifierMode : &lt;device(s)&gt;&lt;is/are&gt;目前设为净化模式。要调节温度,你需要切换<it/them>其他模式。
  • <ph type="x-smartling-placeholder"></ph> inSleepMode : &lt;device(s)&gt;&lt;is/are&gt;处于睡眠模式。请稍后重试。
  • <ph type="x-smartling-placeholder"></ph> inSoftwareUpdate : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;is/are&gt;目前正在进行软件更新。
  • <ph type="x-smartling-placeholder"></ph> lockFailure : &lt;device(s)&gt;无法锁定。
  • <ph type="x-smartling-placeholder"></ph> lockedState : &lt;device(s)&gt;&lt;is/are&gt;当前已锁定。
  • <ph type="x-smartling-placeholder"></ph> lockedToRange : 这个温度不在<设备>锁定的范围内。
  • <ph type="x-smartling-placeholder"></ph> lowBattery : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;has/have&gt;电量低。
  • <ph type="x-smartling-placeholder"></ph> maxSettingReached : &lt;device(s)&gt;&lt;is/are&gt;已经设为最高设置。
  • <ph type="x-smartling-placeholder"></ph> maxSpeedReached : &lt;device(s)&gt;&lt;is/are&gt;已经设为最大速度。
  • <ph type="x-smartling-placeholder"></ph> minSettingReached : &lt;device(s)&gt;&lt;is/are&gt;已经设为最低设置。
  • <ph type="x-smartling-placeholder"></ph> minSpeedReached : &lt;device(s)&gt;&lt;is/are&gt;已经设为最低速度。
  • <ph type="x-smartling-placeholder"></ph> monitoringServiceConnectionLost : &lt;device(s)&gt;&lt;has/have&gt;失去了<他们>监控服务的连接。
  • <ph type="x-smartling-placeholder"></ph> needsAttachment : 抱歉,好像是<device(s)>&lt;is/are&gt;缺少必需的附件。请更换电池,然后重试。
  • <ph type="x-smartling-placeholder"></ph> needsBin : 抱歉,好像是<device(s)>&lt;is/are&gt;缺少分箱。请更换电池,然后重试。
  • <ph type="x-smartling-placeholder"></ph> needsPads : &lt;device(s)&gt;&lt;need(s)&gt;新卫生巾
  • <ph type="x-smartling-placeholder"></ph> needsSoftwareUpdate : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;need(s)&gt;软件更新。
  • <ph type="x-smartling-placeholder"></ph> needsWater : &lt;device(s)&gt;&lt;need(s)&gt;水资源。
  • <ph type="x-smartling-placeholder"></ph> networkProfileNotRecognized : 抱歉,我无法识别“<network profile>”在<device(s)>上。
  • <ph type="x-smartling-placeholder"></ph> networkSpeedTestInProgress : 我已经在测试 <network><speed/speeds>>。
  • <ph type="x-smartling-placeholder"></ph> noAvailableApp : 抱歉,好像是<app name>无法使用。
  • <ph type="x-smartling-placeholder"></ph> noAvailableChannel : 抱歉,你似乎是<channel name>频道无法使用。
  • <ph type="x-smartling-placeholder"></ph> noChannelSubscription : 抱歉,你没有订阅<channel name>频道数据。
  • <ph type="x-smartling-placeholder"></ph> noTimerExists : 抱歉,<device(s)>上好像没有设置任何计时器。
  • <ph type="x-smartling-placeholder"></ph> notSupported : 抱歉,<device(s)>不支持该模式。
  • <ph type="x-smartling-placeholder"></ph> obstructionDetected : &lt;device(s)&gt;检测到障碍物。
  • <ph type="x-smartling-placeholder"></ph> 离线 、deviceOffline : 抱歉,好像是<device(s)><is/are>目前无法使用。
  • <ph type="x-smartling-placeholder"></ph> onRequiresMode : 请指定你要开启的模式。
  • <ph type="x-smartling-placeholder"></ph> passphraseIncorrect : 抱歉,这个 PIN 码似乎不正确。
  • <ph type="x-smartling-placeholder"></ph> percentOutOfRange : 抱歉,我无法设置<device(s)>更改为 <percent>。
  • <ph type="x-smartling-placeholder"></ph> pinIncorrect : (passphraseIncorrect)
  • <ph type="x-smartling-placeholder"></ph> rainDetected : 我没打开<device(s)>因为检测到下雨。
  • <ph type="x-smartling-placeholder"></ph> rangeTooClose : 对于 <device(s)> 的适温范围而言,温度范围太小了。请将温差范围设大一点。
  • <ph type="x-smartling-placeholder"></ph> relinkRequired : 抱歉,您的账号似乎出了点问题。请使用你的 Google Home 或 Google 助理应用重新关联 <device(s)>。
  • <ph type="x-smartling-placeholder"></ph> remoteSetDisabled : <ph type="x-smartling-placeholder">
      </ph>
    • 可选参数 errorCodeReason
    • currentlyArmed - 抱歉,安防系统已经开启,您需要使用 <device(s)>或应用进行更改。
    • remoteUnlockNotAllowed - 抱歉,我无法解锁 <device(s)>。
    • remoteControlOff - 该操作目前已停用。请在 <device(s)> 上启用遥控器然后重试。
    • childSafetyModeActive - 已停用对 <device(s)> 执行此操作当儿童安全模式处于启用状态时。
  • <ph type="x-smartling-placeholder"></ph> roomsOnDifferentFloors : &lt;device(s)&gt;无法前往这些会议室,因为它们位于不同的楼层。
  • <ph type="x-smartling-placeholder"></ph> safetyShutOff : &lt;device(s)&gt;&lt;is/are&gt;所以必须手动调整。
  • <ph type="x-smartling-placeholder"></ph> sceneCannotBeApplied : 抱歉,<device(s)>。
  • <ph type="x-smartling-placeholder"></ph> securityRestriction : &lt;device(s)&gt;&lt;has/have&gt;安全限制。
  • <ph type="x-smartling-placeholder"></ph> softwareUpdateNotAvailable : 抱歉,<device(s)>上没有可用的软件更新。
  • <ph type="x-smartling-placeholder"></ph> startRequiresTime : 要完成这项操作,你需要告诉我你想让 <device(s)> 运行多长时间。
  • <ph type="x-smartling-placeholder"></ph> stillCoolingDown : &lt;device(s)&gt;&lt;is/are&gt;仍在冷却中。
  • <ph type="x-smartling-placeholder"></ph> stillWarmingUp : &lt;device(s)&gt;&lt;is/are&gt;还处于预热阶段
  • <ph type="x-smartling-placeholder"></ph> streamUnavailable : 抱歉,<device(s)>目前似乎无法播放此视频流。
  • <ph type="x-smartling-placeholder"></ph> streamUnplayable : 抱歉,我无法播放来自<device(s)>的直播数据。
  • <ph type="x-smartling-placeholder"></ph> tankEmpty : &lt;device(s)&gt;&lt;has/have&gt;<空水箱/水箱>。请填写<it/them>然后重试。
  • <ph type="x-smartling-placeholder"></ph> targetAlreadyReached : 抱歉,温控器好像原本就已经设为这个温度了。
  • <ph type="x-smartling-placeholder"></ph> timerValueOutOfRange : &lt;device(s)&gt;无法设定该时长
  • <ph type="x-smartling-placeholder"></ph> tooManyFailedAttempts : 抱歉,尝试失败的次数过多。请前往设备的应用中完成这项操作。
  • <ph type="x-smartling-placeholder"></ph> transientError : 抱歉,控制<device(s)>时出了点问题。请重试。
  • <ph type="x-smartling-placeholder"></ph> turnedOff ,deviceTurnedOff : &lt;device(s)&gt;&lt;is/are&gt;应用
  • <ph type="x-smartling-placeholder"></ph> unableToLocateDevice : 我找不到<device(s)>。
  • <ph type="x-smartling-placeholder"></ph> unknownFoodPreset : &lt;device(s)&gt;不支持这个食物预设。
  • <ph type="x-smartling-placeholder"></ph> unlockFailure : &lt;device(s)&gt;
  • <ph type="x-smartling-placeholder"></ph> unpausableState : &lt;device(s)&gt;目前无法暂停。
  • <ph type="x-smartling-placeholder"></ph> userCancelled : 确定
  • <ph type="x-smartling-placeholder"></ph> valueOutOfRange : &lt;device(s)&gt;不能设为这个温度。

异常

当出现与以下项相关的问题或提醒时,您应返回异常 命令。命令可能会成功或失败。

如果命令成功(状态 = "SUCCESS"),报告异常 使用 StatusReport 特征(针对目标以外的其他设备); 或返回适当的 exceptionCode(针对目标设备)。

例如,如果烘干机 lint 屏幕满了,用户仍可启动 但您可能需要警告他们有关此状态的信息。同样,如果 设备电量低但并非是空的,您仍然可以执行命令 但应让他们知道设备电量不足

如果命令因异常而失败,则状态应为“EXCEPTIONS” 异常应使用 StatusReport trait 报告。

与目标设备相关的非阻塞异常 (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"
      }
    }]
  }
}

使用 StatusReport 的其他设备出现非阻塞异常 (SUCCESS)

以下示例展示了如何开启安防系统:好的,开启安防系统。前窗开着。

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

  • <ph type="x-smartling-placeholder"></ph> bagFull : &lt;device(s)&gt;&lt;has/have&gt;<a full bag/full bags>。请清空<it/them>然后重试。
  • <ph type="x-smartling-placeholder"></ph> binFull : &lt;device(s)&gt;&lt;has/have&gt;<afull bin/full bins>。
  • <ph type="x-smartling-placeholder"></ph> carbonMonoxideDetected : 在<house name>中检测到一氧化碳。
  • <ph type="x-smartling-placeholder"></ph> deviceAtExtremeTemperature : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;is/are&gt;<an extreme 温度/极端温度>。
  • <ph type="x-smartling-placeholder"></ph> deviceJammingDetected : &lt;device(s)&gt;&lt;is/are&gt;卡住了。
  • <ph type="x-smartling-placeholder"></ph> deviceMoved : &lt;device(s)&gt;&lt;was/were&gt;移动。
  • <ph type="x-smartling-placeholder"></ph> deviceOpen : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;is/are&gt;开放。
  • <ph type="x-smartling-placeholder"></ph> deviceTampered : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;has/have&gt;可能遭到篡改
  • <ph type="x-smartling-placeholder"></ph> deviceUnplugged : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;is/are&gt;未接通电源。
  • <ph type="x-smartling-placeholder"></ph> floorUnreachable : &lt;device(s)&gt;无法进入该房间请移动<it/them>请到合适的楼层,然后重试。
  • <ph type="x-smartling-placeholder"></ph> hardwareFailure : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;has/have&gt;硬件问题。
  • <ph type="x-smartling-placeholder"></ph> inSoftwareUpdate : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;is/are&gt;目前正在进行软件更新。
  • <ph type="x-smartling-placeholder"></ph> isBypassed : &lt;device(s)&gt;&lt;is/are&gt;当前已绕过。
  • <ph type="x-smartling-placeholder"></ph> lowBattery : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;has/have&gt;电量低。
  • <ph type="x-smartling-placeholder"></ph> motionDetected : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;detect(s)&gt;模型。
  • <ph type="x-smartling-placeholder"></ph> needsPads : &lt;device(s)&gt;&lt;need(s)&gt;新卫生巾
  • <ph type="x-smartling-placeholder"></ph> needsSoftwareUpdate : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;need(s)&gt;软件更新。
  • <ph type="x-smartling-placeholder"></ph> needsWater : &lt;device(s)&gt;&lt;need(s)&gt;水资源。
  • <ph type="x-smartling-placeholder"></ph> networkJammingDetected : 到<device(s)>的家庭网络连接无法正常运行
  • <ph type="x-smartling-placeholder"></ph> noIssuesReported : &lt;device(s)&gt;报告没有问题。
  • <ph type="x-smartling-placeholder"></ph> roomsOnDifferentFloors : &lt;device(s)&gt;无法前往这些会议室,因为它们位于不同的楼层。
  • <ph type="x-smartling-placeholder"></ph> runCycleFinished : &lt;device(s)&gt;&lt;has/have&gt;。
  • <ph type="x-smartling-placeholder"></ph> securityRestriction : &lt;device(s)&gt;&lt;has/have&gt;安全限制。
  • <ph type="x-smartling-placeholder"></ph> smokeDetected : <house name>检测到烟雾。
  • <ph type="x-smartling-placeholder"></ph> tankEmpty : &lt;device(s)&gt;&lt;has/have&gt;<空水箱/水箱>。请填写<it/them>然后重试。
  • <ph type="x-smartling-placeholder"></ph> usingCellularBackup : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;is/are&gt;使用备用移动网络。
  • <ph type="x-smartling-placeholder"></ph> waterLeakDetected : <ph type="x-smartling-placeholder"> </ph> <设备>&lt;detect(s)&gt;漏水。