node-red-contrib-homebridge-automation 0.1.12-beta.40 → 0.1.12-beta.41

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.
@@ -0,0 +1,2179 @@
1
+
2
+ const { HapClient } = require('@homebridge/hap-client');
3
+ const HBConfigNode = require('./hbConfigNode'); // Update the path as necessary
4
+
5
+ jest.mock('@homebridge/hap-client');
6
+
7
+ describe('HBConfigNode', () => {
8
+ let mockConfig;
9
+ let RED;
10
+ let node;
11
+
12
+ beforeEach(() => {
13
+ mockConfig = {
14
+ username: '123-45-678',
15
+ macAddress: '00:11:22:33:44:55',
16
+ jest: true,
17
+ };
18
+
19
+ RED = {
20
+ nodes: {
21
+ createNode: jest.fn(),
22
+ },
23
+ };
24
+
25
+ node = new HBConfigNode(mockConfig, RED);
26
+ node.hbDevices = [
27
+ {
28
+ humanType: 'Lightbulb',
29
+ serviceName: 'Living Room Light',
30
+ type: 'Lightbulb',
31
+ instance: {
32
+ name: 'Bridge1',
33
+ username: '00:11:22:33:44:55',
34
+ },
35
+ accessoryInformation: {
36
+ Manufacturer: 'Acme',
37
+ },
38
+ uuid: '12345678-1234-5678-1234-567812345678',
39
+ },
40
+ {
41
+ humanType: 'Switch',
42
+ serviceName: 'Kitchen Switch',
43
+ type: 'Switch',
44
+ instance: {
45
+ name: 'Bridge2',
46
+ username: '11:22:33:44:55:66',
47
+ },
48
+ accessoryInformation: {
49
+ Manufacturer: 'Acme',
50
+ },
51
+ uuid: '87654321-4321-8765-4321-876543218765',
52
+ },
53
+ {
54
+ humanType: 'UnknownType', // This should be filtered out
55
+ serviceName: 'Garage Sensor',
56
+ type: 'Sensor',
57
+ instance: {
58
+ name: 'Bridge3',
59
+ username: '22:33:44:55:66:77',
60
+ },
61
+ accessoryInformation: {
62
+ Manufacturer: 'Acme',
63
+ },
64
+ uuid: '11223344-5566-7788-99aa-bbccddeeff00',
65
+ },
66
+ {
67
+ "aid": 1,
68
+ "iid": 54,
69
+ "uuid": "000000A2-0000-1000-8000-0026BB765291",
70
+ "type": "ProtocolInformation",
71
+ "humanType": "Protocol Information",
72
+ "serviceName": "Deck 6EED",
73
+ "serviceCharacteristics": [
74
+ {
75
+ "aid": 1,
76
+ "iid": 55,
77
+ "uuid": "00000037-0000-1000-8000-0026BB765291",
78
+ "type": "Version",
79
+ "serviceType": "ProtocolInformation",
80
+ "serviceName": "Deck 6EED",
81
+ "description": "Version",
82
+ "value": "1.1.0",
83
+ "format": "string",
84
+ "perms": [
85
+ "pr"
86
+ ],
87
+ "canRead": true,
88
+ "canWrite": false,
89
+ "ev": false
90
+ }
91
+ ],
92
+ "accessoryInformation": {
93
+ "Manufacturer": "HikVision",
94
+ "Model": "ECI-T24F2",
95
+ "Name": "Deck 6EED",
96
+ "Serial Number": "Default-SerialNumber",
97
+ "Firmware Revision": "0.0.0"
98
+ },
99
+ "values": {
100
+ "Version": "1.1.0"
101
+ },
102
+ "instance": {
103
+ "name": "ECI-T24F2",
104
+ "username": "8E:88:AB:7A:D0:54",
105
+ "ipAddress": "192.168.1.11",
106
+ "port": 33811,
107
+ "services": [],
108
+ "connectionFailedCount": 0,
109
+ "configurationNumber": "3"
110
+ },
111
+ "uniqueId": "df9f624e673eae7295adbddf6178e854c11245b7e76303550fc4b288058872ae"
112
+ },
113
+ {
114
+ "aid": 1,
115
+ "iid": 8,
116
+ "uuid": "00000085-0000-1000-8000-0026BB765291",
117
+ "type": "MotionSensor",
118
+ "humanType": "Motion Sensor",
119
+ "serviceName": "Canoe",
120
+ "serviceCharacteristics": [
121
+ {
122
+ "aid": 1,
123
+ "iid": 10,
124
+ "uuid": "00000022-0000-1000-8000-0026BB765291",
125
+ "type": "MotionDetected",
126
+ "serviceType": "MotionSensor",
127
+ "serviceName": "Canoe",
128
+ "description": "Motion Detected",
129
+ "value": 0,
130
+ "format": "bool",
131
+ "perms": [
132
+ "ev",
133
+ "pr"
134
+ ],
135
+ "canRead": true,
136
+ "canWrite": false,
137
+ "ev": true
138
+ }
139
+ ],
140
+ "accessoryInformation": {
141
+ "Manufacturer": "HikVision",
142
+ "Model": "ECI-T24F2",
143
+ "Name": "Canoe 5036",
144
+ "Serial Number": "Default-SerialNumber",
145
+ "Firmware Revision": "0.0.0"
146
+ },
147
+ "values": {
148
+ "MotionDetected": 0
149
+ },
150
+ "instance": {
151
+ "name": "ECI-T24F2",
152
+ "username": "5C:EE:FE:4D:64:B4",
153
+ "ipAddress": "192.168.1.11",
154
+ "port": 39757,
155
+ "services": [],
156
+ "connectionFailedCount": 0,
157
+ "configurationNumber": "3"
158
+ },
159
+ "uniqueId": "10dbaceb026b81f56c6226eca2c30b7ba06c29de632253972402bd3f489096f1"
160
+ },
161
+ {
162
+ "aid": 1,
163
+ "iid": 14,
164
+ "uuid": "00000110-0000-1000-8000-0026BB765291",
165
+ "type": "CameraRTPStreamManagement",
166
+ "humanType": "Camera Rtp Stream Management",
167
+ "serviceName": "Canoe 5036",
168
+ "serviceCharacteristics": [
169
+ {
170
+ "aid": 1,
171
+ "iid": 17,
172
+ "uuid": "00000120-0000-1000-8000-0026BB765291",
173
+ "type": "StreamingStatus",
174
+ "serviceType": "CameraRTPStreamManagement",
175
+ "serviceName": "Canoe 5036",
176
+ "description": "Streaming Status",
177
+ "value": "AQEA",
178
+ "format": "tlv8",
179
+ "perms": [
180
+ "ev",
181
+ "pr"
182
+ ],
183
+ "canRead": true,
184
+ "canWrite": false,
185
+ "ev": true
186
+ },
187
+ {
188
+ "aid": 1,
189
+ "iid": 18,
190
+ "uuid": "00000115-0000-1000-8000-0026BB765291",
191
+ "type": "SupportedAudioStreamConfiguration",
192
+ "serviceType": "CameraRTPStreamManagement",
193
+ "serviceName": "Canoe 5036",
194
+ "description": "Supported Audio Stream Configuration",
195
+ "value": "AQ4BAQMCCQEBAQIBAAMBAgAAAQ4BAQICCQEBAQIBAAMBAQIBAA==",
196
+ "format": "tlv8",
197
+ "perms": [
198
+ "pr"
199
+ ],
200
+ "canRead": true,
201
+ "canWrite": false,
202
+ "ev": false
203
+ },
204
+ {
205
+ "aid": 1,
206
+ "iid": 19,
207
+ "uuid": "00000116-0000-1000-8000-0026BB765291",
208
+ "type": "SupportedRTPConfiguration",
209
+ "serviceType": "CameraRTPStreamManagement",
210
+ "serviceName": "Canoe 5036",
211
+ "description": "Supported RTP Configuration",
212
+ "value": "AgEA",
213
+ "format": "tlv8",
214
+ "perms": [
215
+ "pr"
216
+ ],
217
+ "canRead": true,
218
+ "canWrite": false,
219
+ "ev": false
220
+ },
221
+ {
222
+ "aid": 1,
223
+ "iid": 20,
224
+ "uuid": "00000114-0000-1000-8000-0026BB765291",
225
+ "type": "SupportedVideoStreamConfiguration",
226
+ "serviceType": "CameraRTPStreamManagement",
227
+ "serviceName": "Canoe 5036",
228
+ "description": "Supported Video Stream Configuration",
229
+ "value": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
230
+ "format": "tlv8",
231
+ "perms": [
232
+ "pr"
233
+ ],
234
+ "canRead": true,
235
+ "canWrite": false,
236
+ "ev": false
237
+ },
238
+ {
239
+ "aid": 1,
240
+ "iid": 21,
241
+ "uuid": "000000B0-0000-1000-8000-0026BB765291",
242
+ "type": "Active",
243
+ "serviceType": "CameraRTPStreamManagement",
244
+ "serviceName": "Canoe 5036",
245
+ "description": "Active",
246
+ "value": 1,
247
+ "format": "uint8",
248
+ "perms": [
249
+ "ev",
250
+ "pr",
251
+ "pw"
252
+ ],
253
+ "maxValue": 1,
254
+ "minValue": 0,
255
+ "minStep": 1,
256
+ "canRead": true,
257
+ "canWrite": true,
258
+ "ev": true
259
+ },
260
+ {
261
+ "aid": 1,
262
+ "iid": 15,
263
+ "uuid": "00000117-0000-1000-8000-0026BB765291",
264
+ "type": "SelectedRTPStreamConfiguration",
265
+ "serviceType": "CameraRTPStreamManagement",
266
+ "serviceName": "Canoe 5036",
267
+ "description": "Selected RTP Stream Configuration",
268
+ "value": "AQMCAQI=",
269
+ "format": "tlv8",
270
+ "perms": [
271
+ "pr",
272
+ "pw"
273
+ ],
274
+ "canRead": true,
275
+ "canWrite": true,
276
+ "ev": false
277
+ },
278
+ {
279
+ "aid": 1,
280
+ "iid": 16,
281
+ "uuid": "00000118-0000-1000-8000-0026BB765291",
282
+ "type": "SetupEndpoints",
283
+ "serviceType": "CameraRTPStreamManagement",
284
+ "serviceName": "Canoe 5036",
285
+ "description": "Setup Endpoints",
286
+ "value": "AgEC",
287
+ "format": "tlv8",
288
+ "perms": [
289
+ "pr",
290
+ "pw"
291
+ ],
292
+ "canRead": true,
293
+ "canWrite": true,
294
+ "ev": false
295
+ }
296
+ ],
297
+ "accessoryInformation": {
298
+ "Manufacturer": "HikVision",
299
+ "Model": "ECI-T24F2",
300
+ "Name": "Canoe 5036",
301
+ "Serial Number": "Default-SerialNumber",
302
+ "Firmware Revision": "0.0.0"
303
+ },
304
+ "values": {
305
+ "StreamingStatus": "AQEA",
306
+ "SupportedAudioStreamConfiguration": "AQ4BAQMCCQEBAQIBAAMBAgAAAQ4BAQICCQEBAQIBAAMBAQIBAA==",
307
+ "SupportedRTPConfiguration": "AgEA",
308
+ "SupportedVideoStreamConfiguration": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
309
+ "Active": 1,
310
+ "SelectedRTPStreamConfiguration": "AQMCAQI=",
311
+ "SetupEndpoints": "AgEC"
312
+ },
313
+ "instance": {
314
+ "name": "ECI-T24F2",
315
+ "username": "5C:EE:FE:4D:64:B4",
316
+ "ipAddress": "192.168.1.11",
317
+ "port": 39757,
318
+ "services": [],
319
+ "connectionFailedCount": 0,
320
+ "configurationNumber": "3"
321
+ },
322
+ "uniqueId": "9959f43e6f32e451a9c13e0c028d863fa148c39cbbcb57f93d8d825fc31f8865"
323
+ },
324
+ {
325
+ "aid": 1,
326
+ "iid": 22,
327
+ "uuid": "00000110-0000-1000-8000-0026BB765291",
328
+ "type": "CameraRTPStreamManagement",
329
+ "humanType": "Camera Rtp Stream Management",
330
+ "serviceName": "Canoe 5036",
331
+ "serviceCharacteristics": [
332
+ {
333
+ "aid": 1,
334
+ "iid": 25,
335
+ "uuid": "00000120-0000-1000-8000-0026BB765291",
336
+ "type": "StreamingStatus",
337
+ "serviceType": "CameraRTPStreamManagement",
338
+ "serviceName": "Canoe 5036",
339
+ "description": "Streaming Status",
340
+ "value": "AQEA",
341
+ "format": "tlv8",
342
+ "perms": [
343
+ "ev",
344
+ "pr"
345
+ ],
346
+ "canRead": true,
347
+ "canWrite": false,
348
+ "ev": true
349
+ },
350
+ {
351
+ "aid": 1,
352
+ "iid": 26,
353
+ "uuid": "00000115-0000-1000-8000-0026BB765291",
354
+ "type": "SupportedAudioStreamConfiguration",
355
+ "serviceType": "CameraRTPStreamManagement",
356
+ "serviceName": "Canoe 5036",
357
+ "description": "Supported Audio Stream Configuration",
358
+ "value": "AQ4BAQMCCQEBAQIBAAMBAgAAAQ4BAQICCQEBAQIBAAMBAQIBAA==",
359
+ "format": "tlv8",
360
+ "perms": [
361
+ "pr"
362
+ ],
363
+ "canRead": true,
364
+ "canWrite": false,
365
+ "ev": false
366
+ },
367
+ {
368
+ "aid": 1,
369
+ "iid": 27,
370
+ "uuid": "00000116-0000-1000-8000-0026BB765291",
371
+ "type": "SupportedRTPConfiguration",
372
+ "serviceType": "CameraRTPStreamManagement",
373
+ "serviceName": "Canoe 5036",
374
+ "description": "Supported RTP Configuration",
375
+ "value": "AgEA",
376
+ "format": "tlv8",
377
+ "perms": [
378
+ "pr"
379
+ ],
380
+ "canRead": true,
381
+ "canWrite": false,
382
+ "ev": false
383
+ },
384
+ {
385
+ "aid": 1,
386
+ "iid": 28,
387
+ "uuid": "00000114-0000-1000-8000-0026BB765291",
388
+ "type": "SupportedVideoStreamConfiguration",
389
+ "serviceType": "CameraRTPStreamManagement",
390
+ "serviceName": "Canoe 5036",
391
+ "description": "Supported Video Stream Configuration",
392
+ "value": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
393
+ "format": "tlv8",
394
+ "perms": [
395
+ "pr"
396
+ ],
397
+ "canRead": true,
398
+ "canWrite": false,
399
+ "ev": false
400
+ },
401
+ {
402
+ "aid": 1,
403
+ "iid": 29,
404
+ "uuid": "000000B0-0000-1000-8000-0026BB765291",
405
+ "type": "Active",
406
+ "serviceType": "CameraRTPStreamManagement",
407
+ "serviceName": "Canoe 5036",
408
+ "description": "Active",
409
+ "value": 1,
410
+ "format": "uint8",
411
+ "perms": [
412
+ "ev",
413
+ "pr",
414
+ "pw"
415
+ ],
416
+ "maxValue": 1,
417
+ "minValue": 0,
418
+ "minStep": 1,
419
+ "canRead": true,
420
+ "canWrite": true,
421
+ "ev": true
422
+ },
423
+ {
424
+ "aid": 1,
425
+ "iid": 23,
426
+ "uuid": "00000117-0000-1000-8000-0026BB765291",
427
+ "type": "SelectedRTPStreamConfiguration",
428
+ "serviceType": "CameraRTPStreamManagement",
429
+ "serviceName": "Canoe 5036",
430
+ "description": "Selected RTP Stream Configuration",
431
+ "value": "AQMCAQI=",
432
+ "format": "tlv8",
433
+ "perms": [
434
+ "pr",
435
+ "pw"
436
+ ],
437
+ "canRead": true,
438
+ "canWrite": true,
439
+ "ev": false
440
+ },
441
+ {
442
+ "aid": 1,
443
+ "iid": 24,
444
+ "uuid": "00000118-0000-1000-8000-0026BB765291",
445
+ "type": "SetupEndpoints",
446
+ "serviceType": "CameraRTPStreamManagement",
447
+ "serviceName": "Canoe 5036",
448
+ "description": "Setup Endpoints",
449
+ "value": "AgEC",
450
+ "format": "tlv8",
451
+ "perms": [
452
+ "pr",
453
+ "pw"
454
+ ],
455
+ "canRead": true,
456
+ "canWrite": true,
457
+ "ev": false
458
+ }
459
+ ],
460
+ "accessoryInformation": {
461
+ "Manufacturer": "HikVision",
462
+ "Model": "ECI-T24F2",
463
+ "Name": "Canoe 5036",
464
+ "Serial Number": "Default-SerialNumber",
465
+ "Firmware Revision": "0.0.0"
466
+ },
467
+ "values": {
468
+ "StreamingStatus": "AQEA",
469
+ "SupportedAudioStreamConfiguration": "AQ4BAQMCCQEBAQIBAAMBAgAAAQ4BAQICCQEBAQIBAAMBAQIBAA==",
470
+ "SupportedRTPConfiguration": "AgEA",
471
+ "SupportedVideoStreamConfiguration": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
472
+ "Active": 1,
473
+ "SelectedRTPStreamConfiguration": "AQMCAQI=",
474
+ "SetupEndpoints": "AgEC"
475
+ },
476
+ "instance": {
477
+ "name": "ECI-T24F2",
478
+ "username": "5C:EE:FE:4D:64:B4",
479
+ "ipAddress": "192.168.1.11",
480
+ "port": 39757,
481
+ "services": [],
482
+ "connectionFailedCount": 0,
483
+ "configurationNumber": "3"
484
+ },
485
+ "uniqueId": "b0824c5bbe7c7e4dd6a8ab26d483cb0138ee56b34e444a0999ab5c24d1d33a58"
486
+ },
487
+ {
488
+ "aid": 1,
489
+ "iid": 30,
490
+ "uuid": "00000110-0000-1000-8000-0026BB765291",
491
+ "type": "CameraRTPStreamManagement",
492
+ "humanType": "Camera Rtp Stream Management",
493
+ "serviceName": "Canoe 5036",
494
+ "serviceCharacteristics": [
495
+ {
496
+ "aid": 1,
497
+ "iid": 33,
498
+ "uuid": "00000120-0000-1000-8000-0026BB765291",
499
+ "type": "StreamingStatus",
500
+ "serviceType": "CameraRTPStreamManagement",
501
+ "serviceName": "Canoe 5036",
502
+ "description": "Streaming Status",
503
+ "value": "AQEA",
504
+ "format": "tlv8",
505
+ "perms": [
506
+ "ev",
507
+ "pr"
508
+ ],
509
+ "canRead": true,
510
+ "canWrite": false,
511
+ "ev": true
512
+ },
513
+ {
514
+ "aid": 1,
515
+ "iid": 34,
516
+ "uuid": "00000115-0000-1000-8000-0026BB765291",
517
+ "type": "SupportedAudioStreamConfiguration",
518
+ "serviceType": "CameraRTPStreamManagement",
519
+ "serviceName": "Canoe 5036",
520
+ "description": "Supported Audio Stream Configuration",
521
+ "value": "AQ4BAQMCCQEBAQIBAAMBAgAAAQ4BAQICCQEBAQIBAAMBAQIBAA==",
522
+ "format": "tlv8",
523
+ "perms": [
524
+ "pr"
525
+ ],
526
+ "canRead": true,
527
+ "canWrite": false,
528
+ "ev": false
529
+ },
530
+ {
531
+ "aid": 1,
532
+ "iid": 35,
533
+ "uuid": "00000116-0000-1000-8000-0026BB765291",
534
+ "type": "SupportedRTPConfiguration",
535
+ "serviceType": "CameraRTPStreamManagement",
536
+ "serviceName": "Canoe 5036",
537
+ "description": "Supported RTP Configuration",
538
+ "value": "AgEA",
539
+ "format": "tlv8",
540
+ "perms": [
541
+ "pr"
542
+ ],
543
+ "canRead": true,
544
+ "canWrite": false,
545
+ "ev": false
546
+ },
547
+ {
548
+ "aid": 1,
549
+ "iid": 36,
550
+ "uuid": "00000114-0000-1000-8000-0026BB765291",
551
+ "type": "SupportedVideoStreamConfiguration",
552
+ "serviceType": "CameraRTPStreamManagement",
553
+ "serviceName": "Canoe 5036",
554
+ "description": "Supported Video Stream Configuration",
555
+ "value": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
556
+ "format": "tlv8",
557
+ "perms": [
558
+ "pr"
559
+ ],
560
+ "canRead": true,
561
+ "canWrite": false,
562
+ "ev": false
563
+ },
564
+ {
565
+ "aid": 1,
566
+ "iid": 37,
567
+ "uuid": "000000B0-0000-1000-8000-0026BB765291",
568
+ "type": "Active",
569
+ "serviceType": "CameraRTPStreamManagement",
570
+ "serviceName": "Canoe 5036",
571
+ "description": "Active",
572
+ "value": 1,
573
+ "format": "uint8",
574
+ "perms": [
575
+ "ev",
576
+ "pr",
577
+ "pw"
578
+ ],
579
+ "maxValue": 1,
580
+ "minValue": 0,
581
+ "minStep": 1,
582
+ "canRead": true,
583
+ "canWrite": true,
584
+ "ev": true
585
+ },
586
+ {
587
+ "aid": 1,
588
+ "iid": 31,
589
+ "uuid": "00000117-0000-1000-8000-0026BB765291",
590
+ "type": "SelectedRTPStreamConfiguration",
591
+ "serviceType": "CameraRTPStreamManagement",
592
+ "serviceName": "Canoe 5036",
593
+ "description": "Selected RTP Stream Configuration",
594
+ "value": "AQMCAQI=",
595
+ "format": "tlv8",
596
+ "perms": [
597
+ "pr",
598
+ "pw"
599
+ ],
600
+ "canRead": true,
601
+ "canWrite": true,
602
+ "ev": false
603
+ },
604
+ {
605
+ "aid": 1,
606
+ "iid": 32,
607
+ "uuid": "00000118-0000-1000-8000-0026BB765291",
608
+ "type": "SetupEndpoints",
609
+ "serviceType": "CameraRTPStreamManagement",
610
+ "serviceName": "Canoe 5036",
611
+ "description": "Setup Endpoints",
612
+ "value": "AgEC",
613
+ "format": "tlv8",
614
+ "perms": [
615
+ "pr",
616
+ "pw"
617
+ ],
618
+ "canRead": true,
619
+ "canWrite": true,
620
+ "ev": false
621
+ }
622
+ ],
623
+ "accessoryInformation": {
624
+ "Manufacturer": "HikVision",
625
+ "Model": "ECI-T24F2",
626
+ "Name": "Canoe 5036",
627
+ "Serial Number": "Default-SerialNumber",
628
+ "Firmware Revision": "0.0.0"
629
+ },
630
+ "values": {
631
+ "StreamingStatus": "AQEA",
632
+ "SupportedAudioStreamConfiguration": "AQ4BAQMCCQEBAQIBAAMBAgAAAQ4BAQICCQEBAQIBAAMBAQIBAA==",
633
+ "SupportedRTPConfiguration": "AgEA",
634
+ "SupportedVideoStreamConfiguration": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
635
+ "Active": 1,
636
+ "SelectedRTPStreamConfiguration": "AQMCAQI=",
637
+ "SetupEndpoints": "AgEC"
638
+ },
639
+ "instance": {
640
+ "name": "ECI-T24F2",
641
+ "username": "5C:EE:FE:4D:64:B4",
642
+ "ipAddress": "192.168.1.11",
643
+ "port": 39757,
644
+ "services": [],
645
+ "connectionFailedCount": 0,
646
+ "configurationNumber": "3"
647
+ },
648
+ "uniqueId": "629af36fdec5d22c5537a1f0312d88b6f3765ba57e29b7def8c96538a4ffb16b"
649
+ },
650
+ {
651
+ "aid": 1,
652
+ "iid": 38,
653
+ "uuid": "00000110-0000-1000-8000-0026BB765291",
654
+ "type": "CameraRTPStreamManagement",
655
+ "humanType": "Camera Rtp Stream Management",
656
+ "serviceName": "Canoe 5036",
657
+ "serviceCharacteristics": [
658
+ {
659
+ "aid": 1,
660
+ "iid": 41,
661
+ "uuid": "00000120-0000-1000-8000-0026BB765291",
662
+ "type": "StreamingStatus",
663
+ "serviceType": "CameraRTPStreamManagement",
664
+ "serviceName": "Canoe 5036",
665
+ "description": "Streaming Status",
666
+ "value": "AQEA",
667
+ "format": "tlv8",
668
+ "perms": [
669
+ "ev",
670
+ "pr"
671
+ ],
672
+ "canRead": true,
673
+ "canWrite": false,
674
+ "ev": true
675
+ },
676
+ {
677
+ "aid": 1,
678
+ "iid": 42,
679
+ "uuid": "00000115-0000-1000-8000-0026BB765291",
680
+ "type": "SupportedAudioStreamConfiguration",
681
+ "serviceType": "CameraRTPStreamManagement",
682
+ "serviceName": "Canoe 5036",
683
+ "description": "Supported Audio Stream Configuration",
684
+ "value": "AQ4BAQMCCQEBAQIBAAMBAgAAAQ4BAQICCQEBAQIBAAMBAQIBAA==",
685
+ "format": "tlv8",
686
+ "perms": [
687
+ "pr"
688
+ ],
689
+ "canRead": true,
690
+ "canWrite": false,
691
+ "ev": false
692
+ },
693
+ {
694
+ "aid": 1,
695
+ "iid": 43,
696
+ "uuid": "00000116-0000-1000-8000-0026BB765291",
697
+ "type": "SupportedRTPConfiguration",
698
+ "serviceType": "CameraRTPStreamManagement",
699
+ "serviceName": "Canoe 5036",
700
+ "description": "Supported RTP Configuration",
701
+ "value": "AgEA",
702
+ "format": "tlv8",
703
+ "perms": [
704
+ "pr"
705
+ ],
706
+ "canRead": true,
707
+ "canWrite": false,
708
+ "ev": false
709
+ },
710
+ {
711
+ "aid": 1,
712
+ "iid": 44,
713
+ "uuid": "00000114-0000-1000-8000-0026BB765291",
714
+ "type": "SupportedVideoStreamConfiguration",
715
+ "serviceType": "CameraRTPStreamManagement",
716
+ "serviceName": "Canoe 5036",
717
+ "description": "Supported Video Stream Configuration",
718
+ "value": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
719
+ "format": "tlv8",
720
+ "perms": [
721
+ "pr"
722
+ ],
723
+ "canRead": true,
724
+ "canWrite": false,
725
+ "ev": false
726
+ },
727
+ {
728
+ "aid": 1,
729
+ "iid": 45,
730
+ "uuid": "000000B0-0000-1000-8000-0026BB765291",
731
+ "type": "Active",
732
+ "serviceType": "CameraRTPStreamManagement",
733
+ "serviceName": "Canoe 5036",
734
+ "description": "Active",
735
+ "value": 1,
736
+ "format": "uint8",
737
+ "perms": [
738
+ "ev",
739
+ "pr",
740
+ "pw"
741
+ ],
742
+ "maxValue": 1,
743
+ "minValue": 0,
744
+ "minStep": 1,
745
+ "canRead": true,
746
+ "canWrite": true,
747
+ "ev": true
748
+ },
749
+ {
750
+ "aid": 1,
751
+ "iid": 39,
752
+ "uuid": "00000117-0000-1000-8000-0026BB765291",
753
+ "type": "SelectedRTPStreamConfiguration",
754
+ "serviceType": "CameraRTPStreamManagement",
755
+ "serviceName": "Canoe 5036",
756
+ "description": "Selected RTP Stream Configuration",
757
+ "value": "AQMCAQI=",
758
+ "format": "tlv8",
759
+ "perms": [
760
+ "pr",
761
+ "pw"
762
+ ],
763
+ "canRead": true,
764
+ "canWrite": true,
765
+ "ev": false
766
+ },
767
+ {
768
+ "aid": 1,
769
+ "iid": 40,
770
+ "uuid": "00000118-0000-1000-8000-0026BB765291",
771
+ "type": "SetupEndpoints",
772
+ "serviceType": "CameraRTPStreamManagement",
773
+ "serviceName": "Canoe 5036",
774
+ "description": "Setup Endpoints",
775
+ "value": "AgEC",
776
+ "format": "tlv8",
777
+ "perms": [
778
+ "pr",
779
+ "pw"
780
+ ],
781
+ "canRead": true,
782
+ "canWrite": true,
783
+ "ev": false
784
+ }
785
+ ],
786
+ "accessoryInformation": {
787
+ "Manufacturer": "HikVision",
788
+ "Model": "ECI-T24F2",
789
+ "Name": "Canoe 5036",
790
+ "Serial Number": "Default-SerialNumber",
791
+ "Firmware Revision": "0.0.0"
792
+ },
793
+ "values": {
794
+ "StreamingStatus": "AQEA",
795
+ "SupportedAudioStreamConfiguration": "AQ4BAQMCCQEBAQIBAAMBAgAAAQ4BAQICCQEBAQIBAAMBAQIBAA==",
796
+ "SupportedRTPConfiguration": "AgEA",
797
+ "SupportedVideoStreamConfiguration": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
798
+ "Active": 1,
799
+ "SelectedRTPStreamConfiguration": "AQMCAQI=",
800
+ "SetupEndpoints": "AgEC"
801
+ },
802
+ "instance": {
803
+ "name": "ECI-T24F2",
804
+ "username": "5C:EE:FE:4D:64:B4",
805
+ "ipAddress": "192.168.1.11",
806
+ "port": 39757,
807
+ "services": [],
808
+ "connectionFailedCount": 0,
809
+ "configurationNumber": "3"
810
+ },
811
+ "uniqueId": "b3b668fc3a29d9589bfcfa0395d7ce1e1029e6b70b4ca6129579cb0103cc6ea9"
812
+ },
813
+ {
814
+ "aid": 1,
815
+ "iid": 46,
816
+ "uuid": "00000110-0000-1000-8000-0026BB765291",
817
+ "type": "CameraRTPStreamManagement",
818
+ "humanType": "Camera Rtp Stream Management",
819
+ "serviceName": "Canoe 5036",
820
+ "serviceCharacteristics": [
821
+ {
822
+ "aid": 1,
823
+ "iid": 49,
824
+ "uuid": "00000120-0000-1000-8000-0026BB765291",
825
+ "type": "StreamingStatus",
826
+ "serviceType": "CameraRTPStreamManagement",
827
+ "serviceName": "Canoe 5036",
828
+ "description": "Streaming Status",
829
+ "value": "AQEA",
830
+ "format": "tlv8",
831
+ "perms": [
832
+ "ev",
833
+ "pr"
834
+ ],
835
+ "canRead": true,
836
+ "canWrite": false,
837
+ "ev": true
838
+ },
839
+ {
840
+ "aid": 1,
841
+ "iid": 50,
842
+ "uuid": "00000115-0000-1000-8000-0026BB765291",
843
+ "type": "SupportedAudioStreamConfiguration",
844
+ "serviceType": "CameraRTPStreamManagement",
845
+ "serviceName": "Canoe 5036",
846
+ "description": "Supported Audio Stream Configuration",
847
+ "value": "AQ4BAQMCCQEBAQIBAAMBAgAAAQ4BAQICCQEBAQIBAAMBAQIBAA==",
848
+ "format": "tlv8",
849
+ "perms": [
850
+ "pr"
851
+ ],
852
+ "canRead": true,
853
+ "canWrite": false,
854
+ "ev": false
855
+ },
856
+ {
857
+ "aid": 1,
858
+ "iid": 51,
859
+ "uuid": "00000116-0000-1000-8000-0026BB765291",
860
+ "type": "SupportedRTPConfiguration",
861
+ "serviceType": "CameraRTPStreamManagement",
862
+ "serviceName": "Canoe 5036",
863
+ "description": "Supported RTP Configuration",
864
+ "value": "AgEA",
865
+ "format": "tlv8",
866
+ "perms": [
867
+ "pr"
868
+ ],
869
+ "canRead": true,
870
+ "canWrite": false,
871
+ "ev": false
872
+ },
873
+ {
874
+ "aid": 1,
875
+ "iid": 52,
876
+ "uuid": "00000114-0000-1000-8000-0026BB765291",
877
+ "type": "SupportedVideoStreamConfiguration",
878
+ "serviceType": "CameraRTPStreamManagement",
879
+ "serviceName": "Canoe 5036",
880
+ "description": "Supported Video Stream Configuration",
881
+ "value": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
882
+ "format": "tlv8",
883
+ "perms": [
884
+ "pr"
885
+ ],
886
+ "canRead": true,
887
+ "canWrite": false,
888
+ "ev": false
889
+ },
890
+ {
891
+ "aid": 1,
892
+ "iid": 53,
893
+ "uuid": "000000B0-0000-1000-8000-0026BB765291",
894
+ "type": "Active",
895
+ "serviceType": "CameraRTPStreamManagement",
896
+ "serviceName": "Canoe 5036",
897
+ "description": "Active",
898
+ "value": 1,
899
+ "format": "uint8",
900
+ "perms": [
901
+ "ev",
902
+ "pr",
903
+ "pw"
904
+ ],
905
+ "maxValue": 1,
906
+ "minValue": 0,
907
+ "minStep": 1,
908
+ "canRead": true,
909
+ "canWrite": true,
910
+ "ev": true
911
+ },
912
+ {
913
+ "aid": 1,
914
+ "iid": 47,
915
+ "uuid": "00000117-0000-1000-8000-0026BB765291",
916
+ "type": "SelectedRTPStreamConfiguration",
917
+ "serviceType": "CameraRTPStreamManagement",
918
+ "serviceName": "Canoe 5036",
919
+ "description": "Selected RTP Stream Configuration",
920
+ "value": "AQMCAQI=",
921
+ "format": "tlv8",
922
+ "perms": [
923
+ "pr",
924
+ "pw"
925
+ ],
926
+ "canRead": true,
927
+ "canWrite": true,
928
+ "ev": false
929
+ },
930
+ {
931
+ "aid": 1,
932
+ "iid": 48,
933
+ "uuid": "00000118-0000-1000-8000-0026BB765291",
934
+ "type": "SetupEndpoints",
935
+ "serviceType": "CameraRTPStreamManagement",
936
+ "serviceName": "Canoe 5036",
937
+ "description": "Setup Endpoints",
938
+ "value": "AgEC",
939
+ "format": "tlv8",
940
+ "perms": [
941
+ "pr",
942
+ "pw"
943
+ ],
944
+ "canRead": true,
945
+ "canWrite": true,
946
+ "ev": false
947
+ }
948
+ ],
949
+ "accessoryInformation": {
950
+ "Manufacturer": "HikVision",
951
+ "Model": "ECI-T24F2",
952
+ "Name": "Canoe 5036",
953
+ "Serial Number": "Default-SerialNumber",
954
+ "Firmware Revision": "0.0.0"
955
+ },
956
+ "values": {
957
+ "StreamingStatus": "AQEA",
958
+ "SupportedAudioStreamConfiguration": "AQ4BAQMCCQEBAQIBAAMBAgAAAQ4BAQICCQEBAQIBAAMBAQIBAA==",
959
+ "SupportedRTPConfiguration": "AgEA",
960
+ "SupportedVideoStreamConfiguration": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
961
+ "Active": 1,
962
+ "SelectedRTPStreamConfiguration": "AQMCAQI=",
963
+ "SetupEndpoints": "AgEC"
964
+ },
965
+ "instance": {
966
+ "name": "ECI-T24F2",
967
+ "username": "5C:EE:FE:4D:64:B4",
968
+ "ipAddress": "192.168.1.11",
969
+ "port": 39757,
970
+ "services": [],
971
+ "connectionFailedCount": 0,
972
+ "configurationNumber": "3"
973
+ },
974
+ "uniqueId": "57cf7042ca8aac16275fa2d6d135b1855a6faaadcd2e46499ecba278bbf241d3"
975
+ },
976
+ {
977
+ "aid": 1,
978
+ "iid": 54,
979
+ "uuid": "000000A2-0000-1000-8000-0026BB765291",
980
+ "type": "ProtocolInformation",
981
+ "humanType": "Protocol Information",
982
+ "serviceName": "Canoe 5036",
983
+ "serviceCharacteristics": [
984
+ {
985
+ "aid": 1,
986
+ "iid": 55,
987
+ "uuid": "00000037-0000-1000-8000-0026BB765291",
988
+ "type": "Version",
989
+ "serviceType": "ProtocolInformation",
990
+ "serviceName": "Canoe 5036",
991
+ "description": "Version",
992
+ "value": "1.1.0",
993
+ "format": "string",
994
+ "perms": [
995
+ "pr"
996
+ ],
997
+ "canRead": true,
998
+ "canWrite": false,
999
+ "ev": false
1000
+ }
1001
+ ],
1002
+ "accessoryInformation": {
1003
+ "Manufacturer": "HikVision",
1004
+ "Model": "ECI-T24F2",
1005
+ "Name": "Canoe 5036",
1006
+ "Serial Number": "Default-SerialNumber",
1007
+ "Firmware Revision": "0.0.0"
1008
+ },
1009
+ "values": {
1010
+ "Version": "1.1.0"
1011
+ },
1012
+ "instance": {
1013
+ "name": "ECI-T24F2",
1014
+ "username": "5C:EE:FE:4D:64:B4",
1015
+ "ipAddress": "192.168.1.11",
1016
+ "port": 39757,
1017
+ "services": [],
1018
+ "connectionFailedCount": 0,
1019
+ "configurationNumber": "3"
1020
+ },
1021
+ "uniqueId": "660f0569500a9c2570f435943368c4f33c9a9c5162f366c66c1eb520f874c84e"
1022
+ },
1023
+ {
1024
+ "aid": 1,
1025
+ "iid": 2000000008,
1026
+ "uuid": "000000A2-0000-1000-8000-0026BB765291",
1027
+ "type": "ProtocolInformation",
1028
+ "humanType": "Protocol Information",
1029
+ "serviceName": "EufySecurity 9F7C",
1030
+ "serviceCharacteristics": [
1031
+ {
1032
+ "aid": 1,
1033
+ "iid": 9,
1034
+ "uuid": "00000037-0000-1000-8000-0026BB765291",
1035
+ "type": "Version",
1036
+ "serviceType": "ProtocolInformation",
1037
+ "serviceName": "EufySecurity 9F7C",
1038
+ "description": "Version",
1039
+ "value": "1.1.0",
1040
+ "format": "string",
1041
+ "perms": [
1042
+ "pr"
1043
+ ],
1044
+ "canRead": true,
1045
+ "canWrite": false,
1046
+ "ev": false
1047
+ }
1048
+ ],
1049
+ "accessoryInformation": {
1050
+ "Manufacturer": "homebridge.io",
1051
+ "Model": "homebridge",
1052
+ "Name": "EufySecurity 9F7C",
1053
+ "Serial Number": "0E:89:A7:DA:D3:21",
1054
+ "Firmware Revision": "1.8.5"
1055
+ },
1056
+ "values": {
1057
+ "Version": "1.1.0"
1058
+ },
1059
+ "instance": {
1060
+ "name": "homebridge",
1061
+ "username": "0E:89:A7:DA:D3:21",
1062
+ "ipAddress": "192.168.1.11",
1063
+ "port": 40929,
1064
+ "services": [],
1065
+ "connectionFailedCount": 0,
1066
+ "configurationNumber": "21"
1067
+ },
1068
+ "uniqueId": "c516aeaf2812436318a5aee6443ee633a459015a07676d78c73ca9decdf899b2"
1069
+ },
1070
+ {
1071
+ "aid": 6,
1072
+ "iid": 9,
1073
+ "uuid": "0000021A-0000-1000-8000-0026BB765291",
1074
+ "type": "CameraOperatingMode",
1075
+ "humanType": "Camera Operating Mode",
1076
+ "serviceName": "Backyard",
1077
+ "serviceCharacteristics": [
1078
+ {
1079
+ "aid": 6,
1080
+ "iid": 12,
1081
+ "uuid": "0000021B-0000-1000-8000-0026BB765291",
1082
+ "type": "HomeKitCameraActive",
1083
+ "serviceType": "CameraOperatingMode",
1084
+ "serviceName": "Backyard",
1085
+ "description": "HomeKit Camera Active",
1086
+ "value": 1,
1087
+ "format": "uint8",
1088
+ "perms": [
1089
+ "ev",
1090
+ "pr",
1091
+ "pw"
1092
+ ],
1093
+ "maxValue": 1,
1094
+ "minValue": 0,
1095
+ "canRead": true,
1096
+ "canWrite": true,
1097
+ "ev": true
1098
+ },
1099
+ {
1100
+ "aid": 6,
1101
+ "iid": 13,
1102
+ "uuid": "00000227-0000-1000-8000-0026BB765291",
1103
+ "type": "ManuallyDisabled",
1104
+ "serviceType": "CameraOperatingMode",
1105
+ "serviceName": "Backyard",
1106
+ "description": "Manually Disabled",
1107
+ "value": 0,
1108
+ "format": "bool",
1109
+ "perms": [
1110
+ "ev",
1111
+ "pr"
1112
+ ],
1113
+ "canRead": true,
1114
+ "canWrite": false,
1115
+ "ev": true
1116
+ },
1117
+ {
1118
+ "aid": 6,
1119
+ "iid": 14,
1120
+ "uuid": "0000021D-0000-1000-8000-0026BB765291",
1121
+ "type": "CameraOperatingModeIndicator",
1122
+ "serviceType": "CameraOperatingMode",
1123
+ "serviceName": "Backyard",
1124
+ "description": "Camera Operating Mode Indicator",
1125
+ "value": 1,
1126
+ "format": "bool",
1127
+ "perms": [
1128
+ "ev",
1129
+ "pr",
1130
+ "pw",
1131
+ "tw"
1132
+ ],
1133
+ "canRead": true,
1134
+ "canWrite": true,
1135
+ "ev": true
1136
+ },
1137
+ {
1138
+ "aid": 6,
1139
+ "iid": 15,
1140
+ "uuid": "0000011B-0000-1000-8000-0026BB765291",
1141
+ "type": "NightVision",
1142
+ "serviceType": "CameraOperatingMode",
1143
+ "serviceName": "Backyard",
1144
+ "description": "Night Vision",
1145
+ "value": 1,
1146
+ "format": "bool",
1147
+ "perms": [
1148
+ "ev",
1149
+ "pr",
1150
+ "pw",
1151
+ "tw"
1152
+ ],
1153
+ "canRead": true,
1154
+ "canWrite": true,
1155
+ "ev": true
1156
+ },
1157
+ {
1158
+ "aid": 6,
1159
+ "iid": 11,
1160
+ "uuid": "00000223-0000-1000-8000-0026BB765291",
1161
+ "type": "EventSnapshotsActive",
1162
+ "serviceType": "CameraOperatingMode",
1163
+ "serviceName": "Backyard",
1164
+ "description": "Event Snapshots Active",
1165
+ "value": 0,
1166
+ "format": "uint8",
1167
+ "perms": [
1168
+ "ev",
1169
+ "pr",
1170
+ "pw"
1171
+ ],
1172
+ "maxValue": 1,
1173
+ "minValue": 0,
1174
+ "canRead": true,
1175
+ "canWrite": true,
1176
+ "ev": true
1177
+ }
1178
+ ],
1179
+ "accessoryInformation": {
1180
+ "Manufacturer": "Eufy",
1181
+ "Model": "INDOOR_CAMERA",
1182
+ "Name": "Backyard",
1183
+ "Serial Number": "T8400P2020283341",
1184
+ "Firmware Revision": "2.2.0.2",
1185
+ "Hardware Revision": "P2"
1186
+ },
1187
+ "values": {
1188
+ "HomeKitCameraActive": 1,
1189
+ "ManuallyDisabled": 0,
1190
+ "CameraOperatingModeIndicator": 1,
1191
+ "NightVision": 1,
1192
+ "EventSnapshotsActive": 0
1193
+ },
1194
+ "instance": {
1195
+ "name": "homebridge",
1196
+ "username": "0E:89:A7:DA:D3:21",
1197
+ "ipAddress": "192.168.1.11",
1198
+ "port": 40929,
1199
+ "services": [],
1200
+ "connectionFailedCount": 0,
1201
+ "configurationNumber": "21"
1202
+ },
1203
+ "uniqueId": "260fba559f22053724ac5561be62f8e803281c3c8c82f872e05d839fc3fa95de"
1204
+ },
1205
+ {
1206
+ "aid": 6,
1207
+ "iid": 16,
1208
+ "uuid": "00000085-0000-1000-8000-0026BB765291",
1209
+ "type": "MotionSensor",
1210
+ "humanType": "Motion Sensor",
1211
+ "serviceName": "Backyard",
1212
+ "serviceCharacteristics": [
1213
+ {
1214
+ "aid": 6,
1215
+ "iid": 18,
1216
+ "uuid": "00000022-0000-1000-8000-0026BB765291",
1217
+ "type": "MotionDetected",
1218
+ "serviceType": "MotionSensor",
1219
+ "serviceName": "Backyard",
1220
+ "description": "Motion Detected",
1221
+ "value": 0,
1222
+ "format": "bool",
1223
+ "perms": [
1224
+ "ev",
1225
+ "pr"
1226
+ ],
1227
+ "canRead": true,
1228
+ "canWrite": false,
1229
+ "ev": true
1230
+ }
1231
+ ],
1232
+ "accessoryInformation": {
1233
+ "Manufacturer": "Eufy",
1234
+ "Model": "INDOOR_CAMERA",
1235
+ "Name": "Backyard",
1236
+ "Serial Number": "T8400P2020283341",
1237
+ "Firmware Revision": "2.2.0.2",
1238
+ "Hardware Revision": "P2"
1239
+ },
1240
+ "values": {
1241
+ "MotionDetected": 0
1242
+ },
1243
+ "instance": {
1244
+ "name": "homebridge",
1245
+ "username": "0E:89:A7:DA:D3:21",
1246
+ "ipAddress": "192.168.1.11",
1247
+ "port": 40929,
1248
+ "services": [],
1249
+ "connectionFailedCount": 0,
1250
+ "configurationNumber": "21"
1251
+ },
1252
+ "uniqueId": "c9efb02acc5cabb2b164d4c479355551a6360345571b31de50e90f4a1fa42df6"
1253
+ },
1254
+ {
1255
+ "aid": 6,
1256
+ "iid": 19,
1257
+ "uuid": "00000110-0000-1000-8000-0026BB765291",
1258
+ "type": "CameraRTPStreamManagement",
1259
+ "humanType": "Camera Rtp Stream Management",
1260
+ "serviceName": "Backyard",
1261
+ "serviceCharacteristics": [
1262
+ {
1263
+ "aid": 6,
1264
+ "iid": 22,
1265
+ "uuid": "00000120-0000-1000-8000-0026BB765291",
1266
+ "type": "StreamingStatus",
1267
+ "serviceType": "CameraRTPStreamManagement",
1268
+ "serviceName": "Backyard",
1269
+ "description": "Streaming Status",
1270
+ "value": "AQEA",
1271
+ "format": "tlv8",
1272
+ "perms": [
1273
+ "ev",
1274
+ "pr"
1275
+ ],
1276
+ "canRead": true,
1277
+ "canWrite": false,
1278
+ "ev": true
1279
+ },
1280
+ {
1281
+ "aid": 6,
1282
+ "iid": 23,
1283
+ "uuid": "00000115-0000-1000-8000-0026BB765291",
1284
+ "type": "SupportedAudioStreamConfiguration",
1285
+ "serviceType": "CameraRTPStreamManagement",
1286
+ "serviceName": "Backyard",
1287
+ "description": "Supported Audio Stream Configuration",
1288
+ "value": "AQ4BAQICCQEBAQIBAAMBAQIBAA==",
1289
+ "format": "tlv8",
1290
+ "perms": [
1291
+ "pr"
1292
+ ],
1293
+ "canRead": true,
1294
+ "canWrite": false,
1295
+ "ev": false
1296
+ },
1297
+ {
1298
+ "aid": 6,
1299
+ "iid": 24,
1300
+ "uuid": "00000116-0000-1000-8000-0026BB765291",
1301
+ "type": "SupportedRTPConfiguration",
1302
+ "serviceType": "CameraRTPStreamManagement",
1303
+ "serviceName": "Backyard",
1304
+ "description": "Supported RTP Configuration",
1305
+ "value": "AgEA",
1306
+ "format": "tlv8",
1307
+ "perms": [
1308
+ "pr"
1309
+ ],
1310
+ "canRead": true,
1311
+ "canWrite": false,
1312
+ "ev": false
1313
+ },
1314
+ {
1315
+ "aid": 6,
1316
+ "iid": 25,
1317
+ "uuid": "00000114-0000-1000-8000-0026BB765291",
1318
+ "type": "SupportedVideoStreamConfiguration",
1319
+ "serviceType": "CameraRTPStreamManagement",
1320
+ "serviceName": "Backyard",
1321
+ "description": "Supported Video Stream Configuration",
1322
+ "value": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
1323
+ "format": "tlv8",
1324
+ "perms": [
1325
+ "pr"
1326
+ ],
1327
+ "canRead": true,
1328
+ "canWrite": false,
1329
+ "ev": false
1330
+ },
1331
+ {
1332
+ "aid": 6,
1333
+ "iid": 26,
1334
+ "uuid": "000000B0-0000-1000-8000-0026BB765291",
1335
+ "type": "Active",
1336
+ "serviceType": "CameraRTPStreamManagement",
1337
+ "serviceName": "Backyard",
1338
+ "description": "Active",
1339
+ "value": 1,
1340
+ "format": "uint8",
1341
+ "perms": [
1342
+ "ev",
1343
+ "pr",
1344
+ "pw"
1345
+ ],
1346
+ "maxValue": 1,
1347
+ "minValue": 0,
1348
+ "minStep": 1,
1349
+ "canRead": true,
1350
+ "canWrite": true,
1351
+ "ev": true
1352
+ },
1353
+ {
1354
+ "aid": 6,
1355
+ "iid": 20,
1356
+ "uuid": "00000117-0000-1000-8000-0026BB765291",
1357
+ "type": "SelectedRTPStreamConfiguration",
1358
+ "serviceType": "CameraRTPStreamManagement",
1359
+ "serviceName": "Backyard",
1360
+ "description": "Selected RTP Stream Configuration",
1361
+ "value": "AQMCAQI=",
1362
+ "format": "tlv8",
1363
+ "perms": [
1364
+ "pr",
1365
+ "pw"
1366
+ ],
1367
+ "canRead": true,
1368
+ "canWrite": true,
1369
+ "ev": false
1370
+ },
1371
+ {
1372
+ "aid": 6,
1373
+ "iid": 21,
1374
+ "uuid": "00000118-0000-1000-8000-0026BB765291",
1375
+ "type": "SetupEndpoints",
1376
+ "serviceType": "CameraRTPStreamManagement",
1377
+ "serviceName": "Backyard",
1378
+ "description": "Setup Endpoints",
1379
+ "value": "AgEC",
1380
+ "format": "tlv8",
1381
+ "perms": [
1382
+ "pr",
1383
+ "pw"
1384
+ ],
1385
+ "canRead": true,
1386
+ "canWrite": true,
1387
+ "ev": false
1388
+ }
1389
+ ],
1390
+ "accessoryInformation": {
1391
+ "Manufacturer": "Eufy",
1392
+ "Model": "INDOOR_CAMERA",
1393
+ "Name": "Backyard",
1394
+ "Serial Number": "T8400P2020283341",
1395
+ "Firmware Revision": "2.2.0.2",
1396
+ "Hardware Revision": "P2"
1397
+ },
1398
+ "values": {
1399
+ "StreamingStatus": "AQEA",
1400
+ "SupportedAudioStreamConfiguration": "AQ4BAQICCQEBAQIBAAMBAQIBAA==",
1401
+ "SupportedRTPConfiguration": "AgEA",
1402
+ "SupportedVideoStreamConfiguration": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
1403
+ "Active": 1,
1404
+ "SelectedRTPStreamConfiguration": "AQMCAQI=",
1405
+ "SetupEndpoints": "AgEC"
1406
+ },
1407
+ "instance": {
1408
+ "name": "homebridge",
1409
+ "username": "0E:89:A7:DA:D3:21",
1410
+ "ipAddress": "192.168.1.11",
1411
+ "port": 40929,
1412
+ "services": [],
1413
+ "connectionFailedCount": 0,
1414
+ "configurationNumber": "21"
1415
+ },
1416
+ "uniqueId": "924c9390e6a89452936dfff957faa127d87e78e3c1b5084863495a184804fe56"
1417
+ },
1418
+ {
1419
+ "aid": 6,
1420
+ "iid": 27,
1421
+ "uuid": "00000110-0000-1000-8000-0026BB765291",
1422
+ "type": "CameraRTPStreamManagement",
1423
+ "humanType": "Camera Rtp Stream Management",
1424
+ "serviceName": "Backyard",
1425
+ "serviceCharacteristics": [
1426
+ {
1427
+ "aid": 6,
1428
+ "iid": 30,
1429
+ "uuid": "00000120-0000-1000-8000-0026BB765291",
1430
+ "type": "StreamingStatus",
1431
+ "serviceType": "CameraRTPStreamManagement",
1432
+ "serviceName": "Backyard",
1433
+ "description": "Streaming Status",
1434
+ "value": "AQEA",
1435
+ "format": "tlv8",
1436
+ "perms": [
1437
+ "ev",
1438
+ "pr"
1439
+ ],
1440
+ "canRead": true,
1441
+ "canWrite": false,
1442
+ "ev": true
1443
+ },
1444
+ {
1445
+ "aid": 6,
1446
+ "iid": 31,
1447
+ "uuid": "00000115-0000-1000-8000-0026BB765291",
1448
+ "type": "SupportedAudioStreamConfiguration",
1449
+ "serviceType": "CameraRTPStreamManagement",
1450
+ "serviceName": "Backyard",
1451
+ "description": "Supported Audio Stream Configuration",
1452
+ "value": "AQ4BAQICCQEBAQIBAAMBAQIBAA==",
1453
+ "format": "tlv8",
1454
+ "perms": [
1455
+ "pr"
1456
+ ],
1457
+ "canRead": true,
1458
+ "canWrite": false,
1459
+ "ev": false
1460
+ },
1461
+ {
1462
+ "aid": 6,
1463
+ "iid": 32,
1464
+ "uuid": "00000116-0000-1000-8000-0026BB765291",
1465
+ "type": "SupportedRTPConfiguration",
1466
+ "serviceType": "CameraRTPStreamManagement",
1467
+ "serviceName": "Backyard",
1468
+ "description": "Supported RTP Configuration",
1469
+ "value": "AgEA",
1470
+ "format": "tlv8",
1471
+ "perms": [
1472
+ "pr"
1473
+ ],
1474
+ "canRead": true,
1475
+ "canWrite": false,
1476
+ "ev": false
1477
+ },
1478
+ {
1479
+ "aid": 6,
1480
+ "iid": 33,
1481
+ "uuid": "00000114-0000-1000-8000-0026BB765291",
1482
+ "type": "SupportedVideoStreamConfiguration",
1483
+ "serviceType": "CameraRTPStreamManagement",
1484
+ "serviceName": "Backyard",
1485
+ "description": "Supported Video Stream Configuration",
1486
+ "value": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
1487
+ "format": "tlv8",
1488
+ "perms": [
1489
+ "pr"
1490
+ ],
1491
+ "canRead": true,
1492
+ "canWrite": false,
1493
+ "ev": false
1494
+ },
1495
+ {
1496
+ "aid": 6,
1497
+ "iid": 34,
1498
+ "uuid": "000000B0-0000-1000-8000-0026BB765291",
1499
+ "type": "Active",
1500
+ "serviceType": "CameraRTPStreamManagement",
1501
+ "serviceName": "Backyard",
1502
+ "description": "Active",
1503
+ "value": 1,
1504
+ "format": "uint8",
1505
+ "perms": [
1506
+ "ev",
1507
+ "pr",
1508
+ "pw"
1509
+ ],
1510
+ "maxValue": 1,
1511
+ "minValue": 0,
1512
+ "minStep": 1,
1513
+ "canRead": true,
1514
+ "canWrite": true,
1515
+ "ev": true
1516
+ },
1517
+ {
1518
+ "aid": 6,
1519
+ "iid": 28,
1520
+ "uuid": "00000117-0000-1000-8000-0026BB765291",
1521
+ "type": "SelectedRTPStreamConfiguration",
1522
+ "serviceType": "CameraRTPStreamManagement",
1523
+ "serviceName": "Backyard",
1524
+ "description": "Selected RTP Stream Configuration",
1525
+ "value": "AQMCAQI=",
1526
+ "format": "tlv8",
1527
+ "perms": [
1528
+ "pr",
1529
+ "pw"
1530
+ ],
1531
+ "canRead": true,
1532
+ "canWrite": true,
1533
+ "ev": false
1534
+ },
1535
+ {
1536
+ "aid": 6,
1537
+ "iid": 29,
1538
+ "uuid": "00000118-0000-1000-8000-0026BB765291",
1539
+ "type": "SetupEndpoints",
1540
+ "serviceType": "CameraRTPStreamManagement",
1541
+ "serviceName": "Backyard",
1542
+ "description": "Setup Endpoints",
1543
+ "value": "AgEC",
1544
+ "format": "tlv8",
1545
+ "perms": [
1546
+ "pr",
1547
+ "pw"
1548
+ ],
1549
+ "canRead": true,
1550
+ "canWrite": true,
1551
+ "ev": false
1552
+ }
1553
+ ],
1554
+ "accessoryInformation": {
1555
+ "Manufacturer": "Eufy",
1556
+ "Model": "INDOOR_CAMERA",
1557
+ "Name": "Backyard",
1558
+ "Serial Number": "T8400P2020283341",
1559
+ "Firmware Revision": "2.2.0.2",
1560
+ "Hardware Revision": "P2"
1561
+ },
1562
+ "values": {
1563
+ "StreamingStatus": "AQEA",
1564
+ "SupportedAudioStreamConfiguration": "AQ4BAQICCQEBAQIBAAMBAQIBAA==",
1565
+ "SupportedRTPConfiguration": "AgEA",
1566
+ "SupportedVideoStreamConfiguration": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
1567
+ "Active": 1,
1568
+ "SelectedRTPStreamConfiguration": "AQMCAQI=",
1569
+ "SetupEndpoints": "AgEC"
1570
+ },
1571
+ "instance": {
1572
+ "name": "homebridge",
1573
+ "username": "0E:89:A7:DA:D3:21",
1574
+ "ipAddress": "192.168.1.11",
1575
+ "port": 40929,
1576
+ "services": [],
1577
+ "connectionFailedCount": 0,
1578
+ "configurationNumber": "21"
1579
+ },
1580
+ "uniqueId": "17e308a4de9af9ba95e5bcd32c1f56516403b14855f3397e8a48135e9cc78f14"
1581
+ },
1582
+ {
1583
+ "aid": 7,
1584
+ "iid": 9,
1585
+ "uuid": "0000021A-0000-1000-8000-0026BB765291",
1586
+ "type": "CameraOperatingMode",
1587
+ "humanType": "Camera Operating Mode",
1588
+ "serviceName": "Side door",
1589
+ "serviceCharacteristics": [
1590
+ {
1591
+ "aid": 7,
1592
+ "iid": 12,
1593
+ "uuid": "0000021B-0000-1000-8000-0026BB765291",
1594
+ "type": "HomeKitCameraActive",
1595
+ "serviceType": "CameraOperatingMode",
1596
+ "serviceName": "Side door",
1597
+ "description": "HomeKit Camera Active",
1598
+ "value": 1,
1599
+ "format": "uint8",
1600
+ "perms": [
1601
+ "ev",
1602
+ "pr",
1603
+ "pw"
1604
+ ],
1605
+ "maxValue": 1,
1606
+ "minValue": 0,
1607
+ "canRead": true,
1608
+ "canWrite": true,
1609
+ "ev": true
1610
+ },
1611
+ {
1612
+ "aid": 7,
1613
+ "iid": 13,
1614
+ "uuid": "00000227-0000-1000-8000-0026BB765291",
1615
+ "type": "ManuallyDisabled",
1616
+ "serviceType": "CameraOperatingMode",
1617
+ "serviceName": "Side door",
1618
+ "description": "Manually Disabled",
1619
+ "value": 0,
1620
+ "format": "bool",
1621
+ "perms": [
1622
+ "ev",
1623
+ "pr"
1624
+ ],
1625
+ "canRead": true,
1626
+ "canWrite": false,
1627
+ "ev": true
1628
+ },
1629
+ {
1630
+ "aid": 7,
1631
+ "iid": 14,
1632
+ "uuid": "0000021D-0000-1000-8000-0026BB765291",
1633
+ "type": "CameraOperatingModeIndicator",
1634
+ "serviceType": "CameraOperatingMode",
1635
+ "serviceName": "Side door",
1636
+ "description": "Camera Operating Mode Indicator",
1637
+ "value": 1,
1638
+ "format": "bool",
1639
+ "perms": [
1640
+ "ev",
1641
+ "pr",
1642
+ "pw",
1643
+ "tw"
1644
+ ],
1645
+ "canRead": true,
1646
+ "canWrite": true,
1647
+ "ev": true
1648
+ },
1649
+ {
1650
+ "aid": 7,
1651
+ "iid": 15,
1652
+ "uuid": "0000011B-0000-1000-8000-0026BB765291",
1653
+ "type": "NightVision",
1654
+ "serviceType": "CameraOperatingMode",
1655
+ "serviceName": "Side door",
1656
+ "description": "Night Vision",
1657
+ "value": 1,
1658
+ "format": "bool",
1659
+ "perms": [
1660
+ "ev",
1661
+ "pr",
1662
+ "pw",
1663
+ "tw"
1664
+ ],
1665
+ "canRead": true,
1666
+ "canWrite": true,
1667
+ "ev": true
1668
+ },
1669
+ {
1670
+ "aid": 7,
1671
+ "iid": 11,
1672
+ "uuid": "00000223-0000-1000-8000-0026BB765291",
1673
+ "type": "EventSnapshotsActive",
1674
+ "serviceType": "CameraOperatingMode",
1675
+ "serviceName": "Side door",
1676
+ "description": "Event Snapshots Active",
1677
+ "value": 0,
1678
+ "format": "uint8",
1679
+ "perms": [
1680
+ "ev",
1681
+ "pr",
1682
+ "pw"
1683
+ ],
1684
+ "maxValue": 1,
1685
+ "minValue": 0,
1686
+ "canRead": true,
1687
+ "canWrite": true,
1688
+ "ev": true
1689
+ }
1690
+ ],
1691
+ "accessoryInformation": {
1692
+ "Manufacturer": "Eufy",
1693
+ "Model": "INDOOR_CAMERA",
1694
+ "Name": "Side door",
1695
+ "Serial Number": "T8400P20202844ED",
1696
+ "Firmware Revision": "2.2.0.2",
1697
+ "Hardware Revision": "P2"
1698
+ },
1699
+ "values": {
1700
+ "HomeKitCameraActive": 1,
1701
+ "ManuallyDisabled": 0,
1702
+ "CameraOperatingModeIndicator": 1,
1703
+ "NightVision": 1,
1704
+ "EventSnapshotsActive": 0
1705
+ },
1706
+ "instance": {
1707
+ "name": "homebridge",
1708
+ "username": "0E:89:A7:DA:D3:21",
1709
+ "ipAddress": "192.168.1.11",
1710
+ "port": 40929,
1711
+ "services": [],
1712
+ "connectionFailedCount": 0,
1713
+ "configurationNumber": "21"
1714
+ },
1715
+ "uniqueId": "08895731d0736b8028cfd89ba93229c24cead807a2dbdbb9b209ff771b88c31a"
1716
+ },
1717
+ {
1718
+ "aid": 7,
1719
+ "iid": 16,
1720
+ "uuid": "00000085-0000-1000-8000-0026BB765291",
1721
+ "type": "MotionSensor",
1722
+ "humanType": "Motion Sensor",
1723
+ "serviceName": "Side door",
1724
+ "serviceCharacteristics": [
1725
+ {
1726
+ "aid": 7,
1727
+ "iid": 18,
1728
+ "uuid": "00000022-0000-1000-8000-0026BB765291",
1729
+ "type": "MotionDetected",
1730
+ "serviceType": "MotionSensor",
1731
+ "serviceName": "Side door",
1732
+ "description": "Motion Detected",
1733
+ "value": 0,
1734
+ "format": "bool",
1735
+ "perms": [
1736
+ "ev",
1737
+ "pr"
1738
+ ],
1739
+ "canRead": true,
1740
+ "canWrite": false,
1741
+ "ev": true
1742
+ }
1743
+ ],
1744
+ "accessoryInformation": {
1745
+ "Manufacturer": "Eufy",
1746
+ "Model": "INDOOR_CAMERA",
1747
+ "Name": "Side door",
1748
+ "Serial Number": "T8400P20202844ED",
1749
+ "Firmware Revision": "2.2.0.2",
1750
+ "Hardware Revision": "P2"
1751
+ },
1752
+ "values": {
1753
+ "MotionDetected": 0
1754
+ },
1755
+ "instance": {
1756
+ "name": "homebridge",
1757
+ "username": "0E:89:A7:DA:D3:21",
1758
+ "ipAddress": "192.168.1.11",
1759
+ "port": 40929,
1760
+ "services": [],
1761
+ "connectionFailedCount": 0,
1762
+ "configurationNumber": "21"
1763
+ },
1764
+ "uniqueId": "f4827932577f2073ae5584a4a66607a1dd67af9b3e5bf22d59dffdc702d0f240"
1765
+ },
1766
+ {
1767
+ "aid": 7,
1768
+ "iid": 19,
1769
+ "uuid": "00000110-0000-1000-8000-0026BB765291",
1770
+ "type": "CameraRTPStreamManagement",
1771
+ "humanType": "Camera Rtp Stream Management",
1772
+ "serviceName": "Side door",
1773
+ "serviceCharacteristics": [
1774
+ {
1775
+ "aid": 7,
1776
+ "iid": 22,
1777
+ "uuid": "00000120-0000-1000-8000-0026BB765291",
1778
+ "type": "StreamingStatus",
1779
+ "serviceType": "CameraRTPStreamManagement",
1780
+ "serviceName": "Side door",
1781
+ "description": "Streaming Status",
1782
+ "value": "AQEA",
1783
+ "format": "tlv8",
1784
+ "perms": [
1785
+ "ev",
1786
+ "pr"
1787
+ ],
1788
+ "canRead": true,
1789
+ "canWrite": false,
1790
+ "ev": true
1791
+ },
1792
+ {
1793
+ "aid": 7,
1794
+ "iid": 23,
1795
+ "uuid": "00000115-0000-1000-8000-0026BB765291",
1796
+ "type": "SupportedAudioStreamConfiguration",
1797
+ "serviceType": "CameraRTPStreamManagement",
1798
+ "serviceName": "Side door",
1799
+ "description": "Supported Audio Stream Configuration",
1800
+ "value": "AQ4BAQICCQEBAQIBAAMBAQIBAA==",
1801
+ "format": "tlv8",
1802
+ "perms": [
1803
+ "pr"
1804
+ ],
1805
+ "canRead": true,
1806
+ "canWrite": false,
1807
+ "ev": false
1808
+ },
1809
+ {
1810
+ "aid": 7,
1811
+ "iid": 24,
1812
+ "uuid": "00000116-0000-1000-8000-0026BB765291",
1813
+ "type": "SupportedRTPConfiguration",
1814
+ "serviceType": "CameraRTPStreamManagement",
1815
+ "serviceName": "Side door",
1816
+ "description": "Supported RTP Configuration",
1817
+ "value": "AgEA",
1818
+ "format": "tlv8",
1819
+ "perms": [
1820
+ "pr"
1821
+ ],
1822
+ "canRead": true,
1823
+ "canWrite": false,
1824
+ "ev": false
1825
+ },
1826
+ {
1827
+ "aid": 7,
1828
+ "iid": 25,
1829
+ "uuid": "00000114-0000-1000-8000-0026BB765291",
1830
+ "type": "SupportedVideoStreamConfiguration",
1831
+ "serviceType": "CameraRTPStreamManagement",
1832
+ "serviceName": "Side door",
1833
+ "description": "Supported Video Stream Configuration",
1834
+ "value": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
1835
+ "format": "tlv8",
1836
+ "perms": [
1837
+ "pr"
1838
+ ],
1839
+ "canRead": true,
1840
+ "canWrite": false,
1841
+ "ev": false
1842
+ },
1843
+ {
1844
+ "aid": 7,
1845
+ "iid": 26,
1846
+ "uuid": "000000B0-0000-1000-8000-0026BB765291",
1847
+ "type": "Active",
1848
+ "serviceType": "CameraRTPStreamManagement",
1849
+ "serviceName": "Side door",
1850
+ "description": "Active",
1851
+ "value": 1,
1852
+ "format": "uint8",
1853
+ "perms": [
1854
+ "ev",
1855
+ "pr",
1856
+ "pw"
1857
+ ],
1858
+ "maxValue": 1,
1859
+ "minValue": 0,
1860
+ "minStep": 1,
1861
+ "canRead": true,
1862
+ "canWrite": true,
1863
+ "ev": true
1864
+ },
1865
+ {
1866
+ "aid": 7,
1867
+ "iid": 20,
1868
+ "uuid": "00000117-0000-1000-8000-0026BB765291",
1869
+ "type": "SelectedRTPStreamConfiguration",
1870
+ "serviceType": "CameraRTPStreamManagement",
1871
+ "serviceName": "Side door",
1872
+ "description": "Selected RTP Stream Configuration",
1873
+ "value": "AQMCAQI=",
1874
+ "format": "tlv8",
1875
+ "perms": [
1876
+ "pr",
1877
+ "pw"
1878
+ ],
1879
+ "canRead": true,
1880
+ "canWrite": true,
1881
+ "ev": false
1882
+ },
1883
+ {
1884
+ "aid": 7,
1885
+ "iid": 21,
1886
+ "uuid": "00000118-0000-1000-8000-0026BB765291",
1887
+ "type": "SetupEndpoints",
1888
+ "serviceType": "CameraRTPStreamManagement",
1889
+ "serviceName": "Side door",
1890
+ "description": "Setup Endpoints",
1891
+ "value": "AgEC",
1892
+ "format": "tlv8",
1893
+ "perms": [
1894
+ "pr",
1895
+ "pw"
1896
+ ],
1897
+ "canRead": true,
1898
+ "canWrite": true,
1899
+ "ev": false
1900
+ }
1901
+ ],
1902
+ "accessoryInformation": {
1903
+ "Manufacturer": "Eufy",
1904
+ "Model": "INDOOR_CAMERA",
1905
+ "Name": "Side door",
1906
+ "Serial Number": "T8400P20202844ED",
1907
+ "Firmware Revision": "2.2.0.2",
1908
+ "Hardware Revision": "P2"
1909
+ },
1910
+ "values": {
1911
+ "StreamingStatus": "AQEA",
1912
+ "SupportedAudioStreamConfiguration": "AQ4BAQICCQEBAQIBAAMBAQIBAA==",
1913
+ "SupportedRTPConfiguration": "AgEA",
1914
+ "SupportedVideoStreamConfiguration": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
1915
+ "Active": 1,
1916
+ "SelectedRTPStreamConfiguration": "AQMCAQI=",
1917
+ "SetupEndpoints": "AgEC"
1918
+ },
1919
+ "instance": {
1920
+ "name": "homebridge",
1921
+ "username": "0E:89:A7:DA:D3:21",
1922
+ "ipAddress": "192.168.1.11",
1923
+ "port": 40929,
1924
+ "services": [],
1925
+ "connectionFailedCount": 0,
1926
+ "configurationNumber": "21"
1927
+ },
1928
+ "uniqueId": "e8e6aec782cd554108e95e4a61b7fa4e941f2c63b9e656e6c828ac89e26e2dbd"
1929
+ },
1930
+ {
1931
+ "aid": 7,
1932
+ "iid": 27,
1933
+ "uuid": "00000110-0000-1000-8000-0026BB765291",
1934
+ "type": "CameraRTPStreamManagement",
1935
+ "humanType": "Camera Rtp Stream Management",
1936
+ "serviceName": "Side door",
1937
+ "serviceCharacteristics": [
1938
+ {
1939
+ "aid": 7,
1940
+ "iid": 30,
1941
+ "uuid": "00000120-0000-1000-8000-0026BB765291",
1942
+ "type": "StreamingStatus",
1943
+ "serviceType": "CameraRTPStreamManagement",
1944
+ "serviceName": "Side door",
1945
+ "description": "Streaming Status",
1946
+ "value": "AQEA",
1947
+ "format": "tlv8",
1948
+ "perms": [
1949
+ "ev",
1950
+ "pr"
1951
+ ],
1952
+ "canRead": true,
1953
+ "canWrite": false,
1954
+ "ev": true
1955
+ },
1956
+ {
1957
+ "aid": 7,
1958
+ "iid": 31,
1959
+ "uuid": "00000115-0000-1000-8000-0026BB765291",
1960
+ "type": "SupportedAudioStreamConfiguration",
1961
+ "serviceType": "CameraRTPStreamManagement",
1962
+ "serviceName": "Side door",
1963
+ "description": "Supported Audio Stream Configuration",
1964
+ "value": "AQ4BAQICCQEBAQIBAAMBAQIBAA==",
1965
+ "format": "tlv8",
1966
+ "perms": [
1967
+ "pr"
1968
+ ],
1969
+ "canRead": true,
1970
+ "canWrite": false,
1971
+ "ev": false
1972
+ },
1973
+ {
1974
+ "aid": 7,
1975
+ "iid": 32,
1976
+ "uuid": "00000116-0000-1000-8000-0026BB765291",
1977
+ "type": "SupportedRTPConfiguration",
1978
+ "serviceType": "CameraRTPStreamManagement",
1979
+ "serviceName": "Side door",
1980
+ "description": "Supported RTP Configuration",
1981
+ "value": "AgEA",
1982
+ "format": "tlv8",
1983
+ "perms": [
1984
+ "pr"
1985
+ ],
1986
+ "canRead": true,
1987
+ "canWrite": false,
1988
+ "ev": false
1989
+ },
1990
+ {
1991
+ "aid": 7,
1992
+ "iid": 33,
1993
+ "uuid": "00000114-0000-1000-8000-0026BB765291",
1994
+ "type": "SupportedVideoStreamConfiguration",
1995
+ "serviceType": "CameraRTPStreamManagement",
1996
+ "serviceName": "Side door",
1997
+ "description": "Supported Video Stream Configuration",
1998
+ "value": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
1999
+ "format": "tlv8",
2000
+ "perms": [
2001
+ "pr"
2002
+ ],
2003
+ "canRead": true,
2004
+ "canWrite": false,
2005
+ "ev": false
2006
+ },
2007
+ {
2008
+ "aid": 7,
2009
+ "iid": 34,
2010
+ "uuid": "000000B0-0000-1000-8000-0026BB765291",
2011
+ "type": "Active",
2012
+ "serviceType": "CameraRTPStreamManagement",
2013
+ "serviceName": "Side door",
2014
+ "description": "Active",
2015
+ "value": 1,
2016
+ "format": "uint8",
2017
+ "perms": [
2018
+ "ev",
2019
+ "pr",
2020
+ "pw"
2021
+ ],
2022
+ "maxValue": 1,
2023
+ "minValue": 0,
2024
+ "minStep": 1,
2025
+ "canRead": true,
2026
+ "canWrite": true,
2027
+ "ev": true
2028
+ },
2029
+ {
2030
+ "aid": 7,
2031
+ "iid": 28,
2032
+ "uuid": "00000117-0000-1000-8000-0026BB765291",
2033
+ "type": "SelectedRTPStreamConfiguration",
2034
+ "serviceType": "CameraRTPStreamManagement",
2035
+ "serviceName": "Side door",
2036
+ "description": "Selected RTP Stream Configuration",
2037
+ "value": "AQMCAQI=",
2038
+ "format": "tlv8",
2039
+ "perms": [
2040
+ "pr",
2041
+ "pw"
2042
+ ],
2043
+ "canRead": true,
2044
+ "canWrite": true,
2045
+ "ev": false
2046
+ },
2047
+ {
2048
+ "aid": 7,
2049
+ "iid": 29,
2050
+ "uuid": "00000118-0000-1000-8000-0026BB765291",
2051
+ "type": "SetupEndpoints",
2052
+ "serviceType": "CameraRTPStreamManagement",
2053
+ "serviceName": "Side door",
2054
+ "description": "Setup Endpoints",
2055
+ "value": "AgEC",
2056
+ "format": "tlv8",
2057
+ "perms": [
2058
+ "pr",
2059
+ "pw"
2060
+ ],
2061
+ "canRead": true,
2062
+ "canWrite": true,
2063
+ "ev": false
2064
+ }
2065
+ ],
2066
+ "accessoryInformation": {
2067
+ "Manufacturer": "Eufy",
2068
+ "Model": "INDOOR_CAMERA",
2069
+ "Name": "Side door",
2070
+ "Serial Number": "T8400P20202844ED",
2071
+ "Firmware Revision": "2.2.0.2",
2072
+ "Hardware Revision": "P2"
2073
+ },
2074
+ "values": {
2075
+ "StreamingStatus": "AQEA",
2076
+ "SupportedAudioStreamConfiguration": "AQ4BAQICCQEBAQIBAAMBAQIBAA==",
2077
+ "SupportedRTPConfiguration": "AgEA",
2078
+ "SupportedVideoStreamConfiguration": "AcUBAQACHQEBAAAAAQEBAAABAQICAQAAAAIBAQAAAgECAwEAAwsBAkABAgK0AAMBHgAAAwsBAkABAgLwAAMBDwAAAwsBAkABAgLwAAMBHgAAAwsBAuABAgIOAQMBHgAAAwsBAuABAgJoAQMBHgAAAwsBAoACAgJoAQMBHgAAAwsBAoACAgLgAQMBHgAAAwsBAgAFAgLQAgMBHgAAAwsBAgAFAgLAAwMBHgAAAwsBAoAHAgI4BAMBHgAAAwsBAkAGAgKwBAMBHg==",
2079
+ "Active": 1,
2080
+ "SelectedRTPStreamConfiguration": "AQMCAQI=",
2081
+ "SetupEndpoints": "AgEC"
2082
+ },
2083
+ "instance": {
2084
+ "name": "homebridge",
2085
+ "username": "0E:89:A7:DA:D3:21",
2086
+ "ipAddress": "192.168.1.11",
2087
+ "port": 40929,
2088
+ "services": [],
2089
+ "connectionFailedCount": 0,
2090
+ "configurationNumber": "21"
2091
+ },
2092
+ "uniqueId": "67fa85f535234f003c95e01c90897d1d3aff7a5523ee1b5cd593aedbebc1b30d"
2093
+ }
2094
+ ];
2095
+ });
2096
+
2097
+ test('toList filters and maps devices correctly', () => {
2098
+ const result = node.toList({ perms: 'ev' });
2099
+ expect(result).toEqual([
2100
+ {
2101
+ name: 'Living Room Light',
2102
+ fullName: 'Living Room Light - Lightbulb',
2103
+ sortName: 'Living Room Light:Lightbulb',
2104
+ uniqueId: 'Bridge100:11:22:33:44:55AcmeLiving Room Light12345678',
2105
+ homebridge: 'Bridge1',
2106
+ service: 'Lightbulb',
2107
+ manufacturer: 'Acme',
2108
+ },
2109
+ {
2110
+ name: 'Kitchen Switch',
2111
+ fullName: 'Kitchen Switch - Switch',
2112
+ sortName: 'Kitchen Switch:Switch',
2113
+ uniqueId: 'Bridge211:22:33:44:55:66AcmeKitchen Switch87654321',
2114
+ homebridge: 'Bridge2',
2115
+ service: 'Switch',
2116
+ manufacturer: 'Acme',
2117
+ },
2118
+ {
2119
+ "fullName": "Canoe - MotionSensor",
2120
+ "homebridge": "ECI-T24F2",
2121
+ "manufacturer": "HikVision",
2122
+ "name": "Canoe",
2123
+ "service": "MotionSensor",
2124
+ "sortName": "Canoe:MotionSensor",
2125
+ "uniqueId": "ECI-T24F25C:EE:FE:4D:64:B4HikVisionCanoe00000085",
2126
+ },
2127
+ {
2128
+ "fullName": "Canoe 5036 - CameraRTPStreamManagement",
2129
+ "homebridge": "ECI-T24F2",
2130
+ "manufacturer": "HikVision",
2131
+ "name": "Canoe 5036",
2132
+ "service": "CameraRTPStreamManagement",
2133
+ "sortName": "Canoe 5036:CameraRTPStreamManagement",
2134
+ "uniqueId": "ECI-T24F25C:EE:FE:4D:64:B4HikVisionCanoe 503600000110",
2135
+ },
2136
+ {
2137
+ name: 'Backyard',
2138
+ fullName: 'Backyard - MotionSensor',
2139
+ sortName: 'Backyard:MotionSensor',
2140
+ uniqueId: 'homebridge0E:89:A7:DA:D3:21EufyBackyard00000085',
2141
+ homebridge: 'homebridge',
2142
+ service: 'MotionSensor',
2143
+ manufacturer: 'Eufy'
2144
+ },
2145
+ {
2146
+ name: 'Backyard',
2147
+ fullName: 'Backyard - CameraRTPStreamManagement',
2148
+ sortName: 'Backyard:CameraRTPStreamManagement',
2149
+ uniqueId: 'homebridge0E:89:A7:DA:D3:21EufyBackyard00000110',
2150
+ homebridge: 'homebridge',
2151
+ service: 'CameraRTPStreamManagement',
2152
+ manufacturer: 'Eufy'
2153
+ },
2154
+ {
2155
+ name: 'Side door',
2156
+ fullName: 'Side door - MotionSensor',
2157
+ sortName: 'Side door:MotionSensor',
2158
+ uniqueId: 'homebridge0E:89:A7:DA:D3:21EufySide door00000085',
2159
+ homebridge: 'homebridge',
2160
+ service: 'MotionSensor',
2161
+ manufacturer: 'Eufy'
2162
+ },
2163
+ {
2164
+ name: 'Side door',
2165
+ fullName: 'Side door - CameraRTPStreamManagement',
2166
+ sortName: 'Side door:CameraRTPStreamManagement',
2167
+ uniqueId: 'homebridge0E:89:A7:DA:D3:21EufySide door00000110',
2168
+ homebridge: 'homebridge',
2169
+ service: 'CameraRTPStreamManagement',
2170
+ manufacturer: 'Eufy'
2171
+ }
2172
+ ]);
2173
+
2174
+ // Ensure the unsupported type was filtered out
2175
+ expect(result.find(device => device.name === 'Garage Sensor')).toBeUndefined();
2176
+ });
2177
+
2178
+
2179
+ });