跳转至

设备影子

设备详情页的设备影子标签页并列展示设备的期望(desired)与上报(reported)状态,并允许写入期望状态。

模型

设备影子把你想要的状态和设备自报的状态分开存放:

  • 期望(desired) — 平台希望设备达到的状态。由平台和规则链写入,操作员可在本页编辑。
  • 上报(reported) — 设备最近一次自报的状态。仅由设备写入。

两者是彼此独立的文档,因此下发指令无需等待设备应答即可完成。

读表

表格列出两侧键的并集。每行展示期望值、上报值以及状态标签:

  • 已同步(绿色)—— 该键的期望值与上报值一致。
  • 待同步(橙色)—— 两者不一致,设备尚未追上。

顶部汇总条展示整体影子状态(已同步/未同步)以及 期望版本 和 上报版本 版本号。版本号在每次写入时递增,用于检测并发编辑。

写入期望状态

  1. 点击编辑操作。
  2. 常用键 —— 当设备的设备 profile声明了可写测点(read_write 为 W/RW)时,从顶部选择器选一个即可。它会添加一个键名固定的行,并按类型给出控件:布尔为开关,数值为带工程范围和单位限制的数字输入,字符串为文本输入。删除某行即表示删除该键。
  3. 自定义键 —— profile 未声明的键可用自由键/值行添加,类型可选布尔、数值、字符串、对象或数组。
  4. 补充键(JSON) —— 复合或批量值可直接粘贴一个额外的 JSON 对象,其键会与上方各行合并。
  5. 保存。结果会合并进现有期望文档 —— 既未编辑也未删除的键保持不变;删除一个已存在的键会发送 JSON null 将其移除。
  6. 写入使用乐观并发控制:你加载时的版本号会作为 If-Match ETag 一并发送。若期间他人改动了影子,写入会被拒绝而非静默覆盖;请重新加载后重试。

若设备绑定的 profile 没有声明可写测点,则只能使用自定义行和 JSON 框。期望状态是目标而非指令。达成它是设备的职责 —— 通常由监听影子并下发实际指令的规则链完成。

注意事项

  • 值可以是任意 JSON,平台不对其含义做解释。
  • 写入期望状态本身不会改变设备状态或连接状态。