@o-lukas/homebridge-smartthings-tv 2.5.0 → 2.6.0-next.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.
@@ -4,18 +4,18 @@ repos:
4
4
  - id: end-of-file-fixer
5
5
  - id: trailing-whitespace
6
6
  repo: https://github.com/pre-commit/pre-commit-hooks
7
- rev: v2.3.0
7
+ rev: v5.0.0
8
8
  - hooks:
9
9
  - files: \.[jt]sx?$
10
10
  id: eslint
11
11
  types:
12
12
  - file
13
13
  repo: https://github.com/pre-commit/mirrors-eslint
14
- rev: v8.44.0
14
+ rev: v9.19.0
15
15
  - hooks:
16
16
  - id: commitizen
17
17
  - id: commitizen-branch
18
18
  stages:
19
- - push
19
+ - pre-push
20
20
  repo: https://github.com/commitizen-tools/commitizen
21
- rev: v3.27.0
21
+ rev: v4.1.1
package/README.md CHANGED
@@ -78,7 +78,8 @@ The following snippets shows all available properties you can use for the plugin
78
78
  "xxxx"
79
79
  ]
80
80
  }
81
- ]
81
+ ],
82
+ "validateApplications": false
82
83
  },
83
84
  {
84
85
  "deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
@@ -120,7 +121,7 @@ Enable debug logging for cyclic calls (e.g. polling).
120
121
 
121
122
  ### registerApplications
122
123
 
123
- To use installed application as input sources, a [predefined list of applications](./src/tvApps.ts) 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).
124
+ To use installed application as input sources, a [predefined list of applications](./src/tvApps.ts) will be used.
124
125
 
125
126
  > [!NOTE]
126
127
  > Not implemented for SoundBars.
@@ -222,6 +223,10 @@ The application's name.
222
223
 
223
224
  The application's possible ids. Since some applications have different ids for different versions of TVs you can provide a list here so the plugin will try every id and use the one that's working.
224
225
 
226
+ #### validateApplications
227
+
228
+ Validates the list of applications by trying to open them when starting the plugin. 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). Afterwards the list of working applications will be written to this device list of applications. Note that this flag will be set to off after validation the application list. So check will only run on first start or manual reset.
229
+
225
230
  #### category
226
231
 
227
232
  The icon to be used as a hint to iOS clients about what type of Accessory this represents. Can be used to override default values.
@@ -2,14 +2,66 @@
2
2
  "pluginAlias": "smartthings-tv",
3
3
  "pluginType": "platform",
4
4
  "singular": true,
5
+ "customUi": true,
5
6
  "schema": {
6
7
  "type": "object",
7
8
  "properties": {
9
+ "tokenType": {
10
+ "title": "SmartThings authentication type",
11
+ "type": "string",
12
+ "required": true,
13
+ "description": "The authentication type to be used for SmartThings API.",
14
+ "default": "pat",
15
+ "oneOf": [
16
+ {
17
+ "title": "PAT",
18
+ "enum": [
19
+ "pat"
20
+ ]
21
+ },
22
+ {
23
+ "title": "OAuth",
24
+ "enum": [
25
+ "oauth"
26
+ ]
27
+ }
28
+ ]
29
+ },
8
30
  "token": {
9
- "title": "SmartThings API token",
31
+ "title": "SmartThings personal access token",
32
+ "type": "string",
33
+ "required": true,
34
+ "description": "The SmartThings API token is needed to authenticate the requests sent to the SmartThings API. To generate a PAT open https://account.smartthings.com/tokens and generate a new one (make sure at least devices is selected).",
35
+ "condition": {
36
+ "functionBody": "return model.tokenType === \"pat\";"
37
+ }
38
+ },
39
+ "oauthClientId": {
40
+ "title": "OAuth client id",
10
41
  "type": "string",
11
42
  "required": true,
12
- "description": "The SmartThings API token is needed to authenticate the requests sent to the SmartThings API. To generate a token open https://account.smartthings.com/tokens and generate a new one (make sure at least devices is selected)."
43
+ "description": "",
44
+ "condition": {
45
+ "functionBody": "return model.tokenType === \"oauth\";"
46
+ }
47
+ },
48
+ "oauthClientSecret": {
49
+ "title": "OAuth client secret",
50
+ "type": "string",
51
+ "required": true,
52
+ "description": "",
53
+ "condition": {
54
+ "functionBody": "return model.tokenType === \"oauth\";"
55
+ }
56
+ },
57
+ "oauthRefreshToken": {
58
+ "title": "OAuth refresh token",
59
+ "type": "string",
60
+ "required": true,
61
+ "description": "",
62
+ "condition": {
63
+ "functionBody": "return model.tokenType === \"oauth\";"
64
+ }
13
65
  },
14
66
  "capabilityLogging": {
15
67
  "title": "Capability Logging",
@@ -1,4 +1,5 @@
1
1
  import { CustomCapabilityStatus } from '@smartthings/core-sdk';
2
+ import axios from 'axios';
2
3
  /**
3
4
  * Class implements a base class for SmartThings accessories.
4
5
  */
@@ -44,7 +45,11 @@ export class SmartThingsAccessory {
44
45
  if (error instanceof Error) {
45
46
  errorMessage = error.message;
46
47
  }
47
- this.logError('Error when executing %s of capability %s: %s', command, capability, errorMessage);
48
+ let statusCode = -1;
49
+ if (axios.isAxiosError(error)) {
50
+ statusCode = error.response?.status ?? -1;
51
+ }
52
+ this.logError('Error when executing %s of capability %s: [%s] %s', command, capability, statusCode, errorMessage);
48
53
  throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
49
54
  }
50
55
  }
@@ -69,7 +74,11 @@ export class SmartThingsAccessory {
69
74
  if (error instanceof Error) {
70
75
  errorMessage = error.message;
71
76
  }
72
- this.logError('Error when getting status of %s: %s', capability, errorMessage);
77
+ let statusCode = -1;
78
+ if (axios.isAxiosError(error)) {
79
+ statusCode = error.response?.status ?? -1;
80
+ }
81
+ this.logError('Error when getting status of %s: [%s] %s', capability, statusCode, errorMessage);
73
82
  return null;
74
83
  }
75
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"smartThingsAccessory.js","sourceRoot":"","sources":["../src/smartThingsAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smartThingsAccessory.js","sourceRoot":"","sources":["../src/smartThingsAccessory.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge';
2
- import { SmartThingsClient, Device, Component } from '@smartthings/core-sdk';
2
+ import { SmartThingsClient, Device, Component, RefreshTokenStore, AuthData, RefreshData, Authenticator } from '@smartthings/core-sdk';
3
3
  /**
4
4
  * Class implements the configured Device to mac and ip address mappings.
5
5
  */
@@ -30,15 +30,24 @@ declare class DeviceMapping {
30
30
  /**
31
31
  * Class implements the plugin platform.
32
32
  */
33
- export declare class SmartThingsPlatform implements DynamicPlatformPlugin {
33
+ export declare class SmartThingsPlatform implements DynamicPlatformPlugin, RefreshTokenStore {
34
34
  readonly log: Logger;
35
35
  readonly config: PlatformConfig;
36
36
  readonly api: API;
37
37
  readonly Service: typeof Service;
38
38
  readonly Characteristic: typeof Characteristic;
39
39
  private configPath;
40
+ private authData;
40
41
  readonly accessories: PlatformAccessory[];
41
42
  constructor(log: Logger, config: PlatformConfig, api: API);
43
+ /**
44
+ * @inheritdoc
45
+ */
46
+ getRefreshData(): Promise<RefreshData>;
47
+ /**
48
+ * @inheritdoc
49
+ */
50
+ putAuthData(data: AuthData): Promise<void>;
42
51
  /**
43
52
  * @inheritdoc
44
53
  */
@@ -64,7 +73,7 @@ export declare class SmartThingsPlatform implements DynamicPlatformPlugin {
64
73
  * @param tvDeviceTypes the array of configured TV device types
65
74
  * @param soundbarDeviceTypes the array of configured SoundBar device types
66
75
  */
67
- discoverDevices(token: string, deviceBlocklist: [string], deviceMappings: [DeviceMapping], tvDeviceTypes: [string], soundbarDeviceTypes: [string]): Promise<void>;
76
+ discoverDevices(authenticator: Authenticator, deviceBlocklist: [string], deviceMappings: [DeviceMapping], tvDeviceTypes: [string], soundbarDeviceTypes: [string]): Promise<void>;
68
77
  /**
69
78
  * Registers a SmartThings Device for Homebridge.
70
79
  *
@@ -1,11 +1,12 @@
1
1
  import { PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
2
2
  import { TvAccessory } from './tvAccessory.js';
3
- import { SmartThingsClient, BearerTokenAuthenticator } from '@smartthings/core-sdk';
3
+ import { SmartThingsClient, RefreshTokenAuthenticator, BearerTokenAuthenticator, } from '@smartthings/core-sdk';
4
4
  import { SwitchAccessory } from './switchAccessory.js';
5
5
  import { SliderAccessory } from './sliderAccessory.js';
6
6
  import { SoundbarAccessory } from './soundbarAccessory.js';
7
7
  import path from 'path';
8
8
  import fs from 'fs';
9
+ import axios from 'axios';
9
10
  /**
10
11
  * Class implements the configured Device to mac and ip address mappings.
11
12
  */
@@ -41,6 +42,7 @@ export class SmartThingsPlatform {
41
42
  Service;
42
43
  Characteristic;
43
44
  configPath = process.env.UIX_CONFIG_PATH || path.join('./', 'config.json');
45
+ authData;
44
46
  // this is used to track restored cached accessories
45
47
  accessories = [];
46
48
  constructor(log, config, api) {
@@ -62,9 +64,39 @@ export class SmartThingsPlatform {
62
64
  this.log.warn('Config property deviceBlacklist has been renamed to deviceBlocklist \
63
65
  - adjust your configuration because deviceBlacklist will be removed in future versions');
64
66
  }
65
- void this.discoverDevices(config.token, deviceBlocklist ?? [], config.deviceMappings ?? [], config.tvDeviceTypes ?? ['oic.d.tv', 'x.com.st.d.monitor'], config.soundbarDeviceTypes ?? ['oic.d.networkaudio']);
67
+ let authenticator = undefined;
68
+ switch (this.config.tokenType) {
69
+ case 'oauth':
70
+ authenticator = new RefreshTokenAuthenticator(config.oauthRefreshToken, this);
71
+ break;
72
+ case 'pat':
73
+ default:
74
+ authenticator = new BearerTokenAuthenticator(config.token);
75
+ }
76
+ this.discoverDevices(authenticator, deviceBlocklist ?? [], config.deviceMappings ?? [], config.tvDeviceTypes ?? ['oic.d.tv', 'x.com.st.d.monitor'], config.soundbarDeviceTypes ?? ['oic.d.networkaudio']);
66
77
  });
67
78
  }
79
+ /**
80
+ * @inheritdoc
81
+ */
82
+ async getRefreshData() {
83
+ const config = this.getPlatformConfig();
84
+ return {
85
+ refreshToken: this.authData?.refreshToken ?? config.oauthRefreshToken,
86
+ clientId: config.oauthClientId,
87
+ clientSecret: config.oauthClientSecret,
88
+ };
89
+ }
90
+ /**
91
+ * @inheritdoc
92
+ */
93
+ async putAuthData(data) {
94
+ this.log.debug('Updating auth data: %s', JSON.stringify(data, null, 4));
95
+ this.authData = data;
96
+ const config = this.getPlatformConfig();
97
+ config.oauthRefreshToken = data.refreshToken;
98
+ this.savePlatformConfig(config);
99
+ }
68
100
  /**
69
101
  * @inheritdoc
70
102
  */
@@ -113,8 +145,8 @@ export class SmartThingsPlatform {
113
145
  * @param tvDeviceTypes the array of configured TV device types
114
146
  * @param soundbarDeviceTypes the array of configured SoundBar device types
115
147
  */
116
- async discoverDevices(token, deviceBlocklist, deviceMappings, tvDeviceTypes, soundbarDeviceTypes) {
117
- const client = new SmartThingsClient(new BearerTokenAuthenticator(token));
148
+ async discoverDevices(authenticator, deviceBlocklist, deviceMappings, tvDeviceTypes, soundbarDeviceTypes) {
149
+ const client = new SmartThingsClient(authenticator);
118
150
  let externalAccessories = [];
119
151
  try {
120
152
  const devices = await client.devices.list();
@@ -133,7 +165,11 @@ export class SmartThingsPlatform {
133
165
  if (error instanceof Error) {
134
166
  errorMessage = error.message;
135
167
  }
136
- this.log.error('Error when getting devices: %s', errorMessage);
168
+ let statusCode = -1;
169
+ if (axios.isAxiosError(error)) {
170
+ statusCode = error.response?.status ?? -1;
171
+ }
172
+ this.log.error('Error when getting devices: [%s] %s', statusCode, errorMessage);
137
173
  }
138
174
  this.log.debug('Publishing %s external accessories', externalAccessories.length);
139
175
  this.api.publishExternalAccessories(PLUGIN_NAME, externalAccessories);
@@ -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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"}
@@ -2,6 +2,7 @@ import { wake } from 'wol';
2
2
  import ping from 'ping';
3
3
  import { SmartThingsAccessory } from './smartThingsAccessory.js';
4
4
  import { Apps } from './tvApps.js';
5
+ import axios from 'axios';
5
6
  /**
6
7
  * Class implements a SmartThings TV accessory.
7
8
  */
@@ -58,7 +59,11 @@ export class TvAccessory extends SmartThingsAccessory {
58
59
  if (error instanceof Error) {
59
60
  errorMessage = error.message;
60
61
  }
61
- this.logError('Registering capability \'%s\' failed: %s', reference.id, errorMessage);
62
+ let statusCode = -1;
63
+ if (axios.isAxiosError(error)) {
64
+ statusCode = error.response?.status ?? -1;
65
+ }
66
+ this.logError('Registering capability \'%s\' failed: [%s] %s', reference.id, statusCode, errorMessage);
62
67
  }
63
68
  }
64
69
  if (this.registerApplications && this.validateApplications && this.inputSourceServices.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"tvAccessory.js","sourceRoot":"","sources":["../src/tvAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tvAccessory.js","sourceRoot":"","sources":["../src/tvAccessory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,294 @@
1
+ <div class="container">
2
+ <div id="pat-warning" class="alert alert-warning" role="alert" style="display:none">
3
+ You're using personal access tokens (PAT) to access the SmartThings API. As Samsung made some
4
+ <a href="https://community.smartthings.com/t/changes-to-personal-access-tokens-pat/292019" target="_blank">major
5
+ changes</a> to usage of PATs at then end of 2024 the usage of PATs is not recommended anymore. Please
6
+ consider switching to OAuth for authentication.
7
+ </div>
8
+
9
+ <div id="oauth-start" class="alert alert-info" role="info" style="display:none">
10
+ To simplify setup of OAuth please use the following button to start a wizard that guides you through the
11
+ setup. This wizard can also be used if token has unexpectedly expired.<br>
12
+ <button class="btn btn-primary" onclick="showWizard()">Open OAuth wizard</button>
13
+ </div>
14
+
15
+ <div id="wizard" style="display:none">
16
+ <h2 class="mb-4">OAuth Setup Wizard</h2>
17
+ <div class="nav nav-pills mb-3" id="wizardNav">
18
+ <a class="nav-link active" data-target="#step1">SmartThings App</a>
19
+ <a class="nav-link" data-target="#step2">Redirection</a>
20
+ <a class="nav-link" data-target="#step3">Authorization code</a>
21
+ <a class="nav-link" data-target="#step4">Authorization token</a>
22
+ </div>
23
+
24
+ <div class="tab-content">
25
+ <div class="tab-pane fade show active" id="step1">
26
+ <h4>SmartThings App</h4>
27
+ <p>To activate OAuth integration you have to create a SmartThings application. To do so use the
28
+ <a href="https://github.com/SmartThingsCommunity/smartthings-cli">smartthings-cli</a>.
29
+ To install the CLI use the installation steps from the
30
+ <a href="https://github.com/SmartThingsCommunity/smartthings-cli">documentation</a>.
31
+ </p>
32
+ <p>If installation succeeded use the
33
+ <a
34
+ href="https://github.com/SmartThingsCommunity/smartthings-cli?tab=readme-ov-file#smartthings-appscreate">apps:create
35
+ command</a>
36
+ to create a new application. While creating the application make sure you use the matching redirect
37
+ URL and scopes defined below.
38
+ </p>
39
+
40
+ <form id="step1Form">
41
+ <div class="form-group row">
42
+ <label for="oauth-redirect-url" class="col-sm-3 col-form-label font-weight-bold">OAuth redirect
43
+ URL</label>
44
+ <div class="col-sm-9">
45
+ <input type="oauth-redirect-url" class="form-control" id="oauth-redirect-url"
46
+ value="https://httpbin.org/get" readonly onfocus="this.removeAttribute('readonly');"
47
+ required>
48
+ <small class="form-text text-warning">
49
+ ⚠ You can customize the redirect URL if you want but it is recommended to keep the
50
+ default so you can stick to instructions in this wizard.
51
+ </small>
52
+ </div>
53
+ </div>
54
+
55
+ <div class="form-group row">
56
+ <label for="oauth-scopes" class="col-sm-3 col-form-label font-weight-bold">OAuth scopes</label>
57
+ <div class="col-sm-9">
58
+ <input type="oauth-scopes" class="form-control" id="oauth-scopes"
59
+ value="x:devices:* w:devices:* r:devices:*" readonly
60
+ onfocus="this.removeAttribute('readonly');" required>
61
+ <small class="form-text text-warning">
62
+ ⚠ You can customize the scopes if you want but it is recommended to keep the default
63
+ so you can stick to instructions in this wizard.
64
+ </small>
65
+ </div>
66
+ </div>
67
+
68
+ <div class="form-group row">
69
+ <label for="oauth-client-id" class="col-sm-3 col-form-label font-weight-bold">OAuth client
70
+ id</label>
71
+ <div class="col-sm-9">
72
+ <input type="oauth-client-id" class="form-control" id="oauth-client-id"
73
+ placeholder="Paste the OAuth client id" required>
74
+ </div>
75
+ </div>
76
+
77
+ <div class="form-group row">
78
+ <label for="oauth-client-secret" class="col-sm-3 col-form-label font-weight-bold">OAuth client
79
+ secret</label>
80
+ <div class="col-sm-9">
81
+ <input type="oauth-client-secret" class="form-control" id="oauth-client-secret"
82
+ placeholder="Paste the OAuth client secret" required>
83
+ </div>
84
+ </div>
85
+ </form>
86
+
87
+ <button class="btn btn-primary next" onclick="validateStep1()">Next</button>
88
+ </div>
89
+ <div class="tab-pane fade" id="step2">
90
+ <h4>Redirection</h4>
91
+ <p>You will now be redirected to login at SmartThings home page where you have to select desired
92
+ location and confirm access for selected scopes.</p>
93
+ <p>Afterwards you will be redirected to httpbin. This page will show the OAuth response that is needed
94
+ for continuing. To do so paste the <b>args.code</b> value in next step of the wizard.</p>
95
+
96
+ <button class="btn btn-secondary prev" onclick="prevStep()">Back</button>
97
+ <button class="btn btn-primary next" onclick="validateStep2()">Next</button>
98
+ </div>
99
+ <div class="tab-pane fade" id="step3">
100
+ <h4>Authorization code</h4>
101
+ <p>Do now paste <b>args.code</b> value shown at httpbin below.</p>
102
+
103
+ <form id="step3Form">
104
+ <div class="form-group row">
105
+ <label for="oauth-code" class="col-sm-3 col-form-label font-weight-bold">Authorization
106
+ code</label>
107
+ <div class="col-sm-9">
108
+ <input type="oauth-code" class="form-control" id="oauth-code"
109
+ placeholder="Paste the Authorization code" required>
110
+ </div>
111
+ </div>
112
+ </form>
113
+
114
+ <button class="btn btn-secondary prev" onclick="prevStep()">Back</button>
115
+ <button class="btn btn-primary next" onclick="validateStep3()">Next</button>
116
+ </div>
117
+ <div class="tab-pane fade" id="step4">
118
+ <h4>Authorization token</h4>
119
+
120
+ <p>Your access and refresh token will now be requested and set automatically.</p>
121
+ <p>When tokens have been filled in OAuth setup has been successful and you will be redirected to main
122
+ config page.</p>
123
+
124
+ <form id="step4Form">
125
+ <div class="form-group row">
126
+ <label for="oauth-access-token" class="col-sm-3 col-form-label font-weight-bold">OAuth access
127
+ token</label>
128
+ <div class="col-sm-9">
129
+ <input type="oauth-access-token" class="form-control" id="oauth-access-token"
130
+ placeholder="OAuth access token" required readonly>
131
+ </div>
132
+ </div>
133
+
134
+ <div class="form-group row">
135
+ <label for="oauth-refresh-token" class="col-sm-3 col-form-label font-weight-bold">OAuth refresh
136
+ token</label>
137
+ <div class="col-sm-9">
138
+ <input type="oauth-refresh-token" class="form-control" id="oauth-refresh-token"
139
+ placeholder="OAuth refresh token" required readonly>
140
+ </div>
141
+ </div>
142
+ </form>
143
+
144
+ <button class="btn btn-secondary prev" onclick="prevStep()">Back</button>
145
+ <button class="btn btn-success" onclick="validateStep4()">Submit</button>
146
+ </div>
147
+ </div>
148
+ </div>
149
+ </div>
150
+
151
+ <script>
152
+ function showWizard() {
153
+ homebridge.disableSaveButton();
154
+ homebridge.hideSchemaForm();
155
+ document.getElementById('wizard').style.display = "block";
156
+ document.getElementById('oauth-start').style.display = "none";
157
+ document.getElementById('pat-warning').style.display = "none";
158
+ }
159
+
160
+ function hideWizard() {
161
+ homebridge.enableSaveButton();
162
+ homebridge.showSchemaForm();
163
+ document.getElementById('wizard').style.display = "none";
164
+ document.getElementById('oauth-start').style.display = "block";
165
+ document.getElementById('pat-warning').style.display = "none";
166
+ }
167
+
168
+ async function updateUi() {
169
+ const pluginConfig = await homebridge.getPluginConfig();
170
+ switch (pluginConfig[0].tokenType) {
171
+ case "oauth":
172
+ homebridge.showSchemaForm();
173
+ document.getElementById('wizard').style.display = "none";
174
+ document.getElementById('oauth-start').style.display = "block";
175
+ document.getElementById('pat-warning').style.display = "none";
176
+ break;
177
+
178
+ case "pat":
179
+ default:
180
+ homebridge.showSchemaForm();
181
+ document.getElementById('wizard').style.display = "none";
182
+ document.getElementById('oauth-start').style.display = "none";
183
+ document.getElementById('pat-warning').style.display =
184
+ pluginConfig[0].disablePatWarning === true ? "none" : "block";
185
+ break;
186
+ }
187
+
188
+ document.getElementById('oauth-client-id').value = pluginConfig[0].oauthClientId ?? '';
189
+ document.getElementById('oauth-client-secret').value = pluginConfig[0].oauthClientSecret ?? '';
190
+ }
191
+
192
+ function validateStep(id) {
193
+ var form = document.getElementById(id);
194
+ if (form.checkValidity() === false) {
195
+ form.classList.add('was-validated');
196
+ return false;
197
+ } else {
198
+ nextStep();
199
+ return true;
200
+ }
201
+ }
202
+
203
+ async function validateStep1() {
204
+ if (validateStep('step1Form')) {
205
+ const pluginConfig = await homebridge.getPluginConfig();
206
+ pluginConfig[0].oauthClientId = document.getElementById('oauth-client-id').value;
207
+ pluginConfig[0].oauthClientSecret = document.getElementById('oauth-client-secret').value;
208
+
209
+ await homebridge.updatePluginConfig(pluginConfig);
210
+ }
211
+ }
212
+
213
+ async function validateStep2() {
214
+ nextStep();
215
+ requestAuthCode();
216
+ }
217
+
218
+ async function validateStep3() {
219
+ if (validateStep('step3Form')) {
220
+ homebridge.showSpinner();
221
+
222
+ try {
223
+ await requestAuthToken();
224
+ } catch {
225
+ homebridge.toast.error("Could not request authorization token");
226
+ } finally {
227
+ homebridge.hideSpinner();
228
+ }
229
+ }
230
+ }
231
+
232
+ async function validateStep4() {
233
+ if (validateStep('step4Form')) {
234
+ const pluginConfig = await homebridge.getPluginConfig();
235
+ pluginConfig[0].oauthRefreshToken = document.getElementById('oauth-refresh-token').value;
236
+
237
+ await homebridge.updatePluginConfig(pluginConfig);
238
+ await homebridge.savePluginConfig();
239
+
240
+ homebridge.toast.success("Restart Homebridge to apply the changes.", "OAuth Config Saved");
241
+
242
+ hideWizard();
243
+ updateUi();
244
+ }
245
+ }
246
+
247
+ function nextStep() {
248
+ let activeTab = document.querySelector('.nav-pills .active');
249
+ let nextTab = activeTab.nextElementSibling;
250
+ if (nextTab) changeTab(nextTab);
251
+ }
252
+
253
+ function prevStep() {
254
+ let activeTab = document.querySelector('.nav-pills .active');
255
+ let prevTab = activeTab.previousElementSibling;
256
+ if (prevTab) changeTab(prevTab);
257
+ }
258
+
259
+ function changeTab(targetTab) {
260
+ document.querySelector('.nav-pills .active').classList.remove('active');
261
+ document.querySelector('.tab-pane.show').classList.remove('show', 'active');
262
+
263
+ targetTab.classList.add('active');
264
+ document.querySelector(targetTab.getAttribute('data-target')).classList.add('show', 'active');
265
+ }
266
+
267
+ async function requestAuthCode() {
268
+ const authUrl = await homebridge.request('/authCode', {
269
+ clientId: document.getElementById('oauth-client-id').value,
270
+ clientSecret: document.getElementById('oauth-client-secret').value,
271
+ redirectUrl: document.getElementById('oauth-redirect-url').value,
272
+ scopes: document.getElementById('oauth-scopes').value
273
+ });
274
+
275
+ window.open(authUrl, "_blank");
276
+ }
277
+
278
+ async function requestAuthToken() {
279
+ const authToken = await homebridge.request('/authToken', {
280
+ code: document.getElementById('oauth-code').value,
281
+ redirectUrl: document.getElementById('oauth-redirect-url').value,
282
+ scopes: document.getElementById('oauth-scopes').value
283
+ });
284
+
285
+ document.getElementById('oauth-access-token').value = authToken.access_token;
286
+ document.getElementById('oauth-refresh-token').value = authToken.refresh_token;
287
+ }
288
+
289
+ updateUi();
290
+
291
+ window.homebridge.addEventListener('configChanged', (event) => {
292
+ updateUi();
293
+ });
294
+ </script>
@@ -0,0 +1,51 @@
1
+ import { HomebridgePluginUiServer, RequestError } from '@homebridge/plugin-ui-utils';
2
+ import { AuthorizationCode } from 'simple-oauth2';
3
+
4
+ class UiServer extends HomebridgePluginUiServer {
5
+ constructor () {
6
+ super();
7
+
8
+ this.onRequest('/authCode', this.authCode.bind(this));
9
+ this.onRequest('/authToken', this.authToken.bind(this));
10
+
11
+ this.client = undefined;
12
+
13
+ this.ready();
14
+ }
15
+
16
+ async authCode(config){
17
+ const params = {
18
+ client: {
19
+ id: config.clientId,
20
+ secret: config.clientSecret,
21
+ },
22
+ auth: {
23
+ tokenHost: 'https://api.smartthings.com',
24
+ tokenPath: '/oauth/token',
25
+ authorizePath: '/oauth/authorize',
26
+ },
27
+ };
28
+
29
+ this.client = new AuthorizationCode(params);
30
+ return this.client.authorizeURL({
31
+ redirect_uri: config.redirectUrl,
32
+ scope: config.scopes,
33
+ });
34
+ }
35
+
36
+ async authToken(config){
37
+ try {
38
+ return await this.client.getToken({
39
+ code: config.code,
40
+ redirect_uri: config.redirectUrl,
41
+ scope: config.scopes,
42
+ });
43
+ } catch (err) {
44
+ throw new RequestError(err.message);
45
+ }
46
+ }
47
+ }
48
+
49
+ (() => {
50
+ return new UiServer;
51
+ })();
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "displayName": "Homebridge SmartThings TV",
3
3
  "name": "@o-lukas/homebridge-smartthings-tv",
4
4
  "type": "module",
5
- "version": "2.5.0",
5
+ "version": "2.6.0-next.2",
6
6
  "description": "This is a plugin for Homebridge. It offers some basic functions to control Samsung TVs using the SmartThings API.",
7
7
  "author": "o-lukas",
8
8
  "license": "MIT",
@@ -38,8 +38,10 @@
38
38
  "semantic-release": "semantic-release"
39
39
  },
40
40
  "dependencies": {
41
+ "@homebridge/plugin-ui-utils": "^2.0.1",
41
42
  "@smartthings/core-sdk": "^8.3.2",
42
43
  "ping": "^0.4.4",
44
+ "simple-oauth2": "^5.1.0",
43
45
  "wol": "^1.0.7"
44
46
  },
45
47
  "devDependencies": {