设备影子¶
设备详情页的设备影子标签页并列展示设备的期望(desired)与上报(reported)状态,并允许写入期望状态。
模型¶
设备影子把你想要的状态和设备自报的状态分开存放:
- 期望(desired) — 平台希望设备达到的状态。由平台和规则链写入,操作员可在本页编辑。
- 上报(reported) — 设备最近一次自报的状态。仅由设备写入。
两者是彼此独立的文档,因此下发指令无需等待设备应答即可完成。
读表¶
表格列出两侧键的并集。每行展示期望值、上报值以及状态标签:
- 已同步(绿色)—— 该键的期望值与上报值一致。
- 待同步(橙色)—— 两者不一致,设备尚未追上。
顶部汇总条展示整体影子状态(已同步/未同步)以及 期望版本 和 上报版本 版本号。版本号在每次写入时递增,用于检测并发编辑。
写入期望状态¶
- 点击编辑操作。
- 常用键 —— 当设备的设备 profile声明了可写测点(
read_write为 W/RW)时,从顶部选择器选一个即可。它会添加一个键名固定的行,并按类型给出控件:布尔为开关,数值为带工程范围和单位限制的数字输入,字符串为文本输入。删除某行即表示删除该键。 - 自定义键 —— profile 未声明的键可用自由键/值行添加,类型可选布尔、数值、字符串、对象或数组。
- 补充键(JSON) —— 复合或批量值可直接粘贴一个额外的 JSON 对象,其键会与上方各行合并。
- 保存。结果会合并进现有期望文档 —— 既未编辑也未删除的键保持不变;删除一个已存在的键会发送 JSON
null将其移除。 - 写入使用乐观并发控制:你加载时的版本号会作为
If-MatchETag 一并发送。若期间他人改动了影子,写入会被拒绝而非静默覆盖;请重新加载后重试。
若设备绑定的 profile 没有声明可写测点,则只能使用自定义行和 JSON 框。期望状态是目标而非指令。达成它是设备的职责 —— 通常由监听影子并下发实际指令的规则链完成。
注意事项¶
- 值可以是任意 JSON,平台不对其含义做解释。
- 写入期望状态本身不会改变设备状态或连接状态。