homebridge-nest-accfactory 0.2.9 → 0.2.11
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/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `homebridge-nest-accfactory` will be documented in this file. This project tries to adhere to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
|
5
|
-
## v0.2.
|
|
5
|
+
## v0.2.11 (2025/04/17)
|
|
6
|
+
|
|
7
|
+
- General code cleanup and bug fixes
|
|
8
|
+
|
|
9
|
+
## v0.2.9 (2025/03/23)
|
|
6
10
|
|
|
7
11
|
- General code cleanup and bug fixes
|
|
8
12
|
- Support for Nest Protect(s) in Google Home app
|
package/config.schema.json
CHANGED
|
@@ -15,6 +15,9 @@
|
|
|
15
15
|
"title": "Nest Account",
|
|
16
16
|
"type": "object",
|
|
17
17
|
"expandable": true,
|
|
18
|
+
"expanded": {
|
|
19
|
+
"functionBody": "return model.nest && model.nest.access_token"
|
|
20
|
+
},
|
|
18
21
|
"properties": {
|
|
19
22
|
"access_token": {
|
|
20
23
|
"title": "Access Token",
|
|
@@ -36,6 +39,9 @@
|
|
|
36
39
|
"title": "Google Account",
|
|
37
40
|
"type": "object",
|
|
38
41
|
"expandable": true,
|
|
42
|
+
"expanded": {
|
|
43
|
+
"functionBody": "return model.google && model.google.issuetoken && model.google.cookie"
|
|
44
|
+
},
|
|
39
45
|
"properties": {
|
|
40
46
|
"issuetoken": {
|
|
41
47
|
"title": "Issue Token",
|
|
@@ -57,12 +63,13 @@
|
|
|
57
63
|
"functionBody": "return model.google.issuetoken && model.google.cookie"
|
|
58
64
|
}
|
|
59
65
|
}
|
|
60
|
-
}
|
|
66
|
+
}
|
|
61
67
|
},
|
|
62
68
|
"options": {
|
|
63
69
|
"title": "Options",
|
|
64
70
|
"type": "object",
|
|
65
71
|
"expandable": true,
|
|
72
|
+
"expanded": true,
|
|
66
73
|
"properties": {
|
|
67
74
|
"eveHistory": {
|
|
68
75
|
"title": "EveHome History",
|
|
@@ -211,47 +211,6 @@ message UpdateTraitsResponse {
|
|
|
211
211
|
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
message GetAssistantDeviceSettingsResponse {
|
|
215
|
-
message Message1 {
|
|
216
|
-
uint32 num1 = 1;
|
|
217
|
-
uint32 num2 = 2;
|
|
218
|
-
uint32 num4 = 4;
|
|
219
|
-
uint32 num5 = 5;
|
|
220
|
-
uint32 num6 = 6;
|
|
221
|
-
string string10 = 10;
|
|
222
|
-
}
|
|
223
|
-
Message1 message1 = 1;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
message UpdateAssistantDeviceSettingsRequest {
|
|
227
|
-
string string1 = 1;
|
|
228
|
-
|
|
229
|
-
message DeviceInfo {
|
|
230
|
-
string device_id = 1;
|
|
231
|
-
|
|
232
|
-
message ProjectInfo {
|
|
233
|
-
string api_project_id = 1;
|
|
234
|
-
string string2 = 2;
|
|
235
|
-
}
|
|
236
|
-
ProjectInfo project_info = 2;
|
|
237
|
-
}
|
|
238
|
-
DeviceInfo device_info = 2;
|
|
239
|
-
|
|
240
|
-
message UpdateData {
|
|
241
|
-
message Message1 {
|
|
242
|
-
uint32 youtube_restricted_mode = 4; // 1=off, 2=on
|
|
243
|
-
uint32 youtube_tv_content_filter = 5; // 1=off, 2=on
|
|
244
|
-
string locale = 10; // local like "en-US"
|
|
245
|
-
}
|
|
246
|
-
Message1 message1 = 1;
|
|
247
|
-
}
|
|
248
|
-
UpdateData update_data = 3;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
message UpdateAssistantDeviceSettingsResponse {
|
|
252
|
-
string string1 = 1;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
214
|
service StructuresService {
|
|
256
215
|
rpc GetHomeGraph(GetHomeGraphRequest) returns (GetHomeGraphResponse);
|
|
257
216
|
}
|
|
@@ -265,8 +224,3 @@ service CameraService {
|
|
|
265
224
|
service HomeControlService {
|
|
266
225
|
rpc UpdateTraits(UpdateTraitsRequest) returns (UpdateTraitsResponse);
|
|
267
226
|
}
|
|
268
|
-
|
|
269
|
-
service HomeDevicesService {
|
|
270
|
-
rpc GetAssistantDeviceSettings (GetAssistantDeviceSettingsRequest) returns (stream GetAssistantDeviceSettingsResponse);
|
|
271
|
-
rpc UpdateAssistantDeviceSettings (UpdateAssistantDeviceSettingsRequest) returns (stream UpdateAssistantDeviceSettingsResponse);
|
|
272
|
-
}
|
package/dist/streamer.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
//
|
|
18
18
|
// blankAudio - Buffer containing a blank audio segment for the type of audio being used
|
|
19
19
|
//
|
|
20
|
-
// Code version 2025/03/
|
|
20
|
+
// Code version 2025/03/25
|
|
21
21
|
// Mark Hulskamp
|
|
22
22
|
'use strict';
|
|
23
23
|
|
|
@@ -273,7 +273,7 @@ export default class Streamer {
|
|
|
273
273
|
}
|
|
274
274
|
|
|
275
275
|
// If we have no more output streams active, we'll close the connection
|
|
276
|
-
if (
|
|
276
|
+
if (this.haveOutputs() === false && typeof this.close === 'function') {
|
|
277
277
|
this.close();
|
|
278
278
|
}
|
|
279
279
|
}
|
|
@@ -286,7 +286,7 @@ export default class Streamer {
|
|
|
286
286
|
}
|
|
287
287
|
|
|
288
288
|
// If we have no more output streams active, we'll close the connection
|
|
289
|
-
if (
|
|
289
|
+
if (this.haveOutputs() === false && typeof this.close === 'function') {
|
|
290
290
|
this.close();
|
|
291
291
|
}
|
|
292
292
|
}
|
|
@@ -298,13 +298,13 @@ export default class Streamer {
|
|
|
298
298
|
}
|
|
299
299
|
|
|
300
300
|
// If we have no more output streams active, we'll close the connection
|
|
301
|
-
if (
|
|
301
|
+
if (this.haveOutputs() === false && typeof this.close === 'function') {
|
|
302
302
|
this.close();
|
|
303
303
|
}
|
|
304
304
|
}
|
|
305
305
|
|
|
306
306
|
stopEverything() {
|
|
307
|
-
if (
|
|
307
|
+
if (this.haveOutputs() === true) {
|
|
308
308
|
this?.log?.debug && this.log.debug('Stopped buffering, live and recording from uuid "%s"', this.uuid);
|
|
309
309
|
this.#outputs = {}; // No more outputs
|
|
310
310
|
if (typeof this.close === 'function') {
|
|
@@ -323,8 +323,8 @@ export default class Streamer {
|
|
|
323
323
|
if (this.uuid !== deviceData?.nest_google_uuid) {
|
|
324
324
|
this.uuid = deviceData?.nest_google_uuid;
|
|
325
325
|
|
|
326
|
-
if (
|
|
327
|
-
// Since the uuid has change and a streamer may use this, if there any any active
|
|
326
|
+
if (this.haveOutputs() === true) {
|
|
327
|
+
// Since the uuid has change and a streamer may use this, if there any any active outputs, close and connect again
|
|
328
328
|
if (typeof this.close === 'function') {
|
|
329
329
|
this.close();
|
|
330
330
|
}
|
|
@@ -343,11 +343,15 @@ export default class Streamer {
|
|
|
343
343
|
this.online = deviceData?.online === true;
|
|
344
344
|
this.videoEnabled = deviceData?.streaming_enabled === true;
|
|
345
345
|
this.audioEnabled = deviceData?.audio_enabled === true;
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
346
|
+
|
|
347
|
+
if (this.haveOutputs() === true) {
|
|
348
|
+
// Since online, video, audio enabled status has changed, if there any any active outputs, close and connect again
|
|
349
|
+
if ((this.online === false || this.videoEnabled === false || this.audioEnabled === false) && typeof this.close === 'function') {
|
|
350
|
+
this.close(); // as offline or streaming not enabled, close streamer
|
|
351
|
+
}
|
|
352
|
+
if (this.online === true && this.videoEnabled === true && this.connected === undefined && typeof this.connect === 'function') {
|
|
353
|
+
this.connect(); // Connect for stream
|
|
354
|
+
}
|
|
351
355
|
}
|
|
352
356
|
}
|
|
353
357
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "homebridge-nest-accfactory",
|
|
3
3
|
"displayName": "Nest Accfactory",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "0.2.
|
|
5
|
+
"version": "0.2.11",
|
|
6
6
|
"description": "Homebridge support for Nest/Google devices including HomeKit Secure Video (HKSV) support for doorbells and cameras",
|
|
7
7
|
"author": "n0rt0nthec4t",
|
|
8
8
|
"license": "Apache-2.0",
|
|
@@ -51,19 +51,19 @@
|
|
|
51
51
|
"prepublishOnly": "npm run lint && npm run build"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@eslint/js": "^9.
|
|
54
|
+
"@eslint/js": "^9.24.0",
|
|
55
55
|
"@stylistic/eslint-plugin": "^4.2.0",
|
|
56
|
-
"@types/node": "^22.
|
|
57
|
-
"@typescript-eslint/parser": "^8.
|
|
56
|
+
"@types/node": "^22.14.1",
|
|
57
|
+
"@typescript-eslint/parser": "^8.30.1",
|
|
58
58
|
"copyfiles": "^2.4.1",
|
|
59
|
-
"eslint": "^9.
|
|
59
|
+
"eslint": "^9.24.0",
|
|
60
60
|
"homebridge": "^2.0.0-beta.0",
|
|
61
61
|
"prettier": "^3.5.3",
|
|
62
|
-
"prettier-eslint": "^16.3.
|
|
62
|
+
"prettier-eslint": "^16.3.2",
|
|
63
63
|
"rimraf": "^6.0.1"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"protobufjs": "^7.
|
|
66
|
+
"protobufjs": "^7.5.0",
|
|
67
67
|
"werift": "^0.22.1",
|
|
68
68
|
"ws": "^8.18.1"
|
|
69
69
|
}
|