iobroker.bmw 2.9.2 → 2.9.4
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 -1
- package/io-package.json +14 -27
- package/main.js +18 -6
- package/package.json +10 -10
package/README.md
CHANGED
|
@@ -25,7 +25,11 @@ bmw.0.VIN.properties
|
|
|
25
25
|
bmw.0.VIN.remotev2
|
|
26
26
|
|
|
27
27
|
## Changelog
|
|
28
|
-
### 2.9.
|
|
28
|
+
### 2.9.4 (2025-02-26)
|
|
29
|
+
|
|
30
|
+
- fix for Mitbenutzer Feature
|
|
31
|
+
|
|
32
|
+
### 2.9.3 (2025-01-29)
|
|
29
33
|
|
|
30
34
|
- fix Remote Controls
|
|
31
35
|
- add Mitbenutzer Login for remote controls
|
package/io-package.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "bmw",
|
|
4
|
-
"version": "2.9.
|
|
4
|
+
"version": "2.9.4",
|
|
5
5
|
"news": {
|
|
6
|
-
"2.9.
|
|
7
|
-
"en": "fix
|
|
8
|
-
"de": "
|
|
9
|
-
"ru": "
|
|
10
|
-
"pt": "
|
|
11
|
-
"nl": "fix
|
|
12
|
-
"fr": "correction
|
|
13
|
-
"it": "
|
|
14
|
-
"es": "
|
|
15
|
-
"pl": "
|
|
16
|
-
"uk": "
|
|
17
|
-
"zh-cn": "
|
|
6
|
+
"2.9.4": {
|
|
7
|
+
"en": "fix for Mitbenutzer Feature",
|
|
8
|
+
"de": "fix für Mitbenutzer Feature",
|
|
9
|
+
"ru": "обсуждение Mitbenutzer Feature",
|
|
10
|
+
"pt": "correção para recurso Mitbenutzer",
|
|
11
|
+
"nl": "fix voor Mitbenutzer Feature",
|
|
12
|
+
"fr": "correction pour la fonctionnalité Mitbenutzer",
|
|
13
|
+
"it": "fix per la funzione Mitbenutzer",
|
|
14
|
+
"es": "fijado para Mitbenutzer Feature",
|
|
15
|
+
"pl": "fix dla Mitbenutzer Feature",
|
|
16
|
+
"uk": "фіксатор для функції Mitbenutzer",
|
|
17
|
+
"zh-cn": "用于 Mitbenutzer 特性的固定"
|
|
18
18
|
},
|
|
19
|
-
"2.9.
|
|
19
|
+
"2.9.3": {
|
|
20
20
|
"en": "fix Remote Controls\nadd Mitbenutzer Login for remote controls",
|
|
21
21
|
"de": "remote Controls reparieren\nmitbenutzer Login für Fernbedienungen hinzufügen",
|
|
22
22
|
"ru": "починить удаленные управления\nдобавить логин Mitbenutzer для дистанционного управления",
|
|
@@ -80,19 +80,6 @@
|
|
|
80
80
|
"pl": "naprawić błąd getvehicles v2 nie powiodło się",
|
|
81
81
|
"uk": "виправлення помилок getvehicles v2 не вдалося",
|
|
82
82
|
"zh-cn": "修补错误获得车辆 v2 失败"
|
|
83
|
-
},
|
|
84
|
-
"2.8.1": {
|
|
85
|
-
"en": "fix for remote commands",
|
|
86
|
-
"de": "Fix für Remote Commands",
|
|
87
|
-
"ru": "фиксация удаленных команд",
|
|
88
|
-
"pt": "corrigir comandos remotos",
|
|
89
|
-
"nl": "fix remote commando's",
|
|
90
|
-
"fr": "correction des commandes distantes",
|
|
91
|
-
"it": "correggere i comandi remoti",
|
|
92
|
-
"es": "fijar comandos remotos",
|
|
93
|
-
"pl": "naprawianie zdalnych poleceń",
|
|
94
|
-
"uk": "фіксувати віддалені команди",
|
|
95
|
-
"zh-cn": "修正远程命令"
|
|
96
83
|
}
|
|
97
84
|
},
|
|
98
85
|
"titleLang": {
|
package/main.js
CHANGED
|
@@ -208,16 +208,18 @@ class Bmw extends utils.Adapter {
|
|
|
208
208
|
await this.login();
|
|
209
209
|
}
|
|
210
210
|
if (this.config.musername && this.config.mpassword) {
|
|
211
|
-
const msessionState = await this.getStateAsync('auth.
|
|
211
|
+
const msessionState = await this.getStateAsync('auth.msession');
|
|
212
212
|
if (msessionState && msessionState.val) {
|
|
213
213
|
this.msession = JSON.parse(msessionState.val);
|
|
214
214
|
this.log.debug(JSON.stringify(this.msession));
|
|
215
|
+
this.log.info('Session found for M user. If the login fails please delete bmw.0.auth.msession and restart the adapter');
|
|
215
216
|
await this.refreshToken(true);
|
|
216
217
|
} else {
|
|
217
218
|
if (!this.config.captcha) {
|
|
218
219
|
this.log.error('Please generate a captcha in the instance settings to login the m user');
|
|
219
220
|
return;
|
|
220
221
|
}
|
|
222
|
+
this.log.info('Start login for second user');
|
|
221
223
|
await this.login(true);
|
|
222
224
|
}
|
|
223
225
|
}
|
|
@@ -232,6 +234,7 @@ class Bmw extends utils.Adapter {
|
|
|
232
234
|
this.log.info('First update of Trips and Demands in 10 minutes');
|
|
233
235
|
this.setTimeout(
|
|
234
236
|
async () => {
|
|
237
|
+
this.log.info('First update of Trips and Demands 10min after Adapter Start');
|
|
235
238
|
await this.updateDemands();
|
|
236
239
|
await this.sleep(5000);
|
|
237
240
|
await this.updateTrips();
|
|
@@ -1199,8 +1202,10 @@ class Bmw extends utils.Adapter {
|
|
|
1199
1202
|
this.log.info('Remote command executed');
|
|
1200
1203
|
} else if (res === 'RUNNING') {
|
|
1201
1204
|
this.log.info('Remote command is still running');
|
|
1205
|
+
} else if (res === 'UNKNOWN') {
|
|
1206
|
+
this.log.debug('Remote command is unknown');
|
|
1202
1207
|
} else {
|
|
1203
|
-
this.log.
|
|
1208
|
+
this.log.warn('Remote command failed ' + res);
|
|
1204
1209
|
}
|
|
1205
1210
|
});
|
|
1206
1211
|
}
|
|
@@ -1211,8 +1216,15 @@ class Bmw extends utils.Adapter {
|
|
|
1211
1216
|
})
|
|
1212
1217
|
.catch((error) => {
|
|
1213
1218
|
this.log.error('Remote command failed');
|
|
1219
|
+
|
|
1214
1220
|
this.log.error(error);
|
|
1215
1221
|
if (error.response) {
|
|
1222
|
+
//check for 403 quota exceeded
|
|
1223
|
+
if (error.response.status === 403) {
|
|
1224
|
+
this.log.warn(
|
|
1225
|
+
'Rate Limit exceeded, think about to use the second user Mitbenutzer feature in the adapter settings to send remote commands',
|
|
1226
|
+
);
|
|
1227
|
+
}
|
|
1216
1228
|
this.log.error(JSON.stringify(error.response.data));
|
|
1217
1229
|
}
|
|
1218
1230
|
});
|
|
@@ -1268,12 +1280,12 @@ class Bmw extends utils.Adapter {
|
|
|
1268
1280
|
this.log.debug(JSON.stringify(res.data));
|
|
1269
1281
|
return res.data.rsEventStatus;
|
|
1270
1282
|
} catch (error) {
|
|
1271
|
-
this.log.
|
|
1272
|
-
this.log.
|
|
1283
|
+
this.log.info('Cannot Fetch the status of the sent command. Status is Unknown');
|
|
1284
|
+
this.log.info(error);
|
|
1273
1285
|
if (error.response) {
|
|
1274
|
-
this.log.
|
|
1286
|
+
this.log.info(JSON.stringify(error.response.data));
|
|
1275
1287
|
if (error.response.status === 403) {
|
|
1276
|
-
return '
|
|
1288
|
+
return 'UNKNOWN';
|
|
1277
1289
|
}
|
|
1278
1290
|
}
|
|
1279
1291
|
return 'Failed';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.bmw",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.4",
|
|
4
4
|
"description": "Adapter for BMW",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "TA2k",
|
|
@@ -17,29 +17,29 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@iobroker/adapter-core": "^3.2.3",
|
|
20
|
-
"axios": "^1.
|
|
20
|
+
"axios": "^1.8.0",
|
|
21
21
|
"axios-retry": "^4.5.0",
|
|
22
22
|
"http-cookie-agent": "^6.0.8",
|
|
23
23
|
"json-bigint": "^1.0.0",
|
|
24
|
-
"json2iob": "^2.6.
|
|
24
|
+
"json2iob": "^2.6.17",
|
|
25
25
|
"qs": "^6.14.0",
|
|
26
|
-
"tough-cookie": "^5.1.
|
|
26
|
+
"tough-cookie": "^5.1.1"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@alcalzone/release-script": "^3.8.0",
|
|
30
30
|
"@alcalzone/release-script-plugin-iobroker": "^3.7.2",
|
|
31
31
|
"@alcalzone/release-script-plugin-license": "^3.7.0",
|
|
32
32
|
"@alcalzone/release-script-plugin-manual-review": "^3.7.0",
|
|
33
|
-
"@eslint/eslintrc": "^3.
|
|
34
|
-
"@eslint/js": "^9.
|
|
33
|
+
"@eslint/eslintrc": "^3.3.0",
|
|
34
|
+
"@eslint/js": "^9.21.0",
|
|
35
35
|
"@iobroker/testing": "^5.0.3",
|
|
36
36
|
"@tsconfig/node16": "^16.1.3",
|
|
37
|
-
"@types/node": "^22.
|
|
38
|
-
"eslint": "^9.
|
|
37
|
+
"@types/node": "^22.13.5",
|
|
38
|
+
"eslint": "^9.21.0",
|
|
39
39
|
"eslint-config-prettier": "^9.1.0",
|
|
40
40
|
"eslint-plugin-prettier": "^5.2.3",
|
|
41
|
-
"globals": "^15.
|
|
42
|
-
"prettier": "^3.
|
|
41
|
+
"globals": "^15.15.0",
|
|
42
|
+
"prettier": "^3.5.2",
|
|
43
43
|
"typescript": "~5.7.3"
|
|
44
44
|
},
|
|
45
45
|
"main": "main.js",
|