iobroker.leapmotor 0.2.1 → 0.2.3
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 +51 -44
- package/io-package.json +48 -22
- package/package.json +14 -6
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# ioBroker.leapmotor
|
|
4
4
|
|
|
5
|
-
[](https://github.com/backfisch88/ioBroker.leapmotor)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
|
|
8
8
|
Unofficial Leapmotor electric vehicle integration for ioBroker. Tested on T03.
|
|
@@ -14,16 +14,15 @@ Unofficial Leapmotor electric vehicle integration for ioBroker. Tested on T03.
|
|
|
14
14
|
The adapter maintains a permanent session with the Leapmotor cloud. If the same account is used simultaneously in the Leapmotor app, both sessions will conflict and log each other out.
|
|
15
15
|
|
|
16
16
|
**Recommended setup:**
|
|
17
|
-
|
|
18
17
|
1. Create a second Leapmotor account (e.g. with a second email address)
|
|
19
|
-
|
|
18
|
+
2. In the Leapmotor app, navigate to:
|
|
20
19
|
**Personal Center → My Vehicle → [Vehicle Name] → Shared Members → Add Shared Member**
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
3. Enter the second account's email and grant all rights
|
|
21
|
+
4. Use the second account credentials in the adapter configuration
|
|
23
22
|
|
|
24
23
|
This way your main account stays logged in to the app at all times.
|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
---
|
|
27
26
|
|
|
28
27
|
## Features
|
|
29
28
|
|
|
@@ -41,20 +40,16 @@ This way your main account stays logged in to the app at all times.
|
|
|
41
40
|
|
|
42
41
|
## Installation
|
|
43
42
|
|
|
44
|
-
Install via ioBroker Admin UI
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
iobroker url https://github.com/backfisch88/ioBroker.leapmotor
|
|
48
|
-
```
|
|
43
|
+
Install via ioBroker Admin UI.
|
|
49
44
|
|
|
50
45
|
## Configuration
|
|
51
46
|
|
|
52
|
-
|Setting
|
|
53
|
-
|
|
54
|
-
|Email
|
|
55
|
-
|Password
|
|
56
|
-
|Vehicle PIN
|
|
57
|
-
|Polling interval|Status update interval in minutes (default: 5)
|
|
47
|
+
| Setting | Description |
|
|
48
|
+
|---------|-------------|
|
|
49
|
+
| Email | Leapmotor account email (recommend using a dedicated second account) |
|
|
50
|
+
| Password | Leapmotor account password |
|
|
51
|
+
| Vehicle PIN | 4-digit vehicle PIN – required for all remote commands |
|
|
52
|
+
| Polling interval | Status update interval in minutes (default: 5) |
|
|
58
53
|
|
|
59
54
|
## Datapoints
|
|
60
55
|
|
|
@@ -69,55 +64,67 @@ leapmotor.0.<VIN>.cmd.* → Commands (writable)
|
|
|
69
64
|
### VIS Dashboard Widget
|
|
70
65
|
|
|
71
66
|
Add a **basic - string (unescaped)** widget in VIS and set the Object ID to:
|
|
72
|
-
|
|
73
67
|
```
|
|
74
68
|
leapmotor.0.<VIN>.pictures.composite_html
|
|
75
69
|
```
|
|
76
70
|
|
|
77
71
|
### Available Commands
|
|
78
72
|
|
|
79
|
-
|Command
|
|
80
|
-
|
|
81
|
-
|cmd.ac_heiz
|
|
82
|
-
|cmd.ac_kuehl
|
|
83
|
-
|cmd.ac_luft
|
|
84
|
-
|cmd.ac_off
|
|
85
|
-
|cmd.ac_temp
|
|
86
|
-
|cmd.defrost
|
|
87
|
-
|cmd.lock
|
|
88
|
-
|cmd.unlock
|
|
89
|
-
|cmd.trunk_open
|
|
90
|
-
|cmd.trunk_close
|
|
91
|
-
|cmd.windows_open
|
|
92
|
-
|cmd.windows_close
|
|
93
|
-
|cmd.find
|
|
94
|
-
|cmd.battery_preheat
|
|
95
|
-
|cmd.battery_preheat_off|Battery preheat off
|
|
96
|
-
|cmd.refresh
|
|
73
|
+
| Command | Description | PIN required |
|
|
74
|
+
|---------|-------------|:------------:|
|
|
75
|
+
| cmd.ac_heiz | Start heating | ✅ |
|
|
76
|
+
| cmd.ac_kuehl | Start cooling | ✅ |
|
|
77
|
+
| cmd.ac_luft | Start ventilation | ✅ |
|
|
78
|
+
| cmd.ac_off | Stop climate | ✅ |
|
|
79
|
+
| cmd.ac_temp | Target temperature (16–30°C) | – |
|
|
80
|
+
| cmd.defrost | Windshield defrost | ✅ |
|
|
81
|
+
| cmd.lock | Lock vehicle | ✅ |
|
|
82
|
+
| cmd.unlock | Unlock vehicle | ✅ |
|
|
83
|
+
| cmd.trunk_open | Open trunk | ✅ |
|
|
84
|
+
| cmd.trunk_close | Close trunk | ✅ |
|
|
85
|
+
| cmd.windows_open | Open windows | – |
|
|
86
|
+
| cmd.windows_close | Close windows | – |
|
|
87
|
+
| cmd.find | Find vehicle (horn/lights) | – |
|
|
88
|
+
| cmd.battery_preheat | Battery preheat on | ✅ |
|
|
89
|
+
| cmd.battery_preheat_off | Battery preheat off | ✅ |
|
|
90
|
+
| cmd.refresh | Trigger immediate status update | – |
|
|
97
91
|
|
|
98
92
|
## Changelog
|
|
99
93
|
|
|
100
|
-
### 0.2.
|
|
94
|
+
### 0.2.2 (2026-06-11)
|
|
95
|
+
- Fix: workflow, test scripts
|
|
101
96
|
|
|
97
|
+
### 0.2.1 (2026-06-10)
|
|
98
|
+
- Fix: release script, logo size, workflow improvements
|
|
99
|
+
|
|
100
|
+
### 0.2.0 (2026-06-10)
|
|
102
101
|
- Full release: status, consumption, pictures, composite HTML dashboard
|
|
103
102
|
- Automatic token refresh
|
|
104
103
|
- Picture cache
|
|
105
104
|
- All remote commands require PIN verification
|
|
106
105
|
|
|
107
|
-
### 0.1.0 (2026-06-09)
|
|
108
|
-
|
|
109
|
-
- Initial release
|
|
110
|
-
|
|
111
106
|
## Legal Notice
|
|
112
107
|
|
|
113
108
|
This adapter is **not affiliated with, endorsed by, or officially connected to Leapmotor** or any of its subsidiaries or affiliates.
|
|
114
109
|
|
|
115
|
-
|
|
110
|
+
Use at your own risk. The authors accept no liability for any damage caused by the use of this software.
|
|
116
111
|
|
|
117
|
-
|
|
112
|
+
## Changelog
|
|
113
|
+
|
|
114
|
+
### 0.2.2 (2026-06-11)
|
|
115
|
+
- Fix: workflow, test scripts
|
|
116
|
+
|
|
117
|
+
### 0.2.1 (2026-06-10)
|
|
118
|
+
- Fix: release script, logo size, workflow improvements
|
|
119
|
+
|
|
120
|
+
### 0.2.0 (2026-06-10)
|
|
121
|
+
- Full release: status, consumption, pictures, composite HTML dashboard
|
|
122
|
+
- Automatic token refresh
|
|
123
|
+
- Picture cache
|
|
124
|
+
- All remote commands require PIN verification
|
|
118
125
|
|
|
119
126
|
## License
|
|
120
127
|
|
|
121
128
|
MIT License
|
|
122
129
|
|
|
123
|
-
Copyright (c) 2026 Henrik Schönhofen (backfisch88)
|
|
130
|
+
Copyright (c) 2026 Henrik Schönhofen (backfisch88)
|
package/io-package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "leapmotor",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.3",
|
|
5
5
|
"news": {
|
|
6
6
|
"0.2.1": {
|
|
7
|
-
"en": "Fix: logo size,
|
|
8
|
-
"de": "Fix: Logo-Gr\u00f6\u00dfe,
|
|
9
|
-
"ru": "\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435: \u0440\u0430\u0437\u043c\u0435\u0440 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0430",
|
|
10
|
-
"pt": "Corre\u00e7\u00e3o: tamanho do logotipo",
|
|
11
|
-
"nl": "Fix: logo grootte",
|
|
12
|
-
"fr": "Correction: taille du logo",
|
|
13
|
-
"it": "Correzione: dimensione logo",
|
|
14
|
-
"es": "Correcci\u00f3n: tama\u00f1o del logo",
|
|
15
|
-
"pl": "Poprawka: rozmiar logo",
|
|
16
|
-
"uk": "\u0412\u0438\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044f: \u0440\u043e\u0437\u043c\u0456\u0440 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0443",
|
|
17
|
-
"zh-cn": "\u4fee\u590d\uff1a\u5fbd\u6807\u5927\u5c0f"
|
|
7
|
+
"en": "Fix: release script, logo size, workflow improvements",
|
|
8
|
+
"de": "Fix: Release-Script, Logo-Gr\u00f6\u00dfe, Workflow-Verbesserungen",
|
|
9
|
+
"ru": "\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435: \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u044b\u043f\u0443\u0441\u043a\u0430, \u0440\u0430\u0437\u043c\u0435\u0440 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0430",
|
|
10
|
+
"pt": "Corre\u00e7\u00e3o: script de lan\u00e7amento, tamanho do logotipo",
|
|
11
|
+
"nl": "Fix: release script, logo grootte",
|
|
12
|
+
"fr": "Correction: script de version, taille du logo",
|
|
13
|
+
"it": "Correzione: script di rilascio, dimensione logo",
|
|
14
|
+
"es": "Correcci\u00f3n: script de lanzamiento, tama\u00f1o del logo",
|
|
15
|
+
"pl": "Poprawka: skrypt wydania, rozmiar logo",
|
|
16
|
+
"uk": "\u0412\u0438\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044f: \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u0438\u043f\u0443\u0441\u043a\u0443, \u0440\u043e\u0437\u043c\u0456\u0440 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0443",
|
|
17
|
+
"zh-cn": "\u4fee\u590d\uff1a\u53d1\u5e03\u811a\u672c\u3001\u5fbd\u6807\u5927\u5c0f"
|
|
18
18
|
},
|
|
19
19
|
"0.2.0": {
|
|
20
20
|
"en": "Full release: status, consumption, pictures, composite HTML dashboard",
|
|
@@ -28,6 +28,32 @@
|
|
|
28
28
|
"pl": "Pe\u0142na wersja: status, zu\u017cycie, obrazy, panel HTML",
|
|
29
29
|
"uk": "\u041f\u043e\u0432\u043d\u0438\u0439 \u0432\u0438\u043f\u0443\u0441\u043a: \u0441\u0442\u0430\u0442\u0443\u0441, \u0441\u043f\u043e\u0436\u0438\u0432\u0430\u043d\u043d\u044f, \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f, HTML-\u043f\u0430\u043d\u0435\u043b\u044c",
|
|
30
30
|
"zh-cn": "\u5b8c\u6574\u7248\u672c\uff1a\u72b6\u6001\u3001\u6d88\u8017\u3001\u56fe\u7247\u3001HTML\u4eea\u8868\u677f"
|
|
31
|
+
},
|
|
32
|
+
"0.2.2": {
|
|
33
|
+
"en": "Fix: workflow, test scripts, package-lock sync",
|
|
34
|
+
"de": "Fix: Workflow, Test-Scripts, package-lock Sync",
|
|
35
|
+
"ru": "\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435: \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441",
|
|
36
|
+
"pt": "Corre\u00e7\u00e3o: fluxo de trabalho",
|
|
37
|
+
"nl": "Fix: workflow",
|
|
38
|
+
"fr": "Correction: workflow",
|
|
39
|
+
"it": "Correzione: workflow",
|
|
40
|
+
"es": "Correcci\u00f3n: workflow",
|
|
41
|
+
"pl": "Poprawka: workflow",
|
|
42
|
+
"uk": "\u0412\u0438\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044f: \u0440\u043e\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441",
|
|
43
|
+
"zh-cn": "\u4fee\u590d\uff1a\u5de5\u4f5c\u6d41\u7a0b"
|
|
44
|
+
},
|
|
45
|
+
"0.2.3": {
|
|
46
|
+
"en": "Fix: add missing news entries",
|
|
47
|
+
"de": "Fix: fehlende News-Eintr\u00e4ge hinzugef\u00fcgt",
|
|
48
|
+
"ru": "\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435",
|
|
49
|
+
"pt": "Corre\u00e7\u00e3o",
|
|
50
|
+
"nl": "Fix",
|
|
51
|
+
"fr": "Correction",
|
|
52
|
+
"it": "Correzione",
|
|
53
|
+
"es": "Correcci\u00f3n",
|
|
54
|
+
"pl": "Poprawka",
|
|
55
|
+
"uk": "\u0412\u0438\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044f",
|
|
56
|
+
"zh-cn": "\u4fee\u590d"
|
|
31
57
|
}
|
|
32
58
|
},
|
|
33
59
|
"titleLang": {
|
|
@@ -75,9 +101,9 @@
|
|
|
75
101
|
"enabled": true,
|
|
76
102
|
"readme": "https://github.com/backfisch88/ioBroker.leapmotor/blob/main/README.md",
|
|
77
103
|
"loglevel": "info",
|
|
104
|
+
"tier": 3,
|
|
78
105
|
"mode": "daemon",
|
|
79
106
|
"type": "vehicle",
|
|
80
|
-
"tier": 3,
|
|
81
107
|
"compact": false,
|
|
82
108
|
"connectionType": "cloud",
|
|
83
109
|
"dataSource": "poll",
|
|
@@ -91,16 +117,8 @@
|
|
|
91
117
|
],
|
|
92
118
|
"globalDependencies": [
|
|
93
119
|
{
|
|
94
|
-
"admin": ">=7.6.
|
|
120
|
+
"admin": ">=7.6.20"
|
|
95
121
|
}
|
|
96
|
-
],
|
|
97
|
-
"protectedNative": [
|
|
98
|
-
"password",
|
|
99
|
-
"operationPassword"
|
|
100
|
-
],
|
|
101
|
-
"encryptedNative": [
|
|
102
|
-
"password",
|
|
103
|
-
"operationPassword"
|
|
104
122
|
]
|
|
105
123
|
},
|
|
106
124
|
"native": {
|
|
@@ -133,5 +151,13 @@
|
|
|
133
151
|
},
|
|
134
152
|
"native": {}
|
|
135
153
|
}
|
|
154
|
+
],
|
|
155
|
+
"protectedNative": [
|
|
156
|
+
"password",
|
|
157
|
+
"operationPassword"
|
|
158
|
+
],
|
|
159
|
+
"encryptedNative": [
|
|
160
|
+
"password",
|
|
161
|
+
"operationPassword"
|
|
136
162
|
]
|
|
137
163
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.leapmotor",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Leapmotor electric vehicle integration for ioBroker",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Henrik Sch\u00f6nhofen",
|
|
@@ -23,16 +23,20 @@
|
|
|
23
23
|
"url": "https://github.com/backfisch88/ioBroker.leapmotor/issues"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@iobroker/adapter-core": "^3.2
|
|
26
|
+
"@iobroker/adapter-core": "^3.3.2",
|
|
27
27
|
"axios": "^1.17.0",
|
|
28
28
|
"node-forge": "^1.4.0",
|
|
29
29
|
"adm-zip": "^0.5.10"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
+
"@alcalzone/release-script": "^5.2.0",
|
|
33
|
+
"@alcalzone/release-script-plugin-iobroker": "^5.2.0",
|
|
34
|
+
"@alcalzone/release-script-plugin-license": "^5.2.0",
|
|
35
|
+
"@alcalzone/release-script-plugin-manual-review": "^5.2.0",
|
|
32
36
|
"@iobroker/testing": "^5.2.2",
|
|
33
|
-
"@types/node": "^
|
|
37
|
+
"@types/node": "^22.0.0",
|
|
34
38
|
"@types/node-forge": "^1.3.14",
|
|
35
|
-
"typescript": "^
|
|
39
|
+
"typescript": "^6.0.3"
|
|
36
40
|
},
|
|
37
41
|
"main": "build/main.js",
|
|
38
42
|
"files": [
|
|
@@ -46,9 +50,13 @@
|
|
|
46
50
|
"build": "tsc -p tsconfig.json",
|
|
47
51
|
"watch": "tsc -p tsconfig.json --watch",
|
|
48
52
|
"lint": "echo \"No linting configured\"",
|
|
49
|
-
"test": "echo \"No tests configured\""
|
|
53
|
+
"test": "echo \"No tests configured\"",
|
|
54
|
+
"release": "release-script",
|
|
55
|
+
"test:package": "echo \"No package tests configured\"",
|
|
56
|
+
"test:unit": "echo \"No unit tests configured\"",
|
|
57
|
+
"test:integration": "echo \"No integration tests configured\""
|
|
50
58
|
},
|
|
51
59
|
"engines": {
|
|
52
|
-
"node": ">=
|
|
60
|
+
"node": ">=22"
|
|
53
61
|
}
|
|
54
62
|
}
|