@mp-consulting/homebridge-lg-thinq 1.0.22 → 1.0.25

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.
@@ -32,6 +32,10 @@ client.interceptors.request.use((config) => {
32
32
  });
33
33
  });
34
34
  client.interceptors.response.use((response) => {
35
+ // Release the mutex slot before any error translation: a typed throw below
36
+ // (e.g. TokenExpiredError) would otherwise leak the slot and deadlock the
37
+ // recovery request (token refresh) that reuses this same client.
38
+ PENDING_REQUESTS = Math.max(0, PENDING_REQUESTS - 1);
35
39
  // thinq1 response
36
40
  if (typeof response.data === 'object' && 'lgedmRoot' in response.data && 'returnCd' in response.data.lgedmRoot) {
37
41
  const data = response.data.lgedmRoot;
@@ -46,9 +50,9 @@ client.interceptors.response.use((response) => {
46
50
  throw new MonitorError(code + ' - ' + data.returnMsg || '');
47
51
  }
48
52
  }
49
- PENDING_REQUESTS = Math.max(0, PENDING_REQUESTS - 1);
50
53
  return Promise.resolve(response);
51
54
  }, (err) => {
55
+ PENDING_REQUESTS = Math.max(0, PENDING_REQUESTS - 1);
52
56
  if (!err.response || err.response.data?.resultCode === '9999') {
53
57
  throw new NotConnectedError();
54
58
  }
@@ -63,7 +67,6 @@ client.interceptors.response.use((response) => {
63
67
  throw new ManualProcessNeeded('Please open the native LG App and sign in to your account to see what happened, ' +
64
68
  'maybe new agreement need your accept. Then try restarting Homebridge.');
65
69
  }
66
- PENDING_REQUESTS = Math.max(0, PENDING_REQUESTS - 1);
67
70
  return Promise.reject(err);
68
71
  });
69
72
  export const requestClient = client;
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/api/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/api/request.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export default class Dishwasher extends BaseDevice {
48
48
  nameLengthCheck(newName: string): string;
49
49
  updateRinseLevel(): void;
50
50
  onStatus(): boolean;
51
- timerStatus(): 0 | 1;
51
+ timerStatus(): 1 | 0;
52
52
  getRinseLevel(): number;
53
53
  getDoorStatus(): boolean;
54
54
  getRinseLevelPercent(): number;
@@ -107,13 +107,13 @@ export default class Microwave extends BaseDevice {
107
107
  ovenCookingStartTime(): string;
108
108
  ovenCookingEndTime(): string;
109
109
  oventOptions(): string;
110
- currentHeatingState(): 0 | 1;
111
- targetHeatingState(): 0 | 1;
110
+ currentHeatingState(): 1 | 0;
111
+ targetHeatingState(): 1 | 0;
112
112
  updateOvenModeSwitch(): void;
113
113
  updateOvenModeSwitchNoPause(): void;
114
114
  getOperationTime(timeInSeconds: number): string;
115
115
  lightVentStatus(): string;
116
- ovenServiceActive(): 0 | 1;
116
+ ovenServiceActive(): 1 | 0;
117
117
  updateAccessoryCharacteristic(device: Device): void;
118
118
  update(snapshot: Record<string, unknown>): void;
119
119
  get Status(): MicrowaveStatus;
@@ -124,10 +124,10 @@ export default class Oven extends BaseDevice {
124
124
  ovenCookingEndTime(): string;
125
125
  oventOptions(): string;
126
126
  probeStatus(): string;
127
- probeCurrentState(): 0 | 1;
128
- probeTargetState(): 0 | 1;
129
- currentHeatingState(): 0 | 1;
130
- targetHeatingState(): 0 | 1;
127
+ probeCurrentState(): 1 | 0;
128
+ probeTargetState(): 1 | 0;
129
+ currentHeatingState(): 1 | 0;
130
+ targetHeatingState(): 1 | 0;
131
131
  createCook(key: string): void;
132
132
  burner1State(): string;
133
133
  burner2State(): string;
@@ -137,7 +137,7 @@ export default class Oven extends BaseDevice {
137
137
  updateOvenModeSwitch(): void;
138
138
  updateOvenModeSwitchNoPause(): void;
139
139
  getOperationTime(timeInSeconds: number): string;
140
- ovenServiceActive(): 0 | 1;
140
+ ovenServiceActive(): 1 | 0;
141
141
  updateAccessoryCharacteristic(device: Device): void;
142
142
  update(snapshot: Record<string, unknown>): void;
143
143
  }
@@ -23,7 +23,7 @@ export default class Refrigerator extends BaseDevice {
23
23
  setExpressMode(value: CharacteristicValue): Promise<void>;
24
24
  setExpressFridge(value: CharacteristicValue): Promise<void>;
25
25
  setEcoFriendly(value: CharacteristicValue): Promise<void>;
26
- tempUnit(): Promise<0 | 1>;
26
+ tempUnit(): Promise<1 | 0>;
27
27
  /**
28
28
  * create a thermostat service
29
29
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "LG ThinQ",
3
3
  "name": "@mp-consulting/homebridge-lg-thinq",
4
- "version": "1.0.22",
4
+ "version": "1.0.25",
5
5
  "description": "A Homebridge plugin for controlling/monitoring LG ThinQ devices via LG ThinQ platform.",
6
6
  "author": {
7
7
  "name": "Mickael Palma",
@@ -74,7 +74,7 @@
74
74
  "axios-retry": "^4.5.0",
75
75
  "class-validator": "^0.15.1",
76
76
  "commander": "^14.0.3",
77
- "homebridge-lib": "^7.3.2",
77
+ "homebridge-lib": "^8.0.0",
78
78
  "luxon": "^3.7.2",
79
79
  "node-forge": "^1.4.0",
80
80
  "node-persist": "^4.0.4",