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 CHANGED
@@ -25,7 +25,11 @@ bmw.0.VIN.properties
25
25
  bmw.0.VIN.remotev2
26
26
 
27
27
  ## Changelog
28
- ### 2.9.2 (2025-01-29)
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.2",
4
+ "version": "2.9.4",
5
5
  "news": {
6
- "2.9.2": {
7
- "en": "fix Remote Controls\nadd Mitbenutzer Login for remote controls",
8
- "de": "remote Controls reparieren\nmitbenutzer Login für Fernbedienungen hinzufügen",
9
- "ru": "починить удаленные управления\nдобавить логин Mitbenutzer для дистанционного управления",
10
- "pt": "corrigir controles remotos\nadicionar Mitbenutzer Login para controles remotos",
11
- "nl": "fix afstandsbedieningen\nmitbenutzer Login toevoegen voor afstandsbedieningen",
12
- "fr": "correction des télécommandes\najouter Mitbenutzer Login pour les télécommandes",
13
- "it": "correzione di controlli remoti\naggiungere Mitbenutzer Login per i comandi remoti",
14
- "es": "controles remotos de fijación\nañadir Mitbenutzer Login para controles remotos",
15
- "pl": "naprawić zdalne sterowanie\ndodaj Mitbenutzer Login do zdalnego sterowania",
16
- "uk": "виправити дистанційні керування\nдодати Mitbenutzer Увійти для дистанційного керування",
17
- "zh-cn": "修复远程控制\n添加远程控制的 Mitbenutzer 登录"
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.1": {
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.session');
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.error('Remote command failed ' + res);
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.warn('Cannot Fetch the status of the sent command. Status is Unknown');
1272
- this.log.warn(error);
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.warn(JSON.stringify(error.response.data));
1286
+ this.log.info(JSON.stringify(error.response.data));
1275
1287
  if (error.response.status === 403) {
1276
- return 'Rate Limit exceeded';
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.2",
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.7.9",
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.14",
24
+ "json2iob": "^2.6.17",
25
25
  "qs": "^6.14.0",
26
- "tough-cookie": "^5.1.0"
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.2.0",
34
- "@eslint/js": "^9.19.0",
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.12.0",
38
- "eslint": "^9.19.0",
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.14.0",
42
- "prettier": "^3.4.2",
41
+ "globals": "^15.15.0",
42
+ "prettier": "^3.5.2",
43
43
  "typescript": "~5.7.3"
44
44
  },
45
45
  "main": "main.js",