@camstack/addon-pipeline 1.2.625 → 1.2.626
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.
- package/THIRD_PARTY_MODELS.md +1 -1
- package/dist/audio-analyzer/index.js +3 -3
- package/dist/audio-analyzer/index.mjs +3 -3
- package/dist/{custom-model-catalog-CJ5aXIOD.mjs → custom-model-catalog-CacTUROW.mjs} +6 -6
- package/dist/{custom-model-catalog-DvR-whP_.js → custom-model-catalog-CgxVHzSZ.js} +6 -6
- package/dist/detection-pipeline/index.js +16 -16
- package/dist/detection-pipeline/index.mjs +16 -16
- package/dist/{dist-_rq_UVv6.mjs → dist-Bg9whnXR.mjs} +6818 -14340
- package/dist/{dist-Cpis101z.js → dist-CtbRj-Dn.js} +6818 -14340
- package/dist/{model-catalogs-4g6cUT_r.js → model-catalogs-BQqKruf-.js} +3 -3
- package/dist/{model-catalogs-DfoDNm1t.mjs → model-catalogs-D04DNvMI.mjs} +3 -3
- package/dist/motion-wasm/index.js +1 -1
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/{node-Dvv27Xny.mjs → node-CfgKBxdH.mjs} +2 -2
- package/dist/{node-CJXGd0X8.js → node-PivXOnUx.js} +2 -2
- package/dist/pipeline-runner/index.js +20 -20
- package/dist/pipeline-runner/index.mjs +20 -20
- package/dist/{process-memory-BGbqzwKk.js → process-memory-68U4DnuZ.js} +1 -1
- package/dist/{process-memory-CnqFCrg1.mjs → process-memory-Z6v2Fm60.mjs} +1 -1
- package/dist/recorder/index.js +26 -1816
- package/dist/recorder/index.mjs +26 -1816
- package/dist/{restream-intent-DyGmLAU9.mjs → restream-intent-DvzCnthK.mjs} +1 -1
- package/dist/{restream-intent-7uDNqMKs.js → restream-intent-DzrZ_EHP.js} +1 -1
- package/dist/{segment-demux-js-CL0PehIS.js → segment-demux-js-BcnG-zVD.js} +1 -1
- package/dist/{segment-demux-js-DCxqN1Pl.mjs → segment-demux-js-CRzvBMVr.mjs} +1 -1
- package/dist/session-decode/decode-worker-main.js +8 -8
- package/dist/session-decode/decode-worker-main.mjs +8 -8
- package/dist/stream-broker/_stub.js +1 -1
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DJ_CX5Lw.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-B9jSVeoa.mjs} +3 -3
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D-GlPMcf.mjs +26 -0
- package/dist/stream-broker/demux-worker-child.js +1 -1
- package/dist/stream-broker/demux-worker-child.mjs +1 -1
- package/dist/stream-broker/{hostInit-tMlXFYkK.mjs → hostInit-C_J8Mxe2.mjs} +3 -3
- package/dist/stream-broker/index.js +34 -34
- package/dist/stream-broker/index.mjs +34 -34
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/package.json +1 -1
- package/python/inference_pool.py +3 -3
- package/python/postprocessors/ctc.py +1 -1
- package/python/postprocessors/plate_slots.py +2 -2
- package/python/postprocessors/test_ctc.py +1 -1
- package/python/postprocessors/test_plate_slots.py +1 -1
- package/python/postprocessors/test_ssd.py +1 -1
- package/python/postprocessors/test_yolo_split_dfl.py +3 -3
- package/python/postprocessors/test_yolo_split_dfl_numpy.py +5 -5
- package/python/postprocessors/test_yolonas.py +5 -5
- package/python/postprocessors/test_yolov9_edgetpu_concat.py +3 -3
- package/python/postprocessors/testdata/yunet_int8_outputs.json +2 -2
- package/python/postprocessors/yolo_split_dfl.py +5 -5
- package/python/postprocessors/yolonas.py +3 -3
- package/python/test_dequant_edgetpu.py +2 -2
- package/python/test_inference_pool_preprocess.py +2 -2
- package/python/webgpu_isolated.py +1 -1
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D02gyL5r.mjs +0 -26
package/dist/recorder/index.js
CHANGED
|
@@ -3,10 +3,10 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../chunk-emK7D4bc.js");
|
|
6
|
-
const require_dist = require("../dist-
|
|
7
|
-
const require_node = require("../node-
|
|
6
|
+
const require_dist = require("../dist-CtbRj-Dn.js");
|
|
7
|
+
const require_node = require("../node-PivXOnUx.js");
|
|
8
8
|
const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
|
|
9
|
-
const require_restream_intent = require("../restream-intent-
|
|
9
|
+
const require_restream_intent = require("../restream-intent-DzrZ_EHP.js");
|
|
10
10
|
let node_crypto = require("node:crypto");
|
|
11
11
|
let node_fs = require("node:fs");
|
|
12
12
|
let node_path = require("node:path");
|
|
@@ -3942,7 +3942,7 @@ function summarizeEvictionsByDevice(victims, orphanDeviceIds) {
|
|
|
3942
3942
|
* `getDaysWithRecordings` and `getAvailability` answer from
|
|
3943
3943
|
* `index.segments(deviceId)`, so the date selector — the first thing an operator
|
|
3944
3944
|
* sees — cannot resolve until the archive-wide walk has finished. Measured on
|
|
3945
|
-
* the live archive (device
|
|
3945
|
+
* the live archive (device 104, `low`): that walk is **68,457 ms over 258,449
|
|
3946
3946
|
* files**, while the questions it is being asked cost
|
|
3947
3947
|
*
|
|
3948
3948
|
* which days of a month 28 entries 1 ms
|
|
@@ -4121,9 +4121,9 @@ async function segmentsOfHour(root, deviceId, profile, hourStartMs) {
|
|
|
4121
4121
|
*
|
|
4122
4122
|
* {@link availabilityProfile} deliberately returns ONE — the timeline is a
|
|
4123
4123
|
* single bar. That is right for the bar and wrong for the ANSWER: on
|
|
4124
|
-
* 2026-09-10 `getAvailability` reported twenty `high` ranges for camera
|
|
4124
|
+
* 2026-09-10 `getAvailability` reported twenty `high` ranges for camera 101
|
|
4125
4125
|
* and the conclusion drawn was that this deployment records no `low` at all,
|
|
4126
|
-
* while `/media-fast/recordingsLow/
|
|
4126
|
+
* while `/media-fast/recordingsLow/101/low/` held 14 GB on a different
|
|
4127
4127
|
* location (D433).
|
|
4128
4128
|
*
|
|
4129
4129
|
* Unions across roots for exactly that reason: `high` and `low` do not share a
|
|
@@ -5029,7 +5029,7 @@ function archiveUsageComplete(ledger, locationIds) {
|
|
|
5029
5029
|
* Per-device recording-config persistence for the recorder addon.
|
|
5030
5030
|
*
|
|
5031
5031
|
* A camera's config is its PER-DEVICE SETTINGS (D865), key `recordingConfig`,
|
|
5032
|
-
* through `ctx.settings.*DeviceStore`. Asking what camera
|
|
5032
|
+
* through `ctx.settings.*DeviceStore`. Asking what camera 102 records is one
|
|
5033
5033
|
* scope read; saving its config writes that key and touches no other camera.
|
|
5034
5034
|
* Deleting the camera clears the scope centrally.
|
|
5035
5035
|
*
|
|
@@ -5038,7 +5038,7 @@ function archiveUsageComplete(ledger, locationIds) {
|
|
|
5038
5038
|
* Until the 2026-08-19 flatten every camera's `RecordingConfig` lived in ONE
|
|
5039
5039
|
* key of the recorder's `addon-settings` / `root` blob — a row that was 201 833
|
|
5040
5040
|
* bytes on the reference hub, because the ops-log and the export history shared
|
|
5041
|
-
* it. So `loadDeviceConfig(
|
|
5041
|
+
* it. So `loadDeviceConfig(102)` read and `JSON.parse`d 201 KB, and
|
|
5042
5042
|
* `saveDeviceConfig` read that, merged, and rewrote it. The staging walk did it
|
|
5043
5043
|
* once per device and lost 45–267 s of a boot to it (2026-08-18); teaching the
|
|
5044
5044
|
* walk to read the map once capped the symptom, and this removes the cause.
|
|
@@ -6252,1796 +6252,6 @@ Object.freeze({
|
|
|
6252
6252
|
"readClipBytes"
|
|
6253
6253
|
]
|
|
6254
6254
|
});
|
|
6255
|
-
Object.freeze({ "doorbell": "lastPressedAt" });
|
|
6256
|
-
Object.freeze({
|
|
6257
|
-
"air-quality-sensor": [
|
|
6258
|
-
{
|
|
6259
|
-
"path": "co2Ppm",
|
|
6260
|
-
"valueType": "number"
|
|
6261
|
-
},
|
|
6262
|
-
{
|
|
6263
|
-
"path": "vocPpb",
|
|
6264
|
-
"valueType": "number"
|
|
6265
|
-
},
|
|
6266
|
-
{
|
|
6267
|
-
"path": "pm25",
|
|
6268
|
-
"valueType": "number"
|
|
6269
|
-
},
|
|
6270
|
-
{
|
|
6271
|
-
"path": "pm10",
|
|
6272
|
-
"valueType": "number"
|
|
6273
|
-
},
|
|
6274
|
-
{
|
|
6275
|
-
"path": "aqi",
|
|
6276
|
-
"valueType": "number"
|
|
6277
|
-
},
|
|
6278
|
-
{
|
|
6279
|
-
"path": "unit",
|
|
6280
|
-
"valueType": "string"
|
|
6281
|
-
},
|
|
6282
|
-
{
|
|
6283
|
-
"path": "precision",
|
|
6284
|
-
"valueType": "number"
|
|
6285
|
-
}
|
|
6286
|
-
],
|
|
6287
|
-
"alarm-panel": [
|
|
6288
|
-
{
|
|
6289
|
-
"path": "state",
|
|
6290
|
-
"valueType": "enum",
|
|
6291
|
-
"enumValues": [
|
|
6292
|
-
"disarmed",
|
|
6293
|
-
"armed_home",
|
|
6294
|
-
"armed_away",
|
|
6295
|
-
"armed_night",
|
|
6296
|
-
"armed_vacation",
|
|
6297
|
-
"armed_custom_bypass",
|
|
6298
|
-
"arming",
|
|
6299
|
-
"disarming",
|
|
6300
|
-
"pending",
|
|
6301
|
-
"triggered"
|
|
6302
|
-
]
|
|
6303
|
-
},
|
|
6304
|
-
{
|
|
6305
|
-
"path": "targetMode",
|
|
6306
|
-
"valueType": "enum",
|
|
6307
|
-
"enumValues": [
|
|
6308
|
-
"home",
|
|
6309
|
-
"away",
|
|
6310
|
-
"night",
|
|
6311
|
-
"vacation",
|
|
6312
|
-
"custom_bypass"
|
|
6313
|
-
]
|
|
6314
|
-
},
|
|
6315
|
-
{
|
|
6316
|
-
"path": "requiresCode",
|
|
6317
|
-
"valueType": "boolean"
|
|
6318
|
-
}
|
|
6319
|
-
],
|
|
6320
|
-
"ambient-light-sensor": [
|
|
6321
|
-
{
|
|
6322
|
-
"path": "lux",
|
|
6323
|
-
"valueType": "number"
|
|
6324
|
-
},
|
|
6325
|
-
{
|
|
6326
|
-
"path": "unit",
|
|
6327
|
-
"valueType": "string"
|
|
6328
|
-
},
|
|
6329
|
-
{
|
|
6330
|
-
"path": "precision",
|
|
6331
|
-
"valueType": "number"
|
|
6332
|
-
}
|
|
6333
|
-
],
|
|
6334
|
-
"audio-metrics": [
|
|
6335
|
-
{
|
|
6336
|
-
"path": "ts",
|
|
6337
|
-
"valueType": "number"
|
|
6338
|
-
},
|
|
6339
|
-
{
|
|
6340
|
-
"path": "windowSec",
|
|
6341
|
-
"valueType": "number"
|
|
6342
|
-
},
|
|
6343
|
-
{
|
|
6344
|
-
"path": "level.rms",
|
|
6345
|
-
"valueType": "number"
|
|
6346
|
-
},
|
|
6347
|
-
{
|
|
6348
|
-
"path": "level.dbfs",
|
|
6349
|
-
"valueType": "number"
|
|
6350
|
-
},
|
|
6351
|
-
{
|
|
6352
|
-
"path": "peakDbfs",
|
|
6353
|
-
"valueType": "number"
|
|
6354
|
-
},
|
|
6355
|
-
{
|
|
6356
|
-
"path": "avgDbfs",
|
|
6357
|
-
"valueType": "number"
|
|
6358
|
-
},
|
|
6359
|
-
{
|
|
6360
|
-
"path": "current.className",
|
|
6361
|
-
"valueType": "string"
|
|
6362
|
-
},
|
|
6363
|
-
{
|
|
6364
|
-
"path": "current.score",
|
|
6365
|
-
"valueType": "number"
|
|
6366
|
-
},
|
|
6367
|
-
{
|
|
6368
|
-
"path": "current.timestamp",
|
|
6369
|
-
"valueType": "number"
|
|
6370
|
-
}
|
|
6371
|
-
],
|
|
6372
|
-
"automation-control": [
|
|
6373
|
-
{
|
|
6374
|
-
"path": "enabled",
|
|
6375
|
-
"valueType": "boolean"
|
|
6376
|
-
},
|
|
6377
|
-
{
|
|
6378
|
-
"path": "isRunning",
|
|
6379
|
-
"valueType": "boolean"
|
|
6380
|
-
},
|
|
6381
|
-
{
|
|
6382
|
-
"path": "lastTriggeredAt",
|
|
6383
|
-
"valueType": "number"
|
|
6384
|
-
},
|
|
6385
|
-
{
|
|
6386
|
-
"path": "lastError",
|
|
6387
|
-
"valueType": "string"
|
|
6388
|
-
}
|
|
6389
|
-
],
|
|
6390
|
-
"battery": [
|
|
6391
|
-
{
|
|
6392
|
-
"path": "percentage",
|
|
6393
|
-
"valueType": "number"
|
|
6394
|
-
},
|
|
6395
|
-
{
|
|
6396
|
-
"path": "charging",
|
|
6397
|
-
"valueType": "enum",
|
|
6398
|
-
"enumValues": [
|
|
6399
|
-
"dc",
|
|
6400
|
-
"solar",
|
|
6401
|
-
"none",
|
|
6402
|
-
"unknown"
|
|
6403
|
-
]
|
|
6404
|
-
},
|
|
6405
|
-
{
|
|
6406
|
-
"path": "sleeping",
|
|
6407
|
-
"valueType": "boolean"
|
|
6408
|
-
},
|
|
6409
|
-
{
|
|
6410
|
-
"path": "lastUpdated",
|
|
6411
|
-
"valueType": "number"
|
|
6412
|
-
},
|
|
6413
|
-
{
|
|
6414
|
-
"path": "lastContactAt",
|
|
6415
|
-
"valueType": "number"
|
|
6416
|
-
},
|
|
6417
|
-
{
|
|
6418
|
-
"path": "lastFullRefreshAt",
|
|
6419
|
-
"valueType": "number"
|
|
6420
|
-
},
|
|
6421
|
-
{
|
|
6422
|
-
"path": "binary",
|
|
6423
|
-
"valueType": "boolean"
|
|
6424
|
-
}
|
|
6425
|
-
],
|
|
6426
|
-
"binary": [{
|
|
6427
|
-
"path": "on",
|
|
6428
|
-
"valueType": "boolean"
|
|
6429
|
-
}],
|
|
6430
|
-
"brightness": [{
|
|
6431
|
-
"path": "percentage",
|
|
6432
|
-
"valueType": "number"
|
|
6433
|
-
}],
|
|
6434
|
-
"broker": [{
|
|
6435
|
-
"path": "brokerCount",
|
|
6436
|
-
"valueType": "number"
|
|
6437
|
-
}, {
|
|
6438
|
-
"path": "connectedCount",
|
|
6439
|
-
"valueType": "number"
|
|
6440
|
-
}],
|
|
6441
|
-
"camera-credentials": [
|
|
6442
|
-
{
|
|
6443
|
-
"path": "host",
|
|
6444
|
-
"valueType": "string"
|
|
6445
|
-
},
|
|
6446
|
-
{
|
|
6447
|
-
"path": "port",
|
|
6448
|
-
"valueType": "number"
|
|
6449
|
-
},
|
|
6450
|
-
{
|
|
6451
|
-
"path": "onvifPort",
|
|
6452
|
-
"valueType": "number"
|
|
6453
|
-
},
|
|
6454
|
-
{
|
|
6455
|
-
"path": "rtspPort",
|
|
6456
|
-
"valueType": "number"
|
|
6457
|
-
},
|
|
6458
|
-
{
|
|
6459
|
-
"path": "https",
|
|
6460
|
-
"valueType": "boolean"
|
|
6461
|
-
},
|
|
6462
|
-
{
|
|
6463
|
-
"path": "hasUsername",
|
|
6464
|
-
"valueType": "boolean"
|
|
6465
|
-
},
|
|
6466
|
-
{
|
|
6467
|
-
"path": "hasPassword",
|
|
6468
|
-
"valueType": "boolean"
|
|
6469
|
-
},
|
|
6470
|
-
{
|
|
6471
|
-
"path": "onvifProfile",
|
|
6472
|
-
"valueType": "string"
|
|
6473
|
-
}
|
|
6474
|
-
],
|
|
6475
|
-
"camera-streams": [
|
|
6476
|
-
{
|
|
6477
|
-
"path": "online",
|
|
6478
|
-
"valueType": "boolean"
|
|
6479
|
-
},
|
|
6480
|
-
{
|
|
6481
|
-
"path": "slotStatuses.high",
|
|
6482
|
-
"valueType": "enum",
|
|
6483
|
-
"enumValues": [
|
|
6484
|
-
"unassigned",
|
|
6485
|
-
"idle",
|
|
6486
|
-
"connecting",
|
|
6487
|
-
"streaming",
|
|
6488
|
-
"error"
|
|
6489
|
-
]
|
|
6490
|
-
},
|
|
6491
|
-
{
|
|
6492
|
-
"path": "slotStatuses.mid",
|
|
6493
|
-
"valueType": "enum",
|
|
6494
|
-
"enumValues": [
|
|
6495
|
-
"unassigned",
|
|
6496
|
-
"idle",
|
|
6497
|
-
"connecting",
|
|
6498
|
-
"streaming",
|
|
6499
|
-
"error"
|
|
6500
|
-
]
|
|
6501
|
-
},
|
|
6502
|
-
{
|
|
6503
|
-
"path": "slotStatuses.low",
|
|
6504
|
-
"valueType": "enum",
|
|
6505
|
-
"enumValues": [
|
|
6506
|
-
"unassigned",
|
|
6507
|
-
"idle",
|
|
6508
|
-
"connecting",
|
|
6509
|
-
"streaming",
|
|
6510
|
-
"error"
|
|
6511
|
-
]
|
|
6512
|
-
},
|
|
6513
|
-
{
|
|
6514
|
-
"path": "slotErrors.high",
|
|
6515
|
-
"valueType": "string"
|
|
6516
|
-
},
|
|
6517
|
-
{
|
|
6518
|
-
"path": "slotErrors.mid",
|
|
6519
|
-
"valueType": "string"
|
|
6520
|
-
},
|
|
6521
|
-
{
|
|
6522
|
-
"path": "slotErrors.low",
|
|
6523
|
-
"valueType": "string"
|
|
6524
|
-
}
|
|
6525
|
-
],
|
|
6526
|
-
"carbon-monoxide": [{
|
|
6527
|
-
"path": "detected",
|
|
6528
|
-
"valueType": "boolean"
|
|
6529
|
-
}],
|
|
6530
|
-
"climate-control": [
|
|
6531
|
-
{
|
|
6532
|
-
"path": "mode",
|
|
6533
|
-
"valueType": "enum",
|
|
6534
|
-
"enumValues": [
|
|
6535
|
-
"off",
|
|
6536
|
-
"heat",
|
|
6537
|
-
"cool",
|
|
6538
|
-
"auto",
|
|
6539
|
-
"heat_cool",
|
|
6540
|
-
"fan_only",
|
|
6541
|
-
"dry"
|
|
6542
|
-
]
|
|
6543
|
-
},
|
|
6544
|
-
{
|
|
6545
|
-
"path": "fanMode",
|
|
6546
|
-
"valueType": "string"
|
|
6547
|
-
},
|
|
6548
|
-
{
|
|
6549
|
-
"path": "preset",
|
|
6550
|
-
"valueType": "string"
|
|
6551
|
-
},
|
|
6552
|
-
{
|
|
6553
|
-
"path": "target",
|
|
6554
|
-
"valueType": "number"
|
|
6555
|
-
},
|
|
6556
|
-
{
|
|
6557
|
-
"path": "targetHigh",
|
|
6558
|
-
"valueType": "number"
|
|
6559
|
-
},
|
|
6560
|
-
{
|
|
6561
|
-
"path": "targetLow",
|
|
6562
|
-
"valueType": "number"
|
|
6563
|
-
},
|
|
6564
|
-
{
|
|
6565
|
-
"path": "targetHumidity",
|
|
6566
|
-
"valueType": "number"
|
|
6567
|
-
},
|
|
6568
|
-
{
|
|
6569
|
-
"path": "currentTemp",
|
|
6570
|
-
"valueType": "number"
|
|
6571
|
-
},
|
|
6572
|
-
{
|
|
6573
|
-
"path": "currentHumidity",
|
|
6574
|
-
"valueType": "number"
|
|
6575
|
-
},
|
|
6576
|
-
{
|
|
6577
|
-
"path": "swingVertical",
|
|
6578
|
-
"valueType": "boolean"
|
|
6579
|
-
},
|
|
6580
|
-
{
|
|
6581
|
-
"path": "swingHorizontal",
|
|
6582
|
-
"valueType": "boolean"
|
|
6583
|
-
},
|
|
6584
|
-
{
|
|
6585
|
-
"path": "minTemp",
|
|
6586
|
-
"valueType": "number"
|
|
6587
|
-
},
|
|
6588
|
-
{
|
|
6589
|
-
"path": "maxTemp",
|
|
6590
|
-
"valueType": "number"
|
|
6591
|
-
},
|
|
6592
|
-
{
|
|
6593
|
-
"path": "tempStep",
|
|
6594
|
-
"valueType": "number"
|
|
6595
|
-
}
|
|
6596
|
-
],
|
|
6597
|
-
"color": [
|
|
6598
|
-
{
|
|
6599
|
-
"path": "mode",
|
|
6600
|
-
"valueType": "enum",
|
|
6601
|
-
"enumValues": [
|
|
6602
|
-
"rgb",
|
|
6603
|
-
"hsv",
|
|
6604
|
-
"mired"
|
|
6605
|
-
]
|
|
6606
|
-
},
|
|
6607
|
-
{
|
|
6608
|
-
"path": "rgb.r",
|
|
6609
|
-
"valueType": "number"
|
|
6610
|
-
},
|
|
6611
|
-
{
|
|
6612
|
-
"path": "rgb.g",
|
|
6613
|
-
"valueType": "number"
|
|
6614
|
-
},
|
|
6615
|
-
{
|
|
6616
|
-
"path": "rgb.b",
|
|
6617
|
-
"valueType": "number"
|
|
6618
|
-
},
|
|
6619
|
-
{
|
|
6620
|
-
"path": "hsv.h",
|
|
6621
|
-
"valueType": "number"
|
|
6622
|
-
},
|
|
6623
|
-
{
|
|
6624
|
-
"path": "hsv.s",
|
|
6625
|
-
"valueType": "number"
|
|
6626
|
-
},
|
|
6627
|
-
{
|
|
6628
|
-
"path": "hsv.v",
|
|
6629
|
-
"valueType": "number"
|
|
6630
|
-
},
|
|
6631
|
-
{
|
|
6632
|
-
"path": "mireds",
|
|
6633
|
-
"valueType": "number"
|
|
6634
|
-
}
|
|
6635
|
-
],
|
|
6636
|
-
"connectivity": [{
|
|
6637
|
-
"path": "connected",
|
|
6638
|
-
"valueType": "boolean"
|
|
6639
|
-
}],
|
|
6640
|
-
"contact": [{
|
|
6641
|
-
"path": "entryOpen",
|
|
6642
|
-
"valueType": "boolean"
|
|
6643
|
-
}],
|
|
6644
|
-
"control": [
|
|
6645
|
-
{
|
|
6646
|
-
"path": "kind",
|
|
6647
|
-
"valueType": "enum",
|
|
6648
|
-
"enumValues": [
|
|
6649
|
-
"numeric",
|
|
6650
|
-
"select",
|
|
6651
|
-
"text",
|
|
6652
|
-
"datetime"
|
|
6653
|
-
]
|
|
6654
|
-
},
|
|
6655
|
-
{
|
|
6656
|
-
"path": "unit",
|
|
6657
|
-
"valueType": "string"
|
|
6658
|
-
},
|
|
6659
|
-
{
|
|
6660
|
-
"path": "min",
|
|
6661
|
-
"valueType": "number"
|
|
6662
|
-
},
|
|
6663
|
-
{
|
|
6664
|
-
"path": "max",
|
|
6665
|
-
"valueType": "number"
|
|
6666
|
-
},
|
|
6667
|
-
{
|
|
6668
|
-
"path": "step",
|
|
6669
|
-
"valueType": "number"
|
|
6670
|
-
},
|
|
6671
|
-
{
|
|
6672
|
-
"path": "precision",
|
|
6673
|
-
"valueType": "number"
|
|
6674
|
-
},
|
|
6675
|
-
{
|
|
6676
|
-
"path": "format",
|
|
6677
|
-
"valueType": "enum",
|
|
6678
|
-
"enumValues": [
|
|
6679
|
-
"date",
|
|
6680
|
-
"time",
|
|
6681
|
-
"datetime"
|
|
6682
|
-
]
|
|
6683
|
-
}
|
|
6684
|
-
],
|
|
6685
|
-
"cover": [
|
|
6686
|
-
{
|
|
6687
|
-
"path": "state",
|
|
6688
|
-
"valueType": "enum",
|
|
6689
|
-
"enumValues": [
|
|
6690
|
-
"open",
|
|
6691
|
-
"opening",
|
|
6692
|
-
"closing",
|
|
6693
|
-
"closed",
|
|
6694
|
-
"stopped"
|
|
6695
|
-
]
|
|
6696
|
-
},
|
|
6697
|
-
{
|
|
6698
|
-
"path": "position",
|
|
6699
|
-
"valueType": "number"
|
|
6700
|
-
},
|
|
6701
|
-
{
|
|
6702
|
-
"path": "tiltPosition",
|
|
6703
|
-
"valueType": "number"
|
|
6704
|
-
}
|
|
6705
|
-
],
|
|
6706
|
-
"day-night": [
|
|
6707
|
-
{
|
|
6708
|
-
"path": "mode",
|
|
6709
|
-
"valueType": "enum",
|
|
6710
|
-
"enumValues": [
|
|
6711
|
-
"auto",
|
|
6712
|
-
"day",
|
|
6713
|
-
"night",
|
|
6714
|
-
"schedule"
|
|
6715
|
-
]
|
|
6716
|
-
},
|
|
6717
|
-
{
|
|
6718
|
-
"path": "sensitivity",
|
|
6719
|
-
"valueType": "number"
|
|
6720
|
-
},
|
|
6721
|
-
{
|
|
6722
|
-
"path": "switchDelaySec",
|
|
6723
|
-
"valueType": "number"
|
|
6724
|
-
}
|
|
6725
|
-
],
|
|
6726
|
-
"device-adoption": [
|
|
6727
|
-
{
|
|
6728
|
-
"path": "lastDiscoveryAt",
|
|
6729
|
-
"valueType": "number"
|
|
6730
|
-
},
|
|
6731
|
-
{
|
|
6732
|
-
"path": "candidateCount",
|
|
6733
|
-
"valueType": "number"
|
|
6734
|
-
},
|
|
6735
|
-
{
|
|
6736
|
-
"path": "adoptedCount",
|
|
6737
|
-
"valueType": "number"
|
|
6738
|
-
},
|
|
6739
|
-
{
|
|
6740
|
-
"path": "lastError",
|
|
6741
|
-
"valueType": "string"
|
|
6742
|
-
}
|
|
6743
|
-
],
|
|
6744
|
-
"device-discovery": [{
|
|
6745
|
-
"path": "lastDiscoveryAt",
|
|
6746
|
-
"valueType": "number"
|
|
6747
|
-
}, {
|
|
6748
|
-
"path": "lastError",
|
|
6749
|
-
"valueType": "string"
|
|
6750
|
-
}],
|
|
6751
|
-
"device-export": [
|
|
6752
|
-
{
|
|
6753
|
-
"path": "linkState",
|
|
6754
|
-
"valueType": "enum",
|
|
6755
|
-
"enumValues": [
|
|
6756
|
-
"unlinked",
|
|
6757
|
-
"linked",
|
|
6758
|
-
"error"
|
|
6759
|
-
]
|
|
6760
|
-
},
|
|
6761
|
-
{
|
|
6762
|
-
"path": "exposedDeviceCount",
|
|
6763
|
-
"valueType": "number"
|
|
6764
|
-
},
|
|
6765
|
-
{
|
|
6766
|
-
"path": "error",
|
|
6767
|
-
"valueType": "string"
|
|
6768
|
-
},
|
|
6769
|
-
{
|
|
6770
|
-
"path": "setup.qr",
|
|
6771
|
-
"valueType": "string"
|
|
6772
|
-
},
|
|
6773
|
-
{
|
|
6774
|
-
"path": "setup.note",
|
|
6775
|
-
"valueType": "string"
|
|
6776
|
-
}
|
|
6777
|
-
],
|
|
6778
|
-
"device-status": [{
|
|
6779
|
-
"path": "online",
|
|
6780
|
-
"valueType": "boolean"
|
|
6781
|
-
}],
|
|
6782
|
-
"dishwasher": [
|
|
6783
|
-
{
|
|
6784
|
-
"path": "availability",
|
|
6785
|
-
"valueType": "enum",
|
|
6786
|
-
"enumValues": [
|
|
6787
|
-
"available",
|
|
6788
|
-
"offline",
|
|
6789
|
-
"description-missing"
|
|
6790
|
-
]
|
|
6791
|
-
},
|
|
6792
|
-
{
|
|
6793
|
-
"path": "state",
|
|
6794
|
-
"valueType": "enum",
|
|
6795
|
-
"enumValues": [
|
|
6796
|
-
"idle",
|
|
6797
|
-
"running",
|
|
6798
|
-
"paused",
|
|
6799
|
-
"finished",
|
|
6800
|
-
"error",
|
|
6801
|
-
"unavailable"
|
|
6802
|
-
]
|
|
6803
|
-
},
|
|
6804
|
-
{
|
|
6805
|
-
"path": "operationState",
|
|
6806
|
-
"valueType": "enum",
|
|
6807
|
-
"enumValues": [
|
|
6808
|
-
"Inactive",
|
|
6809
|
-
"Ready",
|
|
6810
|
-
"DelayedStart",
|
|
6811
|
-
"Run",
|
|
6812
|
-
"Pause",
|
|
6813
|
-
"ActionRequired",
|
|
6814
|
-
"Finished",
|
|
6815
|
-
"Error",
|
|
6816
|
-
"Aborting"
|
|
6817
|
-
]
|
|
6818
|
-
},
|
|
6819
|
-
{
|
|
6820
|
-
"path": "program",
|
|
6821
|
-
"valueType": "string"
|
|
6822
|
-
},
|
|
6823
|
-
{
|
|
6824
|
-
"path": "selectedProgram",
|
|
6825
|
-
"valueType": "string"
|
|
6826
|
-
},
|
|
6827
|
-
{
|
|
6828
|
-
"path": "remainingSeconds",
|
|
6829
|
-
"valueType": "number"
|
|
6830
|
-
},
|
|
6831
|
-
{
|
|
6832
|
-
"path": "delayedStartSeconds",
|
|
6833
|
-
"valueType": "number"
|
|
6834
|
-
},
|
|
6835
|
-
{
|
|
6836
|
-
"path": "progressPercent",
|
|
6837
|
-
"valueType": "number"
|
|
6838
|
-
},
|
|
6839
|
-
{
|
|
6840
|
-
"path": "doorOpen",
|
|
6841
|
-
"valueType": "boolean"
|
|
6842
|
-
},
|
|
6843
|
-
{
|
|
6844
|
-
"path": "doorLocked",
|
|
6845
|
-
"valueType": "boolean"
|
|
6846
|
-
},
|
|
6847
|
-
{
|
|
6848
|
-
"path": "remoteStartAllowed",
|
|
6849
|
-
"valueType": "boolean"
|
|
6850
|
-
},
|
|
6851
|
-
{
|
|
6852
|
-
"path": "remoteControlActive",
|
|
6853
|
-
"valueType": "boolean"
|
|
6854
|
-
},
|
|
6855
|
-
{
|
|
6856
|
-
"path": "localControlActive",
|
|
6857
|
-
"valueType": "boolean"
|
|
6858
|
-
},
|
|
6859
|
-
{
|
|
6860
|
-
"path": "powerOn",
|
|
6861
|
-
"valueType": "boolean"
|
|
6862
|
-
},
|
|
6863
|
-
{
|
|
6864
|
-
"path": "powerState",
|
|
6865
|
-
"valueType": "string"
|
|
6866
|
-
},
|
|
6867
|
-
{
|
|
6868
|
-
"path": "filterCleaningDue",
|
|
6869
|
-
"valueType": "boolean"
|
|
6870
|
-
},
|
|
6871
|
-
{
|
|
6872
|
-
"path": "machineCareDue",
|
|
6873
|
-
"valueType": "boolean"
|
|
6874
|
-
},
|
|
6875
|
-
{
|
|
6876
|
-
"path": "machineCareRemainingRuns",
|
|
6877
|
-
"valueType": "number"
|
|
6878
|
-
},
|
|
6879
|
-
{
|
|
6880
|
-
"path": "halfLoad",
|
|
6881
|
-
"valueType": "boolean"
|
|
6882
|
-
},
|
|
6883
|
-
{
|
|
6884
|
-
"path": "hygienePlus",
|
|
6885
|
-
"valueType": "boolean"
|
|
6886
|
-
},
|
|
6887
|
-
{
|
|
6888
|
-
"path": "extraDry",
|
|
6889
|
-
"valueType": "boolean"
|
|
6890
|
-
},
|
|
6891
|
-
{
|
|
6892
|
-
"path": "intensiveZone",
|
|
6893
|
-
"valueType": "boolean"
|
|
6894
|
-
},
|
|
6895
|
-
{
|
|
6896
|
-
"path": "varioSpeedPlus",
|
|
6897
|
-
"valueType": "boolean"
|
|
6898
|
-
},
|
|
6899
|
-
{
|
|
6900
|
-
"path": "childLock",
|
|
6901
|
-
"valueType": "boolean"
|
|
6902
|
-
},
|
|
6903
|
-
{
|
|
6904
|
-
"path": "errorCode",
|
|
6905
|
-
"valueType": "number"
|
|
6906
|
-
},
|
|
6907
|
-
{
|
|
6908
|
-
"path": "errorLabel",
|
|
6909
|
-
"valueType": "string"
|
|
6910
|
-
}
|
|
6911
|
-
],
|
|
6912
|
-
"doorbell": [{
|
|
6913
|
-
"path": "lastPressedAt",
|
|
6914
|
-
"valueType": "number"
|
|
6915
|
-
}, {
|
|
6916
|
-
"path": "pressCountSinceStart",
|
|
6917
|
-
"valueType": "number"
|
|
6918
|
-
}],
|
|
6919
|
-
"enum-sensor": [{
|
|
6920
|
-
"path": "value",
|
|
6921
|
-
"valueType": "string"
|
|
6922
|
-
}, {
|
|
6923
|
-
"path": "format",
|
|
6924
|
-
"valueType": "enum",
|
|
6925
|
-
"enumValues": [
|
|
6926
|
-
"date",
|
|
6927
|
-
"time",
|
|
6928
|
-
"datetime"
|
|
6929
|
-
]
|
|
6930
|
-
}],
|
|
6931
|
-
"event-emitter": [
|
|
6932
|
-
{
|
|
6933
|
-
"path": "lastEvent.deviceId",
|
|
6934
|
-
"valueType": "number"
|
|
6935
|
-
},
|
|
6936
|
-
{
|
|
6937
|
-
"path": "lastEvent.eventType",
|
|
6938
|
-
"valueType": "string"
|
|
6939
|
-
},
|
|
6940
|
-
{
|
|
6941
|
-
"path": "lastEvent.timestamp",
|
|
6942
|
-
"valueType": "number"
|
|
6943
|
-
},
|
|
6944
|
-
{
|
|
6945
|
-
"path": "lastEvent.seq",
|
|
6946
|
-
"valueType": "number"
|
|
6947
|
-
},
|
|
6948
|
-
{
|
|
6949
|
-
"path": "eventCountSinceStart",
|
|
6950
|
-
"valueType": "number"
|
|
6951
|
-
}
|
|
6952
|
-
],
|
|
6953
|
-
"fan-control": [
|
|
6954
|
-
{
|
|
6955
|
-
"path": "percentage",
|
|
6956
|
-
"valueType": "number"
|
|
6957
|
-
},
|
|
6958
|
-
{
|
|
6959
|
-
"path": "percentageStep",
|
|
6960
|
-
"valueType": "number"
|
|
6961
|
-
},
|
|
6962
|
-
{
|
|
6963
|
-
"path": "preset",
|
|
6964
|
-
"valueType": "string"
|
|
6965
|
-
},
|
|
6966
|
-
{
|
|
6967
|
-
"path": "direction",
|
|
6968
|
-
"valueType": "enum",
|
|
6969
|
-
"enumValues": ["forward", "reverse"]
|
|
6970
|
-
},
|
|
6971
|
-
{
|
|
6972
|
-
"path": "oscillating",
|
|
6973
|
-
"valueType": "boolean"
|
|
6974
|
-
}
|
|
6975
|
-
],
|
|
6976
|
-
"feature-probe": [
|
|
6977
|
-
{
|
|
6978
|
-
"path": "deviceType",
|
|
6979
|
-
"valueType": "string"
|
|
6980
|
-
},
|
|
6981
|
-
{
|
|
6982
|
-
"path": "model",
|
|
6983
|
-
"valueType": "string"
|
|
6984
|
-
},
|
|
6985
|
-
{
|
|
6986
|
-
"path": "channelCount",
|
|
6987
|
-
"valueType": "number"
|
|
6988
|
-
},
|
|
6989
|
-
{
|
|
6990
|
-
"path": "lastProbedAt",
|
|
6991
|
-
"valueType": "number"
|
|
6992
|
-
}
|
|
6993
|
-
],
|
|
6994
|
-
"flood": [{
|
|
6995
|
-
"path": "flooded",
|
|
6996
|
-
"valueType": "boolean"
|
|
6997
|
-
}],
|
|
6998
|
-
"gas": [{
|
|
6999
|
-
"path": "detected",
|
|
7000
|
-
"valueType": "boolean"
|
|
7001
|
-
}],
|
|
7002
|
-
"heating-valve": [{
|
|
7003
|
-
"path": "position",
|
|
7004
|
-
"valueType": "number"
|
|
7005
|
-
}],
|
|
7006
|
-
"humidifier": [
|
|
7007
|
-
{
|
|
7008
|
-
"path": "on",
|
|
7009
|
-
"valueType": "boolean"
|
|
7010
|
-
},
|
|
7011
|
-
{
|
|
7012
|
-
"path": "currentHumidity",
|
|
7013
|
-
"valueType": "number"
|
|
7014
|
-
},
|
|
7015
|
-
{
|
|
7016
|
-
"path": "targetHumidity",
|
|
7017
|
-
"valueType": "number"
|
|
7018
|
-
},
|
|
7019
|
-
{
|
|
7020
|
-
"path": "mode",
|
|
7021
|
-
"valueType": "string"
|
|
7022
|
-
},
|
|
7023
|
-
{
|
|
7024
|
-
"path": "action",
|
|
7025
|
-
"valueType": "string"
|
|
7026
|
-
},
|
|
7027
|
-
{
|
|
7028
|
-
"path": "minHumidity",
|
|
7029
|
-
"valueType": "number"
|
|
7030
|
-
},
|
|
7031
|
-
{
|
|
7032
|
-
"path": "maxHumidity",
|
|
7033
|
-
"valueType": "number"
|
|
7034
|
-
}
|
|
7035
|
-
],
|
|
7036
|
-
"humidity-sensor": [
|
|
7037
|
-
{
|
|
7038
|
-
"path": "percent",
|
|
7039
|
-
"valueType": "number"
|
|
7040
|
-
},
|
|
7041
|
-
{
|
|
7042
|
-
"path": "unit",
|
|
7043
|
-
"valueType": "string"
|
|
7044
|
-
},
|
|
7045
|
-
{
|
|
7046
|
-
"path": "precision",
|
|
7047
|
-
"valueType": "number"
|
|
7048
|
-
}
|
|
7049
|
-
],
|
|
7050
|
-
"image": [{
|
|
7051
|
-
"path": "url",
|
|
7052
|
-
"valueType": "string"
|
|
7053
|
-
}, {
|
|
7054
|
-
"path": "lastUpdated",
|
|
7055
|
-
"valueType": "number"
|
|
7056
|
-
}],
|
|
7057
|
-
"image-settings": [
|
|
7058
|
-
{
|
|
7059
|
-
"path": "brightness",
|
|
7060
|
-
"valueType": "number"
|
|
7061
|
-
},
|
|
7062
|
-
{
|
|
7063
|
-
"path": "contrast",
|
|
7064
|
-
"valueType": "number"
|
|
7065
|
-
},
|
|
7066
|
-
{
|
|
7067
|
-
"path": "saturation",
|
|
7068
|
-
"valueType": "number"
|
|
7069
|
-
},
|
|
7070
|
-
{
|
|
7071
|
-
"path": "sharpness",
|
|
7072
|
-
"valueType": "number"
|
|
7073
|
-
},
|
|
7074
|
-
{
|
|
7075
|
-
"path": "mirror",
|
|
7076
|
-
"valueType": "boolean"
|
|
7077
|
-
},
|
|
7078
|
-
{
|
|
7079
|
-
"path": "flip",
|
|
7080
|
-
"valueType": "boolean"
|
|
7081
|
-
},
|
|
7082
|
-
{
|
|
7083
|
-
"path": "rotate",
|
|
7084
|
-
"valueType": "enum",
|
|
7085
|
-
"enumValues": [
|
|
7086
|
-
"0",
|
|
7087
|
-
"90",
|
|
7088
|
-
"180",
|
|
7089
|
-
"270"
|
|
7090
|
-
]
|
|
7091
|
-
},
|
|
7092
|
-
{
|
|
7093
|
-
"path": "whiteBalance",
|
|
7094
|
-
"valueType": "enum",
|
|
7095
|
-
"enumValues": ["auto", "manual"]
|
|
7096
|
-
},
|
|
7097
|
-
{
|
|
7098
|
-
"path": "warmth",
|
|
7099
|
-
"valueType": "number"
|
|
7100
|
-
},
|
|
7101
|
-
{
|
|
7102
|
-
"path": "exposureMode",
|
|
7103
|
-
"valueType": "enum",
|
|
7104
|
-
"enumValues": ["auto", "manual"]
|
|
7105
|
-
},
|
|
7106
|
-
{
|
|
7107
|
-
"path": "backlightMode",
|
|
7108
|
-
"valueType": "enum",
|
|
7109
|
-
"enumValues": [
|
|
7110
|
-
"off",
|
|
7111
|
-
"blc",
|
|
7112
|
-
"wdr",
|
|
7113
|
-
"hlc"
|
|
7114
|
-
]
|
|
7115
|
-
}
|
|
7116
|
-
],
|
|
7117
|
-
"intercom": [
|
|
7118
|
-
{
|
|
7119
|
-
"path": "talking",
|
|
7120
|
-
"valueType": "boolean"
|
|
7121
|
-
},
|
|
7122
|
-
{
|
|
7123
|
-
"path": "lastSessionAt",
|
|
7124
|
-
"valueType": "number"
|
|
7125
|
-
},
|
|
7126
|
-
{
|
|
7127
|
-
"path": "ability.sampleRate",
|
|
7128
|
-
"valueType": "number"
|
|
7129
|
-
},
|
|
7130
|
-
{
|
|
7131
|
-
"path": "ability.duplex",
|
|
7132
|
-
"valueType": "enum",
|
|
7133
|
-
"enumValues": ["half", "full"]
|
|
7134
|
-
},
|
|
7135
|
-
{
|
|
7136
|
-
"path": "ability.maxBacklogMs",
|
|
7137
|
-
"valueType": "number"
|
|
7138
|
-
}
|
|
7139
|
-
],
|
|
7140
|
-
"lawn-mower-control": [
|
|
7141
|
-
{
|
|
7142
|
-
"path": "activity",
|
|
7143
|
-
"valueType": "enum",
|
|
7144
|
-
"enumValues": [
|
|
7145
|
-
"idle",
|
|
7146
|
-
"mowing",
|
|
7147
|
-
"paused",
|
|
7148
|
-
"docked",
|
|
7149
|
-
"error"
|
|
7150
|
-
]
|
|
7151
|
-
},
|
|
7152
|
-
{
|
|
7153
|
-
"path": "batteryLevel",
|
|
7154
|
-
"valueType": "number"
|
|
7155
|
-
},
|
|
7156
|
-
{
|
|
7157
|
-
"path": "progressPercent",
|
|
7158
|
-
"valueType": "number"
|
|
7159
|
-
},
|
|
7160
|
-
{
|
|
7161
|
-
"path": "currentCode",
|
|
7162
|
-
"valueType": "number"
|
|
7163
|
-
},
|
|
7164
|
-
{
|
|
7165
|
-
"path": "currentCodeLabel",
|
|
7166
|
-
"valueType": "string"
|
|
7167
|
-
},
|
|
7168
|
-
{
|
|
7169
|
-
"path": "severity",
|
|
7170
|
-
"valueType": "enum",
|
|
7171
|
-
"enumValues": [
|
|
7172
|
-
"info",
|
|
7173
|
-
"warning",
|
|
7174
|
-
"error"
|
|
7175
|
-
]
|
|
7176
|
-
}
|
|
7177
|
-
],
|
|
7178
|
-
"lock-control": [{
|
|
7179
|
-
"path": "state",
|
|
7180
|
-
"valueType": "enum",
|
|
7181
|
-
"enumValues": [
|
|
7182
|
-
"locked",
|
|
7183
|
-
"unlocked",
|
|
7184
|
-
"locking",
|
|
7185
|
-
"unlocking",
|
|
7186
|
-
"jammed"
|
|
7187
|
-
]
|
|
7188
|
-
}],
|
|
7189
|
-
"media-player": [
|
|
7190
|
-
{
|
|
7191
|
-
"path": "state",
|
|
7192
|
-
"valueType": "enum",
|
|
7193
|
-
"enumValues": [
|
|
7194
|
-
"off",
|
|
7195
|
-
"on",
|
|
7196
|
-
"idle",
|
|
7197
|
-
"playing",
|
|
7198
|
-
"paused",
|
|
7199
|
-
"buffering",
|
|
7200
|
-
"standby"
|
|
7201
|
-
]
|
|
7202
|
-
},
|
|
7203
|
-
{
|
|
7204
|
-
"path": "volumeLevel",
|
|
7205
|
-
"valueType": "number"
|
|
7206
|
-
},
|
|
7207
|
-
{
|
|
7208
|
-
"path": "isMuted",
|
|
7209
|
-
"valueType": "boolean"
|
|
7210
|
-
},
|
|
7211
|
-
{
|
|
7212
|
-
"path": "source",
|
|
7213
|
-
"valueType": "string"
|
|
7214
|
-
},
|
|
7215
|
-
{
|
|
7216
|
-
"path": "currentMedia.type",
|
|
7217
|
-
"valueType": "string"
|
|
7218
|
-
},
|
|
7219
|
-
{
|
|
7220
|
-
"path": "currentMedia.title",
|
|
7221
|
-
"valueType": "string"
|
|
7222
|
-
},
|
|
7223
|
-
{
|
|
7224
|
-
"path": "currentMedia.artist",
|
|
7225
|
-
"valueType": "string"
|
|
7226
|
-
},
|
|
7227
|
-
{
|
|
7228
|
-
"path": "currentMedia.album",
|
|
7229
|
-
"valueType": "string"
|
|
7230
|
-
},
|
|
7231
|
-
{
|
|
7232
|
-
"path": "currentMedia.imageUrl",
|
|
7233
|
-
"valueType": "string"
|
|
7234
|
-
},
|
|
7235
|
-
{
|
|
7236
|
-
"path": "positionMs",
|
|
7237
|
-
"valueType": "number"
|
|
7238
|
-
},
|
|
7239
|
-
{
|
|
7240
|
-
"path": "durationMs",
|
|
7241
|
-
"valueType": "number"
|
|
7242
|
-
},
|
|
7243
|
-
{
|
|
7244
|
-
"path": "shuffle",
|
|
7245
|
-
"valueType": "boolean"
|
|
7246
|
-
},
|
|
7247
|
-
{
|
|
7248
|
-
"path": "repeat",
|
|
7249
|
-
"valueType": "enum",
|
|
7250
|
-
"enumValues": [
|
|
7251
|
-
"off",
|
|
7252
|
-
"all",
|
|
7253
|
-
"one"
|
|
7254
|
-
]
|
|
7255
|
-
}
|
|
7256
|
-
],
|
|
7257
|
-
"motion": [
|
|
7258
|
-
{
|
|
7259
|
-
"path": "detected",
|
|
7260
|
-
"valueType": "boolean"
|
|
7261
|
-
},
|
|
7262
|
-
{
|
|
7263
|
-
"path": "lastDetectedAt",
|
|
7264
|
-
"valueType": "number"
|
|
7265
|
-
},
|
|
7266
|
-
{
|
|
7267
|
-
"path": "autoClearAfterMs",
|
|
7268
|
-
"valueType": "number"
|
|
7269
|
-
}
|
|
7270
|
-
],
|
|
7271
|
-
"motion-trigger": [{
|
|
7272
|
-
"path": "enabled",
|
|
7273
|
-
"valueType": "boolean"
|
|
7274
|
-
}],
|
|
7275
|
-
"motion-zones": [{
|
|
7276
|
-
"path": "enabled",
|
|
7277
|
-
"valueType": "boolean"
|
|
7278
|
-
}, {
|
|
7279
|
-
"path": "sensitivity",
|
|
7280
|
-
"valueType": "number"
|
|
7281
|
-
}],
|
|
7282
|
-
"mqtt-broker": [{
|
|
7283
|
-
"path": "brokerCount",
|
|
7284
|
-
"valueType": "number"
|
|
7285
|
-
}, {
|
|
7286
|
-
"path": "embeddedRunning",
|
|
7287
|
-
"valueType": "boolean"
|
|
7288
|
-
}],
|
|
7289
|
-
"native-object-detection": [{
|
|
7290
|
-
"path": "enabled",
|
|
7291
|
-
"valueType": "boolean"
|
|
7292
|
-
}],
|
|
7293
|
-
"navigation": [
|
|
7294
|
-
{
|
|
7295
|
-
"path": "mode",
|
|
7296
|
-
"valueType": "enum",
|
|
7297
|
-
"enumValues": [
|
|
7298
|
-
"idle",
|
|
7299
|
-
"cleaning",
|
|
7300
|
-
"spot",
|
|
7301
|
-
"following",
|
|
7302
|
-
"goto",
|
|
7303
|
-
"returning",
|
|
7304
|
-
"paused",
|
|
7305
|
-
"unknown"
|
|
7306
|
-
]
|
|
7307
|
-
},
|
|
7308
|
-
{
|
|
7309
|
-
"path": "following",
|
|
7310
|
-
"valueType": "boolean"
|
|
7311
|
-
},
|
|
7312
|
-
{
|
|
7313
|
-
"path": "flash",
|
|
7314
|
-
"valueType": "boolean"
|
|
7315
|
-
},
|
|
7316
|
-
{
|
|
7317
|
-
"path": "lightMode",
|
|
7318
|
-
"valueType": "enum",
|
|
7319
|
-
"enumValues": ["auto", "manual"]
|
|
7320
|
-
},
|
|
7321
|
-
{
|
|
7322
|
-
"path": "lightLevel",
|
|
7323
|
-
"valueType": "number"
|
|
7324
|
-
}
|
|
7325
|
-
],
|
|
7326
|
-
"network-link": [
|
|
7327
|
-
{
|
|
7328
|
-
"path": "type",
|
|
7329
|
-
"valueType": "enum",
|
|
7330
|
-
"enumValues": [
|
|
7331
|
-
"wifi",
|
|
7332
|
-
"ethernet",
|
|
7333
|
-
"cellular",
|
|
7334
|
-
"unknown"
|
|
7335
|
-
]
|
|
7336
|
-
},
|
|
7337
|
-
{
|
|
7338
|
-
"path": "signalPercent",
|
|
7339
|
-
"valueType": "number"
|
|
7340
|
-
},
|
|
7341
|
-
{
|
|
7342
|
-
"path": "rssiDbm",
|
|
7343
|
-
"valueType": "number"
|
|
7344
|
-
},
|
|
7345
|
-
{
|
|
7346
|
-
"path": "ssid",
|
|
7347
|
-
"valueType": "string"
|
|
7348
|
-
},
|
|
7349
|
-
{
|
|
7350
|
-
"path": "lastUpdated",
|
|
7351
|
-
"valueType": "number"
|
|
7352
|
-
}
|
|
7353
|
-
],
|
|
7354
|
-
"notifier": [
|
|
7355
|
-
{
|
|
7356
|
-
"path": "lastSentAt",
|
|
7357
|
-
"valueType": "number"
|
|
7358
|
-
},
|
|
7359
|
-
{
|
|
7360
|
-
"path": "lastError",
|
|
7361
|
-
"valueType": "string"
|
|
7362
|
-
},
|
|
7363
|
-
{
|
|
7364
|
-
"path": "queueDepth",
|
|
7365
|
-
"valueType": "number"
|
|
7366
|
-
},
|
|
7367
|
-
{
|
|
7368
|
-
"path": "supports.image",
|
|
7369
|
-
"valueType": "boolean"
|
|
7370
|
-
},
|
|
7371
|
-
{
|
|
7372
|
-
"path": "supports.priority",
|
|
7373
|
-
"valueType": "boolean"
|
|
7374
|
-
},
|
|
7375
|
-
{
|
|
7376
|
-
"path": "supports.data",
|
|
7377
|
-
"valueType": "boolean"
|
|
7378
|
-
},
|
|
7379
|
-
{
|
|
7380
|
-
"path": "supports.actions",
|
|
7381
|
-
"valueType": "boolean"
|
|
7382
|
-
},
|
|
7383
|
-
{
|
|
7384
|
-
"path": "supports.recipients",
|
|
7385
|
-
"valueType": "boolean"
|
|
7386
|
-
}
|
|
7387
|
-
],
|
|
7388
|
-
"numeric-sensor": [
|
|
7389
|
-
{
|
|
7390
|
-
"path": "value",
|
|
7391
|
-
"valueType": "number"
|
|
7392
|
-
},
|
|
7393
|
-
{
|
|
7394
|
-
"path": "unit",
|
|
7395
|
-
"valueType": "string"
|
|
7396
|
-
},
|
|
7397
|
-
{
|
|
7398
|
-
"path": "precision",
|
|
7399
|
-
"valueType": "number"
|
|
7400
|
-
}
|
|
7401
|
-
],
|
|
7402
|
-
"pet-feeder": [
|
|
7403
|
-
{
|
|
7404
|
-
"path": "foodLevel",
|
|
7405
|
-
"valueType": "number"
|
|
7406
|
-
},
|
|
7407
|
-
{
|
|
7408
|
-
"path": "food1",
|
|
7409
|
-
"valueType": "number"
|
|
7410
|
-
},
|
|
7411
|
-
{
|
|
7412
|
-
"path": "food2",
|
|
7413
|
-
"valueType": "number"
|
|
7414
|
-
},
|
|
7415
|
-
{
|
|
7416
|
-
"path": "lowFood",
|
|
7417
|
-
"valueType": "boolean"
|
|
7418
|
-
},
|
|
7419
|
-
{
|
|
7420
|
-
"path": "batteryPower",
|
|
7421
|
-
"valueType": "number"
|
|
7422
|
-
},
|
|
7423
|
-
{
|
|
7424
|
-
"path": "desiccantLeftDays",
|
|
7425
|
-
"valueType": "number"
|
|
7426
|
-
},
|
|
7427
|
-
{
|
|
7428
|
-
"path": "feeding",
|
|
7429
|
-
"valueType": "boolean"
|
|
7430
|
-
},
|
|
7431
|
-
{
|
|
7432
|
-
"path": "status",
|
|
7433
|
-
"valueType": "enum",
|
|
7434
|
-
"enumValues": [
|
|
7435
|
-
"normal",
|
|
7436
|
-
"offline",
|
|
7437
|
-
"on_batteries"
|
|
7438
|
-
]
|
|
7439
|
-
},
|
|
7440
|
-
{
|
|
7441
|
-
"path": "error",
|
|
7442
|
-
"valueType": "string"
|
|
7443
|
-
},
|
|
7444
|
-
{
|
|
7445
|
-
"path": "errorCode",
|
|
7446
|
-
"valueType": "number"
|
|
7447
|
-
},
|
|
7448
|
-
{
|
|
7449
|
-
"path": "isDualHopper",
|
|
7450
|
-
"valueType": "boolean"
|
|
7451
|
-
},
|
|
7452
|
-
{
|
|
7453
|
-
"path": "childLock",
|
|
7454
|
-
"valueType": "boolean"
|
|
7455
|
-
},
|
|
7456
|
-
{
|
|
7457
|
-
"path": "indicatorLight",
|
|
7458
|
-
"valueType": "boolean"
|
|
7459
|
-
},
|
|
7460
|
-
{
|
|
7461
|
-
"path": "feedSound",
|
|
7462
|
-
"valueType": "boolean"
|
|
7463
|
-
},
|
|
7464
|
-
{
|
|
7465
|
-
"path": "volume",
|
|
7466
|
-
"valueType": "number"
|
|
7467
|
-
}
|
|
7468
|
-
],
|
|
7469
|
-
"power-meter": [
|
|
7470
|
-
{
|
|
7471
|
-
"path": "watts",
|
|
7472
|
-
"valueType": "number"
|
|
7473
|
-
},
|
|
7474
|
-
{
|
|
7475
|
-
"path": "kwhTotal",
|
|
7476
|
-
"valueType": "number"
|
|
7477
|
-
},
|
|
7478
|
-
{
|
|
7479
|
-
"path": "volts",
|
|
7480
|
-
"valueType": "number"
|
|
7481
|
-
},
|
|
7482
|
-
{
|
|
7483
|
-
"path": "amps",
|
|
7484
|
-
"valueType": "number"
|
|
7485
|
-
},
|
|
7486
|
-
{
|
|
7487
|
-
"path": "va",
|
|
7488
|
-
"valueType": "number"
|
|
7489
|
-
},
|
|
7490
|
-
{
|
|
7491
|
-
"path": "powerFactor",
|
|
7492
|
-
"valueType": "number"
|
|
7493
|
-
},
|
|
7494
|
-
{
|
|
7495
|
-
"path": "unit",
|
|
7496
|
-
"valueType": "string"
|
|
7497
|
-
},
|
|
7498
|
-
{
|
|
7499
|
-
"path": "precision",
|
|
7500
|
-
"valueType": "number"
|
|
7501
|
-
}
|
|
7502
|
-
],
|
|
7503
|
-
"presence": [
|
|
7504
|
-
{
|
|
7505
|
-
"path": "state",
|
|
7506
|
-
"valueType": "string"
|
|
7507
|
-
},
|
|
7508
|
-
{
|
|
7509
|
-
"path": "location",
|
|
7510
|
-
"valueType": "string"
|
|
7511
|
-
},
|
|
7512
|
-
{
|
|
7513
|
-
"path": "gps.latitude",
|
|
7514
|
-
"valueType": "number"
|
|
7515
|
-
},
|
|
7516
|
-
{
|
|
7517
|
-
"path": "gps.longitude",
|
|
7518
|
-
"valueType": "number"
|
|
7519
|
-
},
|
|
7520
|
-
{
|
|
7521
|
-
"path": "gps.accuracyMeters",
|
|
7522
|
-
"valueType": "number"
|
|
7523
|
-
},
|
|
7524
|
-
{
|
|
7525
|
-
"path": "batteryPercent",
|
|
7526
|
-
"valueType": "number"
|
|
7527
|
-
}
|
|
7528
|
-
],
|
|
7529
|
-
"pressure-sensor": [
|
|
7530
|
-
{
|
|
7531
|
-
"path": "hpa",
|
|
7532
|
-
"valueType": "number"
|
|
7533
|
-
},
|
|
7534
|
-
{
|
|
7535
|
-
"path": "unit",
|
|
7536
|
-
"valueType": "string"
|
|
7537
|
-
},
|
|
7538
|
-
{
|
|
7539
|
-
"path": "precision",
|
|
7540
|
-
"valueType": "number"
|
|
7541
|
-
}
|
|
7542
|
-
],
|
|
7543
|
-
"privacy-mask": [{
|
|
7544
|
-
"path": "enabled",
|
|
7545
|
-
"valueType": "boolean"
|
|
7546
|
-
}, {
|
|
7547
|
-
"path": "audioEnabled",
|
|
7548
|
-
"valueType": "boolean"
|
|
7549
|
-
}],
|
|
7550
|
-
"ptz": [
|
|
7551
|
-
{
|
|
7552
|
-
"path": "pan",
|
|
7553
|
-
"valueType": "number"
|
|
7554
|
-
},
|
|
7555
|
-
{
|
|
7556
|
-
"path": "tilt",
|
|
7557
|
-
"valueType": "number"
|
|
7558
|
-
},
|
|
7559
|
-
{
|
|
7560
|
-
"path": "zoom",
|
|
7561
|
-
"valueType": "number"
|
|
7562
|
-
},
|
|
7563
|
-
{
|
|
7564
|
-
"path": "autofocus",
|
|
7565
|
-
"valueType": "boolean"
|
|
7566
|
-
}
|
|
7567
|
-
],
|
|
7568
|
-
"ptz-autotrack": [
|
|
7569
|
-
{
|
|
7570
|
-
"path": "enabled",
|
|
7571
|
-
"valueType": "boolean"
|
|
7572
|
-
},
|
|
7573
|
-
{
|
|
7574
|
-
"path": "currentSettings.targetType",
|
|
7575
|
-
"valueType": "string"
|
|
7576
|
-
},
|
|
7577
|
-
{
|
|
7578
|
-
"path": "currentSettings.stopDelaySeconds",
|
|
7579
|
-
"valueType": "number"
|
|
7580
|
-
},
|
|
7581
|
-
{
|
|
7582
|
-
"path": "currentSettings.disappearDelaySeconds",
|
|
7583
|
-
"valueType": "number"
|
|
7584
|
-
}
|
|
7585
|
-
],
|
|
7586
|
-
"recording-archive": [
|
|
7587
|
-
{
|
|
7588
|
-
"path": "deviceId",
|
|
7589
|
-
"valueType": "number"
|
|
7590
|
-
},
|
|
7591
|
-
{
|
|
7592
|
-
"path": "enabled",
|
|
7593
|
-
"valueType": "boolean"
|
|
7594
|
-
},
|
|
7595
|
-
{
|
|
7596
|
-
"path": "activeMode",
|
|
7597
|
-
"valueType": "enum",
|
|
7598
|
-
"enumValues": [
|
|
7599
|
-
"off",
|
|
7600
|
-
"events",
|
|
7601
|
-
"continuous",
|
|
7602
|
-
"on-device-decision"
|
|
7603
|
-
]
|
|
7604
|
-
},
|
|
7605
|
-
{
|
|
7606
|
-
"path": "nodeId",
|
|
7607
|
-
"valueType": "string"
|
|
7608
|
-
},
|
|
7609
|
-
{
|
|
7610
|
-
"path": "storageBytes",
|
|
7611
|
-
"valueType": "number"
|
|
7612
|
-
}
|
|
7613
|
-
],
|
|
7614
|
-
"recording-onboard": [
|
|
7615
|
-
{
|
|
7616
|
-
"path": "primaryTrackId",
|
|
7617
|
-
"valueType": "string"
|
|
7618
|
-
},
|
|
7619
|
-
{
|
|
7620
|
-
"path": "enabled",
|
|
7621
|
-
"valueType": "boolean"
|
|
7622
|
-
},
|
|
7623
|
-
{
|
|
7624
|
-
"path": "overwriteWhenFull",
|
|
7625
|
-
"valueType": "boolean"
|
|
7626
|
-
},
|
|
7627
|
-
{
|
|
7628
|
-
"path": "preRecordSec",
|
|
7629
|
-
"valueType": "number"
|
|
7630
|
-
},
|
|
7631
|
-
{
|
|
7632
|
-
"path": "postRecordSec",
|
|
7633
|
-
"valueType": "number"
|
|
7634
|
-
},
|
|
7635
|
-
{
|
|
7636
|
-
"path": "segmentMinutes",
|
|
7637
|
-
"valueType": "number"
|
|
7638
|
-
},
|
|
7639
|
-
{
|
|
7640
|
-
"path": "unreadableWindows",
|
|
7641
|
-
"valueType": "number"
|
|
7642
|
-
},
|
|
7643
|
-
{
|
|
7644
|
-
"path": "recordingToNowhere",
|
|
7645
|
-
"valueType": "boolean"
|
|
7646
|
-
}
|
|
7647
|
-
],
|
|
7648
|
-
"recording-signal": [{
|
|
7649
|
-
"path": "active",
|
|
7650
|
-
"valueType": "boolean"
|
|
7651
|
-
}, {
|
|
7652
|
-
"path": "reason",
|
|
7653
|
-
"valueType": "string"
|
|
7654
|
-
}],
|
|
7655
|
-
"running-state": [
|
|
7656
|
-
{
|
|
7657
|
-
"path": "running",
|
|
7658
|
-
"valueType": "boolean"
|
|
7659
|
-
},
|
|
7660
|
-
{
|
|
7661
|
-
"path": "since",
|
|
7662
|
-
"valueType": "number"
|
|
7663
|
-
},
|
|
7664
|
-
{
|
|
7665
|
-
"path": "source",
|
|
7666
|
-
"valueType": "enum",
|
|
7667
|
-
"enumValues": ["native", "assigned"]
|
|
7668
|
-
},
|
|
7669
|
-
{
|
|
7670
|
-
"path": "phase",
|
|
7671
|
-
"valueType": "string"
|
|
7672
|
-
}
|
|
7673
|
-
],
|
|
7674
|
-
"script-runner": [
|
|
7675
|
-
{
|
|
7676
|
-
"path": "isRunning",
|
|
7677
|
-
"valueType": "boolean"
|
|
7678
|
-
},
|
|
7679
|
-
{
|
|
7680
|
-
"path": "lastRunAt",
|
|
7681
|
-
"valueType": "number"
|
|
7682
|
-
},
|
|
7683
|
-
{
|
|
7684
|
-
"path": "lastRunSuccess",
|
|
7685
|
-
"valueType": "boolean"
|
|
7686
|
-
},
|
|
7687
|
-
{
|
|
7688
|
-
"path": "lastError",
|
|
7689
|
-
"valueType": "string"
|
|
7690
|
-
}
|
|
7691
|
-
],
|
|
7692
|
-
"smoke": [{
|
|
7693
|
-
"path": "detected",
|
|
7694
|
-
"valueType": "boolean"
|
|
7695
|
-
}],
|
|
7696
|
-
"snapshot": [
|
|
7697
|
-
{
|
|
7698
|
-
"path": "lastCapturedAt",
|
|
7699
|
-
"valueType": "number"
|
|
7700
|
-
},
|
|
7701
|
-
{
|
|
7702
|
-
"path": "cacheAgeMs",
|
|
7703
|
-
"valueType": "number"
|
|
7704
|
-
},
|
|
7705
|
-
{
|
|
7706
|
-
"path": "lastBytes",
|
|
7707
|
-
"valueType": "number"
|
|
7708
|
-
},
|
|
7709
|
-
{
|
|
7710
|
-
"path": "lastStreamId",
|
|
7711
|
-
"valueType": "string"
|
|
7712
|
-
}
|
|
7713
|
-
],
|
|
7714
|
-
"stream-params": [
|
|
7715
|
-
{
|
|
7716
|
-
"path": "main.width",
|
|
7717
|
-
"valueType": "number"
|
|
7718
|
-
},
|
|
7719
|
-
{
|
|
7720
|
-
"path": "main.height",
|
|
7721
|
-
"valueType": "number"
|
|
7722
|
-
},
|
|
7723
|
-
{
|
|
7724
|
-
"path": "main.codec",
|
|
7725
|
-
"valueType": "enum",
|
|
7726
|
-
"enumValues": ["h264", "h265"]
|
|
7727
|
-
},
|
|
7728
|
-
{
|
|
7729
|
-
"path": "main.framerate",
|
|
7730
|
-
"valueType": "number"
|
|
7731
|
-
},
|
|
7732
|
-
{
|
|
7733
|
-
"path": "main.bitrate",
|
|
7734
|
-
"valueType": "number"
|
|
7735
|
-
},
|
|
7736
|
-
{
|
|
7737
|
-
"path": "main.bitrateMode",
|
|
7738
|
-
"valueType": "enum",
|
|
7739
|
-
"enumValues": ["vbr", "cbr"]
|
|
7740
|
-
},
|
|
7741
|
-
{
|
|
7742
|
-
"path": "main.encoderProfile",
|
|
7743
|
-
"valueType": "enum",
|
|
7744
|
-
"enumValues": [
|
|
7745
|
-
"high",
|
|
7746
|
-
"main",
|
|
7747
|
-
"baseline"
|
|
7748
|
-
]
|
|
7749
|
-
},
|
|
7750
|
-
{
|
|
7751
|
-
"path": "main.gop",
|
|
7752
|
-
"valueType": "number"
|
|
7753
|
-
},
|
|
7754
|
-
{
|
|
7755
|
-
"path": "main.audio",
|
|
7756
|
-
"valueType": "boolean"
|
|
7757
|
-
},
|
|
7758
|
-
{
|
|
7759
|
-
"path": "sub.width",
|
|
7760
|
-
"valueType": "number"
|
|
7761
|
-
},
|
|
7762
|
-
{
|
|
7763
|
-
"path": "sub.height",
|
|
7764
|
-
"valueType": "number"
|
|
7765
|
-
},
|
|
7766
|
-
{
|
|
7767
|
-
"path": "sub.codec",
|
|
7768
|
-
"valueType": "enum",
|
|
7769
|
-
"enumValues": ["h264", "h265"]
|
|
7770
|
-
},
|
|
7771
|
-
{
|
|
7772
|
-
"path": "sub.framerate",
|
|
7773
|
-
"valueType": "number"
|
|
7774
|
-
},
|
|
7775
|
-
{
|
|
7776
|
-
"path": "sub.bitrate",
|
|
7777
|
-
"valueType": "number"
|
|
7778
|
-
},
|
|
7779
|
-
{
|
|
7780
|
-
"path": "sub.bitrateMode",
|
|
7781
|
-
"valueType": "enum",
|
|
7782
|
-
"enumValues": ["vbr", "cbr"]
|
|
7783
|
-
},
|
|
7784
|
-
{
|
|
7785
|
-
"path": "sub.encoderProfile",
|
|
7786
|
-
"valueType": "enum",
|
|
7787
|
-
"enumValues": [
|
|
7788
|
-
"high",
|
|
7789
|
-
"main",
|
|
7790
|
-
"baseline"
|
|
7791
|
-
]
|
|
7792
|
-
},
|
|
7793
|
-
{
|
|
7794
|
-
"path": "sub.gop",
|
|
7795
|
-
"valueType": "number"
|
|
7796
|
-
},
|
|
7797
|
-
{
|
|
7798
|
-
"path": "sub.audio",
|
|
7799
|
-
"valueType": "boolean"
|
|
7800
|
-
},
|
|
7801
|
-
{
|
|
7802
|
-
"path": "ext.width",
|
|
7803
|
-
"valueType": "number"
|
|
7804
|
-
},
|
|
7805
|
-
{
|
|
7806
|
-
"path": "ext.height",
|
|
7807
|
-
"valueType": "number"
|
|
7808
|
-
},
|
|
7809
|
-
{
|
|
7810
|
-
"path": "ext.codec",
|
|
7811
|
-
"valueType": "enum",
|
|
7812
|
-
"enumValues": ["h264", "h265"]
|
|
7813
|
-
},
|
|
7814
|
-
{
|
|
7815
|
-
"path": "ext.framerate",
|
|
7816
|
-
"valueType": "number"
|
|
7817
|
-
},
|
|
7818
|
-
{
|
|
7819
|
-
"path": "ext.bitrate",
|
|
7820
|
-
"valueType": "number"
|
|
7821
|
-
},
|
|
7822
|
-
{
|
|
7823
|
-
"path": "ext.bitrateMode",
|
|
7824
|
-
"valueType": "enum",
|
|
7825
|
-
"enumValues": ["vbr", "cbr"]
|
|
7826
|
-
},
|
|
7827
|
-
{
|
|
7828
|
-
"path": "ext.encoderProfile",
|
|
7829
|
-
"valueType": "enum",
|
|
7830
|
-
"enumValues": [
|
|
7831
|
-
"high",
|
|
7832
|
-
"main",
|
|
7833
|
-
"baseline"
|
|
7834
|
-
]
|
|
7835
|
-
},
|
|
7836
|
-
{
|
|
7837
|
-
"path": "ext.gop",
|
|
7838
|
-
"valueType": "number"
|
|
7839
|
-
},
|
|
7840
|
-
{
|
|
7841
|
-
"path": "ext.audio",
|
|
7842
|
-
"valueType": "boolean"
|
|
7843
|
-
}
|
|
7844
|
-
],
|
|
7845
|
-
"switch": [{
|
|
7846
|
-
"path": "on",
|
|
7847
|
-
"valueType": "boolean"
|
|
7848
|
-
}],
|
|
7849
|
-
"tamper": [{
|
|
7850
|
-
"path": "tampered",
|
|
7851
|
-
"valueType": "boolean"
|
|
7852
|
-
}],
|
|
7853
|
-
"temperature-sensor": [
|
|
7854
|
-
{
|
|
7855
|
-
"path": "celsius",
|
|
7856
|
-
"valueType": "number"
|
|
7857
|
-
},
|
|
7858
|
-
{
|
|
7859
|
-
"path": "unit",
|
|
7860
|
-
"valueType": "string"
|
|
7861
|
-
},
|
|
7862
|
-
{
|
|
7863
|
-
"path": "precision",
|
|
7864
|
-
"valueType": "number"
|
|
7865
|
-
}
|
|
7866
|
-
],
|
|
7867
|
-
"update": [
|
|
7868
|
-
{
|
|
7869
|
-
"path": "currentVersion",
|
|
7870
|
-
"valueType": "string"
|
|
7871
|
-
},
|
|
7872
|
-
{
|
|
7873
|
-
"path": "availableVersion",
|
|
7874
|
-
"valueType": "string"
|
|
7875
|
-
},
|
|
7876
|
-
{
|
|
7877
|
-
"path": "updatable",
|
|
7878
|
-
"valueType": "boolean"
|
|
7879
|
-
},
|
|
7880
|
-
{
|
|
7881
|
-
"path": "state",
|
|
7882
|
-
"valueType": "string"
|
|
7883
|
-
},
|
|
7884
|
-
{
|
|
7885
|
-
"path": "inProgress",
|
|
7886
|
-
"valueType": "boolean"
|
|
7887
|
-
}
|
|
7888
|
-
],
|
|
7889
|
-
"vacuum-control": [
|
|
7890
|
-
{
|
|
7891
|
-
"path": "state",
|
|
7892
|
-
"valueType": "enum",
|
|
7893
|
-
"enumValues": [
|
|
7894
|
-
"idle",
|
|
7895
|
-
"cleaning",
|
|
7896
|
-
"paused",
|
|
7897
|
-
"returning",
|
|
7898
|
-
"docked",
|
|
7899
|
-
"drying",
|
|
7900
|
-
"error"
|
|
7901
|
-
]
|
|
7902
|
-
},
|
|
7903
|
-
{
|
|
7904
|
-
"path": "batteryLevel",
|
|
7905
|
-
"valueType": "number"
|
|
7906
|
-
},
|
|
7907
|
-
{
|
|
7908
|
-
"path": "fanSpeed",
|
|
7909
|
-
"valueType": "string"
|
|
7910
|
-
},
|
|
7911
|
-
{
|
|
7912
|
-
"path": "progressPercent",
|
|
7913
|
-
"valueType": "number"
|
|
7914
|
-
},
|
|
7915
|
-
{
|
|
7916
|
-
"path": "errorCode",
|
|
7917
|
-
"valueType": "number"
|
|
7918
|
-
},
|
|
7919
|
-
{
|
|
7920
|
-
"path": "errorLabel",
|
|
7921
|
-
"valueType": "string"
|
|
7922
|
-
}
|
|
7923
|
-
],
|
|
7924
|
-
"valve": [{
|
|
7925
|
-
"path": "state",
|
|
7926
|
-
"valueType": "enum",
|
|
7927
|
-
"enumValues": [
|
|
7928
|
-
"open",
|
|
7929
|
-
"opening",
|
|
7930
|
-
"closing",
|
|
7931
|
-
"closed",
|
|
7932
|
-
"stopped"
|
|
7933
|
-
]
|
|
7934
|
-
}, {
|
|
7935
|
-
"path": "position",
|
|
7936
|
-
"valueType": "number"
|
|
7937
|
-
}],
|
|
7938
|
-
"vibration": [{
|
|
7939
|
-
"path": "detected",
|
|
7940
|
-
"valueType": "boolean"
|
|
7941
|
-
}],
|
|
7942
|
-
"water-heater": [
|
|
7943
|
-
{
|
|
7944
|
-
"path": "currentTemp",
|
|
7945
|
-
"valueType": "number"
|
|
7946
|
-
},
|
|
7947
|
-
{
|
|
7948
|
-
"path": "targetTemp",
|
|
7949
|
-
"valueType": "number"
|
|
7950
|
-
},
|
|
7951
|
-
{
|
|
7952
|
-
"path": "operationMode",
|
|
7953
|
-
"valueType": "string"
|
|
7954
|
-
},
|
|
7955
|
-
{
|
|
7956
|
-
"path": "away",
|
|
7957
|
-
"valueType": "boolean"
|
|
7958
|
-
},
|
|
7959
|
-
{
|
|
7960
|
-
"path": "minTemp",
|
|
7961
|
-
"valueType": "number"
|
|
7962
|
-
},
|
|
7963
|
-
{
|
|
7964
|
-
"path": "maxTemp",
|
|
7965
|
-
"valueType": "number"
|
|
7966
|
-
}
|
|
7967
|
-
],
|
|
7968
|
-
"weather": [
|
|
7969
|
-
{
|
|
7970
|
-
"path": "condition",
|
|
7971
|
-
"valueType": "string"
|
|
7972
|
-
},
|
|
7973
|
-
{
|
|
7974
|
-
"path": "temperature",
|
|
7975
|
-
"valueType": "number"
|
|
7976
|
-
},
|
|
7977
|
-
{
|
|
7978
|
-
"path": "temperatureUnit",
|
|
7979
|
-
"valueType": "string"
|
|
7980
|
-
},
|
|
7981
|
-
{
|
|
7982
|
-
"path": "humidity",
|
|
7983
|
-
"valueType": "number"
|
|
7984
|
-
},
|
|
7985
|
-
{
|
|
7986
|
-
"path": "pressure",
|
|
7987
|
-
"valueType": "number"
|
|
7988
|
-
},
|
|
7989
|
-
{
|
|
7990
|
-
"path": "pressureUnit",
|
|
7991
|
-
"valueType": "string"
|
|
7992
|
-
},
|
|
7993
|
-
{
|
|
7994
|
-
"path": "windSpeed",
|
|
7995
|
-
"valueType": "number"
|
|
7996
|
-
},
|
|
7997
|
-
{
|
|
7998
|
-
"path": "windSpeedUnit",
|
|
7999
|
-
"valueType": "string"
|
|
8000
|
-
},
|
|
8001
|
-
{
|
|
8002
|
-
"path": "windBearing",
|
|
8003
|
-
"valueType": "number"
|
|
8004
|
-
}
|
|
8005
|
-
],
|
|
8006
|
-
"zone-analytics": [
|
|
8007
|
-
{
|
|
8008
|
-
"path": "ts",
|
|
8009
|
-
"valueType": "number"
|
|
8010
|
-
},
|
|
8011
|
-
{
|
|
8012
|
-
"path": "frameWidth",
|
|
8013
|
-
"valueType": "number"
|
|
8014
|
-
},
|
|
8015
|
-
{
|
|
8016
|
-
"path": "frameHeight",
|
|
8017
|
-
"valueType": "number"
|
|
8018
|
-
},
|
|
8019
|
-
{
|
|
8020
|
-
"path": "frame.totalObjects",
|
|
8021
|
-
"valueType": "number"
|
|
8022
|
-
},
|
|
8023
|
-
{
|
|
8024
|
-
"path": "frame.standingObjects",
|
|
8025
|
-
"valueType": "number"
|
|
8026
|
-
},
|
|
8027
|
-
{
|
|
8028
|
-
"path": "frame.transientObjects",
|
|
8029
|
-
"valueType": "number"
|
|
8030
|
-
},
|
|
8031
|
-
{
|
|
8032
|
-
"path": "unzoned.totalObjects",
|
|
8033
|
-
"valueType": "number"
|
|
8034
|
-
},
|
|
8035
|
-
{
|
|
8036
|
-
"path": "unzoned.standingObjects",
|
|
8037
|
-
"valueType": "number"
|
|
8038
|
-
},
|
|
8039
|
-
{
|
|
8040
|
-
"path": "unzoned.transientObjects",
|
|
8041
|
-
"valueType": "number"
|
|
8042
|
-
}
|
|
8043
|
-
]
|
|
8044
|
-
});
|
|
8045
6255
|
/**
|
|
8046
6256
|
* Build the recorder's config mirror.
|
|
8047
6257
|
*
|
|
@@ -8262,7 +6472,7 @@ function withStreamTimeDenseRanges(input) {
|
|
|
8262
6472
|
* (`buildConcatPassArgs`) remuxes the export's FFCONCAT list to a single
|
|
8263
6473
|
* mpegts with `-c copy`. Pass 2 (`buildExportArgs` with that file as `-i`)
|
|
8264
6474
|
* then selects frames. Selecting WHILE walking `#EXT-X-DISCONTINUITY` (one
|
|
8265
|
-
* per 10s segment from `-reset_timestamps`) is what parked a 30h
|
|
6475
|
+
* per 10s segment from `-reset_timestamps`) is what parked a 30h hall job
|
|
8266
6476
|
* at `rendering 0%` / 0% CPU — ffmpeg never left the concat demuxer.
|
|
8267
6477
|
*
|
|
8268
6478
|
* Pass 1 reads the ffconcat list, NOT the HLS playlist, because of WHOSE
|
|
@@ -8270,7 +6480,7 @@ function withStreamTimeDenseRanges(input) {
|
|
|
8270
6480
|
* (`export-dense-map.ts`) sums the segments' DECLARED `durMs`; the HLS
|
|
8271
6481
|
* demuxer stitches segments by their CONTENT length. On footage whose PTS
|
|
8272
6482
|
* span disagrees with its declared duration the two clocks drift apart
|
|
8273
|
-
* cumulatively — measured ~495 s by the end of camera
|
|
6483
|
+
* cumulatively — measured ~495 s by the end of camera 101's 10 h night of
|
|
8274
6484
|
* 2026-08-20, which put every short dense range over a stretch that held no
|
|
8275
6485
|
* detection. The concat demuxer's `duration` directive pins each segment's
|
|
8276
6486
|
* start to the SAME cumulative sum the map computes, so the disagreement is
|
|
@@ -8558,7 +6768,7 @@ var recorderRecordKinds = require_dist.defineRecordKinds({
|
|
|
8558
6768
|
* Worse than the cost was the CLOBBER. Both halves of a read-modify-write are
|
|
8559
6769
|
* async, so two overlapping cycles read the same snapshot and the second `set`
|
|
8560
6770
|
* discarded whatever the first added. On 2026-08-14 a `createExport` for camera
|
|
8561
|
-
*
|
|
6771
|
+
* 101 landed between one progress patch's read and its write, the row was
|
|
8562
6772
|
* erased, and the poll answered `unknown export "547ea182-…"`; the scheduler
|
|
8563
6773
|
* read the vanished row as a failed render and re-queued forever. A per-row
|
|
8564
6774
|
* upsert makes that class of loss unrepresentable — a write names ONE row.
|
|
@@ -12972,7 +11182,7 @@ var SegmentHourLedger = class SegmentHourLedger {
|
|
|
12972
11182
|
*
|
|
12973
11183
|
* Every hour the loss spans is refused the seal, whatever else this process
|
|
12974
11184
|
* believes about them: the ownership grace answers "was I here", and this
|
|
12975
|
-
* answers "did I get everything while I was". Camera
|
|
11185
|
+
* answers "did I get everything while I was". Camera 101's respawned writer
|
|
12976
11186
|
* passed the first question for the hour it entered at the top and still held
|
|
12977
11187
|
* a row short by 175 segments.
|
|
12978
11188
|
*
|
|
@@ -13248,7 +11458,7 @@ var SegmentHourLedger = class SegmentHourLedger {
|
|
|
13248
11458
|
*
|
|
13249
11459
|
* `census` is the right authority for a SCOPE, and it cannot express this
|
|
13250
11460
|
* scope: {@link SegmentHourLedger.predicate} takes ONE `locationId`, so
|
|
13251
|
-
* "camera
|
|
11461
|
+
* "camera 101 across the three resolvable volumes" is three aggregates, and
|
|
13252
11462
|
* `census({ deviceId })` alone would silently count footage stranded on a
|
|
13253
11463
|
* location id that no longer resolves — bytes no volume row on the same page
|
|
13254
11464
|
* accounts for. Per camera per volume that is `cameras × volumes` SQL
|
|
@@ -13891,7 +12101,7 @@ function locationKey(deviceId, locationId) {
|
|
|
13891
12101
|
*
|
|
13892
12102
|
* The resolution is that the ghost row's root does not resolve but its hour
|
|
13893
12103
|
* DIRECTORY is addressable anywhere: the path convention
|
|
13894
|
-
* (`
|
|
12104
|
+
* (`104/high/2026/08/15/04/`) is a function of the row's own fields, so the same
|
|
13895
12105
|
* hour can be listed under every currently-resolvable root. **A listing of the
|
|
13896
12106
|
* hour directory at every candidate root is exactly the walk D148 sanctions,
|
|
13897
12107
|
* done one root at a time.** That, and nothing weaker, is what licenses the
|
|
@@ -17620,7 +15830,7 @@ function segmentListSize(segmentSeconds) {
|
|
|
17620
15830
|
* between spawn and that truncation, reads the PREVIOUS run's playlist body.
|
|
17621
15831
|
* Those entries were relocated into the bucket tree long ago; their absence is
|
|
17622
15832
|
* the system working. Over 2026-08-10..13 they were 83% of all retries (median
|
|
17623
|
-
* age 1
|
|
15833
|
+
* age 1 101 s, max 17.4 h) and produced 68 of the 122 `never landed` warnings —
|
|
17624
15834
|
* a warning that reads like data loss for a file that was correctly filed hours
|
|
17625
15835
|
* earlier.
|
|
17626
15836
|
*
|
|
@@ -18110,8 +16320,8 @@ var RESTART_WINDOW_MS = 60 * 6e4;
|
|
|
18110
16320
|
* and escalates to the controller.
|
|
18111
16321
|
*
|
|
18112
16322
|
* 15/hour, from the measured distribution. Per writer over the same 12 h:
|
|
18113
|
-
* 1441/high 549 (**45.8/h**),
|
|
18114
|
-
* 592/high 211 (17.6/h),
|
|
16323
|
+
* 1441/high 549 (**45.8/h**), 101/high 241 (20.1/h), 618/high 217 (18.1/h),
|
|
16324
|
+
* 592/high 211 (17.6/h), 104/high 195 (16.3/h) — every one of them a storm and
|
|
18115
16325
|
* every one of them silent — against `low` profiles at 4–15 per 12 h (≤1.3/h),
|
|
18116
16326
|
* which is what a healthy writer looks like. 15 separates them with room for a
|
|
18117
16327
|
* camera that blips hourly and is otherwise fine.
|
|
@@ -18218,7 +16428,7 @@ var SegmentWriter = class {
|
|
|
18218
16428
|
* The ONE restart policy, reached from both `exit` and `error`.
|
|
18219
16429
|
*
|
|
18220
16430
|
* Every line below carries `tags: { deviceId }` from `deps.deviceId` — "why
|
|
18221
|
-
* is
|
|
16431
|
+
* is 102 worse than 101" is always asked per camera, and a writer that stops
|
|
18222
16432
|
* recording one camera must be greppable by that camera.
|
|
18223
16433
|
*/
|
|
18224
16434
|
onTermination(termination, stderrTail) {
|
|
@@ -18751,7 +16961,7 @@ var TRIGGER_LAG_WARN_MS = 2e3;
|
|
|
18751
16961
|
* Floor for "this writer is pinned but producing nothing".
|
|
18752
16962
|
*
|
|
18753
16963
|
* The give-up path only fires when ffmpeg EXITS. On 2026-07-29 the opposite
|
|
18754
|
-
* happened on
|
|
16964
|
+
* happened on 104 + 102: after a deploy the writers pinned the broker and hung
|
|
18755
16965
|
* — process alive, no exit, no error, no retry — and ~68 minutes of recording
|
|
18756
16966
|
* were lost while `evaluateDevice` kept short-circuiting at "already recording
|
|
18757
16967
|
* — converged". A supervisor that only watches for termination cannot see
|
|
@@ -19381,7 +17591,7 @@ var RecordingController = class {
|
|
|
19381
17591
|
* up, or the idle watchdog found it silent.
|
|
19382
17592
|
*
|
|
19383
17593
|
* Recover THAT profile only when siblings are still producing. Whole-device
|
|
19384
|
-
* detach was the 2026-08-22 gap: high stalled 139 s on
|
|
17594
|
+
* detach was the 2026-08-22 gap: high stalled 139 s on 101/104/102/586 and
|
|
19385
17595
|
* recovery unpinned low too — the profile the timeline and scrub actually
|
|
19386
17596
|
* read — punching 38–172 s holes in continuous cameras. The broker re-dial
|
|
19387
17597
|
* argument still holds when NOTHING on the device is healthy; then we detach
|
|
@@ -19748,7 +17958,7 @@ var RecordingController = class {
|
|
|
19748
17958
|
* SegmentWriter + watcher per profile, and records the set in `active`.
|
|
19749
17959
|
*
|
|
19750
17960
|
* Per-profile: a throw from one slot is logged and skipped. Rolling back the
|
|
19751
|
-
* whole device when a single stream was dead (
|
|
17961
|
+
* whole device when a single stream was dead (108 `derived` on `low`) left
|
|
19752
17962
|
* ZERO footage for hours. If every profile fails, throw so the restore queue
|
|
19753
17963
|
* retries the device.
|
|
19754
17964
|
*/
|
|
@@ -22256,7 +20466,7 @@ function nodeLoopPacer() {
|
|
|
22256
20466
|
* playlist "is NOT cleared between runs", which is what its `stale-previous-run`
|
|
22257
20467
|
* classification and its documented "that is the crash recovery" path are built
|
|
22258
20468
|
* on. The live filesystem refutes it, and a leftover that describes the right
|
|
22259
|
-
* design reads as verification: on 2026-08-14 `/recordings/.rec-tmp/
|
|
20469
|
+
* design reads as verification: on 2026-08-14 `/recordings/.rec-tmp/104/high/`
|
|
22260
20470
|
* held a `live.m3u8` of 50 entries, every one named at or after that writer's
|
|
22261
20471
|
* 20:28:31 start, beside **5 863 older `.m4s` files referenced by nobody** —
|
|
22262
20472
|
* the oldest from 2026-07-04. Fleet total: 179 GB, on an array at 90% full.
|
|
@@ -22337,7 +20547,7 @@ var KNOWN_PROFILES = new Set([
|
|
|
22337
20547
|
"mid",
|
|
22338
20548
|
"low"
|
|
22339
20549
|
]);
|
|
22340
|
-
/** Default orphans per chunk.
|
|
20550
|
+
/** Default orphans per chunk. 104/high alone had 5 863 of them. */
|
|
22341
20551
|
var DEFAULT_CHUNK_SIZE = 100;
|
|
22342
20552
|
/**
|
|
22343
20553
|
* Orphans between progress lines.
|
|
@@ -22879,7 +21089,7 @@ var CLIP_SOURCE_ADDON_ID = "recorder";
|
|
|
22879
21089
|
* Backstop on the ANNOTATION read — never on the clip list.
|
|
22880
21090
|
*
|
|
22881
21091
|
* A visit is annotated by every event inside it, so the clip `limit` must not
|
|
22882
|
-
* reach this fetch (one
|
|
21092
|
+
* reach this fetch (one 101 visit legitimately spans 2 345 motion rows). This
|
|
22883
21093
|
* bound exists only so a pathological camera-day cannot pull an unbounded page:
|
|
22884
21094
|
* the store orders `timestamp DESC`, so a truncation drops the OLDEST rows and
|
|
22885
21095
|
* the EARLIEST visits silently lose their annotations — which is why hitting it
|
|
@@ -23229,7 +21439,7 @@ function toEventLike(events) {
|
|
|
23229
21439
|
* is not necessarily the node holding this camera's segments.
|
|
23230
21440
|
* - `ctx.api.recording.*` is device-scoped and routes to the node that IS
|
|
23231
21441
|
* holding them. A short cut to the local `RecordingProvider` would answer a
|
|
23232
|
-
* camera recorded on
|
|
21442
|
+
* camera recorded on agent-a out of the hub's empty index — an empty
|
|
23233
21443
|
* clip list on a camera with weeks of footage, which is the exact
|
|
23234
21444
|
* misreading this whole line of work exists to end.
|
|
23235
21445
|
*
|
|
@@ -23527,7 +21737,7 @@ var RecorderV2Addon = class extends require_dist.BaseAddon {
|
|
|
23527
21737
|
/**
|
|
23528
21738
|
* The children this addon started, claimed at the spawn site and released at
|
|
23529
21739
|
* their exit. It is what `load-contribution` reports: the recorder knows it
|
|
23530
|
-
* ran an ffmpeg for camera
|
|
21740
|
+
* ran an ffmpeg for camera 101 profile `high`, so nobody else has to work it
|
|
23531
21741
|
* out from a process table.
|
|
23532
21742
|
*
|
|
23533
21743
|
* One registry per PROCESS, and it dies with the process — which is correct,
|