@o-lukas/homebridge-smartthings-tv 2.1.3 → 2.2.0-next.1

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
@@ -8,7 +8,9 @@
8
8
  ![GitHub issues](https://img.shields.io/github/issues/o-lukas/homebridge-smartthings-tv?label=Issues)
9
9
  [![Build and Lint](https://github.com/o-lukas/homebridge-smartthings-tv/actions/workflows/build.yml/badge.svg)](https://github.com/o-lukas/homebridge-smartthings-tv/actions/workflows/build.yml)
10
10
 
11
- This is a plugin for [Homebridge](https://github.com/homebridge/homebridge). It offers some basic functions to control Samsung TVs using the SmartThings API.
11
+ This is a plugin for [Homebridge](https://github.com/homebridge/homebridge). It offers some basic functions to control Samsung TVs and SoundBars using the SmartThings API.
12
+
13
+ Both device types will be registered as TVs because this is the only device type that is able to control input sources at the moment.
12
14
 
13
15
  ## Configuration
14
16
 
@@ -113,14 +115,23 @@ Enable debug logging for cyclic calls (e.g. polling).
113
115
 
114
116
  To use installed application as input sources, a [predefined list of applications](./src/res/apps.json) will be used. This list will be checked for availability at the TV(s) and eventually be registered as input sources. Make sure to have the TV(s) turned on when starting your instance as this functionality requires your TV(s) be turned on to determine whether an application is installed or not. On startup the applications will be opened to determine if they are available. Do not use your TV until the input source is being changed back to the first one (usually Live TV).
115
117
 
118
+ > [!NOTE]
119
+ > Not implemented for SoundBars.
120
+
116
121
  ### registerPictureModes
117
122
 
118
123
  Registers all available picture modes as separate switches that can be toggled to enable/disable a picture mode. Uses the names as exposed from the SmartThings API.
119
124
 
125
+ > [!NOTE]
126
+ > Not implemented for SoundBars.
127
+
120
128
  ### registerSoundModes
121
129
 
122
130
  Registers all available sound modes as separate switches that can be toggled to enable/disable a sound mode. Uses the names as exposed from the SmartThings API.
123
131
 
132
+ > [!NOTE]
133
+ > Not implemented for SoundBars.
134
+
124
135
  ### registerVolumeSlider
125
136
 
126
137
  Registers a separate volume slider accessorry that will be exposed as a light bulb accessory (because there is currently no option to change a speaker volume directly using Home).
@@ -137,6 +148,20 @@ Devices not to be registered.
137
148
 
138
149
  Use the device mappings when e.g. turning on the accessory does not work as expected. When a device mapping is available the wake-on-lan functionality is used to turn on the device instead of the SmartThings API. To make use of the functionality you must enter the mapping using the SmartThings device ID and the mac address of the device. If status does not show up properly you can use the ping functionality to determine the device status. To make use of it you must enter the SmartThings device ID and the ip address of the device.
139
150
 
151
+ The following table gives an overview which properties do work for the device types:
152
+
153
+ | Configuration property | TV | SoundBar |
154
+ | ---------------------- | ------------------ | ------------------ |
155
+ | deviceId | :white_check_mark: | :white_check_mark: |
156
+ | nameOverride | :white_check_mark: | :white_check_mark: |
157
+ | wol | :white_check_mark: | :white_check_mark: |
158
+ | macAddress | :white_check_mark: | :white_check_mark: |
159
+ | ping | :white_check_mark: | :white_check_mark: |
160
+ | ipAddress | :white_check_mark: | :white_check_mark: |
161
+ | infoKey | :white_check_mark: | :x: |
162
+ | inputSources | :white_check_mark: | :white_check_mark: |
163
+ | applications | :white_check_mark: | :x: |
164
+
140
165
  #### deviceId
141
166
 
142
167
  The SmartThings device id. Check the log or go to <https://account.smartthings.com/> and get the device id.
@@ -65,6 +65,15 @@ export declare class SmartThingsPlatform implements DynamicPlatformPlugin {
65
65
  * @param deviceMappings the array of configured DeviceMapping
66
66
  */
67
67
  registerTvDevice(client: SmartThingsClient, device: Device, deviceMapping: DeviceMapping | undefined): Promise<void>;
68
+ /**
69
+ * Registers a SmartThings Soundbar Device for Homebridge.
70
+ *
71
+ * @param client the SmartThingsClient used to send API calls
72
+ * @param device the SmartThings Device
73
+ * @param accessory the cached PlatformAccessory or undefined if no cached PlatformAccessory exists
74
+ * @param deviceMappings the array of configured DeviceMapping
75
+ */
76
+ registerSoundbarDevice(client: SmartThingsClient, device: Device, deviceMapping: DeviceMapping | undefined): Promise<void>;
68
77
  /**
69
78
  * Register the modes of the device passed in as platform accessories.
70
79
  * Handles caching of accessories as well.
@@ -1 +1 @@
1
- {"version":3,"file":"smartThingsPlatform.d.ts","sourceRoot":"","sources":["../src/smartThingsPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,qBAAqB,EACrB,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,cAAc,EAEf,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,iBAAiB,EAA4B,MAAM,EAAE,SAAS,EAAoB,MAAM,uBAAuB,CAAC;AAIzH;;GAEG;AACH,cAAM,aAAa;aACW,QAAQ,EAAE,MAAM;aAC1B,YAAY,EAAE,MAAM;aACpB,UAAU,EAAE,MAAM;aAClB,SAAS,EAAE,MAAM;aACjB,YAAY,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,CAAC;aAC1C,YAAY,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;KAAC,CAAC;aAC7C,OAAO,EAAE,MAAM;gBANL,QAAQ,EAAE,MAAM,EAC1B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,CAAC,EAC1C,YAAY,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;KAAC,CAAC,EAC7C,OAAO,EAAE,MAAM;CAElC;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,qBAAqB;aAQ7C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAT1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;gBAGpC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAwB1B;;OAEG;IAEH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C;;;;;;OAMG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,aAAa,CAAC;IAqB/F;;;;;;OAMG;IACG,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,aAAa,CAAC;IAe/F;;;;;;;OAOG;IACG,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,SAAS;IAwD1G;;;;;;;;OAQG;IACH,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAClF,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC5F;IAwBH;;;;;;;OAOG;IACH,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;CAqCrF"}
1
+ {"version":3,"file":"smartThingsPlatform.d.ts","sourceRoot":"","sources":["../src/smartThingsPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,qBAAqB,EACrB,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,cAAc,EAEf,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,iBAAiB,EAA4B,MAAM,EAAE,SAAS,EAAoB,MAAM,uBAAuB,CAAC;AAKzH;;GAEG;AACH,cAAM,aAAa;aACW,QAAQ,EAAE,MAAM;aAC1B,YAAY,EAAE,MAAM;aACpB,UAAU,EAAE,MAAM;aAClB,SAAS,EAAE,MAAM;aACjB,YAAY,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,CAAC;aAC1C,YAAY,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;KAAC,CAAC;aAC7C,OAAO,EAAE,MAAM;gBANL,QAAQ,EAAE,MAAM,EAC1B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,CAAC,EAC1C,YAAY,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;KAAC,CAAC,EAC7C,OAAO,EAAE,MAAM;CAElC;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,qBAAqB;aAQ7C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAT1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;gBAGpC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAwB1B;;OAEG;IAEH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C;;;;;;OAMG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,aAAa,CAAC;IAqB/F;;;;;;OAMG;IACG,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,aAAa,CAAC;IAmB/F;;;;;;;OAOG;IACG,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,SAAS;IAwD1G;;;;;;;OAOG;IACG,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,SAAS;IAmChH;;;;;;;;OAQG;IACH,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAClF,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC5F;IAwBH;;;;;;;OAOG;IACH,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;CAqCrF"}
@@ -6,6 +6,7 @@ const tvAccessory_1 = require("./tvAccessory");
6
6
  const core_sdk_1 = require("@smartthings/core-sdk");
7
7
  const switchAccessory_1 = require("./switchAccessory");
8
8
  const sliderAccessory_1 = require("./sliderAccessory");
9
+ const soundbarAccessory_1 = require("./soundbarAccessory");
9
10
  /**
10
11
  * Class implements the configured Device to mac and ip address mappings.
11
12
  */
@@ -99,6 +100,9 @@ class SmartThingsPlatform {
99
100
  case 'x.com.st.d.monitor':
100
101
  await this.registerTvDevice(client, device, deviceMappings.find(mapping => mapping.deviceId === device.deviceId));
101
102
  break;
103
+ case 'oic.d.networkaudio':
104
+ await this.registerSoundbarDevice(client, device, deviceMappings.find(mapping => mapping.deviceId === device.deviceId));
105
+ break;
102
106
  default:
103
107
  this.log.debug('Ignoring SmartThings device %s because device type %s is not implemented: %s', device.name ? device.name + ' (' + device.deviceId + ')' : device.deviceId, (_b = device.ocf) === null || _b === void 0 ? void 0 : _b.ocfDeviceType, JSON.stringify(device, null, 2));
104
108
  break;
@@ -114,7 +118,7 @@ class SmartThingsPlatform {
114
118
  */
115
119
  async registerTvDevice(client, device, deviceMapping) {
116
120
  var _a, _b, _c, _d, _e, _f;
117
- this.log.info('Adding new accessory: %s', device.name ? device.name + ' (' + device.deviceId + ')' : device.deviceId);
121
+ this.log.info('Adding new TV accessory: %s', device.name ? device.name + ' (' + device.deviceId + ')' : device.deviceId);
118
122
  const component = (_a = device.components) === null || _a === void 0 ? void 0 : _a.at(0);
119
123
  if (!component) {
120
124
  this.log.info('Can\'t register TV accessory because (main) component does not exist');
@@ -152,6 +156,37 @@ class SmartThingsPlatform {
152
156
  }
153
157
  }
154
158
  }
159
+ /**
160
+ * Registers a SmartThings Soundbar Device for Homebridge.
161
+ *
162
+ * @param client the SmartThingsClient used to send API calls
163
+ * @param device the SmartThings Device
164
+ * @param accessory the cached PlatformAccessory or undefined if no cached PlatformAccessory exists
165
+ * @param deviceMappings the array of configured DeviceMapping
166
+ */
167
+ async registerSoundbarDevice(client, device, deviceMapping) {
168
+ var _a, _b, _c, _d, _e;
169
+ this.log.info('Adding new soundbar accessory: %s', device.name ? device.name + ' (' + device.deviceId + ')' : device.deviceId);
170
+ const component = (_a = device.components) === null || _a === void 0 ? void 0 : _a.at(0);
171
+ if (!component) {
172
+ this.log.info('Can\'t register soundbar accessory because (main) component does not exist');
173
+ return;
174
+ }
175
+ let displayName = (_b = device.name) !== null && _b !== void 0 ? _b : device.deviceId;
176
+ if (deviceMapping === null || deviceMapping === void 0 ? void 0 : deviceMapping.nameOverride) {
177
+ this.log.info('Overriding device default name \'%s\' with configured display name \'%s\'', device.name, deviceMapping.nameOverride);
178
+ displayName = deviceMapping.nameOverride;
179
+ }
180
+ const accessory = new this.api.platformAccessory(displayName, device.deviceId);
181
+ accessory.context.device = device;
182
+ accessory.category = 31 /* this.api.hap.Categories.TELEVISION */;
183
+ this.api.publishExternalAccessories(settings_1.PLUGIN_NAME, [accessory]);
184
+ const tv = new soundbarAccessory_1.SoundbarAccessory(displayName, device, component, client, this.log, this, accessory, (_c = this.config.capabilityLogging) !== null && _c !== void 0 ? _c : false, (_d = this.config.pollInterval) !== null && _d !== void 0 ? _d : undefined, (_e = this.config.cyclicCallsLogging) !== null && _e !== void 0 ? _e : false, deviceMapping === null || deviceMapping === void 0 ? void 0 : deviceMapping.macAddress, deviceMapping === null || deviceMapping === void 0 ? void 0 : deviceMapping.ipAddress, deviceMapping === null || deviceMapping === void 0 ? void 0 : deviceMapping.inputSources);
185
+ await tv.registerCapabilities();
186
+ if (this.config.registerVolumeSlider) {
187
+ this.registerVolumeSlider(client, device, component);
188
+ }
189
+ }
155
190
  /**
156
191
  * Register the modes of the device passed in as platform accessories.
157
192
  * Handles caching of accessories as well.
@@ -1 +1 @@
1
- {"version":3,"file":"smartThingsPlatform.js","sourceRoot":"","sources":["../src/smartThingsPlatform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smartThingsPlatform.js","sourceRoot":"","sources":["../src/smartThingsPlatform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ import { PlatformAccessory, Logger } from 'homebridge';
2
+ import { SmartThingsPlatform } from './smartThingsPlatform';
3
+ import { SmartThingsClient, Device, Component } from '@smartthings/core-sdk';
4
+ import { SmartThingsAccessory } from './smartThingsAccessory';
5
+ /**
6
+ * Class implements a SmartThings soundbar accessory.
7
+ */
8
+ export declare class SoundbarAccessory extends SmartThingsAccessory {
9
+ private readonly logCapabilities;
10
+ private readonly pollingInterval;
11
+ private readonly cyclicCallsLogging;
12
+ private readonly macAddress;
13
+ private readonly ipAddress;
14
+ private readonly inputSources;
15
+ private service;
16
+ private speakerService;
17
+ private inputSourceServices;
18
+ private capabilities;
19
+ private activeIdentifierChangeTime;
20
+ private activeIdentifierChangeValue;
21
+ constructor(name: string, device: Device, component: Component, client: SmartThingsClient, log: Logger, platform: SmartThingsPlatform, accessory: PlatformAccessory, logCapabilities: boolean, pollingInterval: number | undefined, cyclicCallsLogging: boolean, macAddress?: string | undefined, ipAddress?: string | undefined, inputSources?: [{
22
+ name: string;
23
+ id: string;
24
+ }] | undefined);
25
+ /**
26
+ * Registers all available capabilities of the SmartThings Component.
27
+ */
28
+ registerCapabilities(): Promise<void>;
29
+ /**
30
+ * Registers the SmartThings Capablity if it's functionality is implemented.
31
+ *
32
+ * @param capability the Capability
33
+ */
34
+ private registerCapability;
35
+ /**
36
+ * Setter for Homebridge accessory Active property.
37
+ *
38
+ * @param value the CharacteristicValue
39
+ */
40
+ private setActive;
41
+ /**
42
+ * Getter for Homebridge accessory Active property.
43
+ *
44
+ * @param log flag to turn logging on/off
45
+ * @returns the CharacteristicValue
46
+ */
47
+ private getActive;
48
+ /**
49
+ * Setter for Homebridge accessory VolumeSelector property.
50
+ *
51
+ * @param value the CharacteristicValue
52
+ */
53
+ private setVolumeSelector;
54
+ /**
55
+ * Setter for Homebridge accessory Volume property.
56
+ *
57
+ * @param value the CharacteristicValue
58
+ */
59
+ private setVolume;
60
+ /**
61
+ * Getter for Homebridge accessory Volume property.
62
+ *
63
+ * @param log flag to turn logging on/off
64
+ * @returns the CharacteristicValue
65
+ */
66
+ private getVolume;
67
+ /**
68
+ * Setter for Homebridge accessory Mute property.
69
+ *
70
+ * @param value the CharacteristicValue
71
+ */
72
+ private setMute;
73
+ /**
74
+ * Getter for Homebridge accessory Mute property.
75
+ *
76
+ * @param log flag to turn logging on/off
77
+ * @returns the CharacteristicValue
78
+ */
79
+ private getMute;
80
+ /**
81
+ * Setter for Homebridge accessory ActiveIdentifier property.
82
+ *
83
+ * @param value the CharacteristicValue
84
+ */
85
+ private setActiveIdentifier;
86
+ /**
87
+ * Getter for Homebridge accessory ActiveIdentifier property.
88
+ *
89
+ * @param log flag to turn logging on/off
90
+ * @returns the CharacteristicValue
91
+ */
92
+ private getActiveIdentifier;
93
+ /**
94
+ * Setter for Homebridge accessory RemoteKey property.
95
+ *
96
+ * @param value the CharacteristicValue
97
+ */
98
+ private setRemoteKey;
99
+ /**
100
+ * Validates that the SmartThings Capability needed to execute the remote key is available.
101
+ *
102
+ * @param capabilityId the identifier of the SmartThings Capablity
103
+ * @param remoteKey the remote key
104
+ * @returns TRUE in case capability is available - FALSE otherwise
105
+ */
106
+ private validateRemoteKeyCapability;
107
+ /**
108
+ * Registers all available media input sources (e.g. HDMI inputs).
109
+ */
110
+ private registerAvailableInputSources;
111
+ /**
112
+ * Registers a Homebridge input source.
113
+ *
114
+ * @param id the input source id
115
+ * @param name the input source display name
116
+ * @param inputSource the InputSourceType or @code undefined @endcode to use @link guessInputSourceType @endlink
117
+ * to determine InputSourceType
118
+ */
119
+ private registerInputSource;
120
+ /**
121
+ * Guesses the InputSourceType from the identifier of the input source.
122
+ *
123
+ * @param inputSourceId the identifier of the input source
124
+ * @returns the InputSourceType (HDMI|TUNER|OTHER)
125
+ */
126
+ private guessInputSourceType;
127
+ }
128
+ //# sourceMappingURL=soundbarAccessory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soundbarAccessory.d.ts","sourceRoot":"","sources":["../src/soundbarAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAuB,MAAM,EAAE,MAAM,YAAY,CAAC;AAErF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAc,MAAM,uBAAuB,CAAC;AAGzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,oBAAoB;IAgBvD,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IApB/B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,mBAAmB,CAAiB;IAC5C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,0BAA0B,CAAK;IACvC,OAAO,CAAC,2BAA2B,CAAK;gBAGtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,iBAAiB,EACX,eAAe,EAAE,OAAO,EACxB,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,kBAAkB,EAAE,OAAO,EAC3B,UAAU,GAAE,MAAM,GAAG,SAAqB,EAC1C,SAAS,GAAE,MAAM,GAAG,SAAqB,EACzC,YAAY,GAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,CAAC,GAAG,SAAqB;IAqBrF;;OAEG;IACU,oBAAoB;IAQjC;;;;OAIG;YACW,kBAAkB;IAgEhC;;;;OAIG;YACW,SAAS;IAmBvB;;;;;OAKG;YACW,SAAS;IAoBvB;;;;OAIG;YACW,iBAAiB;IAM/B;;;;OAIG;YACW,SAAS;IAKvB;;;;;OAKG;YACW,SAAS;IAKvB;;;;OAIG;YACW,OAAO;IAKrB;;;;;OAKG;YACW,OAAO;IAKrB;;;;OAIG;YACW,mBAAmB;IAUjC;;;;;OAKG;YACW,mBAAmB;IAyBjC;;;;OAIG;YACW,YAAY;IAkC1B;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IASnC;;OAEG;YACW,6BAA6B;IAqB3C;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;CAO7B"}
@@ -0,0 +1,354 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SoundbarAccessory = void 0;
7
+ const wol_1 = require("wol");
8
+ const ping_1 = __importDefault(require("ping"));
9
+ const smartThingsAccessory_1 = require("./smartThingsAccessory");
10
+ /**
11
+ * Class implements a SmartThings soundbar accessory.
12
+ */
13
+ class SoundbarAccessory extends smartThingsAccessory_1.SmartThingsAccessory {
14
+ constructor(name, device, component, client, log, platform, accessory, logCapabilities, pollingInterval, cyclicCallsLogging, macAddress = undefined, ipAddress = undefined, inputSources = undefined) {
15
+ var _a, _b;
16
+ super(device, component, client, platform, accessory, log);
17
+ this.logCapabilities = logCapabilities;
18
+ this.pollingInterval = pollingInterval;
19
+ this.cyclicCallsLogging = cyclicCallsLogging;
20
+ this.macAddress = macAddress;
21
+ this.ipAddress = ipAddress;
22
+ this.inputSources = inputSources;
23
+ this.inputSourceServices = [];
24
+ this.capabilities = [];
25
+ this.activeIdentifierChangeTime = 0;
26
+ this.activeIdentifierChangeValue = 0;
27
+ this.accessory.getService(this.platform.Service.AccessoryInformation)
28
+ .setCharacteristic(this.platform.Characteristic.Name, name);
29
+ this.service = (_a = this.accessory.getService(this.platform.Service.Television)) !== null && _a !== void 0 ? _a : this.accessory.addService(this.platform.Service.Television);
30
+ this.service
31
+ .setCharacteristic(this.platform.Characteristic.SleepDiscoveryMode, this.platform.Characteristic.SleepDiscoveryMode.ALWAYS_DISCOVERABLE)
32
+ .setCharacteristic(this.platform.Characteristic.ConfiguredName, name);
33
+ this.service.getCharacteristic(this.platform.Characteristic.RemoteKey)
34
+ .onSet(this.setRemoteKey.bind(this));
35
+ this.speakerService = (_b = this.accessory.getService(this.platform.Service.TelevisionSpeaker)) !== null && _b !== void 0 ? _b : this.accessory.addService(this.platform.Service.TelevisionSpeaker);
36
+ this.service.addLinkedService(this.speakerService);
37
+ }
38
+ /**
39
+ * Registers all available capabilities of the SmartThings Component.
40
+ */
41
+ async registerCapabilities() {
42
+ var _a;
43
+ this.logInfo('Registering capabilities for component %s', this.component.id);
44
+ for (const reference of this.component.capabilities) {
45
+ await this.registerCapability(await this.client.capabilities.get(reference.id, (_a = reference.version) !== null && _a !== void 0 ? _a : 0));
46
+ }
47
+ }
48
+ /**
49
+ * Registers the SmartThings Capablity if it's functionality is implemented.
50
+ *
51
+ * @param capability the Capability
52
+ */
53
+ async registerCapability(capability) {
54
+ let inputSourcePollingStarted = false;
55
+ if (this.logCapabilities) {
56
+ this.logDebug('Available capability: %s', JSON.stringify(capability, null, 2));
57
+ }
58
+ if (capability.id && !this.capabilities.includes(capability.id)) {
59
+ this.capabilities.push(capability.id);
60
+ }
61
+ switch (capability.id) {
62
+ case 'switch':
63
+ this.logCapabilityRegistration(capability);
64
+ this.service.getCharacteristic(this.platform.Characteristic.Active)
65
+ .onSet(this.setActive.bind(this))
66
+ .onGet(this.getActive.bind(this));
67
+ this.startStatusPolling(capability.name, this.service, this.platform.Characteristic.Active, this.getActive.bind(this, this.cyclicCallsLogging), this.pollingInterval);
68
+ break;
69
+ case 'audioVolume':
70
+ this.logCapabilityRegistration(capability);
71
+ this.speakerService
72
+ .setCharacteristic(this.platform.Characteristic.Active, this.platform.Characteristic.Active.ACTIVE);
73
+ this.speakerService
74
+ .setCharacteristic(this.platform.Characteristic.VolumeControlType, this.platform.Characteristic.VolumeControlType.ABSOLUTE);
75
+ this.speakerService
76
+ .getCharacteristic(this.platform.Characteristic.Volume)
77
+ .onGet(this.getVolume.bind(this))
78
+ .onSet(this.setVolume.bind(this));
79
+ this.speakerService.getCharacteristic(this.platform.Characteristic.VolumeSelector)
80
+ .onSet(this.setVolumeSelector.bind(this));
81
+ this.startStatusPolling(capability.name, this.speakerService, this.platform.Characteristic.Volume, this.getVolume.bind(this, this.cyclicCallsLogging), this.pollingInterval);
82
+ break;
83
+ case 'audioMute':
84
+ this.logCapabilityRegistration(capability);
85
+ this.speakerService.getCharacteristic(this.platform.Characteristic.Mute)
86
+ .onSet(this.setMute.bind(this))
87
+ .onGet(this.getMute.bind(this));
88
+ this.startStatusPolling(capability.name, this.speakerService, this.platform.Characteristic.Mute, this.getMute.bind(this, this.cyclicCallsLogging), this.pollingInterval);
89
+ break;
90
+ case 'samsungvd.audioInputSource':
91
+ this.logCapabilityRegistration(capability);
92
+ await this.registerAvailableInputSources();
93
+ if (this.inputSourceServices.length > 0) {
94
+ this.service.getCharacteristic(this.platform.Characteristic.ActiveIdentifier)
95
+ .onSet(this.setActiveIdentifier.bind(this))
96
+ .onGet(this.getActiveIdentifier.bind(this));
97
+ if (!inputSourcePollingStarted) {
98
+ inputSourcePollingStarted = true;
99
+ this.startStatusPolling('activeIdentifier', this.service, this.platform.Characteristic.ActiveIdentifier, this.getActiveIdentifier.bind(this, this.cyclicCallsLogging), this.pollingInterval);
100
+ }
101
+ }
102
+ break;
103
+ }
104
+ }
105
+ /**
106
+ * Setter for Homebridge accessory Active property.
107
+ *
108
+ * @param value the CharacteristicValue
109
+ */
110
+ async setActive(value) {
111
+ this.logDebug('Set active to: %s', value);
112
+ if (value) {
113
+ if (this.macAddress) {
114
+ this.logDebug('Use wake-on-lan functionality because mac-address has been configured');
115
+ if (await (0, wol_1.wake)(this.macAddress)) {
116
+ this.logDebug('Successfully woke device');
117
+ }
118
+ else {
119
+ this.logError('Could not wake device - if this error keeps occuring try to disable wake-on-lan functionality');
120
+ }
121
+ }
122
+ else {
123
+ await this.executeCommand('switch', 'on');
124
+ }
125
+ }
126
+ else {
127
+ await this.executeCommand('switch', 'off');
128
+ }
129
+ }
130
+ /**
131
+ * Getter for Homebridge accessory Active property.
132
+ *
133
+ * @param log flag to turn logging on/off
134
+ * @returns the CharacteristicValue
135
+ */
136
+ async getActive(log = true) {
137
+ if (this.ipAddress) {
138
+ try {
139
+ const status = await ping_1.default.promise.probe(this.ipAddress);
140
+ if (log) {
141
+ this.logDebug('ping status: %s', status);
142
+ }
143
+ return status === null || status === void 0 ? void 0 : status.alive;
144
+ }
145
+ catch (exc) {
146
+ this.logError('error when pinging device: %s\n\
147
+ ping command fails mostly because of permission issues - falling back to SmartThings API for getting active state', exc);
148
+ return false;
149
+ }
150
+ }
151
+ const status = await this.getCapabilityStatus('switch', log);
152
+ return (status === null || status === void 0 ? void 0 : status.switch.value) === 'on' ? true : false;
153
+ }
154
+ /**
155
+ * Setter for Homebridge accessory VolumeSelector property.
156
+ *
157
+ * @param value the CharacteristicValue
158
+ */
159
+ async setVolumeSelector(value) {
160
+ const increment = value === this.platform.Characteristic.VolumeSelector.INCREMENT;
161
+ this.logDebug('%s volume', increment ? 'Increasing' : 'Decreasing');
162
+ await this.executeCommand('audioVolume', increment ? 'volumeUp' : 'volumeDown');
163
+ }
164
+ /**
165
+ * Setter for Homebridge accessory Volume property.
166
+ *
167
+ * @param value the CharacteristicValue
168
+ */
169
+ async setVolume(value) {
170
+ this.logDebug('Set volume to: %s', value);
171
+ await this.executeCommand('audioVolume', 'setVolume', [value]);
172
+ }
173
+ /**
174
+ * Getter for Homebridge accessory Volume property.
175
+ *
176
+ * @param log flag to turn logging on/off
177
+ * @returns the CharacteristicValue
178
+ */
179
+ async getVolume(log = true) {
180
+ const status = await this.getCapabilityStatus('audioVolume', log);
181
+ return status === null || status === void 0 ? void 0 : status.volume.value;
182
+ }
183
+ /**
184
+ * Setter for Homebridge accessory Mute property.
185
+ *
186
+ * @param value the CharacteristicValue
187
+ */
188
+ async setMute(value) {
189
+ this.logDebug('Set mute to: %s', value);
190
+ await this.executeCommand('audioMute', value ? 'mute' : 'unmute');
191
+ }
192
+ /**
193
+ * Getter for Homebridge accessory Mute property.
194
+ *
195
+ * @param log flag to turn logging on/off
196
+ * @returns the CharacteristicValue
197
+ */
198
+ async getMute(log = true) {
199
+ const status = await this.getCapabilityStatus('audioMute', log);
200
+ return (status === null || status === void 0 ? void 0 : status.mute.value) === 'muted' ? true : false;
201
+ }
202
+ /**
203
+ * Setter for Homebridge accessory ActiveIdentifier property.
204
+ *
205
+ * @param value the CharacteristicValue
206
+ */
207
+ async setActiveIdentifier(value) {
208
+ var _a;
209
+ this.logDebug('Set active identifier to: %s', value);
210
+ const inputSource = this.inputSourceServices[value];
211
+ this.activeIdentifierChangeTime = Date.now();
212
+ this.activeIdentifierChangeValue = value;
213
+ await this.executeCommand('samsungvd.audioInputSource', 'setInputSource', [(_a = inputSource.name) !== null && _a !== void 0 ? _a : '']);
214
+ }
215
+ /**
216
+ * Getter for Homebridge accessory ActiveIdentifier property.
217
+ *
218
+ * @param log flag to turn logging on/off
219
+ * @returns the CharacteristicValue
220
+ */
221
+ async getActiveIdentifier(log = true) {
222
+ var _a;
223
+ const status = await this.getCapabilityStatus('samsungvd.audioInputSource', log);
224
+ if (Date.parse((_a = status === null || status === void 0 ? void 0 : status.inputSource.timestamp) !== null && _a !== void 0 ? _a : '') > this.activeIdentifierChangeTime) {
225
+ const id = this.inputSourceServices.findIndex(inputSource => inputSource.name === (status === null || status === void 0 ? void 0 : status.inputSource.value));
226
+ if (log) {
227
+ this.logDebug('ActiveIdentifier has been changed on the device - using API result: %s', id);
228
+ }
229
+ if (id < 0) {
230
+ this.logWarn('Could not find input source for name \'%s\' - using first input source \'%s\' as active identifier', status === null || status === void 0 ? void 0 : status.inputSource.value, this.inputSourceServices[0].name);
231
+ return 0;
232
+ }
233
+ return id;
234
+ }
235
+ else {
236
+ if (log) {
237
+ this.logDebug('ActiveIdentifier has not been changed on the device - using temporary result: %s', this.activeIdentifierChangeValue);
238
+ }
239
+ return this.activeIdentifierChangeValue;
240
+ }
241
+ }
242
+ /**
243
+ * Setter for Homebridge accessory RemoteKey property.
244
+ *
245
+ * @param value the CharacteristicValue
246
+ */
247
+ async setRemoteKey(value) {
248
+ switch (value) {
249
+ case this.platform.Characteristic.RemoteKey.REWIND:
250
+ if (this.validateRemoteKeyCapability('mediaPlayback', 'REWIND')) {
251
+ await this.executeCommand('mediaPlayback', 'rewind');
252
+ }
253
+ break;
254
+ case this.platform.Characteristic.RemoteKey.FAST_FORWARD:
255
+ if (this.validateRemoteKeyCapability('mediaPlayback', 'FAST_FORWARD')) {
256
+ await this.executeCommand('mediaPlayback', 'fastForward');
257
+ }
258
+ break;
259
+ case this.platform.Characteristic.RemoteKey.PLAY_PAUSE:
260
+ if (this.validateRemoteKeyCapability('mediaPlayback', 'PLAY_PAUSE')) {
261
+ await this.executeCommand('mediaPlayback', 'play');
262
+ }
263
+ break;
264
+ case this.platform.Characteristic.RemoteKey.EXIT:
265
+ if (this.validateRemoteKeyCapability('mediaPlayback', 'EXIT')) {
266
+ await this.executeCommand('mediaPlayback', 'stop');
267
+ }
268
+ break;
269
+ case this.platform.Characteristic.RemoteKey.BACK:
270
+ if (this.validateRemoteKeyCapability('mediaPlayback', 'BACK')) {
271
+ await this.executeCommand('mediaPlayback', 'stop');
272
+ }
273
+ break;
274
+ }
275
+ }
276
+ /**
277
+ * Validates that the SmartThings Capability needed to execute the remote key is available.
278
+ *
279
+ * @param capabilityId the identifier of the SmartThings Capablity
280
+ * @param remoteKey the remote key
281
+ * @returns TRUE in case capability is available - FALSE otherwise
282
+ */
283
+ validateRemoteKeyCapability(capabilityId, remoteKey) {
284
+ if (this.capabilities.includes(capabilityId)) {
285
+ return true;
286
+ }
287
+ else {
288
+ this.logError('can\'t handle RemoteKey %s because %s capability is not available', remoteKey, capabilityId);
289
+ return false;
290
+ }
291
+ }
292
+ /**
293
+ * Registers all available media input sources (e.g. HDMI inputs).
294
+ */
295
+ async registerAvailableInputSources() {
296
+ var _a;
297
+ const status = await this.client.devices.getCapabilityStatus(this.device.deviceId, this.component.id, 'samsungvd.audioInputSource');
298
+ this.logWarn('Status: %s', JSON.stringify(status));
299
+ const supportedInputSources = [...new Set(status.supportedInputSources.value)].map((s) => {
300
+ return {
301
+ name: s,
302
+ id: s,
303
+ };
304
+ });
305
+ if (this.inputSources) {
306
+ this.logInfo('Overriding default input sources map "%s" with custom map "%s"', JSON.stringify(supportedInputSources, null, 2), JSON.stringify(this.inputSources, null, 2));
307
+ }
308
+ for (const inputSource of (_a = this.inputSources) !== null && _a !== void 0 ? _a : supportedInputSources) {
309
+ this.registerInputSource(inputSource.id, inputSource.name);
310
+ }
311
+ }
312
+ /**
313
+ * Registers a Homebridge input source.
314
+ *
315
+ * @param id the input source id
316
+ * @param name the input source display name
317
+ * @param inputSource the InputSourceType or @code undefined @endcode to use @link guessInputSourceType @endlink
318
+ * to determine InputSourceType
319
+ */
320
+ registerInputSource(id, name, inputSource = undefined) {
321
+ var _a;
322
+ this.logInfo('Registering input source: %s (%s)', name, id);
323
+ let inputSourceType = inputSource;
324
+ if (inputSourceType === undefined) {
325
+ inputSourceType = this.guessInputSourceType(id);
326
+ this.logDebug('Guessed input source type for %s is: %i', name, inputSourceType);
327
+ }
328
+ const inputSourceService = (_a = this.accessory.getService(id)) !== null && _a !== void 0 ? _a : this.accessory.addService(this.platform.Service.InputSource, id, id);
329
+ inputSourceService.name = id;
330
+ inputSourceService
331
+ .setCharacteristic(this.platform.Characteristic.Identifier, this.inputSourceServices.length)
332
+ .setCharacteristic(this.platform.Characteristic.ConfiguredName, name)
333
+ .setCharacteristic(this.platform.Characteristic.IsConfigured, this.platform.Characteristic.IsConfigured.CONFIGURED)
334
+ .setCharacteristic(this.platform.Characteristic.InputSourceType, inputSourceType);
335
+ this.service.addLinkedService(inputSourceService);
336
+ this.inputSourceServices.push(inputSourceService);
337
+ }
338
+ /**
339
+ * Guesses the InputSourceType from the identifier of the input source.
340
+ *
341
+ * @param inputSourceId the identifier of the input source
342
+ * @returns the InputSourceType (HDMI|TUNER|OTHER)
343
+ */
344
+ guessInputSourceType(inputSourceId) {
345
+ if (inputSourceId.startsWith('HDMI')) {
346
+ return this.platform.Characteristic.InputSourceType.HDMI;
347
+ }
348
+ else {
349
+ return this.platform.Characteristic.InputSourceType.OTHER;
350
+ }
351
+ }
352
+ }
353
+ exports.SoundbarAccessory = SoundbarAccessory;
354
+ //# sourceMappingURL=soundbarAccessory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soundbarAccessory.js","sourceRoot":"","sources":["../src/soundbarAccessory.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Homebridge SmartThings TV",
3
3
  "name": "@o-lukas/homebridge-smartthings-tv",
4
- "version": "2.1.3",
4
+ "version": "2.2.0-next.1",
5
5
  "description": "This is a plugin for Homebridge. It offers some basic functions to control Samsung TVs using the SmartThings API.",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -55,12 +55,16 @@
55
55
  },
56
56
  "overrides": {
57
57
  "@smartthings/core-sdk": {
58
- "axios": "~>1.7.3"
58
+ "axios": "~>1.6.0"
59
59
  }
60
60
  },
61
61
  "release": {
62
62
  "branches": [
63
- "main"
63
+ "main",
64
+ {
65
+ "name": "next",
66
+ "prerelease": true
67
+ }
64
68
  ]
65
69
  }
66
70
  }