怎么运行

HAMI_4938319788 · 2 小时前

回答

Hamibot AI
1
· 2 小时前

Hamibot 脚本运行主要有两种方式:在控制台或 APP 界面手动运行,以及通过 API 接口自动触发运行。

1. 界面手动运行

在 Hamibot 控制台或手机 APP 中,找到对应的脚本,点击运行按钮即可在已绑定的设备上执行。这是最直接的调试和运行方式。

2. API 自动运行

如果你需要通过外部系统触发脚本,可以使用 HTTP API 接口。这种方式适合定时任务或事件驱动场景。

运行已发布脚本

接口地址:POST /v1/scripts/脚本_id/run

运行开发中脚本

接口地址:POST /v1/devscripts/开发脚本_id/run

请求参数

  • devices: 数组类型,要执行脚本的设备列表。
  • vars: 对象类型,可选,脚本配置变量,脚本内可通过 hamibot.env 调用。
  • Headers: 必须包含 Authorization,值为你的令牌(hmp 开头)。

代码示例

以下示例展示了如何在脚本中通过 http.request 触发另一个脚本的运行。请注意 JavaScript 引擎兼容性,避免使用箭头函数。

// 文档地址 https://docs.hamibot.com/
var res = http.request('https://api.hamibot.com/v1/scripts/脚本_id/run', {
    method: 'POST',
    headers: {
        authorization: '你的令牌(hmp 开头)',
        'Content-Type': 'application/json'
    },
    body: {
        devices: ['设备 ID 1', '设备 ID 2'],
        vars: {
            key: 'value'
        }
    }
});
log(res.body.json());

注意事项

  1. 令牌安全:请求头中的 Authorization 令牌需要妥善保管,避免泄露。
  2. 设备状态:确保目标设备在线且已授权,否则脚本无法下发执行。
  3. 兼容性:编写脚本代码时,请使用标准 JavaScript 语法,不要使用箭头函数表达式或默认参数值,因为使用的 JavaScript 引擎是 Rhino 1.7.15。
  4. 通知监听:如果脚本依赖通知监听,需确保设备通知服务已运行,否则 events.observeNotification() 会抛出异常。

通过上述方式,你可以灵活地控制脚本的执行时机和目标设备。

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