Google 致力于为黑人社区推动种族平等。查看具体举措

错误信息

错误条件是开发周期的一部分,范围可以从简单的故障(如无效或缺少参数)到更复杂的情况,如意外状态甚至与设备相关的设置,必须在 API 之外解决。

当 API 调用期间发生错误时,会发送以下格式的响应:

{
  "error": "Temperature '$temp' is in wrong format",
  "type": "https://developers.nest.com/documentation/cloud/error-messages#format-error",
  "message": "Temperature '$temp' is in wrong format",
  "instance": "31441a94-ed26-11e4-90ec-1681e6b88ec1",
  "details": {
    "field_name": "$temp"
  }
}

所有的错误消息包含errortypemessageinstance字段。在details对象是可选的。

场地描述
error简短的错误消息格式。
type提供有关错误情况的详细信息的 URL(此页面)。
message可能使用变量提供其他详细信息的长错误消息格式。当一个变量被包括在该消息中,它会出现在details对象。
instance包含错误标识符的文本字符串,该标识符对于每个单独的调用都是唯一的。如果您报告服务问题,我们可能会要求您提供实例编号。
details可选的。包含插入变量message 。消息可以包含多个变量。

有关不相关的巢API错误的信息,请参阅其他错误代码和消息

被封锁

速率限制已被超过。

参数
HTTP状态代码:429个请求过多
error被封锁
type https://developers.nest.com/reference/error-messages#blocked
message被封锁

在烟雾/co 安全关闭期间无法激活风扇

紧急切断生效。在恢复正常操作之前不接受 API 调用。

参数
HTTP状态代码:400错误的请求
error在烟雾/co 安全关闭期间无法激活风扇
type https://developers.nest.com/reference/error-messages#safety-shutoff-on
message在烟雾/co 安全关闭期间无法激活风扇

紧急加热开启时无法更改离开状态

该产品试图改变客场状态,而急热开始了。

参数
HTTP状态代码:400错误的请求
error紧急加热开启时无法更改离开状态
type https://developers.nest.com/reference/error-messages#emergency-heat-is-on
message紧急加热开启时无法更改离开状态

节能活动期间无法更改 HVAC 模式

一个节能活动由鸟巢的能源合作伙伴定义生效。 API调用被拒绝,直到节能事件结束。

参数
HTTP状态代码:400错误的请求
error节能活动期间无法更改 HVAC 模式
type https://developers.nest.com/reference/error-messages#energy-saving-event-on
message节能活动期间无法更改 HVAC 模式

无法更改 HVAC 模式

模式与请求不兼容。

例如,如果出现以下情况,您可能会收到此消息:

  • 恒温器的空调系统不支持您的产品所要求的模式: heatcoolheat-cool ,或eco
  • 该HVAC模式设置为eco和产品试图设置target_temperature
参数
HTTP状态代码:400错误的请求
error HVAC模式不能切换到$mode ; HVAC不能$action
type https://developers.nest.com/reference/error-messages#incompatible-mode
message HVAC模式不能切换到$mode ; HVAC不能$action
details $mode
$action

启用恒温器锁定时无法更改 HVAC 模式

用户必须解锁恒温之前的产品可以写入数据。

参数
HTTP状态代码:400错误的请求
error启用恒温器锁定时无法更改 HVAC 模式
type https://developers.nest.com/reference/error-messages#lock-enabled
message启用恒温器锁定时无法更改 HVAC 模式

不能同时设置 C 和 F 温度

该产品尝试同时设置摄氏和华氏目标温度。一种产品,应该设置仅由指定的目标温度temperature_scale (C / F)。

参数
HTTP状态代码:400错误的请求
error不能同时设置 C 和 F 温度
type https://developers.nest.com/reference/error-messages#multiple-value-changes
message不能同时设置 C 和 F 温度

由于模式不兼容,无法设置 fan_timer_active 开/关

HVAC 系统风扇已经启动(由用户手动、按计划或由于 HVAC 加热/冷却循环)。

如果您没有得到预期的结果,很可能是因为设备具有我们无法通过 API 覆盖的内置行为。

参数
HTTP状态代码:400错误的请求
error无法设置fan_timer_active开/关,由于不兼容模式$mode
type https://developers.nest.com/reference/error-messages#incompatible-fan-mode
message无法设置fan_timer_active开/关,由于不兼容模式$mode
details $mode

无法将 fan_timer_duration 设置为所选值

该产品试图设置fan_timer_duration为无效值。见fan_timer_duration有效值的列表。

参数
HTTP状态代码:400错误的请求
error无法将 fan_timer_duration 设置为所选值。有关允许的值,请参阅 API 参考。
type https://developers.nest.com/reference/error-messages#invalid-fan-timer-duration
message无法将 fan_timer_duration 设置为所选值。有关允许的值,请参阅 API 参考。

无法将目标低温设置为高于目标高温

恒温器是在heat-cool模式,并将产物试图设定的目标温度低/高该范围之外。例如,该产品试图组target_temperature_low_c至25℃时target_temperature_high_c是24℃。

参数
HTTP状态代码:400错误的请求
error无法设置目标低温$lowTemp高于目标高温$highTemp
type https://developers.nest.com/reference/error-messages#low-high-error
message无法设置目标低温$lowTemp高于目标高温$highTemp
details $lowTemp
$highTemp

无法将目标温度设置为接近 N 摄氏度/华氏度

该产品试图设定的目标温度值太接近目标高/低温度(例如, target_temperature_high_f )。

参数
HTTP状态代码:400错误的请求
error无法将目标温度设置为接近 N 摄氏度/华氏度
type https://developers.nest.com/reference/error-messages#range-error
message无法设置目标温度比接近$min$scale
details $min
$scale

模式为 $mode 时无法设置 target_temperature

恒温器或结构当前处于不支持 API 请求的模式。

例如,可以不设置target_temperature_ftarget_temperature_c当HVAC系统是off或在heat-cool模式。在恒温器/结构切换回非限制模式之前,无法更改该值。

在此消息中, $fieldName可以是任何目标温度值和$mode可以是任意的: ecoemer_heat_enableheat-coolheatcooloffhvac_safety_shutoff_active

参数
HTTP状态代码:400错误的请求
error无法设置target_temperature而模式是$mode
type https://developers.nest.com/reference/error-messages#mode-error
message无法设置$fieldName ,而模式是$mode
details $fieldName
$mode

需要先更新设备固件才能更改 HVAC 模式

设备必须更新到当前固件版本才能设置 Eco 温度。

参数
HTTP状态代码:400错误的请求
error需要先更新设备固件才能更改 HVAC 模式。更新是自动的,通常在发布后一周内。
type https://developers.nest.com/reference/error-messages#unsupported-firmware-version
message需要先更新设备固件才能更改 HVAC 模式。更新是自动的,通常在发布后的一周内。

验证 WWN 字段时出错

参数
HTTP状态代码:400错误的请求
error错误在验证WWN字段: $error
type https://developers.nest.com/reference/error-messages#where-id-internal
message错误在验证WWN字段: $error
details $error

ETA 已成为过去

指定的 ETA 时间是过去(现在之前)。有关使ETA呼叫的详细信息,请参阅客场与ETA指南

参数
HTTP状态代码:400错误的请求
error ETA是过去: $estimatedArrivalTime=$estimatedArrivalTime, currentTime=$currentTime
type https://developers.nest.com/reference/error-messages#eta-in-the-past
message ETA是过去: $estimatedArrivalTime=$estimatedArrivalTime, currentTime=$currentTime
details $estimatedArrivalTime
$currentTime

ETA 未来太遥远

指定的 ETA 时间不能超过未来 8 小时。有关使ETA呼叫的详细信息,请参阅客场与ETA指南

参数
HTTP状态代码:400错误的请求
error ETA 离未来太远了
type https://developers.nest.com/reference/error-messages#eta-too-far-in-the-future
message ETA 离未来太远了

fan_timer_active 未设置

fan_timer_active没有定义。

参数
HTTP状态代码:400错误的请求
error fan_timer_active 未设置
type https://developers.nest.com/reference/error-messages#fan-timer-active-value-missing
message fan_timer_active 未设置

禁止的

用于访问 Nest 服务的凭据无效。

参数
HTTP状态代码:403禁止
error禁止的
type https://developers.nest.com/reference/error-messages#forbidden
message禁止的

内部错误

参数
HTTP状态代码:500内部服务器错误
error内部错误
type https://developers.nest.com/reference/error-messages#internal-error
message内部错误

相机 ID 无效

camera-id是无效的。

参数
HTTP状态代码:400错误的请求
error无效的摄像机ID $id
type https://developers.nest.com/reference/error-messages#invalid-camera-id
message无效的摄像机ID: $id
details $id

发送的内容无效

呼叫包含无效内容。例如,对布尔变量使用“yes”而不是“true”。

参数
HTTP状态代码:400错误的请求
error发送的内容无效
type https://developers.nest.com/reference/error-messages#invalid-content-sent
message发送的内容无效

无效的片段路径

部分请求路径无效。例如,对象或字段名称可能拼写错误。

参数
HTTP状态代码:400错误的请求
error无效的片段路径: $requestPath
type https://developers.nest.com/reference/error-messages#invalid-fragment
message无效的片段路径: $requestPath
details $requestPath

无效的暖通空调模式

恒温的空调系统不支持由产品所要求的模式: heatcool ,或heat-cool

参数
HTTP状态代码:400错误的请求
error无效的HVAC模式: $mode
type https://developers.nest.com/reference/error-messages#invalid-mode
message无效的HVAC模式: $mode
details $mode

无效的烟雾+co 警报 ID

smoke_co_alarm_id无效。

参数
HTTP状态代码:400错误的请求
error无效的烟雾和一氧化碳报警器ID $id
type https://developers.nest.com/reference/error-messages#invalid-smoke-co-alarm-id
message无效的烟雾和一氧化碳报警器ID: $id
details $id

结构 ID 无效

structure_id无效。

参数
HTTP状态代码:400错误的请求
error无效的结构ID $id
type https://developers.nest.com/reference/error-messages#invalid-structure-id
message无效的结构ID: $id
details $id

恒温器 ID 无效

thermostat_id无效。

参数
HTTP状态代码:400错误的请求
error无效的恒温ID $id
type https://developers.nest.com/reference/error-messages#invalid-thermostat-id
message无效的恒温ID: $id
details $id

离开的无效值

您尝试为设定值无效away

参数
HTTP状态代码:400错误的请求
error离开的无效值
type https://developers.nest.com/reference/error-messages#invalid-away-value
message值无效: $value 。只有 'home' 和 'away' 是允许的值。
details $value

is_streaming 不是布尔值

该产品试图将设置is-streaming场非布尔。

参数
HTTP状态代码:400错误的请求
error is_streaming 不是布尔值
type https://developers.nest.com/reference/error-messages#invalid-is-stream-format
message is_streaming 不是布尔值

标签必须少于 256 个字符

该产品试图创建一个温控器标签有超过256个字符。

参数
HTTP状态代码:400错误的请求
error标签必须小于$max_label_length字符
type https://developers.nest.com/reference/error-messages#max-label-length
message标签必须小于$max_label_length字符
details $max_label_length

超过计数的最大自定义

该产品试图创建一个自定义wheres对象超出最大。自定义的最大数目wheres对象允许为32。

参数
HTTP状态代码:400错误的请求
error最大的风俗。计数$max_where_count突破
type https://developers.nest.com/reference/error-messages#max-where-count
message最大的风俗。计数$max_where_count突破
details $max_where_count

超过名称长度的最大自定义

该地方name太长。我们建议少于 30 个字符。

参数
HTTP状态代码:400错误的请求
error最大的风俗。名称长度$max_custom_where_name_length突破
type https://developers.nest.com/reference/error-messages#max-where-name-length
message最大的风俗。名称长度$max_custom_where_name_length突破
details $max_custom_where_name_length

缺少字段

调用缺少必需的参数。

参数
HTTP状态代码:400错误的请求
error缺少字段: $fieldName
type https://developers.nest.com/reference/error-messages#field-is-missing
message缺少字段: $fieldName
details $fieldName

缺少地点 ID

where_id格式丢失。

参数
HTTP状态代码:400错误的请求
error缺少地点 ID
type https://developers.nest.com/reference/error-messages#where-id-missing
message缺少地点 ID

没有暖通风扇

HVAC 系统似乎没有独立的风扇。

参数
HTTP状态代码:400错误的请求
error没有暖通风扇
type https://developers.nest.com/reference/error-messages#no-hvac-fan
message没有暖通风扇

没有在线恒温器

恒温器当前处于离线状态。启用 wi-fi 后,您的产品应重新获得访问权限。

参数
HTTP状态代码:400错误的请求
error没有在线恒温器
type https://developers.nest.com/reference/error-messages#no-thermostats-online
message没有在线恒温器

没有配对的设备

用户的巢设备不与用户的Nest帐户配对

参数
HTTP状态代码:400错误的请求
error没有配对的设备
type https://developers.nest.com/reference/error-messages#no-paired-devices
message没有配对的设备

没有可取消的有效预计到达时间

行程无效且无法取消。

参数
HTTP状态代码:400错误的请求
error没有可取消的有效预计到达时间
type https://developers.nest.com/reference/error-messages#no-valid-eta-to-cancel
message没有可取消的有效预计到达时间

没有字段的写权限

客户端对此数据没有写权限。欲了解更多信息,请参见权限概述

参数
HTTP状态代码:400错误的请求
error现场(S)没有写权限(S): $fields
type https://developers.nest.com/reference/error-messages#no-write-permission
message现场(S)没有写权限(S): $fields
details $fields

不是有效的请求类型

请求类型无效。例如,当需要 PUT 时进行 POST 调用。

参数
HTTP状态代码:400错误的请求
error不是有效的请求类型: $requestType
type https://developers.nest.com/reference/error-messages#request-type-not-allowed
message不是有效的请求类型: $requestType
details $requestType

未找到

该调用试图读取不存在的路径。

参数
HTTP状态代码:404未找到
error未找到
type https://developers.nest.com/reference/error-messages#not-found
message未找到

不在离开模式

发出 ETA 呼叫时,该结构不处于离开模式。 ETA当结构设置为来电客场只接受。

参数
HTTP状态代码:400错误的请求
error不在离开模式
type https://developers.nest.com/reference/error-messages#not-in-away-mode
message不在离开模式

不可写

您尝试写入的字段是只读的。

参数
HTTP状态代码:400错误的请求
error不可写
type https://developers.nest.com/reference/error-messages#not-writable
message不可写

仅在需要提供名称的地方

多余的字段被列入wheres电话。

参数
HTTP状态代码:400错误的请求
error仅在需要提供名称的地方
type https://developers.nest.com/reference/error-messages#extra-fields
message仅在需要提供名称的地方

POST 不是有效的请求类型

请求类型无效。例如,当需要 PUT 时进行 POST 调用。

参数
HTTP状态代码:400错误的请求
error POST 不是有效的请求类型
type https://developers.nest.com/reference/error-messages#invalid-request-type
message POST 不是有效的请求类型

架构违规

配对设备时发生错误。

参数
HTTP状态代码:400错误的请求
error架构违规
type https://developers.nest.com/reference/error-messages#schema-violation-error
message架构违规

暂停服务

参数
HTTP状态代码:503服务不可用
error暂停服务
type https://developers.nest.com/reference/error-messages#service-unavailable
message暂停服务

结构已具有允许的最大配对设备数

该结构已经有了允许设备的最大数量

参数
HTTP状态代码:400错误的请求
error结构已具有允许的最大配对设备数
type https://developers.nest.com/reference/error-messages#max-number-devices-error
message结构已具有允许的最大配对设备数

结构不归用户所有

structure_id不匹配记录的用户帐户。

参数
HTTP状态代码:400错误的请求
error结构不归用户所有。
type https://developers.nest.com/reference/error-messages#structure-ownership-error-uri
message结构不归用户所有。

温度 C 对于锁定温度来说太高了

恒温器已被锁定的用户和产品试图设置一个摄氏目标温度高于锁定温度范围。

参数
HTTP状态代码:400错误的请求
error温度℃ $tempC过高锁温度$highLockTemp
type https://developers.nest.com/reference/error-messages#high-c-value-4-lock
message温度℃ $tempC过高锁温度$highLockTemp
details $tempC
$highLockTemp

温度 C 过低,无法锁定温度

恒温器已被锁定的用户和产品试图设置一个摄氏目标温度低于锁定温度范围。

参数
HTTP状态代码:400错误的请求
error温度℃ $tempC过低锁定温度$lowLockTemp
type https://developers.nest.com/reference/error-messages#low-c-value-4-lock
message温度℃ $tempC过低锁定温度$lowLockTemp
details $tempC
$lowLockTemp

温度C值过高

产品尝试设置的目标温度值对于摄氏温度而言过高。在摄氏允许温度范围内看target_temperature_c

参数
HTTP状态代码:400错误的请求
error温度C值过高: $tempC
type https://developers.nest.com/reference/error-messages#high-c-value
message温度C值过高: $tempC
details $tempC

温度C值过低

产品尝试设置的目标温度值对于摄氏温度来说太低。在摄氏允许温度范围内看target_temperature_c

参数
HTTP状态代码:400错误的请求
error温度C值太低: $tempC
type https://developers.nest.com/reference/error-messages#low-c-value
message温度C值太低: $tempC
details $tempC

温度 F 对于锁定温度来说太高了

恒温器已被锁定的用户和产品试图设置一个华氏目标温度比锁定温度范围高。

参数
HTTP状态代码:400错误的请求
error温度˚F $tempF过高锁温度$highLockTemp
type https://developers.nest.com/reference/error-messages#high-f-value-4-lock
message温度˚F $tempF过高锁温度$highLockTemp
details $tempF
$highLockTemp

温度 F 对于锁定温度太低

恒温器已被锁定的用户和产品试图设置一个华氏目标温度低于锁定温度范围。

参数
HTTP状态代码:400错误的请求
error温度˚F $tempF过低锁定温度$lowLockTemp
type https://developers.nest.com/reference/error-messages#low-f-value-4-lock
message温度˚F $tempF过低锁定温度$lowLockTemp
details $tempF
$lowLockTemp

温度F值过高

产品尝试设置的目标温度值对于华氏温度而言过高。对于华氏允许温度范围看target_temperature_f

参数
HTTP状态代码:400错误的请求
error温度F值过高: $tempF
type https://developers.nest.com/reference/error-messages#high-f-value
message温度F值过高: $tempF
details $tempF

温度F值过低

产品试图设置的目标温度值对于华氏温度来说太低了。对于华氏允许温度范围看target_temperature_f

参数
HTTP状态代码:400错误的请求
error温度F值过低: $tempF
type https://developers.nest.com/reference/error-messages#low-f-value
message温度F值过低: $tempF
details $tempF

温度格式错误

该产品试图使用错误的数字格式的选择设定的目标温度temperature_scale 。摄氏温度应为以 0.5 度为增量 (21.5) 的整数,华氏温度应为整数 (72)。

参数
HTTP状态代码:400错误的请求
error温度$temp格式错误
type https://developers.nest.com/reference/error-messages#format-error
message温度$temp格式错误
details $temp

字段不能在更新时修改

产品尝试写入只读字段。

参数
HTTP状态代码:400错误的请求
error现场(S)不能更新被修改: $fieldNames
type https://developers.nest.com/reference/error-messages#read-only-field-error
message现场(S)不能更新被修改: $fieldNames
details $fieldNames

字段应使用 ISO 8601 格式

本场是不是在ISO 8601的格式。

参数
HTTP状态代码:400错误的请求
error现场(S)应该使用ISO 8601格式: $fieldNames
type https://developers.nest.com/reference/error-messages#time-format-error
message现场(S)应该使用ISO 8601格式: $fieldNames
details $fieldNames

温控器不在线

恒温器当前处于离线状态。启用 wi-fi 后,您的产品应重新获得访问权限。

参数
HTTP状态代码:400错误的请求
error温控器不在线
type https://developers.nest.com/reference/error-messages#not-online
message温控器不在线

此行程已被手动覆盖

用户已手动覆盖行程。

参数
HTTP状态代码:400错误的请求
error此行程已被手动覆盖
type https://developers.nest.com/reference/error-messages#trip-manually-overidden
message此行程已被手动覆盖

无法创建 where ID

wheres对象丢失。没有where_id值的定义。

参数
HTTP状态代码:400错误的请求
error无法创建 where id
type https://developers.nest.com/reference/error-messages#wheres-missing
message无法创建 where id

未经授权

授权失败。

几个条件可能会生成此错误消息:

  • 当给定的 HTTP 实现没有自动将 Authorization 标头转发到重定向的 URI 时发生的错误重定向。欲了解更多信息,请参阅如何处理重定向

  • 尝试访问 API 端点时权限不正确。例如,当仅为客户端选择相机权限时尝试读取恒温器端点。欲了解更多信息,请参阅如何选择权限

参数
HTTP状态代码:401未授权
error未经授权
type https://developers.nest.com/reference/error-messages#auth-error
message未经授权

未知

参数
HTTP状态代码:400错误的请求
error未知
type https://developers.nest.com/reference/error-messages#unknown
message未知

未知的供应商/设备类型

设备配对期间无法识别供应商/设备。

参数
HTTP状态代码:400错误的请求
error未知的供应商/设备类型
type https://developers.nest.com/reference/error-messages#unknown-vendor-device-type-error
message未知的供应商/设备类型

$fieldName 的值类型错误

发送了错误的数据类型。例如,当需要一个布尔值时发送一个字符串。

参数
HTTP状态代码:400错误的请求
error价值$fieldName是错误的类型
type https://developers.nest.com/reference/error-messages#wrong-data-type
message价值$fieldName是错误的类型
details $fieldName

名字已经存在的地方

where_name试图设置的产品已经存在。使用新名称重试。

参数
HTTP状态代码:400错误的请求
error其中,name $name已经存在
type https://developers.nest.com/reference/error-messages#where-name-exists
message其中,name $name已经存在
details $name

未提供姓名的地方

where_name从呼叫丢失。

参数
HTTP状态代码:400错误的请求
error未提供姓名的地方
type https://developers.nest.com/reference/error-messages#where-name-missing
message未提供姓名的地方

其中 name 的长度为零

在其中name没有定义(具有零个字符)。

参数
HTTP状态代码:400错误的请求
error其中 name 的长度为零
type https://developers.nest.com/reference/error-messages#zero-length-where-name
message其中 name 的长度为零

其中 name 必须是字符串

错误的数据类型是为发送where_name 。例如,需要字符串时的数字。

参数
HTTP状态代码:400错误的请求
error其中 name 必须是字符串
type https://developers.nest.com/reference/error-messages#where-name-wrong-format
message其中 name 必须是字符串

where_id 不存在

where_id无效。

参数
HTTP状态代码:400错误的请求
error where_id 不存在
type https://developers.nest.com/reference/error-messages#where-id-invalid
message where_id 不存在
details $where_id

where_id 必须是字符串

where_id格式无效。例如,发送的是数字而不是字符串。

参数
HTTP状态代码:400错误的请求
error where_id 必须是字符串
type https://developers.nest.com/reference/error-messages#where-id-wrong-format
message where_id 必须是字符串

其他错误代码和消息

设备错误代码

有关与 Nest API 无关的特定于设备的错误代码和消息,请参阅以下内容:

REST 错误代码

当您进行 REST API 调用时,会返回常见的 HTTP 状态代码。

REST 速率限制消息

当使用REST和发送在短时间内过多调用,您可能会收到429个请求过多HTTP响应状态代码。

欲了解更多信息,请参阅数据速率限制