homebridge-eufy-security 4.4.2-beta.42 → 4.4.2-beta.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/platform.js +37 -17
- package/dist/platform.js.map +1 -1
- package/dist/version.js +1 -1
- package/homebridge-ui/public/style.css +7 -21
- package/homebridge-ui/public/views/dashboard.js +8 -2
- package/homebridge-ui/public/views/device-detail.js +15 -10
- package/homebridge-ui/public/views/login.js +34 -32
- package/homebridge-ui/server.js +74 -3
- package/package.json +1 -1
package/dist/platform.js
CHANGED
|
@@ -155,38 +155,58 @@ export class EufySecurityPlatform {
|
|
|
155
155
|
log.info('log file storage will be omitted.');
|
|
156
156
|
return;
|
|
157
157
|
}
|
|
158
|
-
// Log streams configuration
|
|
159
|
-
const
|
|
158
|
+
// Log streams configuration: main log keeps file info, lib logs omit it
|
|
159
|
+
const logStreamsWithFile = [
|
|
160
160
|
{ name: 'eufy-security.log', logger: log },
|
|
161
161
|
{ name: 'ffmpeg.log', logger: ffmpegLogger },
|
|
162
|
+
];
|
|
163
|
+
const logStreamsWithoutFile = [
|
|
162
164
|
{ name: 'eufy-lib.log', logger: tsLogger },
|
|
163
165
|
];
|
|
164
|
-
|
|
165
|
-
for
|
|
166
|
-
|
|
166
|
+
const parentName = log.settings.name;
|
|
167
|
+
// Attach transports for logs that include file info (eufy-security, ffmpeg)
|
|
168
|
+
for (const { name, logger } of logStreamsWithFile) {
|
|
169
|
+
const logStream = createStream(name, {
|
|
170
|
+
path: this.eufyPath,
|
|
171
|
+
interval: '1d',
|
|
172
|
+
rotate: 3,
|
|
173
|
+
maxSize: '200M',
|
|
174
|
+
});
|
|
175
|
+
logger.attachTransport((logObj) => {
|
|
176
|
+
const meta = logObj['_meta'];
|
|
177
|
+
const loggerName = meta.name || parentName;
|
|
178
|
+
const level = meta.logLevelName;
|
|
179
|
+
const date = meta.date.toISOString();
|
|
180
|
+
const fileNameWithLine = meta.path?.fileNameWithLine || '';
|
|
181
|
+
let message = '';
|
|
182
|
+
for (let i = 0; i <= 5; i++) {
|
|
183
|
+
if (logObj[i]) {
|
|
184
|
+
message += ' ' + (typeof logObj[i] === 'string' ? logObj[i] : JSON.stringify(logObj[i]));
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
logStream.write(date + '\t' + loggerName + '\t' + level + '\t' + fileNameWithLine + '\t' + message + '\n');
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
// Attach transports for lib logs (no file column)
|
|
191
|
+
for (const { name, logger } of logStreamsWithoutFile) {
|
|
167
192
|
const logStream = createStream(name, {
|
|
168
|
-
path: this.eufyPath,
|
|
169
|
-
interval: '1d',
|
|
170
|
-
rotate: 3,
|
|
171
|
-
maxSize: '200M',
|
|
193
|
+
path: this.eufyPath,
|
|
194
|
+
interval: '1d',
|
|
195
|
+
rotate: 3,
|
|
196
|
+
maxSize: '200M',
|
|
172
197
|
});
|
|
173
|
-
// Attach a transport function to write log messages to the log stream
|
|
174
198
|
logger.attachTransport((logObj) => {
|
|
175
199
|
const meta = logObj['_meta'];
|
|
176
|
-
const
|
|
200
|
+
const loggerName = meta.name;
|
|
177
201
|
const level = meta.logLevelName;
|
|
178
202
|
const date = meta.date.toISOString();
|
|
179
|
-
const fileNameWithLine = meta.path?.fileNameWithLine || 'UNKNOWN_FILE';
|
|
180
|
-
// Initialize the message
|
|
181
203
|
let message = '';
|
|
182
|
-
// Loop through logObj from index 0 to 5 and append values to the message
|
|
183
204
|
for (let i = 0; i <= 5; i++) {
|
|
184
205
|
if (logObj[i]) {
|
|
185
|
-
message += ' ' + typeof logObj[i] === 'string' ? logObj[i] : JSON.stringify(logObj[i]);
|
|
206
|
+
message += ' ' + (typeof logObj[i] === 'string' ? logObj[i] : JSON.stringify(logObj[i]));
|
|
186
207
|
}
|
|
187
208
|
}
|
|
188
|
-
|
|
189
|
-
logStream.write(date + '\t' + name + '\t' + level + '\t' + fileNameWithLine + '\t' + message + '\n');
|
|
209
|
+
logStream.write(date + '\t' + loggerName + '\t' + level + '\t' + message + '\n');
|
|
190
210
|
});
|
|
191
211
|
}
|
|
192
212
|
}
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const LIB_VERSION = "4.4.2-beta.
|
|
1
|
+
export const LIB_VERSION = "4.4.2-beta.43";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -394,21 +394,12 @@
|
|
|
394
394
|
margin: 0px auto;
|
|
395
395
|
}
|
|
396
396
|
|
|
397
|
-
.login-
|
|
398
|
-
|
|
399
|
-
box-shadow: var(--eufy-card-shadow);
|
|
400
|
-
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
.login-card .card-header {
|
|
404
|
-
background: transparent;
|
|
405
|
-
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
|
|
397
|
+
.login-section-title {
|
|
398
|
+
font-size: 1.2rem;
|
|
406
399
|
font-weight: 600;
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
.login-card .card-body {
|
|
411
|
-
padding: 24px 20px;
|
|
400
|
+
margin-bottom: 16px;
|
|
401
|
+
padding-bottom: 12px;
|
|
402
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
|
|
412
403
|
}
|
|
413
404
|
|
|
414
405
|
/* ===== Detail View ===== */
|
|
@@ -659,13 +650,8 @@ body.dark-mode .detail-header {
|
|
|
659
650
|
border-bottom-color: rgba(255, 255, 255, 0.1);
|
|
660
651
|
}
|
|
661
652
|
|
|
662
|
-
body.dark-mode .login-
|
|
663
|
-
border-color: rgba(255, 255, 255, 0.1);
|
|
664
|
-
background: rgba(255, 255, 255, 0.05);
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
body.dark-mode .login-card .card-header {
|
|
668
|
-
border-bottom-color: rgba(255, 255, 255, 0.08);
|
|
653
|
+
body.dark-mode .login-section-title {
|
|
654
|
+
border-bottom-color: rgba(255, 255, 255, 0.1);
|
|
669
655
|
}
|
|
670
656
|
|
|
671
657
|
body.dark-mode .settings-section {
|
|
@@ -82,8 +82,14 @@ const DashboardView = {
|
|
|
82
82
|
container.insertAdjacentHTML('beforeend', `
|
|
83
83
|
<div class="text-center text-muted py-5">
|
|
84
84
|
<div style="font-size: 2rem; margin-bottom: 12px;">${Helpers.iconHtml('inventory.svg', 32)}</div>
|
|
85
|
-
<p>
|
|
86
|
-
<
|
|
85
|
+
<p><strong>Your account is connected but no devices were found.</strong></p>
|
|
86
|
+
<p style="font-size: 0.85rem; max-width: 480px; margin: 0 auto;">
|
|
87
|
+
If you are using a guest admin account, make sure you have:<br>
|
|
88
|
+
1. Logged into the <strong>official Eufy Security app</strong> with the guest account<br>
|
|
89
|
+
2. <strong>Accepted the invitation</strong> from the main account<br>
|
|
90
|
+
3. <strong>Logged out</strong> of the official app before refreshing here
|
|
91
|
+
</p>
|
|
92
|
+
<button class="btn btn-primary btn-sm mt-3" id="btn-go-login">Refresh Devices</button>
|
|
87
93
|
</div>
|
|
88
94
|
`);
|
|
89
95
|
container.querySelector('#btn-go-login').addEventListener('click', () => App.navigate('login'));
|
|
@@ -105,17 +105,16 @@ const DeviceDetailView = {
|
|
|
105
105
|
const ignoreDevices = config.ignoreDevices || [];
|
|
106
106
|
const isIgnored = ignoreDevices.includes(device.uniqueId);
|
|
107
107
|
|
|
108
|
-
// ──
|
|
109
|
-
const
|
|
110
|
-
|
|
108
|
+
// ── Enable in HomeKit (always visible) ──
|
|
109
|
+
const enableSection = document.createElement('div');
|
|
110
|
+
enableSection.className = 'detail-section';
|
|
111
111
|
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
const enableTitle = document.createElement('div');
|
|
113
|
+
enableTitle.className = 'detail-section__title';
|
|
114
|
+
enableTitle.textContent = 'Device Settings';
|
|
115
|
+
enableSection.appendChild(enableTitle);
|
|
116
116
|
|
|
117
|
-
|
|
118
|
-
Toggle.render(simpleSection, {
|
|
117
|
+
Toggle.render(enableSection, {
|
|
119
118
|
id: 'toggle-enable',
|
|
120
119
|
label: 'Enable in HomeKit',
|
|
121
120
|
help: 'When disabled, this device will not appear in the Home app.',
|
|
@@ -127,16 +126,22 @@ const DeviceDetailView = {
|
|
|
127
126
|
},
|
|
128
127
|
});
|
|
129
128
|
|
|
129
|
+
content.appendChild(enableSection);
|
|
130
|
+
|
|
130
131
|
// Wrapper for all settings below Enable toggle — hidden when device is ignored
|
|
131
132
|
const restSettings = document.createElement('div');
|
|
132
133
|
restSettings.id = 'device-rest-settings';
|
|
133
134
|
if (isIgnored) restSettings.style.display = 'none';
|
|
134
135
|
|
|
136
|
+
// ── Simple Settings ──
|
|
137
|
+
const simpleSection = document.createElement('div');
|
|
138
|
+
simpleSection.className = 'detail-section';
|
|
139
|
+
|
|
135
140
|
// Camera-specific simple settings
|
|
136
141
|
if (device.isCamera) {
|
|
137
142
|
Toggle.render(simpleSection, {
|
|
138
143
|
id: 'toggle-camera-enable',
|
|
139
|
-
label: '
|
|
144
|
+
label: 'Camera Feed',
|
|
140
145
|
help: 'Show camera feed in HomeKit. Disable to expose only sensors.',
|
|
141
146
|
checked: deviceConfig.enableCamera !== false,
|
|
142
147
|
onChange: async (checked) => {
|
|
@@ -49,10 +49,9 @@ const LoginView = {
|
|
|
49
49
|
|
|
50
50
|
// ===== Step 0: Welcome =====
|
|
51
51
|
_renderWelcome(wrap) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
body.innerHTML = `
|
|
52
|
+
this._sectionTitle(wrap, 'Welcome');
|
|
53
|
+
const body = wrap;
|
|
54
|
+
body.insertAdjacentHTML('beforeend', `
|
|
56
55
|
<div class="welcome-banner">
|
|
57
56
|
<div class="welcome-banner__title">Eufy Security for HomeKit</div>
|
|
58
57
|
<div class="welcome-banner__text">
|
|
@@ -85,7 +84,7 @@ const LoginView = {
|
|
|
85
84
|
Refresh Devices
|
|
86
85
|
</button>
|
|
87
86
|
</div>
|
|
88
|
-
|
|
87
|
+
`);
|
|
89
88
|
|
|
90
89
|
const ack1 = body.querySelector('#ack-guest-admin');
|
|
91
90
|
const ack2 = body.querySelector('#ack-stop-plugin');
|
|
@@ -212,8 +211,8 @@ const LoginView = {
|
|
|
212
211
|
|
|
213
212
|
// ===== Step 1: Credentials =====
|
|
214
213
|
_renderCredentials(wrap) {
|
|
215
|
-
|
|
216
|
-
const body =
|
|
214
|
+
this._sectionTitle(wrap, 'Sign In');
|
|
215
|
+
const body = wrap;
|
|
217
216
|
|
|
218
217
|
body.insertAdjacentHTML('beforeend', `
|
|
219
218
|
<div class="mb-3">
|
|
@@ -303,8 +302,8 @@ const LoginView = {
|
|
|
303
302
|
|
|
304
303
|
// ===== Step 2: TFA =====
|
|
305
304
|
_renderTFA(wrap) {
|
|
306
|
-
|
|
307
|
-
const body =
|
|
305
|
+
this._sectionTitle(wrap, 'Two-Factor Authentication');
|
|
306
|
+
const body = wrap;
|
|
308
307
|
|
|
309
308
|
body.insertAdjacentHTML('beforeend', `
|
|
310
309
|
<p class="text-muted" style="font-size: 0.85rem;">
|
|
@@ -345,8 +344,8 @@ const LoginView = {
|
|
|
345
344
|
|
|
346
345
|
// ===== Step 3: Captcha =====
|
|
347
346
|
_renderCaptcha(wrap) {
|
|
348
|
-
|
|
349
|
-
const body =
|
|
347
|
+
this._sectionTitle(wrap, 'Captcha Verification');
|
|
348
|
+
const body = wrap;
|
|
350
349
|
|
|
351
350
|
body.insertAdjacentHTML('beforeend', `
|
|
352
351
|
<p class="text-muted" style="font-size: 0.85rem;">
|
|
@@ -541,14 +540,27 @@ const LoginView = {
|
|
|
541
540
|
|
|
542
541
|
const stations = Array.isArray(payload) ? payload : (payload && payload.stations) || [];
|
|
543
542
|
const extended = payload && payload.extendedDiscovery;
|
|
543
|
+
const noDevices = payload && payload.noDevices;
|
|
544
|
+
|
|
545
|
+
// Save credentials even when no devices found — the account is valid
|
|
546
|
+
if (this._credentials) {
|
|
547
|
+
Config.updateGlobal(this._credentials).then(() => Config.save());
|
|
548
|
+
this._credentials = null;
|
|
549
|
+
}
|
|
544
550
|
|
|
545
|
-
// If no stations or no devices were discovered,
|
|
551
|
+
// If no stations or no devices were discovered, go to dashboard with empty state
|
|
546
552
|
const totalDevices = (stations || []).reduce((sum, s) => sum + (s.devices ? s.devices.length : 0), 0);
|
|
547
|
-
if (!stations || stations.length === 0 || totalDevices === 0) {
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
553
|
+
if (noDevices || !stations || stations.length === 0 || totalDevices === 0) {
|
|
554
|
+
progressBar.style.width = '100%';
|
|
555
|
+
progressBar.classList.remove('progress-bar-animated');
|
|
556
|
+
progressBar.classList.add('bg-warning');
|
|
557
|
+
statusEl.textContent = 'No devices found — redirecting to dashboard...';
|
|
558
|
+
|
|
559
|
+
setTimeout(() => {
|
|
560
|
+
App.state.stations = stations || [];
|
|
561
|
+
App.state.cacheDate = new Date().toISOString();
|
|
562
|
+
App.navigate('dashboard');
|
|
563
|
+
}, 1500);
|
|
552
564
|
return;
|
|
553
565
|
}
|
|
554
566
|
|
|
@@ -561,12 +573,6 @@ const LoginView = {
|
|
|
561
573
|
// Hide the warning area
|
|
562
574
|
warningEl.className = 'd-none';
|
|
563
575
|
|
|
564
|
-
// Auth fully complete — save credentials to config
|
|
565
|
-
if (this._credentials) {
|
|
566
|
-
Config.updateGlobal(this._credentials).then(() => Config.save());
|
|
567
|
-
this._credentials = null;
|
|
568
|
-
}
|
|
569
|
-
|
|
570
576
|
// Go to dashboard
|
|
571
577
|
setTimeout(() => {
|
|
572
578
|
App.state.stations = stations;
|
|
@@ -599,15 +605,11 @@ const LoginView = {
|
|
|
599
605
|
|
|
600
606
|
// ===== Helpers =====
|
|
601
607
|
|
|
602
|
-
|
|
603
|
-
const
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
<div class="card-body"></div>
|
|
608
|
-
`;
|
|
609
|
-
container.appendChild(card);
|
|
610
|
-
return card;
|
|
608
|
+
_sectionTitle(container, title) {
|
|
609
|
+
const header = document.createElement('div');
|
|
610
|
+
header.className = 'login-section-title';
|
|
611
|
+
header.textContent = title;
|
|
612
|
+
container.appendChild(header);
|
|
611
613
|
},
|
|
612
614
|
|
|
613
615
|
_showError(body, msg) {
|
package/homebridge-ui/server.js
CHANGED
|
@@ -40,6 +40,9 @@ class UiServer extends HomebridgePluginUiServer {
|
|
|
40
40
|
/** Seconds to wait after the last station/device event before processing. */
|
|
41
41
|
static DISCOVERY_DEBOUNCE_SEC = 15;
|
|
42
42
|
|
|
43
|
+
/** Seconds to wait after auth before giving up on device discovery. */
|
|
44
|
+
static DISCOVERY_INACTIVITY_SEC = 30;
|
|
45
|
+
|
|
43
46
|
config = {
|
|
44
47
|
username: '',
|
|
45
48
|
password: '',
|
|
@@ -72,7 +75,7 @@ class UiServer extends HomebridgePluginUiServer {
|
|
|
72
75
|
|
|
73
76
|
initLogger() {
|
|
74
77
|
const logOptions = {
|
|
75
|
-
name: `[
|
|
78
|
+
name: `[UI-${LIB_VERSION}]`, // Name prefix for log messages
|
|
76
79
|
prettyLogTemplate: '[{{mm}}/{{dd}}/{{yyyy}}, {{hh}}:{{MM}}:{{ss}}]\t{{name}}\t{{logLevelName}}\t', // Template for pretty log output
|
|
77
80
|
prettyErrorTemplate: '\n{{errorName}} {{errorMessage}}\nerror stack:\n{{errorStack}}', // Template for pretty error output
|
|
78
81
|
prettyErrorStackTemplate: ' • {{fileName}}\t{{method}}\n\t{{fileNameWithLine}}', // Template for error stack trace
|
|
@@ -146,7 +149,6 @@ class UiServer extends HomebridgePluginUiServer {
|
|
|
146
149
|
const logName = meta.name;
|
|
147
150
|
const level = meta.logLevelName;
|
|
148
151
|
const date = meta.date.toISOString();
|
|
149
|
-
const fileNameWithLine = meta.path?.fileNameWithLine || 'UNKNOWN_FILE';
|
|
150
152
|
|
|
151
153
|
let message = '';
|
|
152
154
|
for (let i = 0; i <= 5; i++) {
|
|
@@ -155,7 +157,7 @@ class UiServer extends HomebridgePluginUiServer {
|
|
|
155
157
|
}
|
|
156
158
|
}
|
|
157
159
|
|
|
158
|
-
logStream.write(date + '\t' + logName + '\t' + level + '\t' +
|
|
160
|
+
logStream.write(date + '\t' + logName + '\t' + level + '\t' + message + '\n');
|
|
159
161
|
});
|
|
160
162
|
}
|
|
161
163
|
|
|
@@ -386,9 +388,76 @@ class UiServer extends HomebridgePluginUiServer {
|
|
|
386
388
|
progress: 15,
|
|
387
389
|
message: 'Authenticated — waiting for devices...',
|
|
388
390
|
});
|
|
391
|
+
this._startDiscoveryInactivityTimeout();
|
|
389
392
|
});
|
|
390
393
|
}
|
|
391
394
|
|
|
395
|
+
/**
|
|
396
|
+
* Start the discovery inactivity timeout.
|
|
397
|
+
* If no station or device is discovered within DISCOVERY_INACTIVITY_SEC seconds
|
|
398
|
+
* after authentication, save the account and send an empty result to the UI.
|
|
399
|
+
*/
|
|
400
|
+
_startDiscoveryInactivityTimeout() {
|
|
401
|
+
// If stations or devices were already discovered before connect fired, skip
|
|
402
|
+
if (this.pendingStations.length > 0 || this.pendingDevices.length > 0) {
|
|
403
|
+
this.log.debug('Devices already discovered before connect event — skipping inactivity timeout');
|
|
404
|
+
return;
|
|
405
|
+
}
|
|
406
|
+
this._cancelDiscoveryInactivityTimeout();
|
|
407
|
+
const totalSec = UiServer.DISCOVERY_INACTIVITY_SEC;
|
|
408
|
+
const start = Date.now();
|
|
409
|
+
|
|
410
|
+
// Tick every second: progress 15 → 95 during the wait, with countdown
|
|
411
|
+
this._discoveryInactivityTickInterval = setInterval(() => {
|
|
412
|
+
const elapsed = Math.floor((Date.now() - start) / 1000);
|
|
413
|
+
const remaining = Math.max(0, totalSec - elapsed);
|
|
414
|
+
const pct = Math.min(95, 15 + Math.floor((elapsed / totalSec) * 80));
|
|
415
|
+
this.pushEvent('discoveryProgress', {
|
|
416
|
+
phase: 'waitingForDevices',
|
|
417
|
+
progress: pct,
|
|
418
|
+
message: `Authenticated — waiting for devices... ${remaining}s`,
|
|
419
|
+
});
|
|
420
|
+
}, 1000);
|
|
421
|
+
|
|
422
|
+
this._discoveryInactivityTimeout = setTimeout(() => {
|
|
423
|
+
clearInterval(this._discoveryInactivityTickInterval);
|
|
424
|
+
this._discoveryInactivityTickInterval = null;
|
|
425
|
+
this.log.warn(
|
|
426
|
+
`No stations or devices discovered within ${totalSec}s after authentication. ` +
|
|
427
|
+
'The account may have no devices or the guest invitation has not been accepted yet.',
|
|
428
|
+
);
|
|
429
|
+
this._discoveryPhase = 'done';
|
|
430
|
+
this.stations = [];
|
|
431
|
+
try {
|
|
432
|
+
this.storeAccessories();
|
|
433
|
+
} catch (error) {
|
|
434
|
+
this.log.error('Error storing empty accessories:', error);
|
|
435
|
+
}
|
|
436
|
+
this.pushEvent('discoveryProgress', {
|
|
437
|
+
phase: 'done',
|
|
438
|
+
progress: 100,
|
|
439
|
+
message: 'No devices found.',
|
|
440
|
+
});
|
|
441
|
+
this.pushEvent('addAccessory', { stations: [], noDevices: true });
|
|
442
|
+
this.eufyClient?.removeAllListeners();
|
|
443
|
+
this.eufyClient?.close();
|
|
444
|
+
}, totalSec * 1000);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* Cancel the discovery inactivity timeout (called when a station or device is discovered).
|
|
449
|
+
*/
|
|
450
|
+
_cancelDiscoveryInactivityTimeout() {
|
|
451
|
+
if (this._discoveryInactivityTickInterval) {
|
|
452
|
+
clearInterval(this._discoveryInactivityTickInterval);
|
|
453
|
+
this._discoveryInactivityTickInterval = null;
|
|
454
|
+
}
|
|
455
|
+
if (this._discoveryInactivityTimeout) {
|
|
456
|
+
clearTimeout(this._discoveryInactivityTimeout);
|
|
457
|
+
this._discoveryInactivityTimeout = null;
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
|
|
392
461
|
/**
|
|
393
462
|
* Parse a semver string into [major, minor, patch].
|
|
394
463
|
* @param {string} ver - e.g. '4.4.2-beta.18'
|
|
@@ -474,6 +543,7 @@ class UiServer extends HomebridgePluginUiServer {
|
|
|
474
543
|
return;
|
|
475
544
|
}
|
|
476
545
|
|
|
546
|
+
this._cancelDiscoveryInactivityTimeout();
|
|
477
547
|
this.pendingStations.push(station);
|
|
478
548
|
this.log.debug(`${station.getName()}: Station queued for processing`);
|
|
479
549
|
this._discoveryPhase = 'queuing';
|
|
@@ -499,6 +569,7 @@ class UiServer extends HomebridgePluginUiServer {
|
|
|
499
569
|
return;
|
|
500
570
|
}
|
|
501
571
|
|
|
572
|
+
this._cancelDiscoveryInactivityTimeout();
|
|
502
573
|
this.pendingDevices.push(device);
|
|
503
574
|
this.log.debug(`${device.getName()}: Device queued for processing`);
|
|
504
575
|
this._discoveryPhase = 'queuing';
|
package/package.json
CHANGED