iobroker.leapmotor 0.2.0 → 0.2.2
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/admin/leapmotor.png +0 -0
- package/io-package.json +58 -43
- package/package.json +23 -9
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/admin/leapmotor.png
CHANGED
|
Binary file
|
package/io-package.json
CHANGED
|
@@ -1,63 +1,70 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "leapmotor",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.2",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.2.1": {
|
|
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
|
+
},
|
|
6
19
|
"0.2.0": {
|
|
7
20
|
"en": "Full release: status, consumption, pictures, composite HTML dashboard",
|
|
8
21
|
"de": "Vollversion: Status, Verbrauch, Bilder, HTML-Dashboard",
|
|
9
|
-
"ru": "
|
|
10
|
-
"pt": "
|
|
22
|
+
"ru": "\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a: \u0441\u0442\u0430\u0442\u0443\u0441, \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435, \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, HTML-\u043f\u0430\u043d\u0435\u043b\u044c",
|
|
23
|
+
"pt": "Vers\u00e3o completa: status, consumo, imagens, painel HTML",
|
|
11
24
|
"nl": "Volledige release: status, verbruik, afbeeldingen, HTML-dashboard",
|
|
12
|
-
"fr": "Version
|
|
25
|
+
"fr": "Version compl\u00e8te: statut, consommation, images, tableau de bord HTML",
|
|
13
26
|
"it": "Versione completa: stato, consumo, immagini, dashboard HTML",
|
|
14
|
-
"es": "
|
|
15
|
-
"pl": "
|
|
16
|
-
"uk": "
|
|
17
|
-
"zh-cn": "
|
|
18
|
-
},
|
|
19
|
-
"0.1.0": {
|
|
20
|
-
"en": "Initial release",
|
|
21
|
-
"de": "Erste Veröffentlichung",
|
|
22
|
-
"ru": "Первый выпуск",
|
|
23
|
-
"pt": "Lançamento inicial",
|
|
24
|
-
"nl": "Eerste release",
|
|
25
|
-
"fr": "Première version",
|
|
26
|
-
"it": "Prima versione",
|
|
27
|
-
"es": "Versión inicial",
|
|
28
|
-
"pl": "Pierwsze wydanie",
|
|
29
|
-
"uk": "Перший випуск",
|
|
30
|
-
"zh-cn": "初始版本"
|
|
27
|
+
"es": "Versi\u00f3n completa: estado, consumo, im\u00e1genes, panel HTML",
|
|
28
|
+
"pl": "Pe\u0142na wersja: status, zu\u017cycie, obrazy, panel HTML",
|
|
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
|
+
"zh-cn": "\u5b8c\u6574\u7248\u672c\uff1a\u72b6\u6001\u3001\u6d88\u8017\u3001\u56fe\u7247\u3001HTML\u4eea\u8868\u677f"
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"titleLang": {
|
|
34
34
|
"en": "Leapmotor Vehicle Integration",
|
|
35
35
|
"de": "Leapmotor Fahrzeug Integration",
|
|
36
|
-
"ru": "
|
|
37
|
-
"pt": "
|
|
36
|
+
"ru": "\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f Leapmotor",
|
|
37
|
+
"pt": "Integra\u00e7\u00e3o de ve\u00edculo Leapmotor",
|
|
38
38
|
"nl": "Leapmotor Voertuig Integratie",
|
|
39
|
-
"fr": "
|
|
39
|
+
"fr": "Int\u00e9gration v\u00e9hicule Leapmotor",
|
|
40
40
|
"it": "Integrazione veicolo Leapmotor",
|
|
41
|
-
"es": "
|
|
41
|
+
"es": "Integraci\u00f3n de veh\u00edculo Leapmotor",
|
|
42
42
|
"pl": "Integracja pojazdu Leapmotor",
|
|
43
|
-
"uk": "
|
|
44
|
-
"zh-cn": "
|
|
43
|
+
"uk": "\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u043d\u043e\u0433\u043e \u0437\u0430\u0441\u043e\u0431\u0443 Leapmotor",
|
|
44
|
+
"zh-cn": "\u96f6\u8dd1\u6c7d\u8f66\u96c6\u6210"
|
|
45
45
|
},
|
|
46
46
|
"desc": {
|
|
47
47
|
"en": "Integrate Leapmotor electric vehicles into ioBroker. Supports status monitoring, remote control and real-time updates.",
|
|
48
|
-
"de": "Integration von Leapmotor Elektrofahrzeugen in ioBroker.
|
|
49
|
-
"ru": "
|
|
50
|
-
"pt": "Integre
|
|
48
|
+
"de": "Integration von Leapmotor Elektrofahrzeugen in ioBroker. Unterst\u00fctzt Status\u00fcberwachung, Fernsteuerung und Echtzeit-Updates.",
|
|
49
|
+
"ru": "\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043c\u043e\u0431\u0438\u043b\u0435\u0439 Leapmotor \u0432 ioBroker.",
|
|
50
|
+
"pt": "Integre ve\u00edculos el\u00e9tricos Leapmotor no ioBroker.",
|
|
51
51
|
"nl": "Integreer Leapmotor elektrische voertuigen in ioBroker.",
|
|
52
|
-
"fr": "
|
|
52
|
+
"fr": "Int\u00e9grez les v\u00e9hicules \u00e9lectriques Leapmotor dans ioBroker.",
|
|
53
53
|
"it": "Integra i veicoli elettrici Leapmotor in ioBroker.",
|
|
54
|
-
"es": "Integra
|
|
54
|
+
"es": "Integra veh\u00edculos el\u00e9ctricos Leapmotor en ioBroker.",
|
|
55
55
|
"pl": "Integruj pojazdy elektryczne Leapmotor z ioBroker.",
|
|
56
|
-
"uk": "
|
|
57
|
-
"zh-cn": "
|
|
56
|
+
"uk": "\u0406\u043d\u0442\u0435\u0433\u0440\u0443\u0439\u0442\u0435 \u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043c\u043e\u0431\u0456\u043b\u0456 Leapmotor \u0432 ioBroker.",
|
|
57
|
+
"zh-cn": "\u5c06\u96f6\u8dd1\u7535\u52a8\u6c7d\u8f66\u96c6\u6210\u5230ioBroker\u4e2d\u3002"
|
|
58
58
|
},
|
|
59
|
-
"authors": [
|
|
60
|
-
|
|
59
|
+
"authors": [
|
|
60
|
+
"Henrik Sch\u00f6nhofen <henrik.schoenhofen@gmx.de>"
|
|
61
|
+
],
|
|
62
|
+
"keywords": [
|
|
63
|
+
"leapmotor",
|
|
64
|
+
"electric vehicle",
|
|
65
|
+
"EV",
|
|
66
|
+
"T03"
|
|
67
|
+
],
|
|
61
68
|
"licenseInformation": {
|
|
62
69
|
"license": "MIT",
|
|
63
70
|
"type": "free"
|
|
@@ -68,9 +75,9 @@
|
|
|
68
75
|
"enabled": true,
|
|
69
76
|
"readme": "https://github.com/backfisch88/ioBroker.leapmotor/blob/main/README.md",
|
|
70
77
|
"loglevel": "info",
|
|
78
|
+
"tier": 3,
|
|
71
79
|
"mode": "daemon",
|
|
72
80
|
"type": "vehicle",
|
|
73
|
-
"tier": 3,
|
|
74
81
|
"compact": false,
|
|
75
82
|
"connectionType": "cloud",
|
|
76
83
|
"dataSource": "poll",
|
|
@@ -84,11 +91,9 @@
|
|
|
84
91
|
],
|
|
85
92
|
"globalDependencies": [
|
|
86
93
|
{
|
|
87
|
-
"admin": ">=7.6.
|
|
94
|
+
"admin": ">=7.6.20"
|
|
88
95
|
}
|
|
89
|
-
]
|
|
90
|
-
"protectedNative": ["password", "operationPassword"],
|
|
91
|
-
"encryptedNative": ["password", "operationPassword"]
|
|
96
|
+
]
|
|
92
97
|
},
|
|
93
98
|
"native": {
|
|
94
99
|
"email": "",
|
|
@@ -102,7 +107,9 @@
|
|
|
102
107
|
{
|
|
103
108
|
"_id": "info",
|
|
104
109
|
"type": "channel",
|
|
105
|
-
"common": {
|
|
110
|
+
"common": {
|
|
111
|
+
"name": "Information"
|
|
112
|
+
},
|
|
106
113
|
"native": {}
|
|
107
114
|
},
|
|
108
115
|
{
|
|
@@ -118,5 +125,13 @@
|
|
|
118
125
|
},
|
|
119
126
|
"native": {}
|
|
120
127
|
}
|
|
128
|
+
],
|
|
129
|
+
"protectedNative": [
|
|
130
|
+
"password",
|
|
131
|
+
"operationPassword"
|
|
132
|
+
],
|
|
133
|
+
"encryptedNative": [
|
|
134
|
+
"password",
|
|
135
|
+
"operationPassword"
|
|
121
136
|
]
|
|
122
|
-
}
|
|
137
|
+
}
|
package/package.json
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.leapmotor",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Leapmotor electric vehicle integration for ioBroker",
|
|
5
5
|
"author": {
|
|
6
|
-
"name": "Henrik
|
|
6
|
+
"name": "Henrik Sch\u00f6nhofen",
|
|
7
7
|
"email": "henrik.schoenhofen@gmx.de"
|
|
8
8
|
},
|
|
9
9
|
"homepage": "https://github.com/backfisch88/ioBroker.leapmotor",
|
|
10
10
|
"license": "MIT",
|
|
11
|
-
"keywords": [
|
|
11
|
+
"keywords": [
|
|
12
|
+
"ioBroker",
|
|
13
|
+
"leapmotor",
|
|
14
|
+
"electric vehicle",
|
|
15
|
+
"EV",
|
|
16
|
+
"T03"
|
|
17
|
+
],
|
|
12
18
|
"repository": {
|
|
13
19
|
"type": "git",
|
|
14
20
|
"url": "https://github.com/backfisch88/ioBroker.leapmotor.git"
|
|
@@ -17,16 +23,20 @@
|
|
|
17
23
|
"url": "https://github.com/backfisch88/ioBroker.leapmotor/issues"
|
|
18
24
|
},
|
|
19
25
|
"dependencies": {
|
|
20
|
-
"@iobroker/adapter-core": "^3.2
|
|
26
|
+
"@iobroker/adapter-core": "^3.3.2",
|
|
21
27
|
"axios": "^1.17.0",
|
|
22
28
|
"node-forge": "^1.4.0",
|
|
23
29
|
"adm-zip": "^0.5.10"
|
|
24
30
|
},
|
|
25
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",
|
|
26
36
|
"@iobroker/testing": "^5.2.2",
|
|
27
|
-
"@types/node": "^
|
|
37
|
+
"@types/node": "^22.0.0",
|
|
28
38
|
"@types/node-forge": "^1.3.14",
|
|
29
|
-
"typescript": "^
|
|
39
|
+
"typescript": "^6.0.3"
|
|
30
40
|
},
|
|
31
41
|
"main": "build/main.js",
|
|
32
42
|
"files": [
|
|
@@ -40,9 +50,13 @@
|
|
|
40
50
|
"build": "tsc -p tsconfig.json",
|
|
41
51
|
"watch": "tsc -p tsconfig.json --watch",
|
|
42
52
|
"lint": "echo \"No linting configured\"",
|
|
43
|
-
"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\""
|
|
44
58
|
},
|
|
45
59
|
"engines": {
|
|
46
|
-
"node": ">=
|
|
60
|
+
"node": ">=22"
|
|
47
61
|
}
|
|
48
|
-
}
|
|
62
|
+
}
|