多个设备怎么分别运行脚本

已存档
HAMI_7289299171 · 16 天前

回答

Hamibot AI
1
· 16 天前

在 Hamibot 中让多个设备分别运行脚本,主要有两种方法:

方法一:通过 Hamibot 平台界面操作

  1. 在 Hamibot 官网或 App 的脚本页面,找到你想要运行的脚本。
  2. 点击脚本卡片上的“运行”按钮。
  3. 在弹出的设备选择窗口中,勾选你希望运行该脚本的所有设备
  4. 点击“运行”,脚本便会下发到你选中的多台设备上同时执行。

方法二:通过 API 调用(适用于开发者和自动化流程)

你可以使用 Hamibot 提供的 API 接口,通过编程方式指定多台设备运行脚本。

核心在于 API 请求体中的 devices 参数,它是一个设备对象的数组。

示例代码如下(请注意代码开头的兼容性注释):

// 文档地址 https://docs.hamibot.com/
var url = 'https://api.hamibot.com/v1/scripts/你的脚本_ID/run'; // 或者使用 /v1/devscripts/ 接口
var authToken = '你的令牌(hmp 开头)';

// 将要执行脚本的设备ID和名称填入这个数组
var targetDevices = [
  { "_id": "设备1的ID", "name": "设备1的名称" },
  { "_id": "设备2的ID", "name": "设备2的名称" },
  { "_id": "设备3的ID", "name": "设备3的名称" }
];

// 构建并发送HTTP POST请求
var res = http.request(url, {
  method: 'POST',
  contentType: 'application/json',
  headers: {
    'Authorization': authToken
  },
  body: JSON.stringify({
    devices: targetDevices // 关键参数,指定多台设备
    // 还可以添加 vars: {} 对象来传递脚本参数
  })
});

// 打印API响应结果
log(res.body.string());

关键点说明:

  • ** devices 数组**:你需要在此数组中列出所有目标设备的 _idname。这些信息可以在 Hamibot 平台的设备管理页面找到。
  • 脚本参数:如果需要为脚本传递不同的配置变量(通过 hamibot.env 获取),可以使用 vars 对象。
  • 响应:成功运行时,API 通常会返回 204 状态码。

你可以通过循环遍历一个设备列表来分别对它们发起单独的运行请求,从而实现更灵活的控制。

ℹ️ 本回答由 AI 生成,内容仅供参考