@mp-consulting/homebridge-philips-ambilight-tv 1.3.7 → 1.5.0
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 +38 -0
- package/config.schema.json +48 -0
- package/dist/api/PhilipsTVClient.d.ts +27 -1
- package/dist/api/PhilipsTVClient.js +57 -7
- package/dist/api/PhilipsTVClient.js.map +1 -1
- package/dist/api/types.d.ts +19 -0
- package/dist/platformAccessory.d.ts +2 -0
- package/dist/platformAccessory.js +28 -1
- package/dist/platformAccessory.js.map +1 -1
- package/dist/services/AmbilightHueSwitchService.d.ts +29 -0
- package/dist/services/AmbilightHueSwitchService.js +88 -0
- package/dist/services/AmbilightHueSwitchService.js.map +1 -0
- package/dist/services/AmbilightService.d.ts +5 -0
- package/dist/services/AmbilightService.js +25 -0
- package/dist/services/AmbilightService.js.map +1 -1
- package/dist/services/InputSourceManager.d.ts +14 -1
- package/dist/services/InputSourceManager.js +54 -8
- package/dist/services/InputSourceManager.js.map +1 -1
- package/dist/services/SourceSwitchService.d.ts +2 -0
- package/dist/services/SourceSwitchService.js +3 -1
- package/dist/services/SourceSwitchService.js.map +1 -1
- package/homebridge-ui/public/app.js +150 -2
- package/homebridge-ui/public/index.html +54 -0
- package/homebridge-ui/server.js +39 -0
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -16,6 +16,7 @@ A Homebridge plugin to control Philips Android TVs with Ambilight as HomeKit Tel
|
|
|
16
16
|
- Volume control and mute
|
|
17
17
|
- Remote control (D-Pad, Back, Menu, Play/Pause, etc.)
|
|
18
18
|
- **Ambilight color control** with brightness, color picker, and **Adaptive Lighting**
|
|
19
|
+
- **Ambilight + Hue switch** — optional switch to toggle the Philips Hue integration independently
|
|
19
20
|
- **Long-poll state detection** — near-instant updates when TV state changes, with interval polling fallback
|
|
20
21
|
- **State sensors** — optional MotionSensor services for power, ambilight, and mute (for HomeKit automations)
|
|
21
22
|
- Multi-TV support
|
|
@@ -33,6 +34,40 @@ The Ambilight appears as a color lightbulb in HomeKit with:
|
|
|
33
34
|
|
|
34
35
|
When you select a color in HomeKit, the TV switches to "Follow Color" mode with your chosen color. The plugin also syncs the current color state from the TV back to HomeKit.
|
|
35
36
|
|
|
37
|
+
### Ambilight + Hue
|
|
38
|
+
|
|
39
|
+
If your TV is paired with Philips Hue lamps, you can enable an extra switch that toggles the **Ambilight + Hue** integration (Hue lamps following Ambilight) independently of the main Ambilight controls:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"ambilightHueSwitch": true
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
This appears as a separate Switch accessory in HomeKit, usable in scenes and automations. It is backed by the TV's `/HueLamp/power` endpoint.
|
|
48
|
+
|
|
49
|
+
### Custom Apps
|
|
50
|
+
|
|
51
|
+
Some TVs don't report every installed app through their app list — sideloaded or region-specific apps (e.g. EON) can be missing, so they never appear as sources. You can add these manually, **in addition** to auto-discovered apps.
|
|
52
|
+
|
|
53
|
+
The easiest way is the config UI: edit a TV → **General** tab → **Custom Apps**. Open the app on your TV, click **Detect from TV**, and the package name and launch activity are filled in automatically — then click **Add**.
|
|
54
|
+
|
|
55
|
+
You can also configure them directly:
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"customApps": [
|
|
60
|
+
{
|
|
61
|
+
"name": "EON",
|
|
62
|
+
"packageName": "com.ug.eon.android.tv",
|
|
63
|
+
"className": "com.ug.eon.android.tv.MainActivity"
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The `className` (launch activity) is needed for reliable launching, since it can't be discovered from the TV for apps it doesn't report. "Detect from TV" captures it for you; otherwise the plugin falls back to a best-effort guess.
|
|
70
|
+
|
|
36
71
|
### State Sensors
|
|
37
72
|
|
|
38
73
|
You can enable optional MotionSensor services that expose TV state for HomeKit automations:
|
|
@@ -112,7 +147,10 @@ Add the following to your `config.json`:
|
|
|
112
147
|
| `devices[].password` | Auth key from pairing | Yes |
|
|
113
148
|
| `devices[].sources` | Custom source configuration | No |
|
|
114
149
|
| `devices[].ambilightMode` | Ambilight mode on turn-on (e.g. `"FOLLOW_VIDEO/NATURAL"`) | No |
|
|
150
|
+
| `devices[].ambilightOnStart` | Automatically turn Ambilight on (in `ambilightMode`) when the TV powers on | No |
|
|
115
151
|
| `devices[].stateSensors` | Array of state sensors: `"power"`, `"ambilight"`, `"mute"` | No |
|
|
152
|
+
| `devices[].ambilightHueSwitch` | Expose the Ambilight + Hue integration as a separate switch | No |
|
|
153
|
+
| `devices[].customApps` | Apps the TV doesn't report (added on top of discovered apps); each has `name`, `packageName`, optional `className`/`action` | No |
|
|
116
154
|
| `devices[].pollingInterval` | Polling interval in ms (1000-60000, default: 10000) | No |
|
|
117
155
|
|
|
118
156
|
### Getting Credentials
|
package/config.schema.json
CHANGED
|
@@ -91,6 +91,12 @@
|
|
|
91
91
|
{ "title": "Lounge Light", "enum": ["Lounge light"] }
|
|
92
92
|
]
|
|
93
93
|
},
|
|
94
|
+
"ambilightOnStart": {
|
|
95
|
+
"title": "Start Ambilight when TV turns on",
|
|
96
|
+
"type": "boolean",
|
|
97
|
+
"default": false,
|
|
98
|
+
"description": "Automatically turn Ambilight on (in the mode above) whenever the TV powers on."
|
|
99
|
+
},
|
|
94
100
|
"infoButtonKey": {
|
|
95
101
|
"title": "Info Button Key",
|
|
96
102
|
"type": "string",
|
|
@@ -174,6 +180,46 @@
|
|
|
174
180
|
"default": false,
|
|
175
181
|
"description": "Expose each input source as a separate Switch accessory for use in HomeKit automations and scenes."
|
|
176
182
|
},
|
|
183
|
+
"ambilightHueSwitch": {
|
|
184
|
+
"title": "Ambilight + Hue Switch",
|
|
185
|
+
"type": "boolean",
|
|
186
|
+
"default": false,
|
|
187
|
+
"description": "Expose the Ambilight + Hue integration (Philips Hue lamps following Ambilight) as a separate Switch, toggleable independently of the main Ambilight controls."
|
|
188
|
+
},
|
|
189
|
+
"customApps": {
|
|
190
|
+
"title": "Custom Apps",
|
|
191
|
+
"type": "array",
|
|
192
|
+
"description": "Apps the TV does not report via its app list (e.g. sideloaded apps). Added in addition to auto-discovered apps. Tip: open the app on your TV and use \"Detect from TV\" to fill these in automatically.",
|
|
193
|
+
"items": {
|
|
194
|
+
"type": "object",
|
|
195
|
+
"properties": {
|
|
196
|
+
"name": {
|
|
197
|
+
"title": "Name",
|
|
198
|
+
"type": "string",
|
|
199
|
+
"description": "Display name shown in HomeKit."
|
|
200
|
+
},
|
|
201
|
+
"packageName": {
|
|
202
|
+
"title": "Package Name",
|
|
203
|
+
"type": "string",
|
|
204
|
+
"description": "Android package name, e.g. com.ug.eon.android.tv"
|
|
205
|
+
},
|
|
206
|
+
"className": {
|
|
207
|
+
"title": "Launch Activity",
|
|
208
|
+
"type": "string",
|
|
209
|
+
"description": "Launch activity class name. Required for reliable launching."
|
|
210
|
+
},
|
|
211
|
+
"action": {
|
|
212
|
+
"title": "Intent Action",
|
|
213
|
+
"type": "string",
|
|
214
|
+
"description": "Intent action (defaults to android.intent.action.MAIN)."
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"required": [
|
|
218
|
+
"name",
|
|
219
|
+
"packageName"
|
|
220
|
+
]
|
|
221
|
+
}
|
|
222
|
+
},
|
|
177
223
|
"stateSensors": {
|
|
178
224
|
"title": "State Sensors",
|
|
179
225
|
"type": "array",
|
|
@@ -249,10 +295,12 @@
|
|
|
249
295
|
},
|
|
250
296
|
"devices[].wakeOnLanEnabled",
|
|
251
297
|
"devices[].ambilightMode",
|
|
298
|
+
"devices[].ambilightOnStart",
|
|
252
299
|
"devices[].infoButtonKey",
|
|
253
300
|
"devices[].backButtonKey",
|
|
254
301
|
"devices[].playPauseButtonKey",
|
|
255
302
|
"devices[].sourceSwitches",
|
|
303
|
+
"devices[].ambilightHueSwitch",
|
|
256
304
|
{
|
|
257
305
|
"key": "devices[].stateSensors",
|
|
258
306
|
"type": "checkboxes",
|
|
@@ -69,8 +69,26 @@ export declare class PhilipsTVClient {
|
|
|
69
69
|
launchHome(): Promise<boolean>;
|
|
70
70
|
setSource(sourceUri: string): Promise<boolean>;
|
|
71
71
|
getApplications(): Promise<TVApplication[]>;
|
|
72
|
-
|
|
72
|
+
/**
|
|
73
|
+
* Launch an app by package name.
|
|
74
|
+
*
|
|
75
|
+
* @param className - Explicit launch activity. Required to reliably launch
|
|
76
|
+
* apps the TV's `/applications` endpoint does not report (e.g. sideloaded
|
|
77
|
+
* apps). When omitted, a cached intent from {@link getApplications} is used,
|
|
78
|
+
* falling back to a best-effort `MainActivity` guess.
|
|
79
|
+
* @param action - Intent action (defaults to `android.intent.action.MAIN`).
|
|
80
|
+
*/
|
|
81
|
+
launchApplication(packageName: string, className?: string, action?: string): Promise<boolean>;
|
|
73
82
|
getCurrentActivity(): Promise<string | null>;
|
|
83
|
+
/**
|
|
84
|
+
* Get the full launch intent of the app currently open on the TV.
|
|
85
|
+
* Used to capture the package/class/action of an app for a custom-app entry.
|
|
86
|
+
*/
|
|
87
|
+
getCurrentActivityIntent(): Promise<{
|
|
88
|
+
packageName: string;
|
|
89
|
+
className: string | null;
|
|
90
|
+
action: string | null;
|
|
91
|
+
} | null>;
|
|
74
92
|
private launchIntent;
|
|
75
93
|
getChannels(): Promise<TVChannel[]>;
|
|
76
94
|
setChannel(ccid: number, channelListId?: string): Promise<boolean>;
|
|
@@ -129,6 +147,14 @@ export declare class PhilipsTVClient {
|
|
|
129
147
|
* @param saturation - Saturation level (0-10)
|
|
130
148
|
*/
|
|
131
149
|
setAmbilightSaturation(saturation: number): Promise<boolean>;
|
|
150
|
+
/**
|
|
151
|
+
* Get whether the Ambilight+Hue integration (Hue lamps follow Ambilight) is on.
|
|
152
|
+
*/
|
|
153
|
+
getAmbilightHue(): Promise<boolean>;
|
|
154
|
+
/**
|
|
155
|
+
* Enable or disable the Ambilight+Hue integration (Hue lamps follow Ambilight).
|
|
156
|
+
*/
|
|
157
|
+
setAmbilightHue(on: boolean): Promise<boolean>;
|
|
132
158
|
wakeUp(): Promise<void>;
|
|
133
159
|
private sleep;
|
|
134
160
|
}
|
|
@@ -292,19 +292,55 @@ export class PhilipsTVClient {
|
|
|
292
292
|
}
|
|
293
293
|
return apps;
|
|
294
294
|
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
295
|
+
/**
|
|
296
|
+
* Launch an app by package name.
|
|
297
|
+
*
|
|
298
|
+
* @param className - Explicit launch activity. Required to reliably launch
|
|
299
|
+
* apps the TV's `/applications` endpoint does not report (e.g. sideloaded
|
|
300
|
+
* apps). When omitted, a cached intent from {@link getApplications} is used,
|
|
301
|
+
* falling back to a best-effort `MainActivity` guess.
|
|
302
|
+
* @param action - Intent action (defaults to `android.intent.action.MAIN`).
|
|
303
|
+
*/
|
|
304
|
+
async launchApplication(packageName, className, action) {
|
|
305
|
+
let intent;
|
|
306
|
+
if (className) {
|
|
307
|
+
intent = {
|
|
308
|
+
component: { packageName, className },
|
|
309
|
+
action: action ?? 'android.intent.action.MAIN',
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
// Use cached intent from getApplications() if available, else best-effort
|
|
314
|
+
intent = this.appIntents.get(packageName) ?? {
|
|
315
|
+
component: { packageName, className: 'MainActivity' },
|
|
316
|
+
action: 'android.intent.action.MAIN',
|
|
317
|
+
};
|
|
318
|
+
}
|
|
302
319
|
return this.launchIntent(intent);
|
|
303
320
|
}
|
|
304
321
|
async getCurrentActivity() {
|
|
305
322
|
const result = await this.get('/activities/current');
|
|
306
323
|
return result?.component?.packageName ?? null;
|
|
307
324
|
}
|
|
325
|
+
/**
|
|
326
|
+
* Get the full launch intent of the app currently open on the TV.
|
|
327
|
+
* Used to capture the package/class/action of an app for a custom-app entry.
|
|
328
|
+
*/
|
|
329
|
+
async getCurrentActivityIntent() {
|
|
330
|
+
const result = await this.get('/activities/current');
|
|
331
|
+
const packageName = result?.component?.packageName;
|
|
332
|
+
// The TV reports the literal "NA" when no trackable app is in the foreground
|
|
333
|
+
// (e.g. on Home or while watching TV).
|
|
334
|
+
if (!packageName || packageName === 'NA') {
|
|
335
|
+
return null;
|
|
336
|
+
}
|
|
337
|
+
const className = result?.component?.className;
|
|
338
|
+
return {
|
|
339
|
+
packageName,
|
|
340
|
+
className: className && className !== 'NA' ? className : null,
|
|
341
|
+
action: result?.action ?? null,
|
|
342
|
+
};
|
|
343
|
+
}
|
|
308
344
|
async launchIntent(intent) {
|
|
309
345
|
const result = await this.post('/activities/launch', { intent });
|
|
310
346
|
return result !== null;
|
|
@@ -499,6 +535,20 @@ export class PhilipsTVClient {
|
|
|
499
535
|
});
|
|
500
536
|
return result !== null;
|
|
501
537
|
}
|
|
538
|
+
/**
|
|
539
|
+
* Get whether the Ambilight+Hue integration (Hue lamps follow Ambilight) is on.
|
|
540
|
+
*/
|
|
541
|
+
async getAmbilightHue() {
|
|
542
|
+
const result = await this.get('/HueLamp/power');
|
|
543
|
+
return result?.power === 'On';
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Enable or disable the Ambilight+Hue integration (Hue lamps follow Ambilight).
|
|
547
|
+
*/
|
|
548
|
+
async setAmbilightHue(on) {
|
|
549
|
+
const result = await this.post('/HueLamp/power', { power: on ? 'On' : 'Off' });
|
|
550
|
+
return result !== null;
|
|
551
|
+
}
|
|
502
552
|
// ==========================================================================
|
|
503
553
|
// UTILITIES
|
|
504
554
|
// ==========================================================================
|
|
@@ -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/types.d.ts
CHANGED
|
@@ -198,6 +198,7 @@ export interface TVDeviceConfig {
|
|
|
198
198
|
pollingInterval?: number;
|
|
199
199
|
wakeOnLanEnabled?: boolean;
|
|
200
200
|
ambilightMode?: string;
|
|
201
|
+
ambilightOnStart?: boolean;
|
|
201
202
|
inputs?: InputConfig[];
|
|
202
203
|
sources?: SourceConfig[];
|
|
203
204
|
stateSensors?: ('power' | 'ambilight' | 'mute')[];
|
|
@@ -205,6 +206,24 @@ export interface TVDeviceConfig {
|
|
|
205
206
|
backButtonKey?: RemoteKey;
|
|
206
207
|
playPauseButtonKey?: RemoteKey;
|
|
207
208
|
sourceSwitches?: boolean;
|
|
209
|
+
ambilightHueSwitch?: boolean;
|
|
210
|
+
customApps?: CustomAppConfig[];
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* A user-defined app that the TV's `/applications` endpoint does not report
|
|
214
|
+
* (e.g. sideloaded or Play-Store apps such as EON). These are added *in
|
|
215
|
+
* addition* to auto-discovered apps and are launched by their explicit intent
|
|
216
|
+
* (`className`/`action`), since no intent can be discovered from the TV.
|
|
217
|
+
*/
|
|
218
|
+
export interface CustomAppConfig {
|
|
219
|
+
/** Display name shown in HomeKit. */
|
|
220
|
+
name: string;
|
|
221
|
+
/** Android package name, e.g. `com.ug.eon.android.tv`. */
|
|
222
|
+
packageName: string;
|
|
223
|
+
/** Launch activity class name. Required for reliable launching. */
|
|
224
|
+
className?: string;
|
|
225
|
+
/** Intent action (defaults to `android.intent.action.MAIN`). */
|
|
226
|
+
action?: string;
|
|
208
227
|
}
|
|
209
228
|
export interface InputConfig {
|
|
210
229
|
name: string;
|
|
@@ -12,8 +12,10 @@ export declare class PhilipsAmbilightTVAccessory {
|
|
|
12
12
|
private readonly sourceSwitchService;
|
|
13
13
|
private readonly statePollManager;
|
|
14
14
|
private readonly stateSensorService;
|
|
15
|
+
private readonly ambilightHueSwitchService;
|
|
15
16
|
private isPoweredOn;
|
|
16
17
|
private isMuted;
|
|
18
|
+
private powerSynced;
|
|
17
19
|
constructor(platform: PhilipsAmbilightTVPlatform, accessory: PlatformAccessory);
|
|
18
20
|
private get Service();
|
|
19
21
|
private get Characteristic();
|
|
@@ -5,6 +5,7 @@ import { InputSourceManager } from './services/InputSourceManager.js';
|
|
|
5
5
|
import { StatePollManager } from './services/StatePollManager.js';
|
|
6
6
|
import { SourceSwitchService } from './services/SourceSwitchService.js';
|
|
7
7
|
import { StateSensorService } from './services/StateSensorService.js';
|
|
8
|
+
import { AmbilightHueSwitchService } from './services/AmbilightHueSwitchService.js';
|
|
8
9
|
// ============================================================================
|
|
9
10
|
// PHILIPS AMBILIGHT TV ACCESSORY
|
|
10
11
|
// ============================================================================
|
|
@@ -20,8 +21,10 @@ export class PhilipsAmbilightTVAccessory {
|
|
|
20
21
|
sourceSwitchService;
|
|
21
22
|
statePollManager;
|
|
22
23
|
stateSensorService;
|
|
24
|
+
ambilightHueSwitchService;
|
|
23
25
|
isPoweredOn = false;
|
|
24
26
|
isMuted = false;
|
|
27
|
+
powerSynced = false;
|
|
25
28
|
constructor(platform, accessory) {
|
|
26
29
|
this.platform = platform;
|
|
27
30
|
this.accessory = accessory;
|
|
@@ -47,6 +50,7 @@ export class PhilipsAmbilightTVAccessory {
|
|
|
47
50
|
storagePath: platform.api.user.storagePath(),
|
|
48
51
|
deviceId: this.config.mac,
|
|
49
52
|
userInputs: this.config.inputs,
|
|
53
|
+
customApps: this.config.customApps,
|
|
50
54
|
sourceConfigs: this.config.sources,
|
|
51
55
|
infoButtonKey: this.config.infoButtonKey,
|
|
52
56
|
backButtonKey: this.config.backButtonKey,
|
|
@@ -67,6 +71,13 @@ export class PhilipsAmbilightTVAccessory {
|
|
|
67
71
|
Characteristic: this.Characteristic,
|
|
68
72
|
log: (level, msg) => this.log(level, msg),
|
|
69
73
|
});
|
|
74
|
+
this.ambilightHueSwitchService = new AmbilightHueSwitchService({
|
|
75
|
+
Service: this.Service,
|
|
76
|
+
Characteristic: this.Characteristic,
|
|
77
|
+
tvClient: this.tvClient,
|
|
78
|
+
communicationError: () => this.communicationError(),
|
|
79
|
+
log: (level, msg) => this.log(level, msg),
|
|
80
|
+
});
|
|
70
81
|
this.statePollManager = new StatePollManager(this.tvClient, this.config, {
|
|
71
82
|
onPowerChange: (isOn) => this.onPowerChange(isOn),
|
|
72
83
|
onAmbilightUpdate: (style, fallback) => this.onAmbilightUpdate(style, fallback),
|
|
@@ -87,13 +98,20 @@ export class PhilipsAmbilightTVAccessory {
|
|
|
87
98
|
if (this.config.sourceSwitches) {
|
|
88
99
|
const tvName = sanitizeForHomeKit(this.config.name);
|
|
89
100
|
const sources = this.inputSourceManager.getVisibleSources().map(s => ({
|
|
90
|
-
id: s.id, name: s.name, type: s.type, channelListId: s.channelListId,
|
|
101
|
+
id: s.id, name: s.name, type: s.type, channelListId: s.channelListId, className: s.className, action: s.action,
|
|
91
102
|
}));
|
|
92
103
|
this.sourceSwitchService.configureSwitches(this.accessory, sources, tvName);
|
|
93
104
|
}
|
|
94
105
|
// Configure state sensors (MotionSensor services for HomeKit automations)
|
|
95
106
|
const sensorTypes = this.config.stateSensors ?? [];
|
|
96
107
|
this.stateSensorService.configureSensors(this.accessory, sensorTypes, sanitizeForHomeKit(this.config.name));
|
|
108
|
+
// Configure the Ambilight + Hue switch (independent toggle for Hue integration)
|
|
109
|
+
if (this.config.ambilightHueSwitch) {
|
|
110
|
+
this.ambilightHueSwitchService.configureSwitch(this.accessory, sanitizeForHomeKit(this.config.name));
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
this.ambilightHueSwitchService.removeSwitch(this.accessory);
|
|
114
|
+
}
|
|
97
115
|
this.statePollManager.start();
|
|
98
116
|
}
|
|
99
117
|
// ==========================================================================
|
|
@@ -214,6 +232,10 @@ export class PhilipsAmbilightTVAccessory {
|
|
|
214
232
|
// POLL CALLBACKS
|
|
215
233
|
// ==========================================================================
|
|
216
234
|
onPowerChange(isOn) {
|
|
235
|
+
// Skip the first sync so a Homebridge restart while the TV is already on
|
|
236
|
+
// doesn't count as a power-on event (which would force Ambilight on).
|
|
237
|
+
const isInitialSync = !this.powerSynced;
|
|
238
|
+
this.powerSynced = true;
|
|
217
239
|
this.isPoweredOn = isOn;
|
|
218
240
|
this.tvService.updateCharacteristic(this.Characteristic.Active, isOn ? this.Characteristic.Active.ACTIVE : this.Characteristic.Active.INACTIVE);
|
|
219
241
|
this.stateSensorService.update('power', isOn);
|
|
@@ -221,6 +243,11 @@ export class PhilipsAmbilightTVAccessory {
|
|
|
221
243
|
this.stateSensorService.update('ambilight', false);
|
|
222
244
|
this.stateSensorService.update('mute', false);
|
|
223
245
|
this.sourceSwitchService.resetAll();
|
|
246
|
+
this.ambilightHueSwitchService.reset();
|
|
247
|
+
}
|
|
248
|
+
else if (!isInitialSync && this.config.ambilightOnStart) {
|
|
249
|
+
// TV just powered on — auto-start Ambilight in the configured mode.
|
|
250
|
+
void this.ambilightService.startWithConfiguredMode();
|
|
224
251
|
}
|
|
225
252
|
this.log('debug', `Power state updated: ${isOn ? 'ON' : 'OFF'}`);
|
|
226
253
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Characteristic, HapStatusError, PlatformAccessory, Service } from 'homebridge';
|
|
2
|
+
import type { PhilipsTVClient } from '../api/PhilipsTVClient.js';
|
|
3
|
+
export interface AmbilightHueSwitchDeps {
|
|
4
|
+
readonly Service: typeof Service;
|
|
5
|
+
readonly Characteristic: typeof Characteristic;
|
|
6
|
+
readonly tvClient: PhilipsTVClient;
|
|
7
|
+
readonly communicationError: () => HapStatusError;
|
|
8
|
+
readonly log: (level: 'debug' | 'info' | 'warn' | 'error', message: string) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Exposes the TV's "Ambilight + Hue" integration (Philips Hue lamps following
|
|
12
|
+
* Ambilight) as a dedicated Switch service, so it can be toggled independently
|
|
13
|
+
* of the main Ambilight controls and used in HomeKit automations and scenes.
|
|
14
|
+
*
|
|
15
|
+
* Backed by the JointSpace `/HueLamp/power` endpoint ({"power":"On"|"Off"}).
|
|
16
|
+
*/
|
|
17
|
+
export declare class AmbilightHueSwitchService {
|
|
18
|
+
private readonly deps;
|
|
19
|
+
private service;
|
|
20
|
+
private isOn;
|
|
21
|
+
constructor(deps: AmbilightHueSwitchDeps);
|
|
22
|
+
configureSwitch(accessory: PlatformAccessory, tvName: string): void;
|
|
23
|
+
/** Remove the switch service if it exists (when the feature is disabled). */
|
|
24
|
+
removeSwitch(accessory: PlatformAccessory): void;
|
|
25
|
+
private handleGet;
|
|
26
|
+
private handleSet;
|
|
27
|
+
/** Force the switch off (e.g. when the TV powers off). */
|
|
28
|
+
reset(): void;
|
|
29
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// CONSTANTS
|
|
3
|
+
// ============================================================================
|
|
4
|
+
const SWITCH_SUBTYPE = 'ambilight-hue-switch';
|
|
5
|
+
// ============================================================================
|
|
6
|
+
// AMBILIGHT + HUE SWITCH SERVICE
|
|
7
|
+
// ============================================================================
|
|
8
|
+
/**
|
|
9
|
+
* Exposes the TV's "Ambilight + Hue" integration (Philips Hue lamps following
|
|
10
|
+
* Ambilight) as a dedicated Switch service, so it can be toggled independently
|
|
11
|
+
* of the main Ambilight controls and used in HomeKit automations and scenes.
|
|
12
|
+
*
|
|
13
|
+
* Backed by the JointSpace `/HueLamp/power` endpoint ({"power":"On"|"Off"}).
|
|
14
|
+
*/
|
|
15
|
+
export class AmbilightHueSwitchService {
|
|
16
|
+
deps;
|
|
17
|
+
service = null;
|
|
18
|
+
isOn = false;
|
|
19
|
+
constructor(deps) {
|
|
20
|
+
this.deps = deps;
|
|
21
|
+
}
|
|
22
|
+
// ==========================================================================
|
|
23
|
+
// CONFIGURATION
|
|
24
|
+
// ==========================================================================
|
|
25
|
+
configureSwitch(accessory, tvName) {
|
|
26
|
+
const { Service: Svc, Characteristic: Char } = this.deps;
|
|
27
|
+
const displayName = `${tvName} Ambilight + Hue`;
|
|
28
|
+
let service = accessory.getServiceById(Svc.Switch, SWITCH_SUBTYPE);
|
|
29
|
+
if (!service) {
|
|
30
|
+
service = accessory.addService(Svc.Switch, displayName, SWITCH_SUBTYPE);
|
|
31
|
+
service.addOptionalCharacteristic(Char.ConfiguredName);
|
|
32
|
+
service.setCharacteristic(Char.ConfiguredName, 'Ambilight + Hue');
|
|
33
|
+
}
|
|
34
|
+
service.setCharacteristic(Char.Name, displayName);
|
|
35
|
+
service.getCharacteristic(Char.On)
|
|
36
|
+
.onGet(() => this.handleGet())
|
|
37
|
+
.onSet((value) => this.handleSet(value));
|
|
38
|
+
this.service = service;
|
|
39
|
+
this.deps.log('info', 'Configured Ambilight + Hue switch');
|
|
40
|
+
}
|
|
41
|
+
/** Remove the switch service if it exists (when the feature is disabled). */
|
|
42
|
+
removeSwitch(accessory) {
|
|
43
|
+
const service = accessory.getServiceById(this.deps.Service.Switch, SWITCH_SUBTYPE);
|
|
44
|
+
if (service) {
|
|
45
|
+
accessory.removeService(service);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// ==========================================================================
|
|
49
|
+
// HANDLERS
|
|
50
|
+
// ==========================================================================
|
|
51
|
+
async handleGet() {
|
|
52
|
+
try {
|
|
53
|
+
this.isOn = await this.deps.tvClient.getAmbilightHue();
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// TV unreachable (e.g. powered off) — fall back to last known state
|
|
57
|
+
}
|
|
58
|
+
return this.isOn;
|
|
59
|
+
}
|
|
60
|
+
async handleSet(value) {
|
|
61
|
+
const on = value;
|
|
62
|
+
this.deps.log('info', `Ambilight + Hue: ${on ? 'on' : 'off'}`);
|
|
63
|
+
try {
|
|
64
|
+
const success = await this.deps.tvClient.setAmbilightHue(on);
|
|
65
|
+
if (success) {
|
|
66
|
+
this.isOn = on;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
throw this.deps.communicationError();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
this.deps.log('warn', 'Failed to toggle Ambilight + Hue');
|
|
74
|
+
throw error instanceof Error && 'hapStatus' in error ? error : this.deps.communicationError();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// ==========================================================================
|
|
78
|
+
// STATE UPDATES
|
|
79
|
+
// ==========================================================================
|
|
80
|
+
/** Force the switch off (e.g. when the TV powers off). */
|
|
81
|
+
reset() {
|
|
82
|
+
if (this.isOn) {
|
|
83
|
+
this.isOn = false;
|
|
84
|
+
}
|
|
85
|
+
this.service?.updateCharacteristic(this.deps.Characteristic.On, false);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=AmbilightHueSwitchService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AmbilightHueSwitchService.js","sourceRoot":"","sources":["../../src/services/AmbilightHueSwitchService.ts"],"names":[],"mappings":"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"}
|