homebridge-xbox-tv 3.3.4-beta.0 → 3.3.4-beta.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/package.json +1 -1
- package/src/webApi/authentication.js +7 -7
- package/src/webApi/xboxwebapi.js +36 -31
- package/src/xboxdevice.js +5 -5
package/package.json
CHANGED
|
@@ -100,7 +100,7 @@ class Authentication {
|
|
|
100
100
|
this.tokens.oauth = refreshToken;
|
|
101
101
|
return true;
|
|
102
102
|
} catch (error) {
|
|
103
|
-
throw new Error(`Refresh token error: ${error
|
|
103
|
+
throw new Error(`Refresh token error: ${error}`);
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
106
|
|
|
@@ -124,7 +124,7 @@ class Authentication {
|
|
|
124
124
|
this.tokens.xsts = {};
|
|
125
125
|
return true;
|
|
126
126
|
} catch (error) {
|
|
127
|
-
throw new Error(`User token error: ${error
|
|
127
|
+
throw new Error(`User token error: ${error}`);
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
130
|
|
|
@@ -146,7 +146,7 @@ class Authentication {
|
|
|
146
146
|
this.tokens.xsts = xstsToken;
|
|
147
147
|
return true;
|
|
148
148
|
} catch (error) {
|
|
149
|
-
throw new Error(`Xsts token error: ${error
|
|
149
|
+
throw new Error(`Xsts token error: ${error}`);
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
152
|
|
|
@@ -170,7 +170,7 @@ class Authentication {
|
|
|
170
170
|
await this.saveData(this.tokensFile, this.tokens);
|
|
171
171
|
return true;
|
|
172
172
|
} catch (error) {
|
|
173
|
-
throw new Error(`Access token error: ${error
|
|
173
|
+
throw new Error(`Access token error: ${error}`);
|
|
174
174
|
};
|
|
175
175
|
}
|
|
176
176
|
|
|
@@ -209,7 +209,7 @@ class Authentication {
|
|
|
209
209
|
const oauth2URI = `${WebApi.Url.oauth2}?${params}`;
|
|
210
210
|
return oauth2URI;
|
|
211
211
|
} catch (error) {
|
|
212
|
-
throw new Error(`Authorization URL error: ${error
|
|
212
|
+
throw new Error(`Authorization URL error: ${error}`);
|
|
213
213
|
};
|
|
214
214
|
}
|
|
215
215
|
|
|
@@ -219,7 +219,7 @@ class Authentication {
|
|
|
219
219
|
const tokens = data.length > 0 ? JSON.parse(data) : false;
|
|
220
220
|
return tokens;
|
|
221
221
|
} catch (error) {
|
|
222
|
-
throw new Error(`Read data error: ${error
|
|
222
|
+
throw new Error(`Read data error: ${error}`);
|
|
223
223
|
};
|
|
224
224
|
}
|
|
225
225
|
|
|
@@ -229,7 +229,7 @@ class Authentication {
|
|
|
229
229
|
await fsPromises.writeFile(path, data);
|
|
230
230
|
return true;
|
|
231
231
|
} catch (error) {
|
|
232
|
-
throw new Error(`Save data error: ${error
|
|
232
|
+
throw new Error(`Save data error: ${error}`);
|
|
233
233
|
};
|
|
234
234
|
}
|
|
235
235
|
}
|
package/src/webApi/xboxwebapi.js
CHANGED
|
@@ -17,6 +17,7 @@ class XboxWebApi extends EventEmitter {
|
|
|
17
17
|
|
|
18
18
|
//variables
|
|
19
19
|
this.authorized = false;
|
|
20
|
+
this.rmEnabled = false;
|
|
20
21
|
|
|
21
22
|
const authConfig = {
|
|
22
23
|
webApiClientId: config.webApiClientId,
|
|
@@ -25,10 +26,11 @@ class XboxWebApi extends EventEmitter {
|
|
|
25
26
|
}
|
|
26
27
|
this.authentication = new Authentication(authConfig);
|
|
27
28
|
|
|
29
|
+
//create impulse generator
|
|
28
30
|
this.impulseGenerator = new ImpulseGenerator();
|
|
29
31
|
this.impulseGenerator.on('checkAuthorization', async () => {
|
|
30
32
|
try {
|
|
31
|
-
await this.checkAuthorization(
|
|
33
|
+
await this.checkAuthorization();
|
|
32
34
|
} catch (error) {
|
|
33
35
|
this.emit('error', error);
|
|
34
36
|
};
|
|
@@ -54,33 +56,36 @@ class XboxWebApi extends EventEmitter {
|
|
|
54
56
|
this.tokens = data.tokens;
|
|
55
57
|
this.authorized = true;
|
|
56
58
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
});
|
|
62
|
-
await this.xboxLiveData();
|
|
63
|
-
|
|
64
|
-
return true;
|
|
65
|
-
} catch (error) {
|
|
66
|
-
throw new Error(`Check authorization error: ${error.message || error}`);
|
|
67
|
-
};
|
|
68
|
-
}
|
|
59
|
+
if (!this.authorized) {
|
|
60
|
+
this.emit('warn', `not authorized`);
|
|
61
|
+
return false;
|
|
62
|
+
};
|
|
69
63
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
64
|
+
//check xbox live data
|
|
65
|
+
try {
|
|
66
|
+
//create axios instance
|
|
67
|
+
this.axiosInstance = axios.create({
|
|
68
|
+
method: 'GET',
|
|
69
|
+
headers: headers
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
const rmEnabled = await this.consoleStatus();
|
|
73
|
+
const debug1 = rmEnabled ? false : this.emit('info', `Remote management not enabled, please check your console settings`);
|
|
74
|
+
this.rmEnabled = rmEnabled;
|
|
75
|
+
|
|
76
|
+
//await this.consolesList();
|
|
77
|
+
await this.installedApps();
|
|
78
|
+
//await this.storageDevices();
|
|
79
|
+
//await this.userProfile();
|
|
80
|
+
} catch (error) {
|
|
81
|
+
this.emit('error', `Check xbox live data error: ${error}`);
|
|
82
|
+
};
|
|
78
83
|
|
|
79
84
|
return true;
|
|
80
85
|
} catch (error) {
|
|
81
|
-
throw new Error(`
|
|
86
|
+
throw new Error(`Check authorization error: ${error}`);
|
|
82
87
|
};
|
|
83
|
-
}
|
|
88
|
+
}
|
|
84
89
|
|
|
85
90
|
async consoleStatus() {
|
|
86
91
|
try {
|
|
@@ -113,7 +118,7 @@ class XboxWebApi extends EventEmitter {
|
|
|
113
118
|
|
|
114
119
|
return remoteManagementEnabled;
|
|
115
120
|
} catch (error) {
|
|
116
|
-
throw new Error(`Status error: ${error
|
|
121
|
+
throw new Error(`Status error: ${error}`);
|
|
117
122
|
};
|
|
118
123
|
}
|
|
119
124
|
|
|
@@ -193,7 +198,7 @@ class XboxWebApi extends EventEmitter {
|
|
|
193
198
|
|
|
194
199
|
return true;
|
|
195
200
|
} catch (error) {
|
|
196
|
-
throw new Error(`Consoles list error: ${error
|
|
201
|
+
throw new Error(`Consoles list error: ${error}`);
|
|
197
202
|
};
|
|
198
203
|
}
|
|
199
204
|
|
|
@@ -245,7 +250,7 @@ class XboxWebApi extends EventEmitter {
|
|
|
245
250
|
|
|
246
251
|
return true;
|
|
247
252
|
} catch (error) {
|
|
248
|
-
throw new Error(`Installed apps error: ${error
|
|
253
|
+
throw new Error(`Installed apps error: ${error}`);
|
|
249
254
|
};
|
|
250
255
|
}
|
|
251
256
|
|
|
@@ -288,7 +293,7 @@ class XboxWebApi extends EventEmitter {
|
|
|
288
293
|
|
|
289
294
|
return true;
|
|
290
295
|
} catch (error) {
|
|
291
|
-
throw new Error(`storage devices error: ${error
|
|
296
|
+
throw new Error(`storage devices error: ${error}`);
|
|
292
297
|
};
|
|
293
298
|
}
|
|
294
299
|
|
|
@@ -331,7 +336,7 @@ class XboxWebApi extends EventEmitter {
|
|
|
331
336
|
|
|
332
337
|
return true;
|
|
333
338
|
} catch (error) {
|
|
334
|
-
throw new Error(`User profile error: ${error
|
|
339
|
+
throw new Error(`User profile error: ${error}`);
|
|
335
340
|
};
|
|
336
341
|
}
|
|
337
342
|
|
|
@@ -342,7 +347,7 @@ class XboxWebApi extends EventEmitter {
|
|
|
342
347
|
const debug = this.enableDebugMode ? this.emit('debug', `Saved data: ${data}`) : false;
|
|
343
348
|
return true;
|
|
344
349
|
} catch (error) {
|
|
345
|
-
throw new Error(`Save data error: ${error
|
|
350
|
+
throw new Error(`Save data error: ${error}`);
|
|
346
351
|
};
|
|
347
352
|
};
|
|
348
353
|
|
|
@@ -392,8 +397,8 @@ class XboxWebApi extends EventEmitter {
|
|
|
392
397
|
}
|
|
393
398
|
|
|
394
399
|
async send(commandType, command, payload) {
|
|
395
|
-
if (!this.authorized) {
|
|
396
|
-
this.emit('warn', `not authorized`);
|
|
400
|
+
if (!this.authorized || !this.rmEnabled) {
|
|
401
|
+
this.emit('warn', `not authorized or remote management not enabled`);
|
|
397
402
|
return;
|
|
398
403
|
};
|
|
399
404
|
|
package/src/xboxdevice.js
CHANGED
|
@@ -129,7 +129,7 @@ class XboxDevice extends EventEmitter {
|
|
|
129
129
|
const debug = this.enableDebugMode ? this.emit('debug', `Saved data: ${data}`) : false;
|
|
130
130
|
return true;
|
|
131
131
|
} catch (error) {
|
|
132
|
-
throw new Error(`Save data error: ${error
|
|
132
|
+
throw new Error(`Save data error: ${error}`);
|
|
133
133
|
};
|
|
134
134
|
}
|
|
135
135
|
|
|
@@ -139,7 +139,7 @@ class XboxDevice extends EventEmitter {
|
|
|
139
139
|
const debug = !this.enableDebugMode ? false : this.emit('debug', `Read data: ${JSON.stringify(data, null, 2)}`);
|
|
140
140
|
return data;
|
|
141
141
|
} catch (error) {
|
|
142
|
-
throw new Error(`Read data error: ${error
|
|
142
|
+
throw new Error(`Read data error: ${error}`);
|
|
143
143
|
};
|
|
144
144
|
}
|
|
145
145
|
|
|
@@ -203,7 +203,7 @@ class XboxDevice extends EventEmitter {
|
|
|
203
203
|
};
|
|
204
204
|
return set;
|
|
205
205
|
} catch (error) {
|
|
206
|
-
throw new Error(`${integration} set key: ${key}, value: ${value}, error: ${error
|
|
206
|
+
throw new Error(`${integration} set key: ${key}, value: ${value}, error: ${error}`);
|
|
207
207
|
};
|
|
208
208
|
}
|
|
209
209
|
|
|
@@ -308,7 +308,7 @@ class XboxDevice extends EventEmitter {
|
|
|
308
308
|
this.televisionService.setCharacteristic(Characteristic.DisplayOrder, Encode(1, displayOrder).toString('base64'));
|
|
309
309
|
return true;
|
|
310
310
|
} catch (error) {
|
|
311
|
-
throw new Error(`Display order error: ${error
|
|
311
|
+
throw new Error(`Display order error: ${error}`);
|
|
312
312
|
};
|
|
313
313
|
}
|
|
314
314
|
|
|
@@ -1215,7 +1215,7 @@ class XboxDevice extends EventEmitter {
|
|
|
1215
1215
|
|
|
1216
1216
|
return true;
|
|
1217
1217
|
} catch (error) {
|
|
1218
|
-
throw new Error(`Start error: ${error
|
|
1218
|
+
throw new Error(`Start error: ${error}`);
|
|
1219
1219
|
};
|
|
1220
1220
|
}
|
|
1221
1221
|
};
|