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
@@ -128,6 +128,7 @@ message LocatedTrait {
128
128
  message LocatedAnnotationsTrait {
129
129
  map<uint32, WhereItem> predefinedWheres = 1;
130
130
  map<uint32, WhereItem> customWheres = 2;
131
+ map<uint32, weave.common.ResourceId> deprecatedPredefinedWheresToInclude = 3;
131
132
 
132
133
  enum StatusCode {
133
134
  STATUS_CODE_UNSPECIFIED = 0;
@@ -171,14 +172,6 @@ message LocatedAnnotationsTrait {
171
172
  }
172
173
  }
173
174
 
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
175
  message DeviceLocatedSettingsTrait {
183
176
  weave.common.ResourceId whereAnnotationRid = 2;
184
177
  weave.common.ResourceId fixtureAnnotationRid = 3;
@@ -190,4 +183,54 @@ message DeviceLocatedSettingsTrait {
190
183
  google.protobuf.Timestamp lastModifiedTimestamp = 9;
191
184
  google.protobuf.Timestamp lastKnownRelocationTimestamp = 10;
192
185
  string whereLegacyUuid = 11;
186
+
187
+ enum StatusCode {
188
+ STATUS_CODE_UNSPECIFIED = 0;
189
+ STATUS_CODE_SUCCESS = 1;
190
+ STATUS_CODE_INTERNAL = 2;
191
+ STATUS_CODE_UNAUTHORIZED = 3;
192
+ STATUS_CODE_RESOURCE_NOT_FOUND = 4;
193
+ }
194
+
195
+ message SetWhereRequest {
196
+ string whereLabel = 1;
197
+ string locale = 2;
198
+ }
199
+
200
+ message SetWhereResponse {
201
+ weave.common.ResourceId whereAnnotationRid = 1;
202
+ }
203
+
204
+ message SyncRoomAssignmentRequest {
205
+ weave.common.ResourceId resourceId = 1;
206
+ string roomName = 2;
207
+ }
208
+
209
+ message SyncRoomAssignmentResponse {
210
+ StatusCode status = 1;
211
+ weave.common.ResourceId resourceId = 2;
212
+ }
193
213
  }
214
+
215
+ message GeoCommon {
216
+ message GeoCoordinateStruct {
217
+ float latitude = 1;
218
+ float longitude = 2;
219
+ }
220
+
221
+ message PostalAddress {
222
+ google.protobuf.StringValue postalCode = 1;
223
+ string regionCode = 2;
224
+ repeated string addressLines = 3;
225
+ google.protobuf.StringValue locality = 4;
226
+ google.protobuf.StringValue administrativeArea = 5;
227
+ }
228
+ }
229
+
230
+ message DeviceLocatedCapabilitiesTrait {
231
+ repeated weave.common.ResourceId validWhereAnnotationRids = 1;
232
+ repeated weave.common.ResourceId validWhereSpokenAnnotationRids = 2;
233
+ repeated weave.common.ResourceId validFixtureAnnotationRids = 3;
234
+ repeated weave.common.ResourceId validFixtureSpokenAnnotationRids = 4;
235
+ repeated LocatedTrait.LocatedFixtureType validFixtureTypes = 5;
236
+ }
@@ -1,6 +1,7 @@
1
1
  syntax = "proto3";
2
2
 
3
3
  import "google/protobuf/duration.proto";
4
+ import "google/protobuf/timestamp.proto";
4
5
  import "google/protobuf/wrappers.proto";
5
6
  import "../../weave/common.proto";
6
7
 
@@ -27,6 +28,27 @@ message TelemetryNetworkWpanTrait {
27
28
  THREAD_TYPE_OPENTHREAD = 2;
28
29
  }
29
30
 
31
+ enum SrpServerState {
32
+ SRP_SERVER_STATE_UNSPECIFIED = 0;
33
+ SRP_SERVER_STATE_DISABLED = 1;
34
+ SRP_SERVER_STATE_RUNNING = 2;
35
+ SRP_SERVER_STATE_STOPPED = 3;
36
+ }
37
+
38
+ enum SrpServerAddressMode {
39
+ SRP_SERVER_ADDRESS_MODE_UNSPECIFIED = 0;
40
+ SRP_SERVER_ADDRESS_MODE_UNICAST = 1;
41
+ SRP_SERVER_ADDRESS_MODE_STATE_ANYCAST = 2;
42
+ }
43
+
44
+ enum Nat64State {
45
+ NAT64_STATE_UNSPECIFIED = 0;
46
+ NAT64_STATE_DISABLED = 1;
47
+ NAT64_STATE_NOT_RUNNING = 2;
48
+ NAT64_STATE_IDLE = 3;
49
+ NAT64_STATE_ACTIVE = 4;
50
+ }
51
+
30
52
  message ChannelUtilization {
31
53
  uint32 channel = 1;
32
54
  float percentBusy = 2;
@@ -122,6 +144,7 @@ message TelemetryNetworkWpanTrait {
122
144
  uint32 partitionId = 6;
123
145
  bytes extAddress = 7;
124
146
  int32 instantRssi = 8;
147
+ uint64 extendedPanId = 9;
125
148
  }
126
149
 
127
150
  message NetworkWpanTopoFullEvent {
@@ -143,6 +166,7 @@ message TelemetryNetworkWpanTrait {
143
166
  uint32 childTableSize = 16;
144
167
  uint32 neighborTableSize = 17;
145
168
  int32 instantRssi = 18;
169
+ uint64 extendedPanId = 19;
146
170
  }
147
171
 
148
172
  message TopoEntryEvent {
@@ -163,6 +187,7 @@ message TelemetryNetworkWpanTrait {
163
187
  google.protobuf.UInt32Value networkDataVersion = 15;
164
188
  float macFrameErrorRate = 16;
165
189
  float ipMessageErrorRate = 17;
190
+ int32 version = 18;
166
191
  }
167
192
 
168
193
  message WpanChannelmonStatsEvent {
@@ -184,40 +209,224 @@ message TelemetryNetworkWpanTrait {
184
209
  uint32 linkQuality2 = 6;
185
210
  uint32 linkQuality1 = 7;
186
211
  }
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
212
 
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;
213
+ message Nat64TrafficCounters {
214
+ int64 ipv4ToIpv6Packets = 1;
215
+ int64 ipv4ToIpv6Bytes = 2;
216
+ int64 ipv6ToIpv4Packets = 3;
217
+ int64 ipv6ToIpv4Bytes = 4;
218
+ }
219
+
220
+ message Nat64ProtocolCounters {
221
+ Nat64TrafficCounters tcp = 1;
222
+ Nat64TrafficCounters udp = 2;
223
+ Nat64TrafficCounters icmp = 3;
224
+ }
225
+
226
+ message Nat64PacketCounters {
227
+ int64 ipv4ToIpv6Packets = 1;
228
+ int64 ipv6ToIpv4Packets = 2;
229
+ }
230
+
231
+ message Nat64ErrorCounters {
232
+ Nat64PacketCounters unknown = 1;
233
+ Nat64PacketCounters illegalPacket = 2;
234
+ Nat64PacketCounters unsupportedProtocol = 3;
235
+ Nat64PacketCounters noMapping = 4;
236
+ }
237
+
238
+ message BorderRoutingCounters {
239
+ uint32 raRxCount = 1;
240
+ uint32 raTxCount = 2;
241
+ uint32 rsRxCount = 3;
242
+ uint32 rsTxCount = 4;
243
+ uint32 inboundIpPackets = 5;
244
+ uint32 inboundIpBytes = 6;
245
+ uint32 outboundIpPackets = 7;
246
+ uint32 outboundIpBytes = 8;
247
+ uint32 raTxSuccessCount = 9;
248
+ uint32 raTxFailureCount = 10;
249
+ uint32 rsTxSuccessCount = 11;
250
+ uint32 rsTxFailureCount = 12;
251
+ uint64 inboundUnicastPackets = 13;
252
+ uint64 inboundUnicastBytes = 14;
253
+ uint64 inboundMulticastPackets = 15;
254
+ uint64 inboundMulticastBytes = 16;
255
+ uint64 outboundUnicastPackets = 17;
256
+ uint64 outboundUnicastBytes = 18;
257
+ uint64 outboundMulticastPackets = 19;
258
+ uint64 outboundMulticastBytes = 20;
259
+ Nat64ProtocolCounters nat64ProtocolCounters = 21;
260
+ Nat64ErrorCounters nat64ErrorCounters = 22;
261
+ }
262
+
263
+ message SrpServerRegistrationInfo {
264
+ uint32 freshCount = 1;
265
+ uint32 deletedCount = 2;
266
+ uint64 leaseTimeTotal = 3;
267
+ uint64 keyLeaseTimeTotal = 4;
268
+ uint64 remainingLeaseTimeTotal = 5;
269
+ uint64 remainingKeyLeaseTimeTotal = 6;
270
+ }
271
+
272
+ message SrpServerResponseCounters {
273
+ uint32 successCount = 1;
274
+ uint32 serverFailureCount = 2;
275
+ uint32 formatErrorCount = 3;
276
+ uint32 nameExistsCount = 4;
277
+ uint32 refusedCount = 5;
278
+ uint32 otherCount = 6;
279
+ }
280
+
281
+ message SrpServerInfo {
282
+ SrpServerState state = 1;
283
+ uint32 port = 2;
284
+ SrpServerAddressMode addressMode = 3;
285
+ SrpServerRegistrationInfo hosts = 4;
286
+ SrpServerRegistrationInfo services = 5;
287
+ SrpServerResponseCounters responseCounters = 6;
288
+ }
289
+
290
+ message DnsServerResponseCounters {
291
+ uint32 successCount = 1;
292
+ uint32 serverFailureCount = 2;
293
+ uint32 formatErrorCount = 3;
294
+ uint32 nameErrorCount = 4;
295
+ uint32 notImplementedCount = 5;
296
+ uint32 otherCount = 6;
297
+ }
298
+
299
+ message DnsServerInfo {
300
+ DnsServerResponseCounters responseCounters = 1;
301
+ uint32 resolvedByLocalSrpCount = 2;
302
+ }
303
+
304
+ message MdnsResponseCounters {
305
+ uint32 successCount = 1;
306
+ uint32 notFoundCount = 2;
307
+ uint32 invalidArgsCount = 3;
308
+ uint32 duplicatedCount = 4;
309
+ uint32 notImplementedCount = 5;
310
+ uint32 unknownErrorCount = 6;
311
+ uint32 abortedCount = 7;
312
+ uint32 invalidStateCount = 8;
313
+ }
314
+
315
+ message MdnsInfo {
316
+ MdnsResponseCounters hostRegistrationResponses = 1;
317
+ MdnsResponseCounters serviceRegistrationResponses = 2;
318
+ MdnsResponseCounters hostResolutionResponses = 3;
319
+ MdnsResponseCounters serviceResolutionResponses = 4;
320
+ uint32 hostRegistrationEmaLatency = 5;
321
+ uint32 serviceRegistrationEmaLatency = 6;
322
+ uint32 hostResolutionEmaLatency = 7;
323
+ uint32 serviceResolutionEmaLatency = 8;
324
+ }
325
+
326
+ message FeatureFlagMetrics {
327
+ int64 countSyncSuccess = 1;
328
+ int64 countSyncFailPushToApply = 2;
329
+ int64 countSyncFailRetrieveFromDcs = 3;
330
+ }
331
+
332
+ message BorderRoutingNat64State {
333
+ Nat64State prefixManagerState = 1;
334
+ Nat64State translatorState = 2;
335
+ }
336
+
337
+ message Nat64Mapping {
338
+ uint64 mappingId = 1;
339
+ bytes hashedIpv6Address = 2;
340
+ Nat64ProtocolCounters counters = 3;
341
+ }
342
+
343
+ message NetworkWpanBorderRouterEvent {
344
+ BorderRoutingCounters borderRoutingCounters = 1;
345
+ SrpServerInfo srpServer = 2;
346
+ DnsServerInfo dnsServer = 3;
347
+ MdnsInfo mdns = 4;
348
+ FeatureFlagMetrics featureFlagMetrics = 5;
349
+ BorderRoutingNat64State nat64State = 6;
350
+ repeated Nat64Mapping nat64Mappings = 7;
351
+ repeated int32 experimentId = 8;
352
+ }
353
+
354
+ message DeviceInfoEvent {
355
+ string releaseChannel = 1;
356
+ string softwareVersion = 2;
357
+ string hardwareVersion = 3;
358
+ string otHostVersion = 4;
359
+ string otRcpVersion = 5;
360
+ int32 threadVersion = 6;
361
+ string threadDaemonVersion = 7;
362
+ string regionCode = 8;
363
+ string regionCodeFactory = 9;
364
+ }
365
+
366
+ message RcpStabilityStatistics {
367
+ uint32 rcpTimeoutCount = 1;
368
+ uint32 rcpResetCount = 2;
369
+ uint32 rcpRestorationCount = 3;
370
+ uint32 spinelParseErrorCount = 4;
371
+ int32 rcpFirmwareUpdateCount = 5;
372
+ uint32 threadStackUptime = 6;
373
+ }
374
+
375
+ message RcpInterfaceStatistics {
376
+ uint32 rcpInterfaceType = 1;
377
+ uint64 transferredFramesCount = 2;
378
+ uint64 transferredValidFramesCount = 3;
379
+ uint64 transferredGarbageFramesCount = 4;
380
+ uint64 rxFramesCount = 5;
381
+ uint64 rxBytesCount = 6;
382
+ uint64 txFramesCount = 7;
383
+ uint64 txBytesCount = 8;
384
+ }
385
+
386
+ message NetworkWpanRcpEvent {
387
+ RcpStabilityStatistics rcpStabilityStatistics = 1;
388
+ RcpInterfaceStatistics rcpInterfaceStatistics = 2;
389
+ }
390
+
391
+ message ThreadCoexMetricsEvent {
392
+ int64 countTxRequest = 1;
393
+ int64 countTxGrantImmediate = 2;
394
+ int64 countTxGrantWait = 3;
395
+ int64 countTxGrantWaitActivated = 4;
396
+ int64 countTxGrantWaitTimeout = 5;
397
+ int64 countTxGrantDeactivatedDuringRequest = 6;
398
+ int64 txAverageRequestToGrantTime = 7;
399
+ int64 countRxRequest = 8;
400
+ int64 countRxGrantImmediate = 9;
401
+ int64 countRxGrantWait = 10;
402
+ int64 countRxGrantWaitActivated = 11;
403
+ int64 countRxGrantWaitTimeout = 12;
404
+ int64 countRxGrantDeactivatedDuringRequest = 13;
405
+ int64 countRxGrantNone = 14;
406
+ int64 rxAverageRequestToGrantTime = 15;
407
+ }
408
+
409
+ message ThreadDataEvent {
410
+ int32 eventType = 1;
411
+ bytes data = 2;
207
412
  }
413
+ }
208
414
 
209
- message SignalStrengthTestRequest {
210
- weave.common.ResourceId deviceId = 1;
211
- RadioType radioType = 2;
212
- google.protobuf.Duration testDuration = 3;
415
+ message TelemetryNetworkWifiTrait {
416
+ enum NetworkCondition {
417
+ NETWORK_CONDITION_UNSPECIFIED = 0;
418
+ NETWORK_CONDITION_NO_NETWORK = 1;
419
+ NETWORK_CONDITION_WEAK = 2;
420
+ NETWORK_CONDITION_NORMAL = 3;
421
+ NETWORK_CONDITION_GOOD = 4;
213
422
  }
214
423
 
215
- message SignalStrengthTestResponse {
216
- SignalStrength signalStrength = 1;
424
+ enum NetworkConditionRequestResponseStatus {
425
+ NETWORK_CONDITION_REQUEST_RESPONSE_STATUS_UNSPECIFIED = 0;
426
+ NETWORK_CONDITION_REQUEST_RESPONSE_STATUS_SUCCESS = 1;
427
+ NETWORK_CONDITION_REQUEST_RESPONSE_STATUS_FAIL = 2;
217
428
  }
218
- }
219
429
 
220
- message TelemetryNetworkWifiTrait {
221
430
  message NetworkWiFiStatsEvent {
222
431
  int32 rssi = 1;
223
432
  uint32 bcnRecvd = 2;
@@ -245,6 +454,104 @@ message TelemetryNetworkWifiTrait {
245
454
  google.protobuf.StringValue lnid = 2;
246
455
  google.protobuf.StringValue lnidW = 3;
247
456
  }
457
+
458
+ message NetworkWiFiApConnectEvent {
459
+ uint64 time = 1;
460
+ uint32 brand = 2;
461
+ uint32 vendor = 3;
462
+ bool isHostOff = 4;
463
+ uint32 channel = 5;
464
+ uint32 bssid = 6;
465
+ uint32 bi = 7;
466
+ uint32 dtim = 8;
467
+ google.protobuf.StringValue bssidHash = 9;
468
+ }
469
+
470
+ message RssiBucket {
471
+ uint32 index = 1;
472
+ uint32 count = 2;
473
+ }
474
+
475
+ message NetworkWiFiApDisconnectEvent {
476
+ uint64 time = 1;
477
+ uint32 reason = 2;
478
+ uint32 duration = 3;
479
+ bool isHostOff = 4;
480
+ uint32 channel = 5;
481
+ uint32 bssid = 6;
482
+ uint32 bi = 7;
483
+ uint32 dtim = 8;
484
+ int32 rssiMin = 9;
485
+ int32 rssiMax = 10;
486
+ uint32 forceAwakeCnt = 11;
487
+ uint32 bcnRcvPercent = 12;
488
+ google.protobuf.StringValue bssidHash = 13;
489
+ repeated RssiBucket rssiCounts = 14;
490
+ }
491
+
492
+ message NetworkWiFiSdioStatsEvent {
493
+ uint32 attachSdioFailCnt = 1;
494
+ uint32 firmwareHangCnt = 2;
495
+ uint32 busHangCnt = 3;
496
+ uint32 fwReloadPhyReinitCnt = 4;
497
+ uint32 fwReloadConnStuckCnt = 5;
498
+ uint32 fwReloadDhcpStuckCnt = 6;
499
+ uint32 emptyScanResultsCnt = 7;
500
+ }
501
+
502
+ message DhcpInfoEvent {
503
+ uint32 dhcpLeaseTime = 1;
504
+ }
505
+
506
+ message NetworkCheckInfoEvent {
507
+ google.protobuf.Timestamp checkTime = 1;
508
+ uint32 brand = 2;
509
+ uint32 status = 3;
510
+ uint32 triggerSource = 4;
511
+ }
512
+
513
+ message NetworkCheckWifiCommonHalEvent {
514
+ uint32 result = 1;
515
+ }
516
+
517
+ message NetworkConditionRequest {
518
+ }
519
+
520
+ message NetworkConditionRequestResponse {
521
+ NetworkConditionRequestResponseStatus status = 1;
522
+ NetworkCondition networkCondition = 2;
523
+ }
524
+ }
525
+
526
+ message RadioSignalStrengthTrait {
527
+ enum RadioType {
528
+ RADIO_TYPE_UNSPECIFIED = 0;
529
+ RADIO_TYPE_BLUETOOTH_LE = 1;
530
+ }
531
+
532
+ enum SignalStrength {
533
+ SIGNAL_STRENGTH_UNSPECIFIED = 0;
534
+ SIGNAL_STRENGTH_NO_SIGNAL = 1;
535
+ SIGNAL_STRENGTH_WEAK = 2;
536
+ SIGNAL_STRENGTH_STRONG = 3;
537
+ }
538
+
539
+ enum StatusCode {
540
+ STATUS_CODE_UNSPECIFIED = 0;
541
+ STATUS_CODE_DEVICE_INVALID = 1;
542
+ STATUS_CODE_RADIO_INVALID = 2;
543
+ STATUS_CODE_RADIO_ERROR = 3;
544
+ }
545
+
546
+ message SignalStrengthTestRequest {
547
+ weave.common.ResourceId deviceId = 1;
548
+ RadioType radioType = 2;
549
+ google.protobuf.Duration testDuration = 3;
550
+ }
551
+
552
+ message SignalStrengthTestResponse {
553
+ SignalStrength signalStrength = 1;
554
+ }
248
555
  }
249
556
 
250
557
  message ThreadInterfaceTrait {
@@ -281,6 +588,37 @@ message ThreadInterfaceTrait {
281
588
  }
282
589
  }
283
590
 
591
+ message WifiInterfaceTrait {
592
+ bool isOnline = 1;
593
+ bytes macAddress = 2;
594
+ repeated bytes ipAddresses = 3;
595
+ int32 rssi = 32;
596
+ string regulatoryDomain = 33;
597
+ string ssid = 34;
598
+
599
+ enum ConnectionStrength {
600
+ CONNECTION_STRENGTH_UNSPECIFIED = 0;
601
+ CONNECTION_STRENGTH_NO_SIGNAL = 1;
602
+ CONNECTION_STRENGTH_BAD = 2;
603
+ CONNECTION_STRENGTH_FAIR = 3;
604
+ CONNECTION_STRENGTH_GOOD = 4;
605
+ CONNECTION_STRENGTH_EXCELLENT = 5;
606
+ }
607
+
608
+ enum RequestStatusCode {
609
+ REQUEST_STATUS_CODE_UNSPECIFIED = 0;
610
+ REQUEST_STATUS_CODE_SUCCESS = 1;
611
+ REQUEST_STATUS_CODE_FAILED = 2;
612
+ }
613
+
614
+ message GetWiFiConnectionStrengthRequest {
615
+ }
616
+
617
+ message GetWiFiConnectionStrengthResponse {
618
+ ConnectionStrength connStrength = 1;
619
+ }
620
+ }
621
+
284
622
  message NetworkFaultTrait {
285
623
  bool asserted = 1;
286
624
  repeated NetworkFaultType type = 32;
@@ -341,12 +679,4 @@ message WifiNetworkFaultTrait {
341
679
  bool asserted = 1;
342
680
  repeated NetworkFaultTrait.NetworkFaultType type = 32;
343
681
  }
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
- }
682
+ }