@mp-consulting/homebridge-philips-ambilight-tv 1.5.6 → 1.5.8
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/dist/api/PhilipsTVClient.d.ts +7 -2
- package/dist/api/PhilipsTVClient.js +9 -4
- package/dist/api/PhilipsTVClient.js.map +1 -1
- package/dist/api/utils.d.ts +15 -4
- package/dist/api/utils.js +20 -1
- package/dist/api/utils.js.map +1 -1
- package/homebridge-ui/public/app.js +26 -1
- package/homebridge-ui/server.js +56 -3
- package/package.json +1 -1
|
@@ -58,8 +58,13 @@ export declare class PhilipsTVClient {
|
|
|
58
58
|
/**
|
|
59
59
|
* Fetches available sources from the TV API.
|
|
60
60
|
* Falls back to built-in sources if the API call fails.
|
|
61
|
+
*
|
|
62
|
+
* An optional timeout override lets callers that are not bound by
|
|
63
|
+
* HomeKit's characteristic callback deadline (e.g. the setup wizard)
|
|
64
|
+
* give a momentarily-slow TV a longer chance to return real sources
|
|
65
|
+
* before falling back.
|
|
61
66
|
*/
|
|
62
|
-
getSources(): Promise<TVSource[]>;
|
|
67
|
+
getSources(timeout?: number): Promise<TVSource[]>;
|
|
63
68
|
/**
|
|
64
69
|
* Returns hardcoded built-in sources (Watch TV + HDMI ports).
|
|
65
70
|
* Use getSources() instead for dynamic source fetching.
|
|
@@ -68,7 +73,7 @@ export declare class PhilipsTVClient {
|
|
|
68
73
|
launchWatchTV(): Promise<boolean>;
|
|
69
74
|
launchHome(): Promise<boolean>;
|
|
70
75
|
setSource(sourceUri: string): Promise<boolean>;
|
|
71
|
-
getApplications(): Promise<TVApplication[]>;
|
|
76
|
+
getApplications(timeout?: number): Promise<TVApplication[]>;
|
|
72
77
|
/**
|
|
73
78
|
* Launch an app by package name.
|
|
74
79
|
*
|
|
@@ -240,9 +240,14 @@ export class PhilipsTVClient {
|
|
|
240
240
|
/**
|
|
241
241
|
* Fetches available sources from the TV API.
|
|
242
242
|
* Falls back to built-in sources if the API call fails.
|
|
243
|
+
*
|
|
244
|
+
* An optional timeout override lets callers that are not bound by
|
|
245
|
+
* HomeKit's characteristic callback deadline (e.g. the setup wizard)
|
|
246
|
+
* give a momentarily-slow TV a longer chance to return real sources
|
|
247
|
+
* before falling back.
|
|
243
248
|
*/
|
|
244
|
-
async getSources() {
|
|
245
|
-
const result = await this.get('/sources');
|
|
249
|
+
async getSources(timeout) {
|
|
250
|
+
const result = await this.get('/sources', timeout);
|
|
246
251
|
if (result?.sources && result.sources.length > 0) {
|
|
247
252
|
return result.sources;
|
|
248
253
|
}
|
|
@@ -277,8 +282,8 @@ export class PhilipsTVClient {
|
|
|
277
282
|
// ==========================================================================
|
|
278
283
|
// APPLICATIONS
|
|
279
284
|
// ==========================================================================
|
|
280
|
-
async getApplications() {
|
|
281
|
-
const result = await this.get('/applications');
|
|
285
|
+
async getApplications(timeout) {
|
|
286
|
+
const result = await this.get('/applications', timeout);
|
|
282
287
|
const apps = result?.applications ?? [];
|
|
283
288
|
// Cache intents so launchApplication can use the correct className/action
|
|
284
289
|
for (const app of apps) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhilipsTVClient.js","sourceRoot":"","sources":["../../src/api/PhilipsTVClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PhilipsTVClient.js","sourceRoot":"","sources":["../../src/api/PhilipsTVClient.ts"],"names":[],"mappings":"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"}
|
package/dist/api/utils.d.ts
CHANGED
|
@@ -1,20 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Philips TV API Utilities
|
|
3
3
|
*/
|
|
4
|
-
import { type Dispatcher } from 'undici';
|
|
4
|
+
import { type Dispatcher, type Headers } from 'undici';
|
|
5
5
|
import type { DeviceInfo, DigestAuthParams, FetchOptions, PairingSession, DiscoveredDevice } from './types.js';
|
|
6
6
|
export declare const httpsAgent: Dispatcher;
|
|
7
7
|
export declare const md5: (str: string) => string;
|
|
8
8
|
export declare const hmacSignature: (timestamp: string, pin: string) => string;
|
|
9
9
|
export declare const buildUrl: (ip: string, endpoint: string) => string;
|
|
10
|
+
/**
|
|
11
|
+
* A fully-read HTTP response. The body is buffered before the response is
|
|
12
|
+
* returned, so `text()`/`json()` resolve from memory and cannot block.
|
|
13
|
+
*/
|
|
14
|
+
export interface TimedResponse {
|
|
15
|
+
ok: boolean;
|
|
16
|
+
status: number;
|
|
17
|
+
headers: Headers;
|
|
18
|
+
text: () => Promise<string>;
|
|
19
|
+
json: () => Promise<unknown>;
|
|
20
|
+
}
|
|
10
21
|
export declare const fetchWithTimeout: (url: string, options: {
|
|
11
22
|
method: string;
|
|
12
23
|
headers?: Record<string, string>;
|
|
13
24
|
body?: string;
|
|
14
25
|
dispatcher?: Dispatcher;
|
|
15
|
-
}, timeout: number, externalSignal?: AbortSignal) => Promise<
|
|
16
|
-
export declare const postToTv: (ip: string, endpoint: string, body: unknown, options?: FetchOptions) => Promise<
|
|
17
|
-
export declare const getFromTv: (ip: string, endpoint: string, options?: FetchOptions) => Promise<
|
|
26
|
+
}, timeout: number, externalSignal?: AbortSignal) => Promise<TimedResponse>;
|
|
27
|
+
export declare const postToTv: (ip: string, endpoint: string, body: unknown, options?: FetchOptions) => Promise<TimedResponse>;
|
|
28
|
+
export declare const getFromTv: (ip: string, endpoint: string, options?: FetchOptions) => Promise<TimedResponse>;
|
|
18
29
|
export declare const parseWwwAuthenticate: (header: string) => DigestAuthParams;
|
|
19
30
|
export declare const createDigestAuth: (username: string, password: string, wwwAuthHeader: string, method: string, uri: string) => string;
|
|
20
31
|
export declare const parseErrorResponse: (status: number, text?: string) => string;
|
package/dist/api/utils.js
CHANGED
|
@@ -34,11 +34,30 @@ export const fetchWithTimeout = async (url, options, timeout, externalSignal) =>
|
|
|
34
34
|
const onExternalAbort = () => controller.abort();
|
|
35
35
|
externalSignal?.addEventListener('abort', onExternalAbort, { once: true });
|
|
36
36
|
try {
|
|
37
|
-
|
|
37
|
+
const response = await fetch(url, {
|
|
38
38
|
...options,
|
|
39
39
|
signal: controller.signal,
|
|
40
40
|
dispatcher: options.dispatcher || httpsAgent,
|
|
41
41
|
});
|
|
42
|
+
// Read the body while the abort timer is still armed. `fetch` resolves as
|
|
43
|
+
// soon as the response headers arrive, so a TV that sends headers then
|
|
44
|
+
// stalls the body would otherwise hang an un-guarded `response.text()`
|
|
45
|
+
// forever. Buffering here keeps the whole exchange under `timeout`.
|
|
46
|
+
const bodyText = await response.text();
|
|
47
|
+
return {
|
|
48
|
+
ok: response.ok,
|
|
49
|
+
status: response.status,
|
|
50
|
+
headers: response.headers,
|
|
51
|
+
text: () => Promise.resolve(bodyText),
|
|
52
|
+
json: () => {
|
|
53
|
+
try {
|
|
54
|
+
return Promise.resolve(JSON.parse(bodyText));
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
return Promise.reject(error instanceof Error ? error : new Error(String(error)));
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
};
|
|
42
61
|
}
|
|
43
62
|
finally {
|
|
44
63
|
clearTimeout(timeoutId);
|
package/dist/api/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/api/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/api/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,6 +106,24 @@
|
|
|
106
106
|
// API HELPERS
|
|
107
107
|
// ============================================================================
|
|
108
108
|
|
|
109
|
+
/**
|
|
110
|
+
* Rejects with a friendly message if the wrapped promise doesn't settle in
|
|
111
|
+
* time. Used to guard IPC requests so the UI can never spin indefinitely.
|
|
112
|
+
*/
|
|
113
|
+
const withTimeout = (promise, ms, message) => new Promise((resolve, reject) => {
|
|
114
|
+
const timer = setTimeout(() => reject(new Error(message)), ms);
|
|
115
|
+
promise.then(
|
|
116
|
+
(value) => {
|
|
117
|
+
clearTimeout(timer);
|
|
118
|
+
resolve(value);
|
|
119
|
+
},
|
|
120
|
+
(error) => {
|
|
121
|
+
clearTimeout(timer);
|
|
122
|
+
reject(error);
|
|
123
|
+
},
|
|
124
|
+
);
|
|
125
|
+
});
|
|
126
|
+
|
|
109
127
|
const api = {
|
|
110
128
|
discover: () => homebridge.request('/discover'),
|
|
111
129
|
pair: (ip, deviceName) => homebridge.request('/pair', { ip, deviceName }),
|
|
@@ -693,7 +711,14 @@
|
|
|
693
711
|
|
|
694
712
|
const loadSources = async (tv) => {
|
|
695
713
|
try {
|
|
696
|
-
|
|
714
|
+
// The server bounds its own fetch (~15s); this client-side guard is a
|
|
715
|
+
// last resort so a wedged request can never leave the spinner running
|
|
716
|
+
// forever — the user gets a retryable error instead.
|
|
717
|
+
const result = await withTimeout(
|
|
718
|
+
api.getSources(tv.ip, tv.username, tv.password, tv.mac),
|
|
719
|
+
20000,
|
|
720
|
+
'Timed out fetching sources from the TV. Make sure it is powered on, then retry.',
|
|
721
|
+
);
|
|
697
722
|
|
|
698
723
|
if (result.success) {
|
|
699
724
|
// Inject configured custom apps (the TV doesn't report these), then
|
package/homebridge-ui/server.js
CHANGED
|
@@ -24,6 +24,37 @@ import { PhilipsTVClient, HOME_URI, WATCH_TV_URI } from '../dist/api/PhilipsTVCl
|
|
|
24
24
|
|
|
25
25
|
const getMAC = promisify(arp.getMAC);
|
|
26
26
|
|
|
27
|
+
// ============================================================================
|
|
28
|
+
// HELPERS
|
|
29
|
+
// ============================================================================
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Races a promise against an overall deadline. If the deadline passes first,
|
|
33
|
+
* the returned promise rejects so the caller can fall back — guaranteeing a
|
|
34
|
+
* bounded response even if the underlying work never settles. The timer is
|
|
35
|
+
* unref'd so it never keeps the process alive on its own.
|
|
36
|
+
*/
|
|
37
|
+
function withDeadline(promise, ms) {
|
|
38
|
+
return new Promise((resolve, reject) => {
|
|
39
|
+
const timer = setTimeout(() => {
|
|
40
|
+
reject(new Error(`Timed out after ${ms}ms`));
|
|
41
|
+
}, ms);
|
|
42
|
+
if (typeof timer.unref === 'function') {
|
|
43
|
+
timer.unref();
|
|
44
|
+
}
|
|
45
|
+
promise.then(
|
|
46
|
+
(value) => {
|
|
47
|
+
clearTimeout(timer);
|
|
48
|
+
resolve(value);
|
|
49
|
+
},
|
|
50
|
+
(error) => {
|
|
51
|
+
clearTimeout(timer);
|
|
52
|
+
reject(error);
|
|
53
|
+
},
|
|
54
|
+
);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
27
58
|
// ============================================================================
|
|
28
59
|
// UI SERVER CLASS
|
|
29
60
|
// ============================================================================
|
|
@@ -344,10 +375,29 @@ class UiServer extends HomebridgePluginUiServer {
|
|
|
344
375
|
password: password || '',
|
|
345
376
|
});
|
|
346
377
|
|
|
347
|
-
//
|
|
378
|
+
// The runtime client uses a short (2s) per-request timeout so it never
|
|
379
|
+
// exceeds HomeKit's characteristic callback deadline. The setup wizard
|
|
380
|
+
// has no such constraint and the user is actively waiting, so give a
|
|
381
|
+
// momentarily-slow TV a longer chance to return its real source/app
|
|
382
|
+
// list before falling back to the generic built-in list.
|
|
383
|
+
const WIZARD_REQUEST_TIMEOUT_MS = 6000;
|
|
384
|
+
// Hard ceiling on the whole fetch (sources + apps combined) so the
|
|
385
|
+
// "Fetching sources" spinner can never hang: whatever we have — or the
|
|
386
|
+
// built-in fallback — is returned once this budget is spent, even if the
|
|
387
|
+
// TV never answers. A TV freshly woken from standby can be slow to serve
|
|
388
|
+
// /applications (this reporter's TV returns 47 apps), so the budget is
|
|
389
|
+
// shared across both calls rather than applied to each.
|
|
390
|
+
const WIZARD_TOTAL_DEADLINE_MS = 15000;
|
|
391
|
+
const deadline = Date.now() + WIZARD_TOTAL_DEADLINE_MS;
|
|
392
|
+
const remaining = () => Math.max(0, deadline - Date.now());
|
|
393
|
+
|
|
394
|
+
// Fetch sources from TV API (async call), bounded by the overall budget
|
|
348
395
|
let tvSources = [];
|
|
349
396
|
try {
|
|
350
|
-
tvSources = await
|
|
397
|
+
tvSources = await withDeadline(
|
|
398
|
+
client.getSources(WIZARD_REQUEST_TIMEOUT_MS),
|
|
399
|
+
remaining(),
|
|
400
|
+
);
|
|
351
401
|
console.log(`[Sources] Fetched ${tvSources.length} sources from TV API`);
|
|
352
402
|
} catch (sourceError) {
|
|
353
403
|
console.log('[Sources] Could not fetch sources from TV, using built-in:', sourceError.message);
|
|
@@ -365,7 +415,10 @@ class UiServer extends HomebridgePluginUiServer {
|
|
|
365
415
|
// Try to get apps from TV using the client
|
|
366
416
|
let apps = [];
|
|
367
417
|
try {
|
|
368
|
-
apps = await
|
|
418
|
+
apps = await withDeadline(
|
|
419
|
+
client.getApplications(WIZARD_REQUEST_TIMEOUT_MS),
|
|
420
|
+
remaining(),
|
|
421
|
+
);
|
|
369
422
|
} catch (appError) {
|
|
370
423
|
console.log('[Sources] Could not fetch apps:', appError.message);
|
|
371
424
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@mp-consulting/homebridge-philips-ambilight-tv",
|
|
3
3
|
"displayName": "Philips Ambilight TV",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "1.5.
|
|
5
|
+
"version": "1.5.8",
|
|
6
6
|
"description": "Homebridge plugin to control Philips Ambilight TV as a HomeKit Television accessory.",
|
|
7
7
|
"author": "Mickael Palma",
|
|
8
8
|
"license": "(Apache-2.0 AND MIT)",
|