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,283 @@
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/duration.proto";
4
+ import "google/protobuf/timestamp.proto";
5
+ import "google/protobuf/wrappers.proto";
6
+
7
+ package nest.trait.product.camera;
8
+
9
+ enum CameraState {
10
+ CAMERA_UNSPECIFIED = 0;
11
+ CAMERA_ON = 1;
12
+ CAMERA_OFF = 2;
13
+ }
14
+
15
+ message RecordingToggleSettingsTrait {
16
+ CameraState targetCameraState = 1;
17
+ int32 changeModeReason = 2;
18
+ google.protobuf.Timestamp settingsUpdated = 3;
19
+ }
20
+
21
+ message RecordingToggleTrait {
22
+ CameraState currentCameraState = 1;
23
+ int32 changeModeReason = 2;
24
+ google.protobuf.Timestamp toggleUpdated = 3;
25
+ }
26
+
27
+ message RecordingEncoderSettingsTrait {
28
+ enum RecordingQuality {
29
+ RECORDING_QUALITY_UNSPECIFIED = 0;
30
+ RECORDING_QUALITY_LOW = 1;
31
+ RECORDING_QUALITY_MEDIUM = 2;
32
+ RECORDING_QUALITY_MEDIUM_HIGH = 3;
33
+ RECORDING_QUALITY_HIGH = 4;
34
+ }
35
+
36
+ RecordingQuality recordingQuality = 1;
37
+ }
38
+
39
+ message MediaQualitySettingsTrait {
40
+ enum MediaQuality {
41
+ MEDIA_QUALITY_UNSPECIFIED = 0;
42
+ MEDIA_QUALITY_LOW_OR_MEDIUM = 1;
43
+ MEDIA_QUALITY_HIGH = 2;
44
+ }
45
+
46
+ MediaQuality mediaQuality = 1;
47
+ }
48
+
49
+ message ActivityZoneSettingsTrait {
50
+ message ActivityZone {
51
+ message ActivityZoneProperties {
52
+ message Coordinate {
53
+ float x = 1;
54
+ float y = 2;
55
+ }
56
+
57
+ string name = 2;
58
+ int32 internalIndex = 3;
59
+ repeated Coordinate vertices = 4;
60
+ int32 zoneId = 5;
61
+ }
62
+
63
+ int32 zoneIndex = 1;
64
+ ActivityZoneProperties zoneProperties = 2;
65
+ }
66
+
67
+ repeated ActivityZone activityZones = 3;
68
+ int32 unknown = 4; // 0 = zones disabled, 1 = zones enabled?
69
+ }
70
+
71
+ message FaceTrackingSettingsTrait {
72
+ google.protobuf.BoolValue faceTrackingEnabled = 1;
73
+ int32 unknown = 2;
74
+ }
75
+
76
+ message StreamingProtocolTrait {
77
+ enum StreamingProtocol {
78
+ PROTOCOL_UNSPECIFIED = 0;
79
+ PROTOCOL_WEBRTC = 1;
80
+ PROTOCOL_NEXUSTALK = 2;
81
+ PROTOCOL_MPEGDASH = 3;
82
+ PROTOCOL_RTSP = 4;
83
+ PROTOCOL_HLS = 5;
84
+ }
85
+
86
+ enum AudioCommunicationType {
87
+ AUDIO_TYPE_UNSPECIFIED = 0;
88
+ AUDIO_TYPE_NONE = 1;
89
+ AUDIO_TYPE_HALF_DUPLEX = 2;
90
+ AUDIO_TYPE_FULL_DUPLEX = 3;
91
+ }
92
+
93
+ repeated StreamingProtocol supportedProtocols = 1;
94
+ AudioCommunicationType audioCommunicationType = 2;
95
+ google.protobuf.StringValue directHost = 3;
96
+ google.protobuf.StringValue dashUrl = 6;
97
+ google.protobuf.StringValue hlsUrl = 7;
98
+ }
99
+
100
+ message LoadingImageTrait {
101
+ google.protobuf.Int32Value maximumAgeInSeconds = 1;
102
+ string liveUrl = 2;
103
+ }
104
+
105
+ message ObservationTriggerCapabilitiesTrait {
106
+ message VideoEventTypes {
107
+ google.protobuf.BoolValue motion = 1;
108
+ google.protobuf.BoolValue person = 2;
109
+ google.protobuf.BoolValue face = 3;
110
+ google.protobuf.BoolValue vehicle = 4;
111
+ google.protobuf.BoolValue animal = 5;
112
+ google.protobuf.BoolValue package = 6;
113
+ google.protobuf.BoolValue unknown7 = 7;
114
+ google.protobuf.BoolValue unknown8 = 8;
115
+ google.protobuf.BoolValue unknown9 = 9;
116
+ google.protobuf.BoolValue unknown10 = 10;
117
+ }
118
+
119
+ message AudioEventTypes {
120
+ google.protobuf.BoolValue personTalking = 1;
121
+ google.protobuf.BoolValue dogBarking = 2;
122
+ google.protobuf.BoolValue unknown3 = 3;
123
+ google.protobuf.BoolValue unknown4 = 4;
124
+ google.protobuf.BoolValue otherSounds = 5;
125
+ google.protobuf.BoolValue smokeAndCoSounds = 6;
126
+ google.protobuf.BoolValue unknown7 = 7;
127
+ google.protobuf.BoolValue unknown8 = 8;
128
+ google.protobuf.BoolValue unknown9 = 9;
129
+ google.protobuf.BoolValue unknown10 = 10;
130
+ }
131
+
132
+ VideoEventTypes videoEventTypes = 1;
133
+ AudioEventTypes audioEventTypes = 2;
134
+ }
135
+
136
+ message MediaRequestTrait {
137
+ int32 unknown1 = 1;
138
+ }
139
+
140
+ message UploadLiveImageTrait {
141
+ message UploadLiveImageRequest {
142
+
143
+ }
144
+
145
+ message UploadLiveImageResponse {
146
+ enum Status {
147
+ STATUS_UNSPECIFIED = 0;
148
+ STATUS_SUCCESSFUL = 1;
149
+ STATUS_UNSUCCESSFUL = 2;
150
+ }
151
+
152
+ Status status = 1;
153
+ }
154
+
155
+ string liveImageUrl = 1;
156
+ google.protobuf.Timestamp timestamp = 2;
157
+ }
158
+
159
+ message ObservationTriggerSettingsTrait {
160
+ message EventTrigger {
161
+ google.protobuf.BoolValue enabled = 1;
162
+ }
163
+
164
+ message SoundTriggerSettings {
165
+ EventTrigger personTalking = 1;
166
+ EventTrigger dogBarking = 2;
167
+ EventTrigger unknown3 = 3;
168
+ EventTrigger unknown4 = 4;
169
+ EventTrigger smokeAlarmSounds = 5;
170
+ EventTrigger carbonMonoxideAlarmSounds = 6;
171
+ }
172
+
173
+ message ZoneTriggerSettings {
174
+ message ZoneSettings {
175
+ message TriggerTypes {
176
+ EventTrigger motion = 1;
177
+ EventTrigger person = 2;
178
+ EventTrigger face = 3;
179
+ EventTrigger vehicle = 4;
180
+ EventTrigger animal = 5;
181
+ EventTrigger package = 6;
182
+ }
183
+
184
+ int32 zoneId = 1;
185
+ TriggerTypes triggerTypes = 3;
186
+ }
187
+
188
+ int32 zoneIndex = 1;
189
+ ZoneSettings zoneSettings = 2;
190
+ }
191
+
192
+ message AITriggerSettings {
193
+ message AISeenSettings {
194
+ bool garageDoor = 1;
195
+ }
196
+
197
+ AISeenSettings seenSettings = 2;
198
+ }
199
+
200
+ SoundTriggerSettings globalTriggerSettings = 6;
201
+ repeated ZoneTriggerSettings zoneTriggerSettings = 8;
202
+ AITriggerSettings globalAITriggerSettings = 9;
203
+ }
204
+
205
+ enum VideoHistorySetting {
206
+ VIDEO_HISTORY_UNSPECIFIED = 0;
207
+ VIDEO_HISTORY_LEGACY_NONE = 1;
208
+ VIDEO_HISTORY_EVENTS_24_7 = 2;
209
+ VIDEO_HISTORY_EVENTS = 3;
210
+ VIDEO_HISTORY_LEGACY_EVENTS = 4;
211
+ VIDEO_HISTORY_NONE = 5;
212
+ }
213
+
214
+ message RecordingMediaSettingsTrait {
215
+ VideoHistorySetting videoHistory = 1;
216
+ bool audioHistoryEnabled = 2;
217
+ int32 unknown3 = 3;
218
+ }
219
+
220
+ message AspectRatioTrait {
221
+ int32 widthRelative = 1;
222
+ int32 heightRelative = 2;
223
+ }
224
+
225
+ message QuietTimeSettingsTrait {
226
+ google.protobuf.Timestamp quietTimeEnds = 1;
227
+ }
228
+
229
+ message EventSessionTrait {
230
+ bool eventActive = 1;
231
+ }
232
+
233
+ message RecordingMediaCapabilitiesTrait {
234
+ repeated VideoHistorySetting supportedCapabilities = 1;
235
+ }
236
+
237
+ message EffectiveHistoryLengthTrait {
238
+ google.protobuf.UInt32Value historyDurationSeconds = 1;
239
+ }
240
+
241
+ message CameraMigrationStatusTrait {
242
+ message MigrationState {
243
+ enum WhereMigrated {
244
+ NOT_MIGRATED = 0;
245
+ MIGRATED_TO_GOOGLE_HOME = 1;
246
+ MIGRATED_TO_NEST = 2;
247
+ }
248
+
249
+ enum MigrationProgress {
250
+ PROGRESS_NONE = 0;
251
+ PROGRESS_STARTING = 1;
252
+ PROGRESS_INSTALLING = 2;
253
+ PROGRESS_COMPLETE = 3;
254
+ PROGRESS_MAYBE_ERROR = 4;
255
+ PROGRESS_FINALISING = 5;
256
+ }
257
+
258
+ WhereMigrated where = 1;
259
+ MigrationProgress progress = 2;
260
+ }
261
+
262
+ MigrationState state = 1;
263
+ }
264
+
265
+ message DoorStateTrait {
266
+ message DoorState {
267
+ message OpenCloseState {
268
+ DoorOpenCloseState doorState = 2;
269
+ }
270
+
271
+ enum DoorOpenCloseState {
272
+ STATE_UNSPECIFIED = 0;
273
+ STATE_MAYBE_CLOSING = 1;
274
+ STATE_CLOSED = 2;
275
+ STATE_MAYBE_OPENING = 3;
276
+ STATE_OPEN = 4;
277
+ }
278
+
279
+ OpenCloseState openClose = 2;
280
+ }
281
+
282
+ DoorState state = 1;
283
+ }
@@ -0,0 +1,67 @@
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/timestamp.proto";
4
+
5
+ package nest.trait.product.detect;
6
+
7
+ message DetectInstallationStateTrait {
8
+ DeviceMode deviceMode = 1;
9
+ PlacementGuidanceCheck placementGuidanceCheck = 2;
10
+
11
+ enum DeviceMode {
12
+ DEVICE_MODE_UNSPECIFIED = 0;
13
+ DEVICE_MODE_IDLE = 1;
14
+ DEVICE_MODE_PLACEMENT_GUIDANCE = 2;
15
+ DEVICE_MODE_OPEN_CLOSE_TEST = 3;
16
+ DEVICE_MODE_PIR_TEST = 4;
17
+ }
18
+
19
+ enum PlacementGuidanceCheck {
20
+ PLACEMENT_GUIDANCE_CHECK_UNSPECIFIED = 0;
21
+ PLACEMENT_GUIDANCE_CHECK_UNKNOWN = 1;
22
+ PLACEMENT_GUIDANCE_CHECK_INVALID = 2;
23
+ PLACEMENT_GUIDANCE_CHECK_VALID = 3;
24
+ }
25
+
26
+ enum SetDeviceModeResponseType {
27
+ SET_DEVICE_MODE_RESPONSE_TYPE_UNSPECIFIED = 0;
28
+ SET_DEVICE_MODE_RESPONSE_TYPE_SUCCESS = 1;
29
+ SET_DEVICE_MODE_RESPONSE_TYPE_ERROR_UNKNOWN = 2;
30
+ SET_DEVICE_MODE_RESPONSE_TYPE_ERROR_INVALID_PLACEMENT_GUIDANCE_CHECK_RESULT = 3;
31
+ SET_DEVICE_MODE_RESPONSE_TYPE_ERROR_INVALID_LOCATED_FIXTURE = 4;
32
+ }
33
+
34
+ message InstallationTransitionRequestedEvent {
35
+ DeviceMode previousDeviceMode = 1;
36
+ DeviceMode newDeviceMode = 2;
37
+ }
38
+
39
+ message InstallationPlacementGuidanceCheckEvent {
40
+ PlacementGuidanceCheck checkResult = 1;
41
+ }
42
+
43
+ message SetDeviceModeRequest {
44
+ DeviceMode deviceMode = 1;
45
+ }
46
+ }
47
+
48
+ message IncorrectInstallationDetectionTrait {
49
+ IncorrectInstallationState installationState = 1;
50
+ google.protobuf.Timestamp firstObservedAtMs = 2;
51
+
52
+ enum IncorrectInstallationState {
53
+ INCORRECT_INSTALLATION_STATE_UNSPECIFIED = 0;
54
+ INCORRECT_INSTALLATION_STATE_UNKNOWN = 1;
55
+ INCORRECT_INSTALLATION_STATE_CORRECT = 2;
56
+ INCORRECT_INSTALLATION_STATE_INCORRECT = 3;
57
+ }
58
+
59
+ message IncorrectInstallationDetectionChangeEvent {
60
+ IncorrectInstallationState installationState = 1;
61
+ IncorrectInstallationState priorInstallationState = 2;
62
+ }
63
+ }
64
+
65
+ message DetectInstallationStateDFTrait {
66
+ DetectInstallationStateTrait.DeviceMode intendedDeviceMode = 1;
67
+ }
@@ -0,0 +1,18 @@
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/duration.proto";
4
+ import "google/protobuf/timestamp.proto";
5
+
6
+ package nest.trait.product.doorbell;
7
+
8
+ message DoorbellIndoorChimeSettingsTrait {
9
+ enum ChimeType {
10
+ CHIME_TYPE_UNSPECIFIED = 0;
11
+ CHIME_TYPE_MECHANICAL = 1;
12
+ CHIME_TYPE_ELECTRONIC = 2;
13
+ }
14
+
15
+ ChimeType chimeType = 1;
16
+ google.protobuf.Duration chimeDuration = 2;
17
+ bool chimeEnabled = 3;
18
+ }
@@ -0,0 +1,59 @@
1
+ syntax = "proto3";
2
+
3
+ import "../../../weave/common.proto";
4
+
5
+ package nest.trait.product.guard;
6
+
7
+ message GuardInstallationStateTrait {
8
+ DeviceMode deviceMode = 1;
9
+ CredentialCheck lastCredentialCheck = 2;
10
+ CredentialType lastCredentialType = 3;
11
+ weave.common.ResourceId lastCredentialUser = 4;
12
+
13
+ enum DeviceMode {
14
+ DEVICE_MODE_UNSPECIFIED = 0;
15
+ DEVICE_MODE_IDLE = 1;
16
+ DEVICE_MODE_PIR_TEST = 2;
17
+ DEVICE_MODE_PINCODE_TEST = 3;
18
+ DEVICE_MODE_NFC_TEST = 4;
19
+ }
20
+
21
+ enum CredentialCheck {
22
+ CREDENTIAL_CHECK_UNSPECIFIED = 0;
23
+ CREDENTIAL_CHECK_UNKNOWN = 1;
24
+ CREDENTIAL_CHECK_VALID = 2;
25
+ }
26
+
27
+ enum CredentialType {
28
+ CREDENTIAL_TYPE_UNSPECIFIED = 0;
29
+ CREDENTIAL_TYPE_UNKNOWN = 1;
30
+ CREDENTIAL_TYPE_PINCODE = 2;
31
+ CREDENTIAL_TYPE_NFC = 3;
32
+ }
33
+
34
+ message InstallationTransitionRequestedEvent {
35
+ DeviceMode previousDeviceMode = 1;
36
+ DeviceMode newDeviceMode = 2;
37
+ }
38
+
39
+ message InstallationCredentialCheckEvent {
40
+ CredentialCheck checkResult = 1;
41
+ CredentialType checkType = 2;
42
+ weave.common.ResourceId checkUser = 3;
43
+ }
44
+
45
+ message SetDeviceModeRequest {
46
+ DeviceMode deviceMode = 1;
47
+ }
48
+ }
49
+
50
+ message SecurityChimeSettingsTrait {
51
+ bool securityChimeEnabled = 1;
52
+ SecurityChimeSound openSecurityChimeSound = 2;
53
+
54
+ enum SecurityChimeSound {
55
+ SECURITY_CHIME_SOUND_UNSPECIFIED = 0;
56
+ SECURITY_CHIME_SOUND_SINGLE = 1;
57
+ SECURITY_CHIME_SOUND_DOUBLE = 2;
58
+ }
59
+ }