homebridge-nest-accfactory 0.0.4-a

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 (88) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/LICENSE +176 -0
  3. package/README.md +121 -0
  4. package/config.schema.json +107 -0
  5. package/dist/HomeKitDevice.js +441 -0
  6. package/dist/HomeKitHistory.js +2835 -0
  7. package/dist/camera.js +1276 -0
  8. package/dist/doorbell.js +122 -0
  9. package/dist/index.js +35 -0
  10. package/dist/nexustalk.js +741 -0
  11. package/dist/protect.js +240 -0
  12. package/dist/protobuf/google/rpc/status.proto +91 -0
  13. package/dist/protobuf/google/rpc/stream_body.proto +26 -0
  14. package/dist/protobuf/google/trait/product/camera.proto +53 -0
  15. package/dist/protobuf/googlehome/foyer.proto +208 -0
  16. package/dist/protobuf/nest/messages.proto +8 -0
  17. package/dist/protobuf/nest/services/apigateway.proto +107 -0
  18. package/dist/protobuf/nest/trait/audio.proto +7 -0
  19. package/dist/protobuf/nest/trait/cellular.proto +313 -0
  20. package/dist/protobuf/nest/trait/debug.proto +37 -0
  21. package/dist/protobuf/nest/trait/detector.proto +41 -0
  22. package/dist/protobuf/nest/trait/diagnostics.proto +87 -0
  23. package/dist/protobuf/nest/trait/firmware.proto +221 -0
  24. package/dist/protobuf/nest/trait/guest.proto +105 -0
  25. package/dist/protobuf/nest/trait/history.proto +345 -0
  26. package/dist/protobuf/nest/trait/humanlibrary.proto +19 -0
  27. package/dist/protobuf/nest/trait/hvac.proto +1353 -0
  28. package/dist/protobuf/nest/trait/input.proto +29 -0
  29. package/dist/protobuf/nest/trait/lighting.proto +61 -0
  30. package/dist/protobuf/nest/trait/located.proto +193 -0
  31. package/dist/protobuf/nest/trait/media.proto +68 -0
  32. package/dist/protobuf/nest/trait/network.proto +352 -0
  33. package/dist/protobuf/nest/trait/occupancy.proto +373 -0
  34. package/dist/protobuf/nest/trait/olive.proto +15 -0
  35. package/dist/protobuf/nest/trait/pairing.proto +85 -0
  36. package/dist/protobuf/nest/trait/product/camera.proto +283 -0
  37. package/dist/protobuf/nest/trait/product/detect.proto +67 -0
  38. package/dist/protobuf/nest/trait/product/doorbell.proto +18 -0
  39. package/dist/protobuf/nest/trait/product/guard.proto +59 -0
  40. package/dist/protobuf/nest/trait/product/protect.proto +344 -0
  41. package/dist/protobuf/nest/trait/promonitoring.proto +14 -0
  42. package/dist/protobuf/nest/trait/resourcedirectory.proto +32 -0
  43. package/dist/protobuf/nest/trait/safety.proto +119 -0
  44. package/dist/protobuf/nest/trait/security.proto +516 -0
  45. package/dist/protobuf/nest/trait/selftest.proto +78 -0
  46. package/dist/protobuf/nest/trait/sensor.proto +291 -0
  47. package/dist/protobuf/nest/trait/service.proto +46 -0
  48. package/dist/protobuf/nest/trait/structure.proto +85 -0
  49. package/dist/protobuf/nest/trait/system.proto +51 -0
  50. package/dist/protobuf/nest/trait/test.proto +15 -0
  51. package/dist/protobuf/nest/trait/ui.proto +65 -0
  52. package/dist/protobuf/nest/trait/user.proto +98 -0
  53. package/dist/protobuf/nest/trait/voiceassistant.proto +30 -0
  54. package/dist/protobuf/nestlabs/eventingapi/v1.proto +83 -0
  55. package/dist/protobuf/nestlabs/gateway/v1.proto +273 -0
  56. package/dist/protobuf/nestlabs/gateway/v2.proto +96 -0
  57. package/dist/protobuf/nestlabs/history/v1.proto +73 -0
  58. package/dist/protobuf/root.proto +64 -0
  59. package/dist/protobuf/wdl-event-importance.proto +11 -0
  60. package/dist/protobuf/wdl.proto +450 -0
  61. package/dist/protobuf/weave/common.proto +144 -0
  62. package/dist/protobuf/weave/trait/audio.proto +12 -0
  63. package/dist/protobuf/weave/trait/auth.proto +22 -0
  64. package/dist/protobuf/weave/trait/description.proto +32 -0
  65. package/dist/protobuf/weave/trait/heartbeat.proto +38 -0
  66. package/dist/protobuf/weave/trait/locale.proto +20 -0
  67. package/dist/protobuf/weave/trait/network.proto +24 -0
  68. package/dist/protobuf/weave/trait/pairing.proto +8 -0
  69. package/dist/protobuf/weave/trait/peerdevices.proto +18 -0
  70. package/dist/protobuf/weave/trait/power.proto +86 -0
  71. package/dist/protobuf/weave/trait/schedule.proto +76 -0
  72. package/dist/protobuf/weave/trait/security.proto +343 -0
  73. package/dist/protobuf/weave/trait/telemetry/tunnel.proto +37 -0
  74. package/dist/protobuf/weave/trait/time.proto +16 -0
  75. package/dist/res/Nest_camera_connecting.h264 +0 -0
  76. package/dist/res/Nest_camera_connecting.jpg +0 -0
  77. package/dist/res/Nest_camera_off.h264 +0 -0
  78. package/dist/res/Nest_camera_off.jpg +0 -0
  79. package/dist/res/Nest_camera_offline.h264 +0 -0
  80. package/dist/res/Nest_camera_offline.jpg +0 -0
  81. package/dist/res/Nest_camera_transfer.jpg +0 -0
  82. package/dist/streamer.js +344 -0
  83. package/dist/system.js +3112 -0
  84. package/dist/tempsensor.js +99 -0
  85. package/dist/thermostat.js +1026 -0
  86. package/dist/weather.js +205 -0
  87. package/dist/webrtc.js +55 -0
  88. package/package.json +66 -0
@@ -0,0 +1,83 @@
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/any.proto";
4
+ import "google/protobuf/duration.proto";
5
+ import "google/protobuf/timestamp.proto";
6
+ import "../../nest/messages.proto";
7
+ import "../../weave/common.proto";
8
+ import "../../wdl-event-importance.proto";
9
+
10
+ package nestlabs.eventingapi.v1;
11
+
12
+ message EventAgent {
13
+ weave.common.ResourceId deviceId = 1;
14
+ ServiceId serviceId = 2;
15
+
16
+ enum IdCase {
17
+ ID_NOT_SET = 0;
18
+ DEVICE_ID = 1;
19
+ SERVICE_ID = 2;
20
+ }
21
+ }
22
+
23
+ message Subject {
24
+ weave.common.ResourceId resourceId = 1;
25
+ weave.common.ResourceType resourceType = 2;
26
+ weave.common.ResourceId structureId = 3;
27
+ string traitInstanceLabel = 4;
28
+ weave.common.ResourceId pairerId = 5;
29
+ Device device = 6;
30
+ string instanceId = 7;
31
+
32
+ enum ResourceCase {
33
+ RESOURCE_NOT_SET = 0;
34
+ DEVICE = 6;
35
+ }
36
+
37
+ message Device {
38
+ uint32 vendorCode = 1;
39
+ uint32 productVersion = 2;
40
+ uint32 productId = 3;
41
+ }
42
+ }
43
+
44
+ message WdmEventFields {
45
+ google.protobuf.Timestamp eventUtcTimestamp = 1;
46
+ google.protobuf.Duration eventSystemTimestamp = 2;
47
+ google.protobuf.Timestamp requestUtcTimestamp = 3;
48
+ google.protobuf.Duration requestSystemTimestamp = 4;
49
+ uint64 eventId = 5;
50
+ uint64 relatedEventId = 6;
51
+ wdl.EventImportance relatedEventImportance = 7;
52
+ }
53
+
54
+ message EventHeader {
55
+ wdl.EventImportance eventImportance = 11;
56
+ Subject subject = 20;
57
+ google.protobuf.Timestamp observedTimestamp = 21;
58
+ EventAgent producerAgent = 22;
59
+ string producerEventKey = 23;
60
+ map<string, string> tags = 24;
61
+ nest.messages.SchemaVersion schemaVersion = 25;
62
+ map<string, google.protobuf.Timestamp> serviceTimestamps = 26;
63
+ WdmEventFields wdmEventFields = 40;
64
+
65
+ enum ExtraFieldsCase {
66
+ EXTRA_FIELDS_NOT_SET = 0;
67
+ WDM_EVENT_FIELDS = 40;
68
+ }
69
+ }
70
+
71
+ message EventEnvelope {
72
+ EventHeader eventHeader = 1;
73
+ google.protobuf.Any eventData = 2;
74
+ }
75
+
76
+ message EventEnvelopeList {
77
+ repeated EventEnvelope eventEnvelopes = 1;
78
+ }
79
+
80
+ message ServiceId {
81
+ string name = 1;
82
+ string version = 2;
83
+ }
@@ -0,0 +1,273 @@
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/any.proto";
4
+ import "google/protobuf/field_mask.proto";
5
+ import "google/protobuf/timestamp.proto";
6
+ import "../../google/rpc/status.proto";
7
+ import "../../nest/messages.proto";
8
+ import "../../wdl-event-importance.proto";
9
+
10
+ package nestlabs.gateway.v1;
11
+
12
+ message TraitStateNotification {
13
+ google.protobuf.Any state = 1;
14
+ google.protobuf.FieldMask stateMask = 2;
15
+ uint64 monotonicVersion = 3;
16
+ NotificationContext notificationContext = 4;
17
+ uint64 publisherVersion = 5;
18
+
19
+ enum NotificationContext {
20
+ NOTIFICATION_CONTEXT_UNSPECIFIED = 0;
21
+ INITIAL_OBSERVE_RESPONSE = 1;
22
+ }
23
+ }
24
+
25
+ message TraitEventsNotification {
26
+ repeated Event events = 1;
27
+ google.protobuf.Timestamp requestUtcTimestamp = 2;
28
+ uint64 requestSystemTimeOffsetMillis = 3;
29
+ google.protobuf.Timestamp serviceReceivedTimestamp = 4;
30
+ }
31
+
32
+ message Event {
33
+ google.protobuf.Any data = 1;
34
+ wdl.EventImportance importance = 2;
35
+ uint64 eventId = 3;
36
+ wdl.EventImportance relatedEventImportance = 4;
37
+ uint64 relatedEventId = 5;
38
+ google.protobuf.Timestamp utcTimestamp = 6;
39
+ uint64 systemTimeOffsetMillis = 7;
40
+ string relaybyResourceId = 8;
41
+ string subjectResourceId = 9;
42
+ string subjectPairerId = 10;
43
+ string subjectTypeName = 11;
44
+ string subjectInstanceId = 12;
45
+ nest.messages.SchemaVersion schemaVersion = 13;
46
+ }
47
+
48
+ message TraitRequest {
49
+ string resourceId = 1;
50
+ string traitLabel = 2;
51
+ string requestId = 3;
52
+ }
53
+
54
+ message TraitOperation {
55
+ TraitRequest traitRequest = 1;
56
+ State progress = 2;
57
+ google.rpc.Status status = 3;
58
+ TraitEvent event = 4;
59
+ uint64 publisherAcceptedStateVersion = 5;
60
+ TraitCommand command = 6;
61
+ TraitUpdateStateRequest update = 7;
62
+
63
+ enum RequestCase {
64
+ REQUEST_NOT_SET = 0;
65
+ COMMAND = 6;
66
+ UPDATE = 7;
67
+ }
68
+
69
+ enum State {
70
+ STATE_UNSPECIFIED = 0;
71
+ QUEUED = 1;
72
+ PENDING = 2;
73
+ STARTED = 3;
74
+ COMPLETE = 4;
75
+ }
76
+ }
77
+
78
+ message TraitObserveRequest {
79
+ TraitRequest traitRequest = 1;
80
+ google.protobuf.FieldMask fieldMask = 2;
81
+ uint64 monotonicVersionFilter = 3;
82
+ bool includeConfirmedState = 4;
83
+ bool includePendingOperations = 5;
84
+ }
85
+
86
+ message TraitObserveResponse {
87
+ TraitRequest traitRequest = 1;
88
+ TraitStateNotification acceptedState = 2;
89
+ TraitInfo traitInfo = 3;
90
+ TraitStateNotification confirmedState = 4;
91
+ repeated TraitOperation pendingOperations = 5;
92
+ }
93
+
94
+ message TraitGetStateRequest {
95
+ TraitRequest traitRequest = 1;
96
+ google.protobuf.FieldMask fieldMask = 2;
97
+ uint64 monotonicVersionFilter = 3;
98
+ bool includeConfirmedState = 4;
99
+ bool includePendingOperations = 5;
100
+ }
101
+
102
+ message TraitGetStateResponse {
103
+ TraitRequest traitRequest = 1;
104
+ TraitStateNotification acceptedState = 2;
105
+ TraitInfo traitInfo = 3;
106
+ TraitStateNotification confirmedState = 4;
107
+ }
108
+
109
+ message TraitInfo {
110
+ string traitType = 1;
111
+ nest.messages.SchemaVersion schemaVersion = 2;
112
+ }
113
+
114
+ message TraitUpdateStateRequest {
115
+ TraitRequest traitRequest = 1;
116
+ google.protobuf.Any state = 2;
117
+ google.protobuf.FieldMask stateMask = 3;
118
+ uint64 matchPublisherVersion = 4;
119
+ nest.messages.SchemaVersion schemaVersion = 5;
120
+ }
121
+
122
+ message TraitNotifyRequest {
123
+ TraitRequest traitRequest = 1;
124
+ TraitStateNotification confirmedState = 2;
125
+ TraitEventsNotification events = 3;
126
+ }
127
+
128
+ message TraitNotifyResponse {
129
+ TraitRequest traitRequest = 1;
130
+ }
131
+
132
+ message TraitEvent {
133
+ google.protobuf.Any event = 1;
134
+ }
135
+
136
+ message TraitCommand {
137
+ TraitRequest traitRequest = 1;
138
+ google.protobuf.Any command = 2;
139
+ google.protobuf.Timestamp expiryTime = 3;
140
+ bytes authenticator = 4;
141
+ uint64 matchPublisherVersion = 5;
142
+ nest.messages.SchemaVersion schemaVersion = 6;
143
+ string namespaceId = 7;
144
+ }
145
+
146
+ message WeaveStatusReport {
147
+ uint32 profileId = 1;
148
+ uint32 statusCode = 2;
149
+ }
150
+
151
+ message ResourceRequest {
152
+ string resourceId = 1;
153
+ string requestId = 2;
154
+ string namespaceId = 3;
155
+ }
156
+
157
+ message ResourceObserveRequest {
158
+ ResourceRequest resourceRequest = 1;
159
+ repeated TraitStateObserve traitStateObserves = 2;
160
+ bool includeConfirmedState = 3;
161
+ bool includePendingOperations = 4;
162
+ }
163
+
164
+ message TraitStateObserve {
165
+ string traitLabel = 1;
166
+ google.protobuf.FieldMask fieldMask = 2;
167
+ uint64 monotonicVersionFilter = 3;
168
+ }
169
+
170
+ message ResourceObserveResponse {
171
+ ResourceRequest resourceRequest = 1;
172
+ ResourceInfo resourceInfo = 2;
173
+ repeated TraitObserveResponse traitResponses = 3;
174
+ }
175
+
176
+ message ResourceInfo {
177
+ string resourceType = 4;
178
+ map<string, TraitInfo> traitInfos = 5;
179
+ repeated IfaceInfo ifaceInfos = 6;
180
+ uint32 currentSchemaVersion = 7;
181
+ }
182
+
183
+ message IfaceInfo {
184
+ string ifaceType = 1;
185
+ repeated IfaceTraitInfo ifaceTraitInfos = 2;
186
+ nest.messages.SchemaVersion schemaVersion = 6;
187
+ }
188
+
189
+ message IfaceTraitInfo {
190
+ string ifaceTraitLabel = 1;
191
+ string resourceTraitLabel = 2;
192
+ }
193
+
194
+ message ResourceGetStateRequest {
195
+ ResourceRequest resourceRequest = 1;
196
+ repeated ResourceGetState resourceGetStates = 2;
197
+ bool includeConfirmedState = 3;
198
+ bool includePendingOperations = 4;
199
+ }
200
+
201
+ message ResourceGetState {
202
+ string traitLabel = 1;
203
+ google.protobuf.FieldMask fieldMask = 2;
204
+ uint64 monotonicVersionFilter = 3;
205
+ }
206
+
207
+ message ResourceGetStateResponse {
208
+ ResourceRequest resourceRequest = 1;
209
+ ResourceInfo resourceInfo = 2;
210
+ repeated TraitGetStateResponse traitResponses = 3;
211
+ }
212
+
213
+ message ResourceNotifyRequest {
214
+ ResourceRequest resourceRequest = 1;
215
+ repeated ResourceStateNotify resourceStateNotifies = 2;
216
+ repeated ResourceEventsNotify resourceEventsNotifies = 3;
217
+ }
218
+
219
+ message ResourceStateNotify {
220
+ string traitLabel = 1;
221
+ TraitStateNotification confirmedState = 2;
222
+ }
223
+
224
+ message ResourceEventsNotify {
225
+ string traitLabel = 1;
226
+ TraitEventsNotification events = 2;
227
+ }
228
+
229
+ message ResourceNotifyResponse {
230
+ ResourceRequest resourceRequest = 1;
231
+ repeated TraitNotifyResponse traitResponses = 2;
232
+ }
233
+
234
+ message ResourceCommandRequest {
235
+ ResourceRequest resourceRequest = 1;
236
+ repeated ResourceCommand resourceCommands = 2;
237
+ }
238
+
239
+ message ResourceCommand {
240
+ string traitLabel = 1;
241
+ google.protobuf.Any command = 2;
242
+ google.protobuf.Timestamp expiryTime = 3;
243
+ bytes authenticator = 4;
244
+ uint64 matchPublisherVersion = 5;
245
+ nest.messages.SchemaVersion schemaVersion = 6;
246
+ string resourceType = 7;
247
+ }
248
+
249
+ message ResourceCommandResponse {
250
+ ResourceRequest resourceRequest = 1;
251
+ repeated TraitOperation traitOperations = 2;
252
+ }
253
+
254
+ message ResourceCommandResponseFromAPI {
255
+ repeated ResourceCommandResponse resourceCommandResponse = 1;
256
+ string unknown = 2;
257
+ }
258
+
259
+ message BatchTraitUpdateStateRequest {
260
+ repeated TraitUpdateStateRequest requests = 1;
261
+ }
262
+
263
+ message BatchTraitOperation {
264
+ repeated TraitOperation traitOperation = 1;
265
+ }
266
+
267
+ service TraitBatchApi {
268
+ rpc BatchUpdateState(BatchTraitUpdateStateRequest) returns (BatchTraitOperation);
269
+ }
270
+
271
+ service ResourceApi {
272
+ rpc SendCommand(ResourceCommandRequest) returns (ResourceCommandResponse);
273
+ }
@@ -0,0 +1,96 @@
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/any.proto";
4
+ import "google/protobuf/field_mask.proto";
5
+ import "google/protobuf/timestamp.proto";
6
+ import "../../nest/messages.proto";
7
+ import "../../nestlabs/gateway/v1.proto";
8
+
9
+ package nestlabs.gateway.v2;
10
+
11
+ enum ResourceStatus {
12
+ NORMAL = 0;
13
+ ADDED = 1;
14
+ REMOVED = 2;
15
+ }
16
+
17
+ enum StateType {
18
+ STATE_TYPE_UNSPECIFIED = 0;
19
+ CONFIRMED = 1;
20
+ ACCEPTED = 2;
21
+ }
22
+
23
+ message TraitMeta {
24
+ string traitLabel = 1;
25
+ string type = 2;
26
+ nest.messages.SchemaVersion schemaVersion = 3;
27
+ }
28
+
29
+ message IfaceMeta {
30
+ string ifaceLabel = 1;
31
+ string type = 2;
32
+ map<string, string> traitLabelMapping = 3;
33
+ nest.messages.SchemaVersion schemaVersion = 4;
34
+ }
35
+
36
+ message ResourceMeta {
37
+ string resourceId = 1;
38
+ string type = 2;
39
+ ResourceStatus status = 3;
40
+ repeated TraitMeta traitMetas = 4;
41
+ uint32 currentSchemaVersion = 6;
42
+ repeated IfaceMeta ifaceMetas = 7;
43
+ }
44
+
45
+ message TraitId {
46
+ string resourceId = 1;
47
+ string traitLabel = 2;
48
+ }
49
+
50
+ message Patch {
51
+ google.protobuf.Any values = 1;
52
+ }
53
+
54
+ message TraitState {
55
+ TraitId traitId = 1;
56
+ repeated StateType stateTypes = 2;
57
+ Patch patch = 3;
58
+ uint64 monotonicVersion = 4;
59
+ uint64 publisherVersion = 5;
60
+ }
61
+
62
+ message TraitTypeObserveParams {
63
+ string traitType = 1;
64
+ google.protobuf.FieldMask stateFieldMask = 2;
65
+ uint32 observerSchemaVersion = 3;
66
+ }
67
+
68
+ message TraitInstanceObserveParams {
69
+ TraitId traitId = 1;
70
+ repeated uint64 monotonicVersionFilters = 2;
71
+ }
72
+
73
+ message ObserveRequest {
74
+ repeated StateType stateTypes = 1;
75
+ repeated string resourceIds = 2;
76
+ repeated TraitTypeObserveParams traitTypeParams = 3;
77
+ repeated TraitInstanceObserveParams traitInstanceParams = 4;
78
+ string userId = 5;
79
+ }
80
+
81
+ message TraitOperationList {
82
+ TraitId traitId = 1;
83
+ repeated nestlabs.gateway.v1.TraitOperation traitOperations = 2;
84
+ }
85
+
86
+ message ObserveResponse {
87
+ repeated ResourceMeta resourceMetas = 1;
88
+ bool initialResourceMetasContinue = 2;
89
+ repeated TraitState traitStates = 3;
90
+ repeated TraitOperationList traitOperationLists = 4;
91
+ google.protobuf.Timestamp currentTime = 5;
92
+ }
93
+
94
+ service GatewayService {
95
+ rpc Observe(ObserveRequest) returns (ObserveResponse);
96
+ }
@@ -0,0 +1,73 @@
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/duration.proto";
4
+ import "google/protobuf/timestamp.proto";
5
+ import "../../nestlabs/eventingapi/v1.proto";
6
+
7
+ package nestlabs.history.v1;
8
+
9
+ enum FilterType {
10
+ FILTER_TYPE_UNSPECIFIED = 0;
11
+ FILTER_TYPE_WHITELIST = 1;
12
+ FILTER_TYPE_BLACKLIST = 2;
13
+ }
14
+
15
+ enum SortDirection {
16
+ SORT_UNSPECIFIED = 0;
17
+ SORT_ASCENDING = 1;
18
+ SORT_DESCENDING = 2;
19
+ }
20
+
21
+ enum EventSortField {
22
+ EVENT_SORT_UNSPECIFIED = 0;
23
+ EVENT_SORT_BY_TIME = 1;
24
+ EVENT_SORT_BY_ORIGIN_TIME = 2;
25
+ }
26
+
27
+ enum EventSortOrder {
28
+ EVENT_SORT_ORDER_UNSPECIFIED = 0;
29
+ EVENT_TIME_ASC = 1;
30
+ EVENT_TIME_DESC = 2;
31
+ }
32
+
33
+ message FindEventsRequest {
34
+ google.protobuf.Timestamp queryStartTime = 1;
35
+ google.protobuf.Timestamp queryEndTime = 2;
36
+ string structureId = 3;
37
+ EventTypeFilter typeFilter = 4;
38
+ repeated EventSortOrder sortOrder = 7;
39
+ repeated string includePreviousChangeEventTypes = 8;
40
+ ResourceIdFilter subjectDeviceIdFilter = 9;
41
+ int64 liveEventLimit = 10;
42
+ google.protobuf.Duration liveSortWindow = 11;
43
+ bool includePreviousEvents = 12;
44
+ repeated EventOrderBy orderBy = 13;
45
+ }
46
+
47
+ message FindEventsResponse {
48
+ nestlabs.eventingapi.v1.EventEnvelope envelope = 1;
49
+ string eventKey = 2;
50
+ }
51
+
52
+ message FindEventListResponse {
53
+ repeated FindEventsResponse responses = 1;
54
+ }
55
+
56
+ message EventTypeFilter {
57
+ repeated string types = 1;
58
+ FilterType filterType = 3;
59
+ }
60
+
61
+ message ResourceIdFilter {
62
+ repeated string resourceIds = 1;
63
+ FilterType filterType = 2;
64
+ }
65
+
66
+ message EventOrderBy {
67
+ EventSortField field = 1;
68
+ SortDirection direction = 2;
69
+ }
70
+
71
+ service HistoryService {
72
+ rpc FindEvents(FindEventsRequest) returns (FindEventsResponse);
73
+ }
@@ -0,0 +1,64 @@
1
+ // Protobuf schema for Nest Observe and Nest BatchUpdateState API calls
2
+
3
+ syntax = "proto3";
4
+
5
+ import "google/trait/product/camera.proto";
6
+ import "nest/messages.proto";
7
+ import "nest/trait/audio.proto";
8
+ import "nest/trait/detector.proto";
9
+ import "nest/trait/hvac.proto";
10
+ import "nest/trait/humanlibrary.proto";
11
+ import "nest/trait/history.proto";
12
+ import "nest/trait/humanlibrary.proto";
13
+ import "nest/trait/input.proto";
14
+ import "nest/trait/located.proto";
15
+ import "nest/trait/media.proto";
16
+ import "nest/trait/network.proto";
17
+ import "nest/trait/occupancy.proto";
18
+ import "nest/trait/product/protect.proto";
19
+ import "nest/trait/product/camera.proto";
20
+ import "nest/trait/product/doorbell.proto";
21
+ import "nest/trait/resourcedirectory.proto";
22
+ import "nest/trait/safety.proto";
23
+ import "nest/trait/selftest.proto";
24
+ import "nest/trait/sensor.proto";
25
+ import "nest/trait/service.proto";
26
+ import "nest/trait/structure.proto";
27
+ import "nest/trait/ui.proto";
28
+ import "weave/common.proto";
29
+ import "weave/trait/audio.proto";
30
+ import "weave/trait/description.proto";
31
+ import "weave/trait/heartbeat.proto";
32
+ import "weave/trait/locale.proto";
33
+ import "weave/trait/network.proto";
34
+ import "weave/trait/pairing.proto";
35
+ import "weave/trait/peerdevices.proto";
36
+ import "weave/trait/power.proto";
37
+ import "weave/trait/schedule.proto";
38
+ import "weave/trait/security.proto";
39
+ import "weave/trait/time.proto";
40
+ import "nestlabs/gateway/v2.proto";
41
+ import "nestlabs/history/v1.proto";
42
+ import "googlehome/foyer.proto";
43
+
44
+ package nest.rpc;
45
+
46
+ message NestTraitSetRequest {
47
+ message TraitObject {
48
+ nestlabs.gateway.v2.TraitId traitId = 1;
49
+ google.protobuf.Any property = 2;
50
+ }
51
+
52
+ repeated TraitObject set = 1;
53
+ }
54
+
55
+ message NestIncomingMessage {
56
+ repeated nestlabs.gateway.v2.ResourceMeta resourceMetas = 1;
57
+ repeated nestlabs.gateway.v2.TraitState get = 3;
58
+ }
59
+
60
+ message StreamBody {
61
+ repeated NestIncomingMessage message = 1;
62
+ google.rpc.Status status = 2;
63
+ repeated bytes noop = 15;
64
+ }
@@ -0,0 +1,11 @@
1
+ syntax = "proto3";
2
+
3
+ package wdl;
4
+
5
+ enum EventImportance {
6
+ EVENT_IMPORTANCE_UNSPECIFIED = 0;
7
+ EVENT_IMPORTANCE_PRODUCTION_CRITICAL = 1;
8
+ EVENT_IMPORTANCE_PRODUCTION_STANDARD = 2;
9
+ EVENT_IMPORTANCE_INFO = 3;
10
+ EVENT_IMPORTANCE_DEBUG = 4;
11
+ }