iobroker.bmw 2.9.3 → 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,6 +25,10 @@ bmw.0.VIN.properties
25
25
  bmw.0.VIN.remotev2
26
26
 
27
27
  ## Changelog
28
+ ### 2.9.4 (2025-02-26)
29
+
30
+ - fix for Mitbenutzer Feature
31
+
28
32
  ### 2.9.3 (2025-01-29)
29
33
 
30
34
  - fix Remote Controls
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "bmw",
4
- "version": "2.9.3",
4
+ "version": "2.9.4",
5
5
  "news": {
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
+ },
6
19
  "2.9.3": {
7
20
  "en": "fix Remote Controls\nadd Mitbenutzer Login for remote controls",
8
21
  "de": "remote Controls reparieren\nmitbenutzer Login für Fernbedienungen hinzufügen",
@@ -16,7 +29,6 @@
16
29
  "uk": "виправити дистанційні керування\nдодати Mitbenutzer Увійти для дистанційного керування",
17
30
  "zh-cn": "修复远程控制\n添加远程控制的 Mitbenutzer 登录"
18
31
  },
19
-
20
32
  "2.9.0": {
21
33
  "en": "added new remotes as switch and updated values\nadded retry logic for remotes",
22
34
  "de": "neue remotes als switch und mit aktualisierten Werte hinzugefügt\nzusätzliche retry-logik für remotes hinzufgefügt",
@@ -96,8 +108,12 @@
96
108
  "uk": "Adapter for BMW",
97
109
  "zh-cn": "宝马适配器"
98
110
  },
99
- "authors": ["TA2k <tombox2020@gmail.com>"],
100
- "keywords": ["BMW"],
111
+ "authors": [
112
+ "TA2k <tombox2020@gmail.com>"
113
+ ],
114
+ "keywords": [
115
+ "BMW"
116
+ ],
101
117
  "license": "MIT",
102
118
  "platform": "Javascript/Node.js",
103
119
  "main": "main.js",
@@ -128,8 +144,12 @@
128
144
  }
129
145
  ]
130
146
  },
131
- "encryptedNative": ["password"],
132
- "protectedNative": ["password"],
147
+ "encryptedNative": [
148
+ "password"
149
+ ],
150
+ "protectedNative": [
151
+ "password"
152
+ ],
133
153
  "native": {
134
154
  "username": "",
135
155
  "password": "",
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();
@@ -1213,8 +1216,15 @@ class Bmw extends utils.Adapter {
1213
1216
  })
1214
1217
  .catch((error) => {
1215
1218
  this.log.error('Remote command failed');
1219
+
1216
1220
  this.log.error(error);
1217
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
+ }
1218
1228
  this.log.error(JSON.stringify(error.response.data));
1219
1229
  }
1220
1230
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.bmw",
3
- "version": "2.9.3",
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",