openclaw-elys 1.4.6 → 1.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -8
- package/dist/src/mqtt-client.d.ts +1 -0
- package/dist/src/mqtt-client.js +3 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,13 +8,10 @@ Elys App 的 OpenClaw 频道插件 — 将本地 OpenClaw 智能体连接到 Ely
|
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
# 1. Install the plugin / 安装插件
|
|
11
|
-
openclaw plugins install openclaw-elys
|
|
11
|
+
openclaw plugins install openclaw-elys@latest
|
|
12
12
|
|
|
13
|
-
# 2.
|
|
14
|
-
openclaw
|
|
15
|
-
|
|
16
|
-
# 3. Register device / 注册设备
|
|
17
|
-
npx openclaw-elys setup <gateway_url> <register_token>
|
|
13
|
+
# 2. Register device / 注册设备
|
|
14
|
+
npx openclaw-elys@latest setup <gateway_url> <register_token>
|
|
18
15
|
```
|
|
19
16
|
|
|
20
17
|
Get a one-time register token from the Elys App. / 从 Elys App 获取一次性注册令牌。
|
|
@@ -26,7 +23,7 @@ setup 命令会自动配置 `~/.openclaw/openclaw.json` 中的 `channels.elys`
|
|
|
26
23
|
## Status / 查看状态
|
|
27
24
|
|
|
28
25
|
```bash
|
|
29
|
-
npx openclaw-elys status
|
|
26
|
+
npx openclaw-elys@latest status
|
|
30
27
|
```
|
|
31
28
|
|
|
32
29
|
## Uninstall / 卸载
|
|
@@ -36,7 +33,7 @@ One command to revoke device, clean up config, and remove the plugin:
|
|
|
36
33
|
一条命令撤销设备、清理配置并卸载插件:
|
|
37
34
|
|
|
38
35
|
```bash
|
|
39
|
-
npx openclaw-elys uninstall
|
|
36
|
+
npx openclaw-elys@latest uninstall
|
|
40
37
|
```
|
|
41
38
|
|
|
42
39
|
## License
|
|
@@ -11,6 +11,7 @@ export declare class ElysDeviceMQTTClient {
|
|
|
11
11
|
private log;
|
|
12
12
|
private consecutiveFailures;
|
|
13
13
|
private static readonly MAX_FAILURES_BEFORE_REVOKE_WARNING;
|
|
14
|
+
private commandQueue;
|
|
14
15
|
constructor(credentials: DeviceCredentials, log?: (...args: unknown[]) => void);
|
|
15
16
|
setCommandHandler(handler: CommandHandler): void;
|
|
16
17
|
connect(abortSignal?: AbortSignal): Promise<void>;
|
package/dist/src/mqtt-client.js
CHANGED
|
@@ -10,6 +10,7 @@ export class ElysDeviceMQTTClient {
|
|
|
10
10
|
log;
|
|
11
11
|
consecutiveFailures = 0;
|
|
12
12
|
static MAX_FAILURES_BEFORE_REVOKE_WARNING = 3;
|
|
13
|
+
commandQueue = Promise.resolve();
|
|
13
14
|
constructor(credentials, log) {
|
|
14
15
|
this.credentials = credentials;
|
|
15
16
|
this.log = log ?? console.log;
|
|
@@ -42,7 +43,8 @@ export class ElysDeviceMQTTClient {
|
|
|
42
43
|
});
|
|
43
44
|
});
|
|
44
45
|
this.client.on("message", (_topic, payload) => {
|
|
45
|
-
|
|
46
|
+
// Serial queue: commands are processed one at a time in arrival order
|
|
47
|
+
this.commandQueue = this.commandQueue.then(() => this.handleMessage(payload), () => this.handleMessage(payload)).catch((err) => {
|
|
46
48
|
this.log("[elys] error handling message:", err);
|
|
47
49
|
});
|
|
48
50
|
});
|