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 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)
Binary file
package/io-package.json CHANGED
@@ -1,63 +1,70 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "leapmotor",
4
- "version": "0.2.0",
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": "Полный выпуск: статус, потребление, изображения, HTML-панель",
10
- "pt": "Versão completa: status, consumo, imagens, painel HTML",
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 complète: statut, consommation, images, tableau de bord HTML",
25
+ "fr": "Version compl\u00e8te: statut, consommation, images, tableau de bord HTML",
13
26
  "it": "Versione completa: stato, consumo, immagini, dashboard HTML",
14
- "es": "Versión completa: estado, consumo, imágenes, panel HTML",
15
- "pl": "Pełna wersja: status, zużycie, obrazy, panel HTML",
16
- "uk": "Повний випуск: статус, споживання, зображення, HTML-панель",
17
- "zh-cn": "完整版本:状态、消耗、图片、HTML仪表板"
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": "Интеграция автомобиля Leapmotor",
37
- "pt": "Integração de veículo Leapmotor",
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": "Intégration véhicule Leapmotor",
39
+ "fr": "Int\u00e9gration v\u00e9hicule Leapmotor",
40
40
  "it": "Integrazione veicolo Leapmotor",
41
- "es": "Integración de vehículo Leapmotor",
41
+ "es": "Integraci\u00f3n de veh\u00edculo Leapmotor",
42
42
  "pl": "Integracja pojazdu Leapmotor",
43
- "uk": "Інтеграція транспортного засобу Leapmotor",
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. Unterstützt Statusüberwachung, Fernsteuerung und Echtzeit-Updates.",
49
- "ru": "Интеграция электромобилей Leapmotor в ioBroker.",
50
- "pt": "Integre veículos elétricos Leapmotor no ioBroker.",
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": "Intégrez les véhicules électriques Leapmotor dans ioBroker.",
52
+ "fr": "Int\u00e9grez les v\u00e9hicules \u00e9lectriques Leapmotor dans ioBroker.",
53
53
  "it": "Integra i veicoli elettrici Leapmotor in ioBroker.",
54
- "es": "Integra vehículos eléctricos Leapmotor en ioBroker.",
54
+ "es": "Integra veh\u00edculos el\u00e9ctricos Leapmotor en ioBroker.",
55
55
  "pl": "Integruj pojazdy elektryczne Leapmotor z ioBroker.",
56
- "uk": "Інтегруйте електромобілі Leapmotor в ioBroker.",
57
- "zh-cn": "将零跑电动汽车集成到ioBroker中。"
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": ["Henrik Schönhofen <henrik.schoenhofen@gmx.de>"],
60
- "keywords": ["leapmotor", "electric vehicle", "EV", "T03"],
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.17"
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": { "name": "Information" },
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.0",
3
+ "version": "0.2.2",
4
4
  "description": "Leapmotor electric vehicle integration for ioBroker",
5
5
  "author": {
6
- "name": "Henrik Schönhofen",
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": ["ioBroker", "leapmotor", "electric vehicle", "EV", "T03"],
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.3",
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": "^20.0.0",
37
+ "@types/node": "^22.0.0",
28
38
  "@types/node-forge": "^1.3.14",
29
- "typescript": "^5.0.0"
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": ">=20"
60
+ "node": ">=22"
47
61
  }
48
- }
62
+ }