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,29 @@
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/timestamp.proto";
4
+
5
+ package nest.trait.input;
6
+
7
+ message ButtonTrait {
8
+ ButtonState buttonState = 1;
9
+ uint32 cumulativePresses = 2;
10
+ google.protobuf.Timestamp firstObservedAt = 3;
11
+ google.protobuf.Timestamp firstObservedAtMs = 4;
12
+
13
+ enum ButtonState {
14
+ BUTTON_STATE_UNSPECIFIED = 0;
15
+ BUTTON_STATE_DOWN = 1;
16
+ BUTTON_STATE_UP = 2;
17
+ BUTTON_STATE_UNKNOWN = 3;
18
+ }
19
+
20
+ message ButtonEvent {
21
+ ButtonState buttonState = 1;
22
+ uint32 cumulativePresses = 2;
23
+ ButtonState priorButtonState = 3;
24
+ }
25
+
26
+ message ButtonInteractionDetectedEvent {
27
+ uint32 unused = 31;
28
+ }
29
+ }
@@ -0,0 +1,61 @@
1
+ syntax = "proto3";
2
+
3
+ import "../../weave/common.proto";
4
+
5
+ package nest.trait.lighting;
6
+
7
+ message LightingEcosystemFeaturesSettingsTrait {
8
+ NestSecureAlarmLightsOnSettings nestSecureAlarmLightsOnSettings = 1;
9
+ NestSecureArmDisarmSettings nestSecureArmDisarmSettings = 2;
10
+ NestProtectAlarmLightsOnSettings nestProtectAlarmLightsOnSettings = 3;
11
+ NestProtectSmokeAlarmFansOffSettings nestProtectSmokeAlarmFansOffSettings = 4;
12
+
13
+ message NestSecureAlarmLightsOnSettings {
14
+ bool enabled = 1;
15
+ }
16
+
17
+ message NestSecureArmDisarmSettings {
18
+ bool enabled = 1;
19
+ repeated weave.common.ResourceId participatingLightpads = 2;
20
+ }
21
+
22
+ message NestProtectAlarmLightsOnSettings {
23
+ bool enabled = 1;
24
+ }
25
+
26
+ message NestProtectSmokeAlarmFansOffSettings {
27
+ bool enabled = 1;
28
+ }
29
+ }
30
+
31
+ message FanActionOnSmokeAlarmGlobalSettingsTrait {
32
+ bool featureEnabled = 1;
33
+ }
34
+
35
+ message FanActionOnSmokeAlarmSettingsTrait {
36
+ bool featureEnabled = 1;
37
+ }
38
+
39
+ message LightingActionOnSafetyAlarmGlobalSettingsTrait {
40
+ bool featureEnabled = 1;
41
+ }
42
+
43
+ message LightingActionOnSafetyAlarmSettingsTrait {
44
+ bool featureEnabled = 1;
45
+ }
46
+
47
+ message LightingActionOnSecurityAlarmGlobalSettingsTrait {
48
+ bool featureEnabled = 1;
49
+ }
50
+
51
+ message LightingActionOnSecurityAlarmSettingsTrait {
52
+ bool featureEnabled = 1;
53
+ }
54
+
55
+ message MotionAlertsGlobalSettingsTrait {
56
+ bool alertWhenAwayFeatureEnabled = 1;
57
+ }
58
+
59
+ message StructureScenesTrait {
60
+ repeated weave.common.ResourceId scenes = 1;
61
+ }
@@ -0,0 +1,193 @@
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/timestamp.proto";
4
+ import "../../weave/common.proto";
5
+
6
+ package nest.trait.located;
7
+
8
+ message CustomLocatedAnnotationsTrait {
9
+ map<uint64, WhereItem> wheresList = 1;
10
+ map<uint64, FixtureItem> fixturesList = 2;
11
+
12
+ enum CustomLocatedStatus {
13
+ CUSTOM_LOCATED_STATUS_UNSPECIFIED = 0;
14
+ CUSTOM_LOCATED_STATUS_ANNOTATION_EXISTS = 1;
15
+ CUSTOM_LOCATED_STATUS_ANNOTATION_DOESNT_EXIST = 2;
16
+ CUSTOM_LOCATED_STATUS_MISSING_PARAMS = 3;
17
+ CUSTOM_LOCATED_STATUS_SUCCESS = 4;
18
+ CUSTOM_LOCATED_STATUS_FAILURE = 5;
19
+ }
20
+
21
+ message WhereItem {
22
+ weave.common.StringRef label = 1;
23
+ weave.common.StringRef legacyUuid = 2;
24
+ weave.common.ResourceId whereId = 3;
25
+ }
26
+
27
+ message FixtureItem {
28
+ weave.common.StringRef label = 1;
29
+ weave.common.ResourceId fixtureId = 2;
30
+ }
31
+
32
+ message CustomWhereCreationRequest {
33
+ weave.common.StringRef label = 1;
34
+ }
35
+
36
+ message CustomWhereCreationResponse {
37
+ WhereItem whereItem = 1;
38
+ CustomLocatedStatus status = 2;
39
+ }
40
+
41
+ message CustomWhereDeletionRequest {
42
+ weave.common.ResourceId whereId = 1;
43
+ }
44
+
45
+ message CustomWhereDeletionResponse {
46
+ CustomLocatedStatus status = 1;
47
+ }
48
+
49
+ message CustomFixtureCreationRequest {
50
+ weave.common.StringRef label = 1;
51
+ }
52
+
53
+ message CustomFixtureCreationResponse {
54
+ FixtureItem fixtureItem = 1;
55
+ CustomLocatedStatus status = 2;
56
+ }
57
+
58
+ message CustomFixtureDeletionRequest {
59
+ weave.common.ResourceId fixtureId = 1;
60
+ }
61
+
62
+ message CustomFixtureDeletionResponse {
63
+ CustomLocatedStatus status = 1;
64
+ }
65
+
66
+ message CustomFixtureCreationEvent {
67
+ FixtureItem fixture = 1;
68
+ }
69
+
70
+ message CustomWhereCreationEvent {
71
+ WhereItem where = 1;
72
+ }
73
+ }
74
+
75
+ message LocatedTrait {
76
+ enum LocatedMajorFixtureType {
77
+ LOCATED_MAJOR_FIXTURE_TYPE_UNSPECIFIED = 0;
78
+ LOCATED_MAJOR_FIXTURE_TYPE_DOOR = 1;
79
+ LOCATED_MAJOR_FIXTURE_TYPE_WINDOW = 2;
80
+ LOCATED_MAJOR_FIXTURE_TYPE_WALL = 3;
81
+ LOCATED_MAJOR_FIXTURE_TYPE_OBJECT = 4;
82
+ }
83
+
84
+ enum LocatedMinorFixtureTypeDoor {
85
+ LOCATED_MINOR_FIXTURE_TYPE_DOOR_UNSPECIFIED = 0;
86
+ LOCATED_MINOR_FIXTURE_TYPE_DOOR_GENERIC = 1;
87
+ LOCATED_MINOR_FIXTURE_TYPE_DOOR_HINGED = 2;
88
+ LOCATED_MINOR_FIXTURE_TYPE_DOOR_FRENCH = 3;
89
+ LOCATED_MINOR_FIXTURE_TYPE_DOOR_SLIDING = 4;
90
+ LOCATED_MINOR_FIXTURE_TYPE_DOOR_GARAGE_SEGMENTED = 5;
91
+ LOCATED_MINOR_FIXTURE_TYPE_DOOR_GARAGE_SINGLE_PANEL = 6;
92
+ }
93
+
94
+ enum LocatedMinorFixtureTypeWindow {
95
+ LOCATED_MINOR_FIXTURE_TYPE_WINDOW_UNSPECIFIED = 0;
96
+ LOCATED_MINOR_FIXTURE_TYPE_WINDOW_GENERIC = 1;
97
+ LOCATED_MINOR_FIXTURE_TYPE_WINDOW_VERTICAL_SINGLE_HUNG = 2;
98
+ LOCATED_MINOR_FIXTURE_TYPE_WINDOW_HORIZONTAL_SINGLE_HUNG = 3;
99
+ LOCATED_MINOR_FIXTURE_TYPE_WINDOW_VERTICAL_DOUBLE_HUNG = 4;
100
+ LOCATED_MINOR_FIXTURE_TYPE_WINDOW_HORIZONTAL_DOUBLE_HUNG = 5;
101
+ LOCATED_MINOR_FIXTURE_TYPE_WINDOW_VERTICAL_CASEMENT = 6;
102
+ LOCATED_MINOR_FIXTURE_TYPE_WINDOW_HORIZONTAL_CASEMENT = 7;
103
+ LOCATED_MINOR_FIXTURE_TYPE_WINDOW_TILTTURN = 8;
104
+ LOCATED_MINOR_FIXTURE_TYPE_WINDOW_ROOF = 9;
105
+ }
106
+
107
+ enum LocatedMinorFixtureTypeWall {
108
+ LOCATED_MINOR_FIXTURE_TYPE_WALL_UNSPECIFIED = 0;
109
+ LOCATED_MINOR_FIXTURE_TYPE_WALL_GENERIC = 1;
110
+ LOCATED_MINOR_FIXTURE_TYPE_WALL_CORNER = 2;
111
+ LOCATED_MINOR_FIXTURE_TYPE_WALL_FLUSH = 3;
112
+ }
113
+
114
+ enum LocatedMinorFixtureTypeObject {
115
+ LOCATED_MINOR_FIXTURE_TYPE_OBJECT_UNSPECIFIED = 0;
116
+ LOCATED_MINOR_FIXTURE_TYPE_OBJECT_GENERIC = 1;
117
+ }
118
+
119
+ message LocatedFixtureType {
120
+ LocatedMajorFixtureType majorType = 1;
121
+ LocatedMinorFixtureTypeDoor minorTypeDoor = 2;
122
+ LocatedMinorFixtureTypeWindow minorTypeWindow = 3;
123
+ LocatedMinorFixtureTypeWall minorTypeWall = 4;
124
+ LocatedMinorFixtureTypeObject minorTypeObject = 5;
125
+ }
126
+ }
127
+
128
+ message LocatedAnnotationsTrait {
129
+ map<uint32, WhereItem> predefinedWheres = 1;
130
+ map<uint32, WhereItem> customWheres = 2;
131
+
132
+ enum StatusCode {
133
+ STATUS_CODE_UNSPECIFIED = 0;
134
+ STATUS_CODE_SUCCESS = 1;
135
+ STATUS_CODE_FAILURE = 2;
136
+ STATUS_CODE_MISSING_LABEL = 4096;
137
+ STATUS_CODE_ANNOTATION_EXISTS = 4097;
138
+ STATUS_CODE_MISSING_ANNOTATION = 8192;
139
+ STATUS_CODE_ANNOTATION_DOESNT_EXIST = 8193;
140
+ }
141
+
142
+ message WhereItem {
143
+ weave.common.ResourceId whereId = 1;
144
+ weave.common.StringRef label = 2;
145
+ string legacyUuid = 3;
146
+ }
147
+
148
+ message CustomWhereCreationRequest {
149
+ string label = 1;
150
+ }
151
+
152
+ message CustomWhereCreationResponse {
153
+ StatusCode status = 1;
154
+ WhereItem whereItem = 2;
155
+ }
156
+
157
+ message CustomWhereDeletionRequest {
158
+ weave.common.ResourceId whereId = 1;
159
+ }
160
+
161
+ message CustomWhereDeletionResponse {
162
+ StatusCode status = 1;
163
+ }
164
+
165
+ message GetWhereItemRequest {
166
+ weave.common.ResourceId whereId = 1;
167
+ }
168
+
169
+ message GetWhereItemResponse {
170
+ WhereItem whereItem = 1;
171
+ }
172
+ }
173
+
174
+ message DeviceLocatedCapabilitiesTrait {
175
+ repeated weave.common.ResourceId validWhereAnnotationRids = 1;
176
+ repeated weave.common.ResourceId validWhereSpokenAnnotationRids = 2;
177
+ repeated weave.common.ResourceId validFixtureAnnotationRids = 3;
178
+ repeated weave.common.ResourceId validFixtureSpokenAnnotationRids = 4;
179
+ repeated LocatedTrait.LocatedFixtureType validFixtureTypes = 5;
180
+ }
181
+
182
+ message DeviceLocatedSettingsTrait {
183
+ weave.common.ResourceId whereAnnotationRid = 2;
184
+ weave.common.ResourceId fixtureAnnotationRid = 3;
185
+ LocatedTrait.LocatedFixtureType fixtureType = 4;
186
+ weave.common.StringRef whereLabel = 5;
187
+ repeated weave.common.ResourceId whereSpokenAnnotationRids = 6;
188
+ weave.common.StringRef fixtureNameLabel = 7;
189
+ repeated weave.common.ResourceId fixtureSpokenAnnotationRids = 8;
190
+ google.protobuf.Timestamp lastModifiedTimestamp = 9;
191
+ google.protobuf.Timestamp lastKnownRelocationTimestamp = 10;
192
+ string whereLegacyUuid = 11;
193
+ }
@@ -0,0 +1,68 @@
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/wrappers.proto";
4
+ import "google/protobuf/any.proto";
5
+ import "../../weave/common.proto";
6
+
7
+ package nest.trait.media;
8
+
9
+ message FoyerSendTalkbackRequest {
10
+ enum TalkbackCommand {
11
+ COMMAND_UNSPECIFIED = 0;
12
+ COMMAND_START = 1;
13
+ COMMAND_STOP = 2;
14
+ }
15
+
16
+ google.protobuf.StringValue requestId = 1;
17
+ string streamId = 2;
18
+ TalkbackCommand command = 3;
19
+ }
20
+
21
+ message StreamManagementTrait {
22
+ message JoinStreamRequest {
23
+ string sdp = 1;
24
+ int32 requestTag = 2;
25
+ }
26
+
27
+ message JoinStreamResponse {
28
+ int32 requestTag = 1;
29
+ string sdp = 2;
30
+ string streamId = 3;
31
+ }
32
+
33
+ message ExtendStreamRequest {
34
+ string streamId = 1;
35
+ }
36
+
37
+ message ExtendStreamResponse {
38
+ enum Status {
39
+ STATUS_UNSPECIFIED = 0;
40
+ STATUS_STREAM_EXTENDED = 1;
41
+ STATUS_STREAM_UNKNOWN_2 = 2;
42
+ STATUS_STREAM_UNKNOWN_3 = 3;
43
+ STATUS_STREAM_UNKNOWN_4 = 4;
44
+ STATUS_STREAM_EXTEND_FAILURE = 5;
45
+ }
46
+
47
+ Status status = 1;
48
+ }
49
+
50
+ message LeaveStreamRequest {
51
+ string streamId = 1;
52
+ }
53
+
54
+ message LeaveStreamResponse {
55
+ enum Status {
56
+ STATUS_UNSPECIFIED = 0;
57
+ STATUS_STREAM_TERMINATED = 1;
58
+ STATUS_STREAM_UNKNOWN_2 = 2;
59
+ STATUS_STREAM_UNKNOWN_3 = 3;
60
+ STATUS_STREAM_NOT_TERMINATED = 4;
61
+ }
62
+
63
+ Status status = 1;
64
+ }
65
+
66
+ int32 activeStreamCount = 1;
67
+ repeated string streamIds = 2;
68
+ }
@@ -0,0 +1,352 @@
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/duration.proto";
4
+ import "google/protobuf/wrappers.proto";
5
+ import "../../weave/common.proto";
6
+
7
+ package nest.trait.network;
8
+
9
+ message TelemetryNetworkWpanTrait {
10
+ enum NodeType {
11
+ NODE_TYPE_UNSPECIFIED = 0;
12
+ NODE_TYPE_ROUTER = 1;
13
+ NODE_TYPE_END = 2;
14
+ NODE_TYPE_SLEEPY_END = 3;
15
+ NODE_TYPE_MINIMAL_END = 4;
16
+ NODE_TYPE_OFFLINE = 5;
17
+ NODE_TYPE_DISABLED = 6;
18
+ NODE_TYPE_DETACHED = 7;
19
+ NODE_TYPE_NL_LURKER = 16;
20
+ NODE_TYPE_COMMISSIONER = 32;
21
+ NODE_TYPE_LEADER = 64;
22
+ }
23
+
24
+ enum ThreadType {
25
+ THREAD_TYPE_UNSPECIFIED = 0;
26
+ THREAD_TYPE_SILABS = 1;
27
+ THREAD_TYPE_OPENTHREAD = 2;
28
+ }
29
+
30
+ message ChannelUtilization {
31
+ uint32 channel = 1;
32
+ float percentBusy = 2;
33
+ }
34
+
35
+ message PerAntennaStats {
36
+ uint32 txSuccessCnt = 1;
37
+ uint32 txFailCnt = 2;
38
+ int32 avgAckRssi = 3;
39
+ }
40
+
41
+ message WpanParentLinkEvent {
42
+ int32 rssi = 1;
43
+ uint32 unicastCcaThresholdFailures = 2;
44
+ uint32 unicastMacRetryCount = 3;
45
+ }
46
+
47
+ message NetworkWpanStatsEvent {
48
+ int32 phyRx = 1;
49
+ int32 phyTx = 2;
50
+ int32 macUnicastRx = 3;
51
+ int32 macUnicastTx = 4;
52
+ int32 macBroadcastRx = 5;
53
+ int32 macBroadcastTx = 6;
54
+ int32 macTxFailCca = 8;
55
+ int32 macRxFailDecrypt = 12;
56
+ NodeType nodeType = 15;
57
+ uint32 channel = 16;
58
+ int32 radioTxPower = 17;
59
+ ThreadType threadType = 18;
60
+ int32 macRxFailNoFrame = 20;
61
+ int32 macRxFailUnknownNeighbor = 21;
62
+ int32 macRxFailInvalidSrcAddr = 22;
63
+ int32 macRxFailFcs = 23;
64
+ int32 macTxAckReq = 24;
65
+ int32 macTxNoAckReq = 25;
66
+ int32 macTxAcked = 26;
67
+ int32 macTxData = 27;
68
+ int32 macTxDataPoll = 28;
69
+ int32 macTxBeacon = 29;
70
+ int32 macTxBeaconReq = 30;
71
+ int32 macTxOtherPkt = 31;
72
+ int32 macTxRetry = 32;
73
+ int32 macRxData = 33;
74
+ int32 macRxDataPoll = 34;
75
+ int32 macRxBeacon = 35;
76
+ int32 macRxBeaconReq = 36;
77
+ int32 macRxOtherPkt = 37;
78
+ int32 macRxFilterWhitelist = 38;
79
+ int32 macRxFilterDestAddr = 39;
80
+ int32 macRxFailOther = 40;
81
+ int32 ipTxSuccess = 41;
82
+ int32 ipRxSuccess = 42;
83
+ int32 ipTxFailure = 43;
84
+ int32 ipRxFailure = 44;
85
+ google.protobuf.Duration ncpTxTotalTime = 45;
86
+ google.protobuf.Duration ncpRxTotalTime = 46;
87
+ float macCcaFailRate = 47;
88
+ }
89
+
90
+ message TopoEntry {
91
+ bytes extAddress = 1;
92
+ uint32 rloc16 = 2;
93
+ uint32 linkQualityIn = 3;
94
+ int32 averageRssi = 4;
95
+ google.protobuf.Duration age = 5;
96
+ bool rxOnWhenIdle = 6;
97
+ bool fullFunction = 7;
98
+ bool secureDataRequest = 8;
99
+ bool fullNetworkData = 9;
100
+ int32 lastRssi = 10;
101
+ }
102
+
103
+ message ChildTableEntry {
104
+ TopoEntry topo = 1;
105
+ google.protobuf.Duration timeout = 2;
106
+ uint32 networkDataVersion = 3;
107
+ }
108
+
109
+ message NeighborTableEntry {
110
+ TopoEntry topo = 1;
111
+ uint32 linkFrameCounter = 2;
112
+ uint32 mleFrameCounter = 3;
113
+ bool isChild = 4;
114
+ }
115
+
116
+ message NetworkWpanTopoMinimalEvent {
117
+ uint32 rloc16 = 1;
118
+ uint32 routerId = 2;
119
+ uint32 leaderRouterId = 3;
120
+ int32 parentAverageRssi = 4;
121
+ int32 parentLastRssi = 5;
122
+ uint32 partitionId = 6;
123
+ bytes extAddress = 7;
124
+ int32 instantRssi = 8;
125
+ }
126
+
127
+ message NetworkWpanTopoFullEvent {
128
+ uint32 rloc16 = 1;
129
+ uint32 routerId = 2;
130
+ uint32 leaderRouterId = 3;
131
+ bytes leaderAddress = 4;
132
+ uint32 leaderWeight = 5;
133
+ uint32 leaderLocalWeight = 6;
134
+ repeated ChildTableEntry deprecatedChildTable = 7;
135
+ repeated NeighborTableEntry deprecatedNeighborTable = 8;
136
+ bytes networkData = 9;
137
+ uint32 networkDataVersion = 10;
138
+ bytes stableNetworkData = 11;
139
+ uint32 stableNetworkDataVersion = 12;
140
+ uint32 preferredRouterId = 13;
141
+ uint32 partitionId = 14;
142
+ bytes extAddress = 15;
143
+ uint32 childTableSize = 16;
144
+ uint32 neighborTableSize = 17;
145
+ int32 instantRssi = 18;
146
+ }
147
+
148
+ message TopoEntryEvent {
149
+ bytes extAddress = 1;
150
+ uint32 rloc16 = 2;
151
+ uint32 linkQualityIn = 3;
152
+ int32 averageRssi = 4;
153
+ google.protobuf.Duration age = 5;
154
+ bool rxOnWhenIdle = 6;
155
+ bool fullFunction = 7;
156
+ bool secureDataRequest = 8;
157
+ bool fullNetworkData = 9;
158
+ int32 lastRssi = 10;
159
+ uint32 linkFrameCounter = 11;
160
+ uint32 mleFrameCounter = 12;
161
+ bool isChild = 13;
162
+ google.protobuf.Duration timeout = 14;
163
+ google.protobuf.UInt32Value networkDataVersion = 15;
164
+ float macFrameErrorRate = 16;
165
+ float ipMessageErrorRate = 17;
166
+ }
167
+
168
+ message WpanChannelmonStatsEvent {
169
+ repeated ChannelUtilization channels = 1;
170
+ uint32 samples = 2;
171
+ }
172
+
173
+ message WpanAntennaStatsEvent {
174
+ repeated PerAntennaStats antennaStats = 1;
175
+ uint32 antSwitchCnt = 2;
176
+ }
177
+
178
+ message NetworkWpanTopoParentRespEvent {
179
+ uint32 rloc16 = 1;
180
+ int32 rssi = 2;
181
+ int32 priority = 3;
182
+ bytes extAddr = 4;
183
+ uint32 linkQuality3 = 5;
184
+ uint32 linkQuality2 = 6;
185
+ uint32 linkQuality1 = 7;
186
+ }
187
+ }
188
+
189
+ message RadioSignalStrengthTrait {
190
+ enum RadioType {
191
+ RADIO_TYPE_UNSPECIFIED = 0;
192
+ RADIO_TYPE_BLUETOOTH_LE = 1;
193
+ }
194
+
195
+ enum SignalStrength {
196
+ SIGNAL_STRENGTH_UNSPECIFIED = 0;
197
+ SIGNAL_STRENGTH_NO_SIGNAL = 1;
198
+ SIGNAL_STRENGTH_WEAK = 2;
199
+ SIGNAL_STRENGTH_STRONG = 3;
200
+ }
201
+
202
+ enum StatusCode {
203
+ STATUS_CODE_UNSPECIFIED = 0;
204
+ STATUS_CODE_DEVICE_INVALID = 1;
205
+ STATUS_CODE_RADIO_INVALID = 2;
206
+ STATUS_CODE_RADIO_ERROR = 3;
207
+ }
208
+
209
+ message SignalStrengthTestRequest {
210
+ weave.common.ResourceId deviceId = 1;
211
+ RadioType radioType = 2;
212
+ google.protobuf.Duration testDuration = 3;
213
+ }
214
+
215
+ message SignalStrengthTestResponse {
216
+ SignalStrength signalStrength = 1;
217
+ }
218
+ }
219
+
220
+ message TelemetryNetworkWifiTrait {
221
+ message NetworkWiFiStatsEvent {
222
+ int32 rssi = 1;
223
+ uint32 bcnRecvd = 2;
224
+ uint32 bcnLost = 3;
225
+ uint32 pktMcastRx = 4;
226
+ uint32 pktUcastRx = 5;
227
+ uint32 currRxRate = 6;
228
+ uint32 currTxRate = 7;
229
+ uint32 sleepTimePercent = 8;
230
+ uint32 bssid = 9;
231
+ uint32 freq = 10;
232
+ uint32 numOfAp = 11;
233
+ }
234
+
235
+ message NetworkWiFiDeauthEvent {
236
+ uint32 reason = 1;
237
+ }
238
+
239
+ message NetworkWiFiInvalidKeyEvent {
240
+ uint32 reason = 1;
241
+ }
242
+
243
+ message NetworkWiFiConnectionStatusChangeEvent {
244
+ bool isConnected = 1;
245
+ google.protobuf.StringValue lnid = 2;
246
+ google.protobuf.StringValue lnidW = 3;
247
+ }
248
+ }
249
+
250
+ message ThreadInterfaceTrait {
251
+ bool isOnline = 1;
252
+ bytes macAddress = 2;
253
+ repeated bytes ipAddresses = 3;
254
+ bytes extendedPanId = 32;
255
+ ThreadNetworkParameters networkParameters = 33;
256
+
257
+ enum ThreadRoutingRole {
258
+ THREAD_ROUTING_ROLE_UNSPECIFIED = 0;
259
+ THREAD_ROUTING_ROLE_END_DEVICE = 1;
260
+ THREAD_ROUTING_ROLE_ELIGIBLE = 2;
261
+ THREAD_ROUTING_ROLE_REGULAR = 3;
262
+ THREAD_ROUTING_ROLE_LEADER = 4;
263
+ }
264
+
265
+ message ThreadChannelDescriptor {
266
+ ThreadInterfaceCapabilityTrait.ThreadChannelPage page = 1;
267
+ uint32 index = 2;
268
+ weave.common.StringRef description = 3;
269
+ }
270
+
271
+ message ThreadInterfaceRole {
272
+ ThreadRoutingRole routingRole = 1;
273
+ bool isSleepy = 2;
274
+ }
275
+
276
+ message ThreadNetworkParameters {
277
+ ThreadInterfaceRole role = 1;
278
+ ThreadChannelDescriptor channel = 2;
279
+ bytes panId = 3;
280
+ bytes networkName = 4;
281
+ }
282
+ }
283
+
284
+ message NetworkFaultTrait {
285
+ bool asserted = 1;
286
+ repeated NetworkFaultType type = 32;
287
+
288
+ enum NetworkFaultType {
289
+ NETWORK_FAULT_TYPE_UNSPECIFIED = 0;
290
+ NETWORK_FAULT_TYPE_LINK_DOWN = 1;
291
+ NETWORK_FAULT_TYPE_HW_FAILURE = 2;
292
+ NETWORK_FAULT_TYPE_JAMMED = 3;
293
+ }
294
+
295
+ message NetworkFaultEvent {
296
+ bool asserted = 1;
297
+ repeated NetworkFaultType type = 32;
298
+ }
299
+ }
300
+
301
+ message RadioFaultTrait {
302
+ enum RadioFaultType {
303
+ RADIO_FAULT_TYPE_UNSPECIFIED = 0;
304
+ RADIO_FAULT_TYPE_BROKEN_WIFI = 1;
305
+ RADIO_FAULT_TYPE_BROKEN_CELLULAR = 2;
306
+ RADIO_FAULT_TYPE_BROKEN_15_4 = 3;
307
+ RADIO_FAULT_TYPE_BROKEN_NFC = 4;
308
+ RADIO_FAULT_TYPE_BROKEN_BLE = 5;
309
+ }
310
+
311
+ message RadioFaultEvent {
312
+ bool asserted = 1;
313
+ repeated RadioFaultType type = 32;
314
+ }
315
+ }
316
+
317
+ message ThreadInterfaceCapabilityTrait {
318
+ TelemetryNetworkWpanTrait.ThreadType type = 1;
319
+ weave.common.StringRef description = 2;
320
+ bool canSleep = 32;
321
+ bool canRoute = 33;
322
+ repeated ThreadChannelPage channelPages = 34;
323
+
324
+ enum ThreadChannelPage {
325
+ THREAD_CHANNEL_PAGE_UNSPECIFIED = 0;
326
+ THREAD_CHANNEL_PAGE_IEEE802_15_4_ISM2_4 = 1;
327
+ }
328
+ }
329
+
330
+ message TelemetryNetworkTrait {
331
+ message NetworkDHCPFailureEvent {
332
+ uint32 reason = 1;
333
+ }
334
+ }
335
+
336
+ message WifiNetworkFaultTrait {
337
+ bool asserted = 1;
338
+ repeated NetworkFaultTrait.NetworkFaultType type = 32;
339
+
340
+ message WifiNetworkFaultEvent {
341
+ bool asserted = 1;
342
+ repeated NetworkFaultTrait.NetworkFaultType type = 32;
343
+ }
344
+ }
345
+
346
+ message WifiInterfaceTrait {
347
+ bool isOnline = 1;
348
+ bytes macAddress = 2;
349
+ repeated bytes ipAddresses = 3;
350
+ int32 rssi = 32;
351
+ string regulatoryDomain = 33;
352
+ }