homebridge-nest-accfactory 0.2.11 → 0.3.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.
Files changed (43) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +14 -7
  3. package/config.schema.json +118 -0
  4. package/dist/HomeKitDevice.js +203 -77
  5. package/dist/HomeKitHistory.js +1 -1
  6. package/dist/config.js +207 -0
  7. package/dist/devices.js +118 -0
  8. package/dist/index.js +2 -1
  9. package/dist/nexustalk.js +46 -48
  10. package/dist/{camera.js → plugins/camera.js} +216 -241
  11. package/dist/{doorbell.js → plugins/doorbell.js} +32 -30
  12. package/dist/plugins/floodlight.js +91 -0
  13. package/dist/plugins/heatlink.js +17 -0
  14. package/dist/{protect.js → plugins/protect.js} +26 -43
  15. package/dist/{tempsensor.js → plugins/tempsensor.js} +15 -19
  16. package/dist/{thermostat.js → plugins/thermostat.js} +426 -383
  17. package/dist/{weather.js → plugins/weather.js} +26 -60
  18. package/dist/protobuf/nest/services/apigateway.proto +31 -1
  19. package/dist/protobuf/nest/trait/firmware.proto +207 -89
  20. package/dist/protobuf/nest/trait/hvac.proto +1052 -312
  21. package/dist/protobuf/nest/trait/located.proto +51 -8
  22. package/dist/protobuf/nest/trait/network.proto +366 -36
  23. package/dist/protobuf/nest/trait/occupancy.proto +145 -17
  24. package/dist/protobuf/nest/trait/product/protect.proto +57 -43
  25. package/dist/protobuf/nest/trait/resourcedirectory.proto +8 -0
  26. package/dist/protobuf/nest/trait/sensor.proto +7 -1
  27. package/dist/protobuf/nest/trait/service.proto +3 -1
  28. package/dist/protobuf/nest/trait/structure.proto +60 -14
  29. package/dist/protobuf/nest/trait/ui.proto +41 -1
  30. package/dist/protobuf/nest/trait/user.proto +6 -1
  31. package/dist/protobuf/nest/trait/voiceassistant.proto +2 -1
  32. package/dist/protobuf/nestlabs/eventingapi/v1.proto +20 -1
  33. package/dist/protobuf/root.proto +1 -0
  34. package/dist/protobuf/wdl.proto +18 -2
  35. package/dist/protobuf/weave/common.proto +2 -1
  36. package/dist/protobuf/weave/trait/heartbeat.proto +41 -1
  37. package/dist/protobuf/weave/trait/power.proto +1 -0
  38. package/dist/protobuf/weave/trait/security.proto +10 -1
  39. package/dist/streamer.js +74 -78
  40. package/dist/system.js +1213 -1264
  41. package/dist/webrtc.js +39 -34
  42. package/package.json +11 -11
  43. package/dist/floodlight.js +0 -97
@@ -16,6 +16,9 @@ message StructureModeTrait {
16
16
  StructureMode activityAgnosticStructureMode = 7;
17
17
  google.protobuf.Timestamp activityAgnosticStructureModeEffectiveTime = 8;
18
18
  PrivateTraitHandlerState privateState = 9;
19
+ map<uint32, StructureModeBlame> blames = 10;
20
+ StructureModeActorMethod actorMethod = 11;
21
+ StructureModeBlame primaryBlame = 12;
19
22
 
20
23
  enum StructureMode {
21
24
  STRUCTURE_MODE_UNSPECIFIED = 0;
@@ -56,6 +59,28 @@ message StructureModeTrait {
56
59
  STRUCTURE_MODE_REASON_SCHEDULE = 7;
57
60
  }
58
61
 
62
+ enum StructureModeActorMethod {
63
+ STRUCTURE_MODE_ACTOR_METHOD_UNSPECIFIED = 0;
64
+ STRUCTURE_MODE_ACTOR_METHOD_LEGACY_NEST_APP = 1;
65
+ STRUCTURE_MODE_ACTOR_METHOD_GOOGLE_HOME_APP = 2;
66
+ STRUCTURE_MODE_ACTOR_METHOD_GOOGLE_ASSISTANT = 3;
67
+ }
68
+
69
+ enum UserBlameType {
70
+ USER_BLAME_TYPE_UNSPECIFIED = 0;
71
+ USER_BLAME_TYPE_PHONE_LOCATION = 1;
72
+ USER_BLAME_TYPE_MANUAL_CHANGE = 2;
73
+ }
74
+
75
+ enum DeviceBlameType {
76
+ DEVICE_BLAME_TYPE_UNSPECIFIED = 0;
77
+ DEVICE_BLAME_TYPE_LOCK = 1;
78
+ DEVICE_BLAME_TYPE_UNLOCK = 2;
79
+ DEVICE_BLAME_TYPE_MOTION_DETECTION = 3;
80
+ DEVICE_BLAME_TYPE_TOUCH_INTERACTION = 4;
81
+ DEVICE_BLAME_TYPE_VOICE_INTERACTION = 5;
82
+ }
83
+
59
84
  enum NonPropagatingChangeSourceType {
60
85
  NON_PROPAGATING_CHANGE_SOURCE_TYPE_UNSPECIFIED = 0;
61
86
  NON_PROPAGATING_CHANGE_SOURCE_TYPE_CZ = 1;
@@ -145,12 +170,32 @@ message StructureModeTrait {
145
170
  google.protobuf.Timestamp modeStickinessExpiration = 3;
146
171
  }
147
172
 
173
+ message UserBlame {
174
+ int64 gaiaId = 1;
175
+ UserBlameType blameType = 2;
176
+ }
177
+
178
+ message DeviceBlame {
179
+ string hgsDeviceId = 1;
180
+ DeviceBlameType blameType = 2;
181
+ }
182
+
183
+ message StructureModeBlame {
184
+ google.protobuf.Timestamp observedTimestamp = 1;
185
+ string payloadTypeUrl = 2;
186
+ string leafEventUrl = 3;
187
+ bytes payload = 4;
188
+ UserBlame userBlame = 5;
189
+ DeviceBlame deviceBlame = 6;
190
+ }
191
+
148
192
  message PrivateTraitHandlerState {
149
193
  bool isCzUpdateStateOk = 1;
150
194
  }
151
195
 
152
196
  message UserInfo {
153
197
  google.protobuf.StringValue rtsUserId = 1;
198
+ google.protobuf.StringValue phoenixUserId = 2;
154
199
  }
155
200
 
156
201
  message StructureModeChangeRequest {
@@ -158,6 +203,7 @@ message StructureModeTrait {
158
203
  StructureModeReason reason = 2;
159
204
  weave.common.ResourceId userId = 3;
160
205
  NonPropagatingChangeDetails nonPropagatingChangeDetails = 4;
206
+ StructureModeActorMethod actorMethod = 5;
161
207
  }
162
208
 
163
209
  message NonPropagatingChangeDetails {
@@ -183,6 +229,9 @@ message StructureModeTrait {
183
229
  google.protobuf.Timestamp identifiedPresenceChangeTime = 11;
184
230
  repeated UserInfo recentUserArrivals = 12;
185
231
  repeated UserInfo recentUserDepartures = 13;
232
+ string mlpSessionId = 14;
233
+ map<uint32, StructureModeBlame> blames = 15;
234
+ StructureModeBlame primaryBlame = 16;
186
235
  }
187
236
 
188
237
  message StructureModeCompleteUpdateResponse {
@@ -203,6 +252,17 @@ message StructureModeTrait {
203
252
  float vacantProbability = 3;
204
253
  float identifiedPresenceProbability = 4;
205
254
  google.protobuf.Timestamp lastMotionEventTimestamp = 5;
255
+ float unknownProbability = 6;
256
+ google.protobuf.Timestamp evaluationTimestamp = 7;
257
+ google.protobuf.Timestamp transitionEvaluationTimestamp = 8;
258
+ UserInfo identifiedPresenceChangeUserId = 9;
259
+ google.protobuf.Timestamp identifiedPresenceChangeTime = 10;
260
+ repeated UserInfo recentUserArrivals = 12;
261
+ repeated UserInfo recentUserDepartures = 13;
262
+ }
263
+
264
+ message ConsumeOccupancyStateBeliefResponse {
265
+ StructureModeChangeResponseType responseType = 1;
206
266
  }
207
267
 
208
268
  message ConsumeSecurityArmStateChangeRequest {
@@ -228,6 +288,9 @@ message StructureModeTrait {
228
288
  google.protobuf.StringValue rtsDeviceId = 6;
229
289
  google.protobuf.StringValue controlEventTypeUrl = 7;
230
290
  google.protobuf.StringValue wwnId = 8;
291
+ map<uint32, StructureModeBlame> blames = 9;
292
+ StructureModeActorMethod actorMethod = 10;
293
+ StructureModeBlame primaryBlame = 11;
231
294
  }
232
295
 
233
296
  message OccupancyChangeEvent {
@@ -295,6 +358,81 @@ message StructureModeTrait {
295
358
  }
296
359
  }
297
360
 
361
+ message StructureGeofencingTrait {
362
+ GeofenceEnhancedAutoAwayStatus geofenceEnhancedAutoawayStatus = 1;
363
+ map<uint32, GeofenceEnrolledUser> geofenceEnrolledUsers = 2;
364
+
365
+ enum GeofenceEnhancedAutoAwayStatus {
366
+ GEOFENCE_ENHANCED_AUTO_AWAY_STATUS_UNSPECIFIED = 0;
367
+ GEOFENCE_ENHANCED_AUTO_AWAY_STATUS_NOT_SET = 1;
368
+ GEOFENCE_ENHANCED_AUTO_AWAY_STATUS_ENABLED = 2;
369
+ GEOFENCE_ENHANCED_AUTO_AWAY_STATUS_DISABLED = 3;
370
+ }
371
+
372
+ enum GeofenceSourceType {
373
+ GEOFENCE_SOURCE_TYPE_UNSPECIFIED = 0;
374
+ GEOFENCE_SOURCE_TYPE_LEGACY_NEST_APP = 1;
375
+ GEOFENCE_SOURCE_TYPE_GOOGLE_HOME_APP = 2;
376
+ }
377
+
378
+ enum UserGeofenceEnrollmentCause {
379
+ USER_GEOFENCE_ENROLLMENT_CAUSE_UNSPECIFIED = 0;
380
+ USER_GEOFENCE_ENROLLMENT_CAUSE_USER_OPTED_IN = 1;
381
+ USER_GEOFENCE_ENROLLMENT_CAUSE_USER_ADDED_TO_STRUCTURE = 2;
382
+ }
383
+
384
+ enum UserGeofenceDisenrollmentCause {
385
+ USER_GEOFENCE_DISENROLLMENT_CAUSE_UNSPECIFIED = 0;
386
+ USER_GEOFENCE_DISENROLLMENT_CAUSE_USER_OPTED_OUT = 1;
387
+ USER_GEOFENCE_DISENROLLMENT_CAUSE_USER_REMOVED_FROM_STRUCTURE = 2;
388
+ }
389
+
390
+ message GeofenceEnrolledUser {
391
+ weave.common.ResourceId userId = 1;
392
+ GeofenceSourceType geofenceSourceType = 2;
393
+ string mobileDeviceId = 3;
394
+ }
395
+
396
+ message StructureGeofenceStateAssertionEvent {
397
+ Geofencing.GeofenceState state = 1;
398
+ weave.common.ResourceId userId = 2;
399
+ google.protobuf.StringValue rtsFenceId = 3;
400
+ google.protobuf.StringValue rtsMobileDeviceId = 4;
401
+ }
402
+
403
+ message UserGeofenceEnrollmentEvent {
404
+ GeofenceSourceType geofenceSourceType = 1;
405
+ weave.common.ResourceId userId = 2;
406
+ string mobileDeviceId = 3;
407
+ UserGeofenceEnrollmentCause enrollmentCause = 4;
408
+ }
409
+
410
+ message UserGeofenceDisenrollmentEvent {
411
+ GeofenceSourceType geofenceSourceType = 1;
412
+ weave.common.ResourceId userId = 2;
413
+ string mobileDeviceId = 3;
414
+ UserGeofenceDisenrollmentCause disenrollmentCause = 4;
415
+ }
416
+
417
+ message UserGeofenceDeviceChangeEvent {
418
+ GeofenceSourceType geofenceSourceType = 1;
419
+ weave.common.ResourceId userId = 2;
420
+ string previousMobileDeviceId = 3;
421
+ string currentMobileDeviceId = 4;
422
+ }
423
+
424
+ message StructureGeofenceEnrollmentEvent {
425
+ }
426
+
427
+ message StructureGeofenceDisenrollmentEvent {
428
+ }
429
+
430
+ message NestAppGeofenceHealthCheckEvent {
431
+ string rtsStructureId = 1;
432
+ string rtsUserId = 2;
433
+ }
434
+ }
435
+
298
436
  message StructureModeSettingsTrait {
299
437
  bool enableAutoSleep = 1;
300
438
  repeated DayTimeSpan sleepSchedule = 2;
@@ -346,28 +484,18 @@ message Geofencing {
346
484
  }
347
485
  }
348
486
 
349
- message StructureGeofencingTrait {
350
- GeofenceEnhancedAutoAwayStatus geofenceEnhancedAutoawayStatus = 1;
487
+ message OccupancyInputSettingsTrait {
488
+ bool deviceActivityConsidered = 1;
351
489
 
352
- enum GeofenceEnhancedAutoAwayStatus {
353
- GEOFENCE_ENHANCED_AUTO_AWAY_STATUS_UNSPECIFIED = 0;
354
- GEOFENCE_ENHANCED_AUTO_AWAY_STATUS_NOT_SET = 1;
355
- GEOFENCE_ENHANCED_AUTO_AWAY_STATUS_ENABLED = 2;
356
- GEOFENCE_ENHANCED_AUTO_AWAY_STATUS_DISABLED = 3;
490
+ message OccupancyInputEnrollmentEvent {
491
+ weave.common.ResourceId structureId = 1;
357
492
  }
358
493
 
359
- message StructureGeofenceStateAssertionEvent {
360
- Geofencing.GeofenceState state = 1;
361
- weave.common.ResourceId userId = 2;
362
- google.protobuf.StringValue rtsFenceId = 3;
363
- google.protobuf.StringValue rtsMobileDeviceId = 4;
494
+ message OccupancyInputDisenrollmentEvent {
495
+ weave.common.ResourceId structureId = 1;
364
496
  }
365
497
  }
366
498
 
367
- message OccupancyInputSettingsTrait {
368
- bool deviceActivityConsidered = 1;
369
- }
370
-
371
499
  message StructureModeCapabilitiesTrait {
372
500
  bool sleepStructureModeEnabled = 1;
373
- }
501
+ }
@@ -8,12 +8,18 @@ import "../../../weave/common.proto";
8
8
 
9
9
  package nest.trait.product.protect;
10
10
 
11
- message SelfTestTrait {
12
- google.protobuf.Timestamp lastMstStart = 1;
13
- google.protobuf.Timestamp lastMstEnd = 2;
14
- bool lastMstCancelled = 3;
15
- google.protobuf.Timestamp lastAstStart = 4;
16
- google.protobuf.Timestamp lastAstEnd = 5;
11
+ message LegacyStructureSelfTestTrait {
12
+ bool lastMstCancelled = 1;
13
+ bool mstInProgress = 2;
14
+ google.protobuf.Timestamp lastMstStartUtcSecs = 3;
15
+ google.protobuf.Timestamp lastMstEndUtcSecs = 4;
16
+ google.protobuf.Timestamp lastMstSuccessUtcSecs = 5;
17
+ bool astInProgress = 6;
18
+ google.protobuf.Timestamp lastAstStartUtcSecs = 7;
19
+ google.protobuf.Timestamp lastAstEndUtcSecs = 8;
20
+ google.protobuf.Timestamp astRequestUtcSecs = 9;
21
+ google.protobuf.Timestamp astSkipUtcSecs = 10;
22
+ repeated uint64 astParticipants = 11;
17
23
 
18
24
  enum SelfTestType {
19
25
  SELF_TEST_TYPE_UNSPECIFIED = 0;
@@ -33,13 +39,6 @@ message SelfTestTrait {
33
39
  END_SELF_TEST_STATUS_FAILED = 2;
34
40
  }
35
41
 
36
- enum MstTrigger {
37
- MST_TRIGGER_UNSPECIFIED = 0;
38
- MST_TRIGGER_BUTTON = 1;
39
- MST_TRIGGER_REMOTE = 2;
40
- MST_TRIGGER_APP = 3;
41
- }
42
-
43
42
  message StartSelfTestRequest {
44
43
  SelfTestType type = 1;
45
44
  nest.trait.selftest.SelfTestRunnerTrait.TestId testId = 2;
@@ -58,31 +57,22 @@ message SelfTestTrait {
58
57
  EndSelfTestStatus status = 1;
59
58
  }
60
59
 
61
- message MstTransitionEvent {
62
- MstTrigger trigger = 1;
63
- uint32 newState = 2;
64
- uint32 oldState = 3;
60
+ message AutomatedSelfTestSkipEvent {
65
61
  }
66
62
 
67
- message AstTransitionEvent {
68
- bool orchestrator = 1;
69
- uint32 newState = 2;
70
- uint32 oldState = 3;
63
+ message AutomatedSelfTestCompleteEvent {
64
+ }
65
+
66
+ message ManualSelfTestCompleteEvent {
71
67
  }
72
68
  }
73
69
 
74
- message LegacyStructureSelfTestTrait {
75
- bool lastMstCancelled = 1;
76
- bool mstInProgress = 2;
77
- google.protobuf.Timestamp lastMstStartUtcSecs = 3;
78
- google.protobuf.Timestamp lastMstEndUtcSecs = 4;
79
- google.protobuf.Timestamp lastMstSuccessUtcSecs = 5;
80
- bool astInProgress = 6;
81
- google.protobuf.Timestamp lastAstStartUtcSecs = 7;
82
- google.protobuf.Timestamp lastAstEndUtcSecs = 8;
83
- google.protobuf.Timestamp astRequestUtcSecs = 9;
84
- google.protobuf.Timestamp astSkipUtcSecs = 10;
85
- repeated uint64 astParticipants = 11;
70
+ message SelfTestTrait {
71
+ google.protobuf.Timestamp lastMstStart = 1;
72
+ google.protobuf.Timestamp lastMstEnd = 2;
73
+ bool lastMstCancelled = 3;
74
+ google.protobuf.Timestamp lastAstStart = 4;
75
+ google.protobuf.Timestamp lastAstEnd = 5;
86
76
 
87
77
  enum SelfTestType {
88
78
  SELF_TEST_TYPE_UNSPECIFIED = 0;
@@ -102,6 +92,13 @@ message LegacyStructureSelfTestTrait {
102
92
  END_SELF_TEST_STATUS_FAILED = 2;
103
93
  }
104
94
 
95
+ enum MstTrigger {
96
+ MST_TRIGGER_UNSPECIFIED = 0;
97
+ MST_TRIGGER_BUTTON = 1;
98
+ MST_TRIGGER_REMOTE = 2;
99
+ MST_TRIGGER_APP = 3;
100
+ }
101
+
105
102
  message StartSelfTestRequest {
106
103
  SelfTestType type = 1;
107
104
  nest.trait.selftest.SelfTestRunnerTrait.TestId testId = 2;
@@ -119,6 +116,18 @@ message LegacyStructureSelfTestTrait {
119
116
  message EndSelfTestResponse {
120
117
  EndSelfTestStatus status = 1;
121
118
  }
119
+
120
+ message MstTransitionEvent {
121
+ MstTrigger trigger = 1;
122
+ uint32 newState = 2;
123
+ uint32 oldState = 3;
124
+ }
125
+
126
+ message AstTransitionEvent {
127
+ bool orchestrator = 1;
128
+ uint32 newState = 2;
129
+ uint32 oldState = 3;
130
+ }
122
131
  }
123
132
 
124
133
  message AudioTestTrait {
@@ -295,6 +304,20 @@ message LegacyAlarmHistoryTrait {
295
304
  }
296
305
  }
297
306
 
307
+ message LegacySelfTestSettingsTrait {
308
+ bool astEnabled = 1;
309
+ bool astNotify = 2;
310
+ google.protobuf.Duration astRepeatSecs = 3;
311
+ google.protobuf.Duration astForceSecs = 4;
312
+ google.protobuf.Duration astStartOffsetUtcSecs = 5;
313
+ google.protobuf.Duration astEndOffsetUtcSecs = 6;
314
+
315
+ message AutomatedSelfTestScheduleChangeEvent {
316
+ google.protobuf.Duration astStartOffsetUtcSecs = 1;
317
+ google.protobuf.Duration astEndOffsetUtcSecs = 2;
318
+ }
319
+ }
320
+
298
321
  message NightTimePromiseSettingsTrait {
299
322
  bool greenLedEnabled = 1;
300
323
  NightTimePromiseBrightness greenLedBrightness = 2;
@@ -329,16 +352,7 @@ message LegacyProtectDeviceSettingsTrait {
329
352
  google.protobuf.Timestamp replaceByDate = 1;
330
353
  }
331
354
 
332
- message LegacySelfTestSettingsTrait {
333
- bool astEnabled = 1;
334
- bool astNotify = 2;
335
- google.protobuf.Duration astRepeatSecs = 3;
336
- google.protobuf.Duration astForceSecs = 4;
337
- google.protobuf.Duration astStartOffsetUtcSecs = 5;
338
- google.protobuf.Duration astEndOffsetUtcSecs = 6;
339
- }
340
-
341
355
  message SafetyStructureSettingsTrait {
342
356
  string structureHushKey = 1;
343
357
  bool phoneHushEnabled = 2;
344
- }
358
+ }
@@ -7,6 +7,13 @@ package nest.trait.resourcedirectory;
7
7
 
8
8
  message RelatedResourcesTrait {
9
9
  map<uint32, RelatedResource> relatedResources = 1;
10
+ map<uint32, RelatedResource> allResources = 2;
11
+
12
+ enum CloudPlatformVisibility {
13
+ CLOUD_PLATFORM_VISIBILITY_UNSPECIFIED = 0;
14
+ CLOUD_PLATFORM_VISIBILITY_RTS = 1;
15
+ CLOUD_PLATFORM_VISIBILITY_PHOENIX = 2;
16
+ }
10
17
 
11
18
  message InterfaceStruct {
12
19
  weave.common.InterfaceName interfaceName = 1;
@@ -21,6 +28,7 @@ message RelatedResourcesTrait {
21
28
  google.protobuf.UInt32Value productId = 5;
22
29
  google.protobuf.StringValue softwareVersion = 6;
23
30
  repeated InterfaceStruct interfaces = 7;
31
+ CloudPlatformVisibility cloudPlatformVisibility = 8;
24
32
  }
25
33
 
26
34
  message SetRelatedResourcesRequest {
@@ -106,6 +106,12 @@ message SmokeTrait {
106
106
  google.protobuf.Duration sampleInterval = 1;
107
107
  repeated SmokeSample samples = 2;
108
108
  }
109
+
110
+ message ClearAirOffsetSamplesEvent {
111
+ google.protobuf.Duration sampleInterval = 1;
112
+ repeated SmokeSample irLedSamples = 2;
113
+ repeated SmokeSample blueLedSamples = 3;
114
+ }
109
115
  }
110
116
 
111
117
  message TemperatureTrait {
@@ -288,4 +294,4 @@ message HumidityTrait {
288
294
  google.protobuf.Duration sampleInterval = 1;
289
295
  repeated HumiditySample samples = 2;
290
296
  }
291
- }
297
+ }
@@ -18,6 +18,8 @@ message DeviceInfoTrait {
18
18
  string resourceInstanceId = 10;
19
19
  repeated DeviceCapability deviceCapabilities = 11;
20
20
  repeated DeviceRadio deviceRadios = 12;
21
+ google.protobuf.StringValue hgDeviceId = 13;
22
+ google.protobuf.StringValue environmentTag = 14;
21
23
 
22
24
  enum DeviceCapability {
23
25
  DEVICE_CAPABILITY_UNSPECIFIED = 0;
@@ -43,4 +45,4 @@ message DeviceInfoTrait {
43
45
 
44
46
  message AssociatedHeadUnitTrait {
45
47
  weave.common.ResourceId headunitResourceId = 1;
46
- }
48
+ }
@@ -54,20 +54,6 @@ message HomeInfoSettingsTrait {
54
54
  }
55
55
  }
56
56
 
57
- message StructureLocationTrait {
58
- google.protobuf.StringValue postalCode = 1;
59
- google.protobuf.StringValue countryCode = 2;
60
- repeated string addressLines = 3;
61
- google.protobuf.StringValue city = 4;
62
- google.protobuf.StringValue state = 5;
63
- GeoCoordinate geoCoordinate = 6;
64
-
65
- message GeoCoordinate {
66
- float latitude = 1;
67
- float longitude = 2;
68
- }
69
- }
70
-
71
57
  message StructureInfoTrait {
72
58
  string rtsStructureId = 1;
73
59
  uint32 maxNestGuardCount = 2;
@@ -82,4 +68,64 @@ message StructureInfoTrait {
82
68
  google.protobuf.Timestamp createdAt = 11;
83
69
  google.protobuf.StringValue hgId = 12;
84
70
  map<string, uint32> maxResourceCounts = 13;
71
+
72
+ enum StatusCode {
73
+ STATUS_CODE_UNSPECIFIED = 0;
74
+ STATUS_CODE_SUCCESS = 1;
75
+ STATUS_CODE_FAILURE = 2;
76
+ STATUS_CODE_UNAUTHORIZED = 3;
77
+ STATUS_CODE_RESOURCE_NOT_FOUND = 4;
78
+ }
79
+
80
+ message StructureDeletionEvent {
81
+ weave.common.ResourceId structureId = 1;
82
+ }
83
+
84
+ message SyncStructureMetadataRequest {
85
+ weave.common.ResourceId resourceId = 1;
86
+ string name = 2;
87
+ }
88
+
89
+ message SyncStructureMetadataResponse {
90
+ StatusCode status = 1;
91
+ weave.common.ResourceId resourceId = 2;
92
+ }
85
93
  }
94
+
95
+ message StructureLocationTrait {
96
+ google.protobuf.StringValue postalCode = 1;
97
+ google.protobuf.StringValue countryCode = 2;
98
+ repeated string addressLines = 3;
99
+ google.protobuf.StringValue city = 4;
100
+ google.protobuf.StringValue state = 5;
101
+ GeoCoordinate geoCoordinate = 6;
102
+
103
+ enum StatusCode {
104
+ STATUS_CODE_UNSPECIFIED = 0;
105
+ STATUS_CODE_SUCCESS = 1;
106
+ STATUS_CODE_FAILURE = 2;
107
+ STATUS_CODE_UNAUTHORIZED = 3;
108
+ STATUS_CODE_RESOURCE_NOT_FOUND = 4;
109
+ }
110
+
111
+ message GeoCoordinate {
112
+ float latitude = 1;
113
+ float longitude = 2;
114
+ }
115
+
116
+ message UpdateAddressRequest {
117
+ weave.common.ResourceId resourceId = 1;
118
+ google.protobuf.StringValue postalCode = 2;
119
+ google.protobuf.StringValue countryCode = 3;
120
+ repeated string addressLines = 4;
121
+ google.protobuf.StringValue city = 5;
122
+ google.protobuf.StringValue state = 6;
123
+ GeoCoordinate geoCoordinate = 7;
124
+ google.protobuf.StringValue timezoneName = 8;
125
+ }
126
+
127
+ message UpdateAddressResponse {
128
+ StatusCode status = 1;
129
+ weave.common.ResourceId resourceId = 2;
130
+ }
131
+ }
@@ -4,6 +4,46 @@ import "google/protobuf/duration.proto";
4
4
 
5
5
  package nest.trait.ui;
6
6
 
7
+ message SoyMessage {
8
+ message SoyTemplateMessage {
9
+ string messageNamespace = 1;
10
+ map<uint32, SoyParameter> parameters = 4;
11
+ }
12
+
13
+ message Any {
14
+ string typeUrl = 1;
15
+ bytes value = 2;
16
+ }
17
+
18
+ message SoyParameter {
19
+ string key = 1;
20
+ SoyParameterValue value = 2;
21
+ }
22
+
23
+ message SoyParameterValue {
24
+ string singleValue = 1;
25
+ bool boolValue = 2;
26
+ int64 intValue = 3;
27
+ Any protoValue = 4;
28
+ StringList stringListValue = 5;
29
+ }
30
+
31
+ message StringList {
32
+ repeated string values = 1;
33
+ }
34
+
35
+ message SoyTemplateImage {
36
+ string url = 1;
37
+ SoyTemplateMessage accessibilityText = 2;
38
+ int32 width = 3;
39
+ int32 height = 4;
40
+ }
41
+
42
+ message SoyTemplateInfo {
43
+ string msgIdString = 1;
44
+ }
45
+ }
46
+
7
47
  message EnhancedPathlightSettingsTrait {
8
48
  map<uint32, PathlightTrigger> triggers = 1;
9
49
  PathlightBrightnessDiscrete brightnessDiscrete = 3;
@@ -62,4 +102,4 @@ message PathlightSettingsTrait {
62
102
  PATHLIGHT_BRIGHTNESS_MEDIUM = 3;
63
103
  PATHLIGHT_BRIGHTNESS_HIGH = 4;
64
104
  }
65
- }
105
+ }
@@ -89,10 +89,15 @@ message UserLockNotificationSettingsTrait {
89
89
  bool unlockNotificationEnabled = 3;
90
90
  bool lockReminderEnabled = 4;
91
91
  bool unlockReminderEnabled = 5;
92
+ map<string, bool> userUnlockNotificationsEnabledMap = 6;
93
+ bool manualUnlockNotificationsEnabled = 7;
94
+ map<string, bool> userLockNotificationsEnabledMap = 8;
95
+ bool manualLockNotificationsEnabled = 9;
96
+ bool proximityUnlockEnabled = 10;
92
97
  }
93
98
  }
94
99
 
95
100
  message UserInfoTrait {
96
101
  string rtsUserId = 1;
97
102
  uint32 maxNestTagCount = 2;
98
- }
103
+ }
@@ -13,6 +13,7 @@ message GoogleAssistantSetupTrait {
13
13
 
14
14
  message ActivateAssistantDiscoverabilityRequest {
15
15
  string obfuscatedDeviceId = 1;
16
+ string rtsDeviceId = 2;
16
17
  }
17
18
 
18
19
  message ActivateAssistantDiscoverabilityResponse {
@@ -27,4 +28,4 @@ message GoogleAssistantSetupTrait {
27
28
  message GoogleAssistantSettingsTrait {
28
29
  bool assistantEnabled = 1;
29
30
  bool assistantAvailable = 2;
30
- }
31
+ }
@@ -32,17 +32,36 @@ message Subject {
32
32
  weave.common.ResourceId pairerId = 5;
33
33
  Device device = 6;
34
34
  string instanceId = 7;
35
+ string hgsStructureId = 8;
36
+ ResourceIdType resourceIdType = 9;
37
+ NamespaceId namespaceId = 10;
35
38
 
36
39
  enum ResourceCase {
37
40
  RESOURCE_NOT_SET = 0;
38
41
  DEVICE = 6;
39
42
  }
40
43
 
44
+ enum ResourceIdType {
45
+ UNKNOWN_ID_TYPE = 0;
46
+ CAMERA = 1;
47
+ CAST = 2;
48
+ GAIA = 3;
49
+ HGS = 4;
50
+ HGS_AGENT_DEVICE_ID = 5;
51
+ PHOENIX = 6;
52
+ RTS = 7;
53
+ WIFI = 8;
54
+ }
55
+
41
56
  message Device {
42
57
  uint32 vendorCode = 1;
43
58
  uint32 productVersion = 2;
44
59
  uint32 productId = 3;
45
60
  }
61
+
62
+ message NamespaceId {
63
+ string id = 1;
64
+ }
46
65
  }
47
66
 
48
67
  message WdmEventFields {
@@ -84,4 +103,4 @@ message EventEnvelopeList {
84
103
  message ServiceId {
85
104
  string name = 1;
86
105
  string version = 2;
87
- }
106
+ }
@@ -3,6 +3,7 @@ syntax = "proto3";
3
3
  import "google/trait/product/camera.proto";
4
4
  import "nest/trait/audio.proto";
5
5
  import "nest/trait/detector.proto";
6
+ import "nest/trait/diagnostics.proto";
6
7
  import "nest/trait/humanlibrary.proto";
7
8
  import "nest/trait/history.proto";
8
9
  import "nest/trait/hvac.proto";