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.
Files changed (3) hide show
  1. package/README.md +51 -44
  2. package/io-package.json +48 -22
  3. package/package.json +14 -6
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ioBroker.leapmotor
4
4
 
5
- [![Version](https://img.shields.io/badge/version-0.2.0-blue.svg)](https://github.com/backfisch88/ioBroker.leapmotor)
5
+ [![Version](https://img.shields.io/badge/version-0.2.2-blue.svg)](https://github.com/backfisch88/ioBroker.leapmotor)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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
- 1. In the Leapmotor app, navigate to:
18
+ 2. In the Leapmotor app, navigate to:
20
19
  **Personal Center → My Vehicle → [Vehicle Name] → Shared Members → Add Shared Member**
21
- 1. Enter the second accounts email and grant all rights
22
- 1. Use the second account credentials in the adapter configuration
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 or use:
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 |Description |
53
- |----------------|--------------------------------------------------------------------|
54
- |Email |Leapmotor account email (recommend using a dedicated second account)|
55
- |Password |Leapmotor account password |
56
- |Vehicle PIN |4-digit vehicle PIN – required for all remote commands |
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 |Description |PIN required|
80
- |-----------------------|-------------------------------|:----------:|
81
- |cmd.ac_heiz |Start heating |✅ |
82
- |cmd.ac_kuehl |Start cooling |✅ |
83
- |cmd.ac_luft |Start ventilation |✅ |
84
- |cmd.ac_off |Stop climate |✅ |
85
- |cmd.ac_temp |Target temperature (16–30°C) |– |
86
- |cmd.defrost |Windshield defrost |✅ |
87
- |cmd.lock |Lock vehicle |✅ |
88
- |cmd.unlock |Unlock vehicle |✅ |
89
- |cmd.trunk_open |Open trunk |✅ |
90
- |cmd.trunk_close |Close trunk |✅ |
91
- |cmd.windows_open |Open windows |– |
92
- |cmd.windows_close |Close windows |– |
93
- |cmd.find |Find vehicle (horn/lights) |– |
94
- |cmd.battery_preheat |Battery preheat on |✅ |
95
- |cmd.battery_preheat_off|Battery preheat off |✅ |
96
- |cmd.refresh |Trigger immediate status update|– |
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.0 (2026-06-10)
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
- The adapter communicates with Leapmotor’s cloud API using credentials provided by the user. All trademarks, service marks, product names, and company names or logos mentioned are the property of their respective owners.
110
+ Use at your own risk. The authors accept no liability for any damage caused by the use of this software.
116
111
 
117
- Use at your own risk. The authors accept no liability for any damage, data loss, or other issues caused by the use of this software.
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.1",
4
+ "version": "0.2.3",
5
5
  "news": {
6
6
  "0.2.1": {
7
- "en": "Fix: logo size, protectedNative, encryptedNative",
8
- "de": "Fix: Logo-Gr\u00f6\u00dfe, protectedNative, encryptedNative",
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.17"
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.1",
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.3",
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": "^20.0.0",
37
+ "@types/node": "^22.0.0",
34
38
  "@types/node-forge": "^1.3.14",
35
- "typescript": "^5.0.0"
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": ">=20"
60
+ "node": ">=22"
53
61
  }
54
62
  }