@camstack/addon-pipeline 1.2.624 → 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 +2 -2
- package/dist/audio-analyzer/index.js +3 -3
- package/dist/audio-analyzer/index.mjs +3 -3
- package/dist/{custom-model-catalog-Dx6W1kAo.mjs → custom-model-catalog-CacTUROW.mjs} +6 -6
- package/dist/{custom-model-catalog-6zwaRe6H.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-BK3z-nti.mjs → dist-Bg9whnXR.mjs} +2055 -58
- package/dist/{dist-63VVVhpw.js → dist-CtbRj-Dn.js} +2055 -58
- package/dist/{model-catalogs-DyOMg-xZ.js → model-catalogs-BQqKruf-.js} +3 -3
- package/dist/{model-catalogs-CllYj2Q2.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-BAcWHimZ.mjs → node-CfgKBxdH.mjs} +2 -2
- package/dist/{node-DdaBnHEq.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-CUlknrLl.js → process-memory-68U4DnuZ.js} +1 -1
- package/dist/{process-memory-OZwib1pK.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-WNlg0SXP.js → segment-demux-js-BcnG-zVD.js} +1 -1
- package/dist/{segment-demux-js-C3rhCLCG.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-Di7t7N3r.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-CMDvBrqv.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-DDRGMoJ1.mjs +0 -26
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
//#region ../types/dist/event-category-
|
|
2
|
+
//#region ../types/dist/event-category-DHXxB8t9.mjs
|
|
3
3
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4
4
|
EventCategory["SystemBoot"] = "system.boot";
|
|
5
5
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -295,7 +295,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
295
295
|
* TRANSITION into that state (never per dispatch), and the node is dropped
|
|
296
296
|
* from the placement candidate set for as long as it holds.
|
|
297
297
|
*
|
|
298
|
-
* This exists because the state was previously invisible:
|
|
298
|
+
* This exists because the state was previously invisible: agent-a
|
|
299
299
|
* absorbed 283k inference errors in a day while still being handed cameras,
|
|
300
300
|
* and nothing in the system said so.
|
|
301
301
|
*
|
|
@@ -5567,7 +5567,7 @@ var ZodIssueCode = {
|
|
|
5567
5567
|
var ZodFirstPartyTypeKind;
|
|
5568
5568
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5569
5569
|
//#endregion
|
|
5570
|
-
//#region ../types/dist/sleep-
|
|
5570
|
+
//#region ../types/dist/sleep-BErAxhul.mjs
|
|
5571
5571
|
/**
|
|
5572
5572
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5573
5573
|
* window to float samples (D455).
|
|
@@ -8929,6 +8929,1980 @@ method(object({ deviceId: number() }), array(StreamSourceEntrySchema)), method(o
|
|
|
8929
8929
|
kind: "mutation",
|
|
8930
8930
|
auth: "admin"
|
|
8931
8931
|
}), method(object({ deviceId: number() }), unknown().nullable()), method(object({ deviceId: number() }), RawStateResultSchema.nullable(), { auth: "protected" });
|
|
8932
|
+
Object.freeze({ "doorbell": "lastPressedAt" });
|
|
8933
|
+
/** Every capability name, so addon code can check a name without the schema graph. */
|
|
8934
|
+
var CAP_NAMES = Object.freeze([
|
|
8935
|
+
"accessories",
|
|
8936
|
+
"addon-pages",
|
|
8937
|
+
"addon-pages-source",
|
|
8938
|
+
"addon-routes",
|
|
8939
|
+
"addon-settings",
|
|
8940
|
+
"addon-widgets",
|
|
8941
|
+
"addon-widgets-source",
|
|
8942
|
+
"addons",
|
|
8943
|
+
"admin-ui",
|
|
8944
|
+
"air-quality-sensor",
|
|
8945
|
+
"alarm-panel",
|
|
8946
|
+
"alerts",
|
|
8947
|
+
"ambient-light-sensor",
|
|
8948
|
+
"audio-analysis",
|
|
8949
|
+
"audio-analyzer",
|
|
8950
|
+
"audio-codec",
|
|
8951
|
+
"audio-metrics",
|
|
8952
|
+
"auth-provider",
|
|
8953
|
+
"automation-control",
|
|
8954
|
+
"backup",
|
|
8955
|
+
"battery",
|
|
8956
|
+
"binary",
|
|
8957
|
+
"brightness",
|
|
8958
|
+
"broker",
|
|
8959
|
+
"button",
|
|
8960
|
+
"calendar-source",
|
|
8961
|
+
"calendars",
|
|
8962
|
+
"camera-credentials",
|
|
8963
|
+
"camera-grid-layout",
|
|
8964
|
+
"camera-pipeline-config",
|
|
8965
|
+
"camera-streams",
|
|
8966
|
+
"carbon-monoxide",
|
|
8967
|
+
"climate-control",
|
|
8968
|
+
"color",
|
|
8969
|
+
"composer",
|
|
8970
|
+
"connection-test",
|
|
8971
|
+
"connectivity",
|
|
8972
|
+
"consumables",
|
|
8973
|
+
"contact",
|
|
8974
|
+
"control",
|
|
8975
|
+
"core-blocks",
|
|
8976
|
+
"cover",
|
|
8977
|
+
"custom-model-registry",
|
|
8978
|
+
"data-store-provider",
|
|
8979
|
+
"database-snapshot",
|
|
8980
|
+
"day-night",
|
|
8981
|
+
"decoder",
|
|
8982
|
+
"detection-pipeline",
|
|
8983
|
+
"device-admin-link",
|
|
8984
|
+
"device-adoption",
|
|
8985
|
+
"device-credentials",
|
|
8986
|
+
"device-discovery",
|
|
8987
|
+
"device-export",
|
|
8988
|
+
"device-extension",
|
|
8989
|
+
"device-history",
|
|
8990
|
+
"device-manager",
|
|
8991
|
+
"device-ops",
|
|
8992
|
+
"device-provider",
|
|
8993
|
+
"device-removal-hook",
|
|
8994
|
+
"device-state",
|
|
8995
|
+
"device-status",
|
|
8996
|
+
"dishwasher",
|
|
8997
|
+
"display-palette",
|
|
8998
|
+
"doorbell",
|
|
8999
|
+
"embedding-encoder",
|
|
9000
|
+
"enum-sensor",
|
|
9001
|
+
"event-emitter",
|
|
9002
|
+
"face-gallery",
|
|
9003
|
+
"failure-contribution",
|
|
9004
|
+
"fan-control",
|
|
9005
|
+
"feature-probe",
|
|
9006
|
+
"filesystem-browse",
|
|
9007
|
+
"flood",
|
|
9008
|
+
"gas",
|
|
9009
|
+
"heating-valve",
|
|
9010
|
+
"humidifier",
|
|
9011
|
+
"humidity-sensor",
|
|
9012
|
+
"image",
|
|
9013
|
+
"image-settings",
|
|
9014
|
+
"integrations",
|
|
9015
|
+
"intercom",
|
|
9016
|
+
"keychain",
|
|
9017
|
+
"keychain-admin",
|
|
9018
|
+
"lawn-mower-control",
|
|
9019
|
+
"llm",
|
|
9020
|
+
"llm-runtime",
|
|
9021
|
+
"load-contribution",
|
|
9022
|
+
"local-network",
|
|
9023
|
+
"lock-control",
|
|
9024
|
+
"log-channels",
|
|
9025
|
+
"log-destination",
|
|
9026
|
+
"login-method",
|
|
9027
|
+
"media-player",
|
|
9028
|
+
"mesh-network",
|
|
9029
|
+
"metrics-provider",
|
|
9030
|
+
"model-convert",
|
|
9031
|
+
"model-distributor",
|
|
9032
|
+
"motion",
|
|
9033
|
+
"motion-detection",
|
|
9034
|
+
"motion-trigger",
|
|
9035
|
+
"motion-zones",
|
|
9036
|
+
"mqtt-broker",
|
|
9037
|
+
"native-object-detection",
|
|
9038
|
+
"navigation",
|
|
9039
|
+
"network-access",
|
|
9040
|
+
"network-link",
|
|
9041
|
+
"network-quality",
|
|
9042
|
+
"node-certificates",
|
|
9043
|
+
"nodes",
|
|
9044
|
+
"notification-output",
|
|
9045
|
+
"notification-rules",
|
|
9046
|
+
"notifier",
|
|
9047
|
+
"numeric-sensor",
|
|
9048
|
+
"oauth-integration",
|
|
9049
|
+
"oidc-connections",
|
|
9050
|
+
"osd",
|
|
9051
|
+
"osd-manager",
|
|
9052
|
+
"pet-feeder",
|
|
9053
|
+
"pipeline-analytics",
|
|
9054
|
+
"pipeline-executor",
|
|
9055
|
+
"pipeline-orchestrator",
|
|
9056
|
+
"pipeline-runner",
|
|
9057
|
+
"plate-gallery",
|
|
9058
|
+
"platform-probe",
|
|
9059
|
+
"power-meter",
|
|
9060
|
+
"presence",
|
|
9061
|
+
"pressure-sensor",
|
|
9062
|
+
"privacy-mask",
|
|
9063
|
+
"ptz",
|
|
9064
|
+
"ptz-autotrack",
|
|
9065
|
+
"reboot",
|
|
9066
|
+
"record-entries",
|
|
9067
|
+
"recording",
|
|
9068
|
+
"recording-archive",
|
|
9069
|
+
"recording-export",
|
|
9070
|
+
"recording-onboard",
|
|
9071
|
+
"recording-signal",
|
|
9072
|
+
"records",
|
|
9073
|
+
"running-state",
|
|
9074
|
+
"scene-monitor",
|
|
9075
|
+
"script-runner",
|
|
9076
|
+
"server-management",
|
|
9077
|
+
"settings-store",
|
|
9078
|
+
"smoke",
|
|
9079
|
+
"smtp-provider",
|
|
9080
|
+
"snapshot",
|
|
9081
|
+
"sso-bridge",
|
|
9082
|
+
"storage",
|
|
9083
|
+
"storage-admin",
|
|
9084
|
+
"storage-evictable",
|
|
9085
|
+
"storage-migration",
|
|
9086
|
+
"storage-occupancy",
|
|
9087
|
+
"storage-provider",
|
|
9088
|
+
"stream-broker",
|
|
9089
|
+
"stream-catalog",
|
|
9090
|
+
"stream-params",
|
|
9091
|
+
"stream-signals",
|
|
9092
|
+
"switch",
|
|
9093
|
+
"system",
|
|
9094
|
+
"tamper",
|
|
9095
|
+
"temperature-sensor",
|
|
9096
|
+
"terminal-session",
|
|
9097
|
+
"toast",
|
|
9098
|
+
"training",
|
|
9099
|
+
"training-provider",
|
|
9100
|
+
"turn-provider",
|
|
9101
|
+
"update",
|
|
9102
|
+
"user-management",
|
|
9103
|
+
"user-passkeys",
|
|
9104
|
+
"vacuum-control",
|
|
9105
|
+
"valve",
|
|
9106
|
+
"vector-store",
|
|
9107
|
+
"vibration",
|
|
9108
|
+
"videoclips",
|
|
9109
|
+
"viewer-ui",
|
|
9110
|
+
"water-heater",
|
|
9111
|
+
"weather",
|
|
9112
|
+
"webrtc-session",
|
|
9113
|
+
"zone-analytics",
|
|
9114
|
+
"zone-rules",
|
|
9115
|
+
"zones"
|
|
9116
|
+
]);
|
|
9117
|
+
Object.freeze({
|
|
9118
|
+
"air-quality-sensor": [
|
|
9119
|
+
{
|
|
9120
|
+
"path": "co2Ppm",
|
|
9121
|
+
"valueType": "number"
|
|
9122
|
+
},
|
|
9123
|
+
{
|
|
9124
|
+
"path": "vocPpb",
|
|
9125
|
+
"valueType": "number"
|
|
9126
|
+
},
|
|
9127
|
+
{
|
|
9128
|
+
"path": "pm25",
|
|
9129
|
+
"valueType": "number"
|
|
9130
|
+
},
|
|
9131
|
+
{
|
|
9132
|
+
"path": "pm10",
|
|
9133
|
+
"valueType": "number"
|
|
9134
|
+
},
|
|
9135
|
+
{
|
|
9136
|
+
"path": "aqi",
|
|
9137
|
+
"valueType": "number"
|
|
9138
|
+
},
|
|
9139
|
+
{
|
|
9140
|
+
"path": "unit",
|
|
9141
|
+
"valueType": "string"
|
|
9142
|
+
},
|
|
9143
|
+
{
|
|
9144
|
+
"path": "precision",
|
|
9145
|
+
"valueType": "number"
|
|
9146
|
+
}
|
|
9147
|
+
],
|
|
9148
|
+
"alarm-panel": [
|
|
9149
|
+
{
|
|
9150
|
+
"path": "state",
|
|
9151
|
+
"valueType": "enum",
|
|
9152
|
+
"enumValues": [
|
|
9153
|
+
"disarmed",
|
|
9154
|
+
"armed_home",
|
|
9155
|
+
"armed_away",
|
|
9156
|
+
"armed_night",
|
|
9157
|
+
"armed_vacation",
|
|
9158
|
+
"armed_custom_bypass",
|
|
9159
|
+
"arming",
|
|
9160
|
+
"disarming",
|
|
9161
|
+
"pending",
|
|
9162
|
+
"triggered"
|
|
9163
|
+
]
|
|
9164
|
+
},
|
|
9165
|
+
{
|
|
9166
|
+
"path": "targetMode",
|
|
9167
|
+
"valueType": "enum",
|
|
9168
|
+
"enumValues": [
|
|
9169
|
+
"home",
|
|
9170
|
+
"away",
|
|
9171
|
+
"night",
|
|
9172
|
+
"vacation",
|
|
9173
|
+
"custom_bypass"
|
|
9174
|
+
]
|
|
9175
|
+
},
|
|
9176
|
+
{
|
|
9177
|
+
"path": "requiresCode",
|
|
9178
|
+
"valueType": "boolean"
|
|
9179
|
+
}
|
|
9180
|
+
],
|
|
9181
|
+
"ambient-light-sensor": [
|
|
9182
|
+
{
|
|
9183
|
+
"path": "lux",
|
|
9184
|
+
"valueType": "number"
|
|
9185
|
+
},
|
|
9186
|
+
{
|
|
9187
|
+
"path": "unit",
|
|
9188
|
+
"valueType": "string"
|
|
9189
|
+
},
|
|
9190
|
+
{
|
|
9191
|
+
"path": "precision",
|
|
9192
|
+
"valueType": "number"
|
|
9193
|
+
}
|
|
9194
|
+
],
|
|
9195
|
+
"audio-metrics": [
|
|
9196
|
+
{
|
|
9197
|
+
"path": "ts",
|
|
9198
|
+
"valueType": "number"
|
|
9199
|
+
},
|
|
9200
|
+
{
|
|
9201
|
+
"path": "windowSec",
|
|
9202
|
+
"valueType": "number"
|
|
9203
|
+
},
|
|
9204
|
+
{
|
|
9205
|
+
"path": "level.rms",
|
|
9206
|
+
"valueType": "number"
|
|
9207
|
+
},
|
|
9208
|
+
{
|
|
9209
|
+
"path": "level.dbfs",
|
|
9210
|
+
"valueType": "number"
|
|
9211
|
+
},
|
|
9212
|
+
{
|
|
9213
|
+
"path": "peakDbfs",
|
|
9214
|
+
"valueType": "number"
|
|
9215
|
+
},
|
|
9216
|
+
{
|
|
9217
|
+
"path": "avgDbfs",
|
|
9218
|
+
"valueType": "number"
|
|
9219
|
+
},
|
|
9220
|
+
{
|
|
9221
|
+
"path": "current.className",
|
|
9222
|
+
"valueType": "string"
|
|
9223
|
+
},
|
|
9224
|
+
{
|
|
9225
|
+
"path": "current.score",
|
|
9226
|
+
"valueType": "number"
|
|
9227
|
+
},
|
|
9228
|
+
{
|
|
9229
|
+
"path": "current.timestamp",
|
|
9230
|
+
"valueType": "number"
|
|
9231
|
+
}
|
|
9232
|
+
],
|
|
9233
|
+
"automation-control": [
|
|
9234
|
+
{
|
|
9235
|
+
"path": "enabled",
|
|
9236
|
+
"valueType": "boolean"
|
|
9237
|
+
},
|
|
9238
|
+
{
|
|
9239
|
+
"path": "isRunning",
|
|
9240
|
+
"valueType": "boolean"
|
|
9241
|
+
},
|
|
9242
|
+
{
|
|
9243
|
+
"path": "lastTriggeredAt",
|
|
9244
|
+
"valueType": "number"
|
|
9245
|
+
},
|
|
9246
|
+
{
|
|
9247
|
+
"path": "lastError",
|
|
9248
|
+
"valueType": "string"
|
|
9249
|
+
}
|
|
9250
|
+
],
|
|
9251
|
+
"battery": [
|
|
9252
|
+
{
|
|
9253
|
+
"path": "percentage",
|
|
9254
|
+
"valueType": "number"
|
|
9255
|
+
},
|
|
9256
|
+
{
|
|
9257
|
+
"path": "charging",
|
|
9258
|
+
"valueType": "enum",
|
|
9259
|
+
"enumValues": [
|
|
9260
|
+
"dc",
|
|
9261
|
+
"solar",
|
|
9262
|
+
"none",
|
|
9263
|
+
"unknown"
|
|
9264
|
+
]
|
|
9265
|
+
},
|
|
9266
|
+
{
|
|
9267
|
+
"path": "sleeping",
|
|
9268
|
+
"valueType": "boolean"
|
|
9269
|
+
},
|
|
9270
|
+
{
|
|
9271
|
+
"path": "lastUpdated",
|
|
9272
|
+
"valueType": "number"
|
|
9273
|
+
},
|
|
9274
|
+
{
|
|
9275
|
+
"path": "lastContactAt",
|
|
9276
|
+
"valueType": "number"
|
|
9277
|
+
},
|
|
9278
|
+
{
|
|
9279
|
+
"path": "lastFullRefreshAt",
|
|
9280
|
+
"valueType": "number"
|
|
9281
|
+
},
|
|
9282
|
+
{
|
|
9283
|
+
"path": "binary",
|
|
9284
|
+
"valueType": "boolean"
|
|
9285
|
+
}
|
|
9286
|
+
],
|
|
9287
|
+
"binary": [{
|
|
9288
|
+
"path": "on",
|
|
9289
|
+
"valueType": "boolean"
|
|
9290
|
+
}],
|
|
9291
|
+
"brightness": [{
|
|
9292
|
+
"path": "percentage",
|
|
9293
|
+
"valueType": "number"
|
|
9294
|
+
}],
|
|
9295
|
+
"broker": [{
|
|
9296
|
+
"path": "brokerCount",
|
|
9297
|
+
"valueType": "number"
|
|
9298
|
+
}, {
|
|
9299
|
+
"path": "connectedCount",
|
|
9300
|
+
"valueType": "number"
|
|
9301
|
+
}],
|
|
9302
|
+
"camera-credentials": [
|
|
9303
|
+
{
|
|
9304
|
+
"path": "host",
|
|
9305
|
+
"valueType": "string"
|
|
9306
|
+
},
|
|
9307
|
+
{
|
|
9308
|
+
"path": "port",
|
|
9309
|
+
"valueType": "number"
|
|
9310
|
+
},
|
|
9311
|
+
{
|
|
9312
|
+
"path": "onvifPort",
|
|
9313
|
+
"valueType": "number"
|
|
9314
|
+
},
|
|
9315
|
+
{
|
|
9316
|
+
"path": "rtspPort",
|
|
9317
|
+
"valueType": "number"
|
|
9318
|
+
},
|
|
9319
|
+
{
|
|
9320
|
+
"path": "https",
|
|
9321
|
+
"valueType": "boolean"
|
|
9322
|
+
},
|
|
9323
|
+
{
|
|
9324
|
+
"path": "hasUsername",
|
|
9325
|
+
"valueType": "boolean"
|
|
9326
|
+
},
|
|
9327
|
+
{
|
|
9328
|
+
"path": "hasPassword",
|
|
9329
|
+
"valueType": "boolean"
|
|
9330
|
+
},
|
|
9331
|
+
{
|
|
9332
|
+
"path": "onvifProfile",
|
|
9333
|
+
"valueType": "string"
|
|
9334
|
+
}
|
|
9335
|
+
],
|
|
9336
|
+
"camera-streams": [
|
|
9337
|
+
{
|
|
9338
|
+
"path": "online",
|
|
9339
|
+
"valueType": "boolean"
|
|
9340
|
+
},
|
|
9341
|
+
{
|
|
9342
|
+
"path": "slotStatuses.high",
|
|
9343
|
+
"valueType": "enum",
|
|
9344
|
+
"enumValues": [
|
|
9345
|
+
"unassigned",
|
|
9346
|
+
"idle",
|
|
9347
|
+
"connecting",
|
|
9348
|
+
"streaming",
|
|
9349
|
+
"error"
|
|
9350
|
+
]
|
|
9351
|
+
},
|
|
9352
|
+
{
|
|
9353
|
+
"path": "slotStatuses.mid",
|
|
9354
|
+
"valueType": "enum",
|
|
9355
|
+
"enumValues": [
|
|
9356
|
+
"unassigned",
|
|
9357
|
+
"idle",
|
|
9358
|
+
"connecting",
|
|
9359
|
+
"streaming",
|
|
9360
|
+
"error"
|
|
9361
|
+
]
|
|
9362
|
+
},
|
|
9363
|
+
{
|
|
9364
|
+
"path": "slotStatuses.low",
|
|
9365
|
+
"valueType": "enum",
|
|
9366
|
+
"enumValues": [
|
|
9367
|
+
"unassigned",
|
|
9368
|
+
"idle",
|
|
9369
|
+
"connecting",
|
|
9370
|
+
"streaming",
|
|
9371
|
+
"error"
|
|
9372
|
+
]
|
|
9373
|
+
},
|
|
9374
|
+
{
|
|
9375
|
+
"path": "slotErrors.high",
|
|
9376
|
+
"valueType": "string"
|
|
9377
|
+
},
|
|
9378
|
+
{
|
|
9379
|
+
"path": "slotErrors.mid",
|
|
9380
|
+
"valueType": "string"
|
|
9381
|
+
},
|
|
9382
|
+
{
|
|
9383
|
+
"path": "slotErrors.low",
|
|
9384
|
+
"valueType": "string"
|
|
9385
|
+
}
|
|
9386
|
+
],
|
|
9387
|
+
"carbon-monoxide": [{
|
|
9388
|
+
"path": "detected",
|
|
9389
|
+
"valueType": "boolean"
|
|
9390
|
+
}],
|
|
9391
|
+
"climate-control": [
|
|
9392
|
+
{
|
|
9393
|
+
"path": "mode",
|
|
9394
|
+
"valueType": "enum",
|
|
9395
|
+
"enumValues": [
|
|
9396
|
+
"off",
|
|
9397
|
+
"heat",
|
|
9398
|
+
"cool",
|
|
9399
|
+
"auto",
|
|
9400
|
+
"heat_cool",
|
|
9401
|
+
"fan_only",
|
|
9402
|
+
"dry"
|
|
9403
|
+
]
|
|
9404
|
+
},
|
|
9405
|
+
{
|
|
9406
|
+
"path": "fanMode",
|
|
9407
|
+
"valueType": "string"
|
|
9408
|
+
},
|
|
9409
|
+
{
|
|
9410
|
+
"path": "preset",
|
|
9411
|
+
"valueType": "string"
|
|
9412
|
+
},
|
|
9413
|
+
{
|
|
9414
|
+
"path": "target",
|
|
9415
|
+
"valueType": "number"
|
|
9416
|
+
},
|
|
9417
|
+
{
|
|
9418
|
+
"path": "targetHigh",
|
|
9419
|
+
"valueType": "number"
|
|
9420
|
+
},
|
|
9421
|
+
{
|
|
9422
|
+
"path": "targetLow",
|
|
9423
|
+
"valueType": "number"
|
|
9424
|
+
},
|
|
9425
|
+
{
|
|
9426
|
+
"path": "targetHumidity",
|
|
9427
|
+
"valueType": "number"
|
|
9428
|
+
},
|
|
9429
|
+
{
|
|
9430
|
+
"path": "currentTemp",
|
|
9431
|
+
"valueType": "number"
|
|
9432
|
+
},
|
|
9433
|
+
{
|
|
9434
|
+
"path": "currentHumidity",
|
|
9435
|
+
"valueType": "number"
|
|
9436
|
+
},
|
|
9437
|
+
{
|
|
9438
|
+
"path": "swingVertical",
|
|
9439
|
+
"valueType": "boolean"
|
|
9440
|
+
},
|
|
9441
|
+
{
|
|
9442
|
+
"path": "swingHorizontal",
|
|
9443
|
+
"valueType": "boolean"
|
|
9444
|
+
},
|
|
9445
|
+
{
|
|
9446
|
+
"path": "minTemp",
|
|
9447
|
+
"valueType": "number"
|
|
9448
|
+
},
|
|
9449
|
+
{
|
|
9450
|
+
"path": "maxTemp",
|
|
9451
|
+
"valueType": "number"
|
|
9452
|
+
},
|
|
9453
|
+
{
|
|
9454
|
+
"path": "tempStep",
|
|
9455
|
+
"valueType": "number"
|
|
9456
|
+
}
|
|
9457
|
+
],
|
|
9458
|
+
"color": [
|
|
9459
|
+
{
|
|
9460
|
+
"path": "mode",
|
|
9461
|
+
"valueType": "enum",
|
|
9462
|
+
"enumValues": [
|
|
9463
|
+
"rgb",
|
|
9464
|
+
"hsv",
|
|
9465
|
+
"mired"
|
|
9466
|
+
]
|
|
9467
|
+
},
|
|
9468
|
+
{
|
|
9469
|
+
"path": "rgb.r",
|
|
9470
|
+
"valueType": "number"
|
|
9471
|
+
},
|
|
9472
|
+
{
|
|
9473
|
+
"path": "rgb.g",
|
|
9474
|
+
"valueType": "number"
|
|
9475
|
+
},
|
|
9476
|
+
{
|
|
9477
|
+
"path": "rgb.b",
|
|
9478
|
+
"valueType": "number"
|
|
9479
|
+
},
|
|
9480
|
+
{
|
|
9481
|
+
"path": "hsv.h",
|
|
9482
|
+
"valueType": "number"
|
|
9483
|
+
},
|
|
9484
|
+
{
|
|
9485
|
+
"path": "hsv.s",
|
|
9486
|
+
"valueType": "number"
|
|
9487
|
+
},
|
|
9488
|
+
{
|
|
9489
|
+
"path": "hsv.v",
|
|
9490
|
+
"valueType": "number"
|
|
9491
|
+
},
|
|
9492
|
+
{
|
|
9493
|
+
"path": "mireds",
|
|
9494
|
+
"valueType": "number"
|
|
9495
|
+
}
|
|
9496
|
+
],
|
|
9497
|
+
"connectivity": [{
|
|
9498
|
+
"path": "connected",
|
|
9499
|
+
"valueType": "boolean"
|
|
9500
|
+
}],
|
|
9501
|
+
"contact": [{
|
|
9502
|
+
"path": "entryOpen",
|
|
9503
|
+
"valueType": "boolean"
|
|
9504
|
+
}],
|
|
9505
|
+
"control": [
|
|
9506
|
+
{
|
|
9507
|
+
"path": "kind",
|
|
9508
|
+
"valueType": "enum",
|
|
9509
|
+
"enumValues": [
|
|
9510
|
+
"numeric",
|
|
9511
|
+
"select",
|
|
9512
|
+
"text",
|
|
9513
|
+
"datetime"
|
|
9514
|
+
]
|
|
9515
|
+
},
|
|
9516
|
+
{
|
|
9517
|
+
"path": "unit",
|
|
9518
|
+
"valueType": "string"
|
|
9519
|
+
},
|
|
9520
|
+
{
|
|
9521
|
+
"path": "min",
|
|
9522
|
+
"valueType": "number"
|
|
9523
|
+
},
|
|
9524
|
+
{
|
|
9525
|
+
"path": "max",
|
|
9526
|
+
"valueType": "number"
|
|
9527
|
+
},
|
|
9528
|
+
{
|
|
9529
|
+
"path": "step",
|
|
9530
|
+
"valueType": "number"
|
|
9531
|
+
},
|
|
9532
|
+
{
|
|
9533
|
+
"path": "precision",
|
|
9534
|
+
"valueType": "number"
|
|
9535
|
+
},
|
|
9536
|
+
{
|
|
9537
|
+
"path": "format",
|
|
9538
|
+
"valueType": "enum",
|
|
9539
|
+
"enumValues": [
|
|
9540
|
+
"date",
|
|
9541
|
+
"time",
|
|
9542
|
+
"datetime"
|
|
9543
|
+
]
|
|
9544
|
+
}
|
|
9545
|
+
],
|
|
9546
|
+
"cover": [
|
|
9547
|
+
{
|
|
9548
|
+
"path": "state",
|
|
9549
|
+
"valueType": "enum",
|
|
9550
|
+
"enumValues": [
|
|
9551
|
+
"open",
|
|
9552
|
+
"opening",
|
|
9553
|
+
"closing",
|
|
9554
|
+
"closed",
|
|
9555
|
+
"stopped"
|
|
9556
|
+
]
|
|
9557
|
+
},
|
|
9558
|
+
{
|
|
9559
|
+
"path": "position",
|
|
9560
|
+
"valueType": "number"
|
|
9561
|
+
},
|
|
9562
|
+
{
|
|
9563
|
+
"path": "tiltPosition",
|
|
9564
|
+
"valueType": "number"
|
|
9565
|
+
}
|
|
9566
|
+
],
|
|
9567
|
+
"day-night": [
|
|
9568
|
+
{
|
|
9569
|
+
"path": "mode",
|
|
9570
|
+
"valueType": "enum",
|
|
9571
|
+
"enumValues": [
|
|
9572
|
+
"auto",
|
|
9573
|
+
"day",
|
|
9574
|
+
"night",
|
|
9575
|
+
"schedule"
|
|
9576
|
+
]
|
|
9577
|
+
},
|
|
9578
|
+
{
|
|
9579
|
+
"path": "sensitivity",
|
|
9580
|
+
"valueType": "number"
|
|
9581
|
+
},
|
|
9582
|
+
{
|
|
9583
|
+
"path": "switchDelaySec",
|
|
9584
|
+
"valueType": "number"
|
|
9585
|
+
}
|
|
9586
|
+
],
|
|
9587
|
+
"device-adoption": [
|
|
9588
|
+
{
|
|
9589
|
+
"path": "lastDiscoveryAt",
|
|
9590
|
+
"valueType": "number"
|
|
9591
|
+
},
|
|
9592
|
+
{
|
|
9593
|
+
"path": "candidateCount",
|
|
9594
|
+
"valueType": "number"
|
|
9595
|
+
},
|
|
9596
|
+
{
|
|
9597
|
+
"path": "adoptedCount",
|
|
9598
|
+
"valueType": "number"
|
|
9599
|
+
},
|
|
9600
|
+
{
|
|
9601
|
+
"path": "lastError",
|
|
9602
|
+
"valueType": "string"
|
|
9603
|
+
}
|
|
9604
|
+
],
|
|
9605
|
+
"device-discovery": [{
|
|
9606
|
+
"path": "lastDiscoveryAt",
|
|
9607
|
+
"valueType": "number"
|
|
9608
|
+
}, {
|
|
9609
|
+
"path": "lastError",
|
|
9610
|
+
"valueType": "string"
|
|
9611
|
+
}],
|
|
9612
|
+
"device-export": [
|
|
9613
|
+
{
|
|
9614
|
+
"path": "linkState",
|
|
9615
|
+
"valueType": "enum",
|
|
9616
|
+
"enumValues": [
|
|
9617
|
+
"unlinked",
|
|
9618
|
+
"linked",
|
|
9619
|
+
"error"
|
|
9620
|
+
]
|
|
9621
|
+
},
|
|
9622
|
+
{
|
|
9623
|
+
"path": "exposedDeviceCount",
|
|
9624
|
+
"valueType": "number"
|
|
9625
|
+
},
|
|
9626
|
+
{
|
|
9627
|
+
"path": "error",
|
|
9628
|
+
"valueType": "string"
|
|
9629
|
+
},
|
|
9630
|
+
{
|
|
9631
|
+
"path": "setup.qr",
|
|
9632
|
+
"valueType": "string"
|
|
9633
|
+
},
|
|
9634
|
+
{
|
|
9635
|
+
"path": "setup.note",
|
|
9636
|
+
"valueType": "string"
|
|
9637
|
+
}
|
|
9638
|
+
],
|
|
9639
|
+
"device-status": [{
|
|
9640
|
+
"path": "online",
|
|
9641
|
+
"valueType": "boolean"
|
|
9642
|
+
}],
|
|
9643
|
+
"dishwasher": [
|
|
9644
|
+
{
|
|
9645
|
+
"path": "availability",
|
|
9646
|
+
"valueType": "enum",
|
|
9647
|
+
"enumValues": [
|
|
9648
|
+
"available",
|
|
9649
|
+
"offline",
|
|
9650
|
+
"description-missing"
|
|
9651
|
+
]
|
|
9652
|
+
},
|
|
9653
|
+
{
|
|
9654
|
+
"path": "state",
|
|
9655
|
+
"valueType": "enum",
|
|
9656
|
+
"enumValues": [
|
|
9657
|
+
"idle",
|
|
9658
|
+
"running",
|
|
9659
|
+
"paused",
|
|
9660
|
+
"finished",
|
|
9661
|
+
"error",
|
|
9662
|
+
"unavailable"
|
|
9663
|
+
]
|
|
9664
|
+
},
|
|
9665
|
+
{
|
|
9666
|
+
"path": "operationState",
|
|
9667
|
+
"valueType": "enum",
|
|
9668
|
+
"enumValues": [
|
|
9669
|
+
"Inactive",
|
|
9670
|
+
"Ready",
|
|
9671
|
+
"DelayedStart",
|
|
9672
|
+
"Run",
|
|
9673
|
+
"Pause",
|
|
9674
|
+
"ActionRequired",
|
|
9675
|
+
"Finished",
|
|
9676
|
+
"Error",
|
|
9677
|
+
"Aborting"
|
|
9678
|
+
]
|
|
9679
|
+
},
|
|
9680
|
+
{
|
|
9681
|
+
"path": "program",
|
|
9682
|
+
"valueType": "string"
|
|
9683
|
+
},
|
|
9684
|
+
{
|
|
9685
|
+
"path": "selectedProgram",
|
|
9686
|
+
"valueType": "string"
|
|
9687
|
+
},
|
|
9688
|
+
{
|
|
9689
|
+
"path": "remainingSeconds",
|
|
9690
|
+
"valueType": "number"
|
|
9691
|
+
},
|
|
9692
|
+
{
|
|
9693
|
+
"path": "delayedStartSeconds",
|
|
9694
|
+
"valueType": "number"
|
|
9695
|
+
},
|
|
9696
|
+
{
|
|
9697
|
+
"path": "progressPercent",
|
|
9698
|
+
"valueType": "number"
|
|
9699
|
+
},
|
|
9700
|
+
{
|
|
9701
|
+
"path": "doorOpen",
|
|
9702
|
+
"valueType": "boolean"
|
|
9703
|
+
},
|
|
9704
|
+
{
|
|
9705
|
+
"path": "doorLocked",
|
|
9706
|
+
"valueType": "boolean"
|
|
9707
|
+
},
|
|
9708
|
+
{
|
|
9709
|
+
"path": "remoteStartAllowed",
|
|
9710
|
+
"valueType": "boolean"
|
|
9711
|
+
},
|
|
9712
|
+
{
|
|
9713
|
+
"path": "remoteControlActive",
|
|
9714
|
+
"valueType": "boolean"
|
|
9715
|
+
},
|
|
9716
|
+
{
|
|
9717
|
+
"path": "localControlActive",
|
|
9718
|
+
"valueType": "boolean"
|
|
9719
|
+
},
|
|
9720
|
+
{
|
|
9721
|
+
"path": "powerOn",
|
|
9722
|
+
"valueType": "boolean"
|
|
9723
|
+
},
|
|
9724
|
+
{
|
|
9725
|
+
"path": "powerState",
|
|
9726
|
+
"valueType": "string"
|
|
9727
|
+
},
|
|
9728
|
+
{
|
|
9729
|
+
"path": "filterCleaningDue",
|
|
9730
|
+
"valueType": "boolean"
|
|
9731
|
+
},
|
|
9732
|
+
{
|
|
9733
|
+
"path": "machineCareDue",
|
|
9734
|
+
"valueType": "boolean"
|
|
9735
|
+
},
|
|
9736
|
+
{
|
|
9737
|
+
"path": "machineCareRemainingRuns",
|
|
9738
|
+
"valueType": "number"
|
|
9739
|
+
},
|
|
9740
|
+
{
|
|
9741
|
+
"path": "halfLoad",
|
|
9742
|
+
"valueType": "boolean"
|
|
9743
|
+
},
|
|
9744
|
+
{
|
|
9745
|
+
"path": "hygienePlus",
|
|
9746
|
+
"valueType": "boolean"
|
|
9747
|
+
},
|
|
9748
|
+
{
|
|
9749
|
+
"path": "extraDry",
|
|
9750
|
+
"valueType": "boolean"
|
|
9751
|
+
},
|
|
9752
|
+
{
|
|
9753
|
+
"path": "intensiveZone",
|
|
9754
|
+
"valueType": "boolean"
|
|
9755
|
+
},
|
|
9756
|
+
{
|
|
9757
|
+
"path": "varioSpeedPlus",
|
|
9758
|
+
"valueType": "boolean"
|
|
9759
|
+
},
|
|
9760
|
+
{
|
|
9761
|
+
"path": "childLock",
|
|
9762
|
+
"valueType": "boolean"
|
|
9763
|
+
},
|
|
9764
|
+
{
|
|
9765
|
+
"path": "errorCode",
|
|
9766
|
+
"valueType": "number"
|
|
9767
|
+
},
|
|
9768
|
+
{
|
|
9769
|
+
"path": "errorLabel",
|
|
9770
|
+
"valueType": "string"
|
|
9771
|
+
}
|
|
9772
|
+
],
|
|
9773
|
+
"doorbell": [{
|
|
9774
|
+
"path": "lastPressedAt",
|
|
9775
|
+
"valueType": "number"
|
|
9776
|
+
}, {
|
|
9777
|
+
"path": "pressCountSinceStart",
|
|
9778
|
+
"valueType": "number"
|
|
9779
|
+
}],
|
|
9780
|
+
"enum-sensor": [{
|
|
9781
|
+
"path": "value",
|
|
9782
|
+
"valueType": "string"
|
|
9783
|
+
}, {
|
|
9784
|
+
"path": "format",
|
|
9785
|
+
"valueType": "enum",
|
|
9786
|
+
"enumValues": [
|
|
9787
|
+
"date",
|
|
9788
|
+
"time",
|
|
9789
|
+
"datetime"
|
|
9790
|
+
]
|
|
9791
|
+
}],
|
|
9792
|
+
"event-emitter": [
|
|
9793
|
+
{
|
|
9794
|
+
"path": "lastEvent.deviceId",
|
|
9795
|
+
"valueType": "number"
|
|
9796
|
+
},
|
|
9797
|
+
{
|
|
9798
|
+
"path": "lastEvent.eventType",
|
|
9799
|
+
"valueType": "string"
|
|
9800
|
+
},
|
|
9801
|
+
{
|
|
9802
|
+
"path": "lastEvent.timestamp",
|
|
9803
|
+
"valueType": "number"
|
|
9804
|
+
},
|
|
9805
|
+
{
|
|
9806
|
+
"path": "lastEvent.seq",
|
|
9807
|
+
"valueType": "number"
|
|
9808
|
+
},
|
|
9809
|
+
{
|
|
9810
|
+
"path": "eventCountSinceStart",
|
|
9811
|
+
"valueType": "number"
|
|
9812
|
+
}
|
|
9813
|
+
],
|
|
9814
|
+
"fan-control": [
|
|
9815
|
+
{
|
|
9816
|
+
"path": "percentage",
|
|
9817
|
+
"valueType": "number"
|
|
9818
|
+
},
|
|
9819
|
+
{
|
|
9820
|
+
"path": "percentageStep",
|
|
9821
|
+
"valueType": "number"
|
|
9822
|
+
},
|
|
9823
|
+
{
|
|
9824
|
+
"path": "preset",
|
|
9825
|
+
"valueType": "string"
|
|
9826
|
+
},
|
|
9827
|
+
{
|
|
9828
|
+
"path": "direction",
|
|
9829
|
+
"valueType": "enum",
|
|
9830
|
+
"enumValues": ["forward", "reverse"]
|
|
9831
|
+
},
|
|
9832
|
+
{
|
|
9833
|
+
"path": "oscillating",
|
|
9834
|
+
"valueType": "boolean"
|
|
9835
|
+
}
|
|
9836
|
+
],
|
|
9837
|
+
"feature-probe": [
|
|
9838
|
+
{
|
|
9839
|
+
"path": "deviceType",
|
|
9840
|
+
"valueType": "string"
|
|
9841
|
+
},
|
|
9842
|
+
{
|
|
9843
|
+
"path": "model",
|
|
9844
|
+
"valueType": "string"
|
|
9845
|
+
},
|
|
9846
|
+
{
|
|
9847
|
+
"path": "channelCount",
|
|
9848
|
+
"valueType": "number"
|
|
9849
|
+
},
|
|
9850
|
+
{
|
|
9851
|
+
"path": "lastProbedAt",
|
|
9852
|
+
"valueType": "number"
|
|
9853
|
+
}
|
|
9854
|
+
],
|
|
9855
|
+
"flood": [{
|
|
9856
|
+
"path": "flooded",
|
|
9857
|
+
"valueType": "boolean"
|
|
9858
|
+
}],
|
|
9859
|
+
"gas": [{
|
|
9860
|
+
"path": "detected",
|
|
9861
|
+
"valueType": "boolean"
|
|
9862
|
+
}],
|
|
9863
|
+
"heating-valve": [{
|
|
9864
|
+
"path": "position",
|
|
9865
|
+
"valueType": "number"
|
|
9866
|
+
}],
|
|
9867
|
+
"humidifier": [
|
|
9868
|
+
{
|
|
9869
|
+
"path": "on",
|
|
9870
|
+
"valueType": "boolean"
|
|
9871
|
+
},
|
|
9872
|
+
{
|
|
9873
|
+
"path": "currentHumidity",
|
|
9874
|
+
"valueType": "number"
|
|
9875
|
+
},
|
|
9876
|
+
{
|
|
9877
|
+
"path": "targetHumidity",
|
|
9878
|
+
"valueType": "number"
|
|
9879
|
+
},
|
|
9880
|
+
{
|
|
9881
|
+
"path": "mode",
|
|
9882
|
+
"valueType": "string"
|
|
9883
|
+
},
|
|
9884
|
+
{
|
|
9885
|
+
"path": "action",
|
|
9886
|
+
"valueType": "string"
|
|
9887
|
+
},
|
|
9888
|
+
{
|
|
9889
|
+
"path": "minHumidity",
|
|
9890
|
+
"valueType": "number"
|
|
9891
|
+
},
|
|
9892
|
+
{
|
|
9893
|
+
"path": "maxHumidity",
|
|
9894
|
+
"valueType": "number"
|
|
9895
|
+
}
|
|
9896
|
+
],
|
|
9897
|
+
"humidity-sensor": [
|
|
9898
|
+
{
|
|
9899
|
+
"path": "percent",
|
|
9900
|
+
"valueType": "number"
|
|
9901
|
+
},
|
|
9902
|
+
{
|
|
9903
|
+
"path": "unit",
|
|
9904
|
+
"valueType": "string"
|
|
9905
|
+
},
|
|
9906
|
+
{
|
|
9907
|
+
"path": "precision",
|
|
9908
|
+
"valueType": "number"
|
|
9909
|
+
}
|
|
9910
|
+
],
|
|
9911
|
+
"image": [{
|
|
9912
|
+
"path": "url",
|
|
9913
|
+
"valueType": "string"
|
|
9914
|
+
}, {
|
|
9915
|
+
"path": "lastUpdated",
|
|
9916
|
+
"valueType": "number"
|
|
9917
|
+
}],
|
|
9918
|
+
"image-settings": [
|
|
9919
|
+
{
|
|
9920
|
+
"path": "brightness",
|
|
9921
|
+
"valueType": "number"
|
|
9922
|
+
},
|
|
9923
|
+
{
|
|
9924
|
+
"path": "contrast",
|
|
9925
|
+
"valueType": "number"
|
|
9926
|
+
},
|
|
9927
|
+
{
|
|
9928
|
+
"path": "saturation",
|
|
9929
|
+
"valueType": "number"
|
|
9930
|
+
},
|
|
9931
|
+
{
|
|
9932
|
+
"path": "sharpness",
|
|
9933
|
+
"valueType": "number"
|
|
9934
|
+
},
|
|
9935
|
+
{
|
|
9936
|
+
"path": "mirror",
|
|
9937
|
+
"valueType": "boolean"
|
|
9938
|
+
},
|
|
9939
|
+
{
|
|
9940
|
+
"path": "flip",
|
|
9941
|
+
"valueType": "boolean"
|
|
9942
|
+
},
|
|
9943
|
+
{
|
|
9944
|
+
"path": "rotate",
|
|
9945
|
+
"valueType": "enum",
|
|
9946
|
+
"enumValues": [
|
|
9947
|
+
"0",
|
|
9948
|
+
"90",
|
|
9949
|
+
"180",
|
|
9950
|
+
"270"
|
|
9951
|
+
]
|
|
9952
|
+
},
|
|
9953
|
+
{
|
|
9954
|
+
"path": "whiteBalance",
|
|
9955
|
+
"valueType": "enum",
|
|
9956
|
+
"enumValues": ["auto", "manual"]
|
|
9957
|
+
},
|
|
9958
|
+
{
|
|
9959
|
+
"path": "warmth",
|
|
9960
|
+
"valueType": "number"
|
|
9961
|
+
},
|
|
9962
|
+
{
|
|
9963
|
+
"path": "exposureMode",
|
|
9964
|
+
"valueType": "enum",
|
|
9965
|
+
"enumValues": ["auto", "manual"]
|
|
9966
|
+
},
|
|
9967
|
+
{
|
|
9968
|
+
"path": "backlightMode",
|
|
9969
|
+
"valueType": "enum",
|
|
9970
|
+
"enumValues": [
|
|
9971
|
+
"off",
|
|
9972
|
+
"blc",
|
|
9973
|
+
"wdr",
|
|
9974
|
+
"hlc"
|
|
9975
|
+
]
|
|
9976
|
+
}
|
|
9977
|
+
],
|
|
9978
|
+
"intercom": [
|
|
9979
|
+
{
|
|
9980
|
+
"path": "talking",
|
|
9981
|
+
"valueType": "boolean"
|
|
9982
|
+
},
|
|
9983
|
+
{
|
|
9984
|
+
"path": "lastSessionAt",
|
|
9985
|
+
"valueType": "number"
|
|
9986
|
+
},
|
|
9987
|
+
{
|
|
9988
|
+
"path": "ability.sampleRate",
|
|
9989
|
+
"valueType": "number"
|
|
9990
|
+
},
|
|
9991
|
+
{
|
|
9992
|
+
"path": "ability.duplex",
|
|
9993
|
+
"valueType": "enum",
|
|
9994
|
+
"enumValues": ["half", "full"]
|
|
9995
|
+
},
|
|
9996
|
+
{
|
|
9997
|
+
"path": "ability.maxBacklogMs",
|
|
9998
|
+
"valueType": "number"
|
|
9999
|
+
}
|
|
10000
|
+
],
|
|
10001
|
+
"lawn-mower-control": [
|
|
10002
|
+
{
|
|
10003
|
+
"path": "activity",
|
|
10004
|
+
"valueType": "enum",
|
|
10005
|
+
"enumValues": [
|
|
10006
|
+
"idle",
|
|
10007
|
+
"mowing",
|
|
10008
|
+
"paused",
|
|
10009
|
+
"docked",
|
|
10010
|
+
"error"
|
|
10011
|
+
]
|
|
10012
|
+
},
|
|
10013
|
+
{
|
|
10014
|
+
"path": "batteryLevel",
|
|
10015
|
+
"valueType": "number"
|
|
10016
|
+
},
|
|
10017
|
+
{
|
|
10018
|
+
"path": "progressPercent",
|
|
10019
|
+
"valueType": "number"
|
|
10020
|
+
},
|
|
10021
|
+
{
|
|
10022
|
+
"path": "currentCode",
|
|
10023
|
+
"valueType": "number"
|
|
10024
|
+
},
|
|
10025
|
+
{
|
|
10026
|
+
"path": "currentCodeLabel",
|
|
10027
|
+
"valueType": "string"
|
|
10028
|
+
},
|
|
10029
|
+
{
|
|
10030
|
+
"path": "severity",
|
|
10031
|
+
"valueType": "enum",
|
|
10032
|
+
"enumValues": [
|
|
10033
|
+
"info",
|
|
10034
|
+
"warning",
|
|
10035
|
+
"error"
|
|
10036
|
+
]
|
|
10037
|
+
}
|
|
10038
|
+
],
|
|
10039
|
+
"lock-control": [{
|
|
10040
|
+
"path": "state",
|
|
10041
|
+
"valueType": "enum",
|
|
10042
|
+
"enumValues": [
|
|
10043
|
+
"locked",
|
|
10044
|
+
"unlocked",
|
|
10045
|
+
"locking",
|
|
10046
|
+
"unlocking",
|
|
10047
|
+
"jammed"
|
|
10048
|
+
]
|
|
10049
|
+
}],
|
|
10050
|
+
"media-player": [
|
|
10051
|
+
{
|
|
10052
|
+
"path": "state",
|
|
10053
|
+
"valueType": "enum",
|
|
10054
|
+
"enumValues": [
|
|
10055
|
+
"off",
|
|
10056
|
+
"on",
|
|
10057
|
+
"idle",
|
|
10058
|
+
"playing",
|
|
10059
|
+
"paused",
|
|
10060
|
+
"buffering",
|
|
10061
|
+
"standby"
|
|
10062
|
+
]
|
|
10063
|
+
},
|
|
10064
|
+
{
|
|
10065
|
+
"path": "volumeLevel",
|
|
10066
|
+
"valueType": "number"
|
|
10067
|
+
},
|
|
10068
|
+
{
|
|
10069
|
+
"path": "isMuted",
|
|
10070
|
+
"valueType": "boolean"
|
|
10071
|
+
},
|
|
10072
|
+
{
|
|
10073
|
+
"path": "source",
|
|
10074
|
+
"valueType": "string"
|
|
10075
|
+
},
|
|
10076
|
+
{
|
|
10077
|
+
"path": "currentMedia.type",
|
|
10078
|
+
"valueType": "string"
|
|
10079
|
+
},
|
|
10080
|
+
{
|
|
10081
|
+
"path": "currentMedia.title",
|
|
10082
|
+
"valueType": "string"
|
|
10083
|
+
},
|
|
10084
|
+
{
|
|
10085
|
+
"path": "currentMedia.artist",
|
|
10086
|
+
"valueType": "string"
|
|
10087
|
+
},
|
|
10088
|
+
{
|
|
10089
|
+
"path": "currentMedia.album",
|
|
10090
|
+
"valueType": "string"
|
|
10091
|
+
},
|
|
10092
|
+
{
|
|
10093
|
+
"path": "currentMedia.imageUrl",
|
|
10094
|
+
"valueType": "string"
|
|
10095
|
+
},
|
|
10096
|
+
{
|
|
10097
|
+
"path": "positionMs",
|
|
10098
|
+
"valueType": "number"
|
|
10099
|
+
},
|
|
10100
|
+
{
|
|
10101
|
+
"path": "durationMs",
|
|
10102
|
+
"valueType": "number"
|
|
10103
|
+
},
|
|
10104
|
+
{
|
|
10105
|
+
"path": "shuffle",
|
|
10106
|
+
"valueType": "boolean"
|
|
10107
|
+
},
|
|
10108
|
+
{
|
|
10109
|
+
"path": "repeat",
|
|
10110
|
+
"valueType": "enum",
|
|
10111
|
+
"enumValues": [
|
|
10112
|
+
"off",
|
|
10113
|
+
"all",
|
|
10114
|
+
"one"
|
|
10115
|
+
]
|
|
10116
|
+
}
|
|
10117
|
+
],
|
|
10118
|
+
"motion": [
|
|
10119
|
+
{
|
|
10120
|
+
"path": "detected",
|
|
10121
|
+
"valueType": "boolean"
|
|
10122
|
+
},
|
|
10123
|
+
{
|
|
10124
|
+
"path": "lastDetectedAt",
|
|
10125
|
+
"valueType": "number"
|
|
10126
|
+
},
|
|
10127
|
+
{
|
|
10128
|
+
"path": "autoClearAfterMs",
|
|
10129
|
+
"valueType": "number"
|
|
10130
|
+
}
|
|
10131
|
+
],
|
|
10132
|
+
"motion-trigger": [{
|
|
10133
|
+
"path": "enabled",
|
|
10134
|
+
"valueType": "boolean"
|
|
10135
|
+
}],
|
|
10136
|
+
"motion-zones": [{
|
|
10137
|
+
"path": "enabled",
|
|
10138
|
+
"valueType": "boolean"
|
|
10139
|
+
}, {
|
|
10140
|
+
"path": "sensitivity",
|
|
10141
|
+
"valueType": "number"
|
|
10142
|
+
}],
|
|
10143
|
+
"mqtt-broker": [{
|
|
10144
|
+
"path": "brokerCount",
|
|
10145
|
+
"valueType": "number"
|
|
10146
|
+
}, {
|
|
10147
|
+
"path": "embeddedRunning",
|
|
10148
|
+
"valueType": "boolean"
|
|
10149
|
+
}],
|
|
10150
|
+
"native-object-detection": [{
|
|
10151
|
+
"path": "enabled",
|
|
10152
|
+
"valueType": "boolean"
|
|
10153
|
+
}],
|
|
10154
|
+
"navigation": [
|
|
10155
|
+
{
|
|
10156
|
+
"path": "mode",
|
|
10157
|
+
"valueType": "enum",
|
|
10158
|
+
"enumValues": [
|
|
10159
|
+
"idle",
|
|
10160
|
+
"cleaning",
|
|
10161
|
+
"spot",
|
|
10162
|
+
"following",
|
|
10163
|
+
"goto",
|
|
10164
|
+
"returning",
|
|
10165
|
+
"paused",
|
|
10166
|
+
"unknown"
|
|
10167
|
+
]
|
|
10168
|
+
},
|
|
10169
|
+
{
|
|
10170
|
+
"path": "following",
|
|
10171
|
+
"valueType": "boolean"
|
|
10172
|
+
},
|
|
10173
|
+
{
|
|
10174
|
+
"path": "flash",
|
|
10175
|
+
"valueType": "boolean"
|
|
10176
|
+
},
|
|
10177
|
+
{
|
|
10178
|
+
"path": "lightMode",
|
|
10179
|
+
"valueType": "enum",
|
|
10180
|
+
"enumValues": ["auto", "manual"]
|
|
10181
|
+
},
|
|
10182
|
+
{
|
|
10183
|
+
"path": "lightLevel",
|
|
10184
|
+
"valueType": "number"
|
|
10185
|
+
}
|
|
10186
|
+
],
|
|
10187
|
+
"network-link": [
|
|
10188
|
+
{
|
|
10189
|
+
"path": "type",
|
|
10190
|
+
"valueType": "enum",
|
|
10191
|
+
"enumValues": [
|
|
10192
|
+
"wifi",
|
|
10193
|
+
"ethernet",
|
|
10194
|
+
"cellular",
|
|
10195
|
+
"unknown"
|
|
10196
|
+
]
|
|
10197
|
+
},
|
|
10198
|
+
{
|
|
10199
|
+
"path": "signalPercent",
|
|
10200
|
+
"valueType": "number"
|
|
10201
|
+
},
|
|
10202
|
+
{
|
|
10203
|
+
"path": "rssiDbm",
|
|
10204
|
+
"valueType": "number"
|
|
10205
|
+
},
|
|
10206
|
+
{
|
|
10207
|
+
"path": "ssid",
|
|
10208
|
+
"valueType": "string"
|
|
10209
|
+
},
|
|
10210
|
+
{
|
|
10211
|
+
"path": "lastUpdated",
|
|
10212
|
+
"valueType": "number"
|
|
10213
|
+
}
|
|
10214
|
+
],
|
|
10215
|
+
"notifier": [
|
|
10216
|
+
{
|
|
10217
|
+
"path": "lastSentAt",
|
|
10218
|
+
"valueType": "number"
|
|
10219
|
+
},
|
|
10220
|
+
{
|
|
10221
|
+
"path": "lastError",
|
|
10222
|
+
"valueType": "string"
|
|
10223
|
+
},
|
|
10224
|
+
{
|
|
10225
|
+
"path": "queueDepth",
|
|
10226
|
+
"valueType": "number"
|
|
10227
|
+
},
|
|
10228
|
+
{
|
|
10229
|
+
"path": "supports.image",
|
|
10230
|
+
"valueType": "boolean"
|
|
10231
|
+
},
|
|
10232
|
+
{
|
|
10233
|
+
"path": "supports.priority",
|
|
10234
|
+
"valueType": "boolean"
|
|
10235
|
+
},
|
|
10236
|
+
{
|
|
10237
|
+
"path": "supports.data",
|
|
10238
|
+
"valueType": "boolean"
|
|
10239
|
+
},
|
|
10240
|
+
{
|
|
10241
|
+
"path": "supports.actions",
|
|
10242
|
+
"valueType": "boolean"
|
|
10243
|
+
},
|
|
10244
|
+
{
|
|
10245
|
+
"path": "supports.recipients",
|
|
10246
|
+
"valueType": "boolean"
|
|
10247
|
+
}
|
|
10248
|
+
],
|
|
10249
|
+
"numeric-sensor": [
|
|
10250
|
+
{
|
|
10251
|
+
"path": "value",
|
|
10252
|
+
"valueType": "number"
|
|
10253
|
+
},
|
|
10254
|
+
{
|
|
10255
|
+
"path": "unit",
|
|
10256
|
+
"valueType": "string"
|
|
10257
|
+
},
|
|
10258
|
+
{
|
|
10259
|
+
"path": "precision",
|
|
10260
|
+
"valueType": "number"
|
|
10261
|
+
}
|
|
10262
|
+
],
|
|
10263
|
+
"pet-feeder": [
|
|
10264
|
+
{
|
|
10265
|
+
"path": "foodLevel",
|
|
10266
|
+
"valueType": "number"
|
|
10267
|
+
},
|
|
10268
|
+
{
|
|
10269
|
+
"path": "food1",
|
|
10270
|
+
"valueType": "number"
|
|
10271
|
+
},
|
|
10272
|
+
{
|
|
10273
|
+
"path": "food2",
|
|
10274
|
+
"valueType": "number"
|
|
10275
|
+
},
|
|
10276
|
+
{
|
|
10277
|
+
"path": "lowFood",
|
|
10278
|
+
"valueType": "boolean"
|
|
10279
|
+
},
|
|
10280
|
+
{
|
|
10281
|
+
"path": "batteryPower",
|
|
10282
|
+
"valueType": "number"
|
|
10283
|
+
},
|
|
10284
|
+
{
|
|
10285
|
+
"path": "desiccantLeftDays",
|
|
10286
|
+
"valueType": "number"
|
|
10287
|
+
},
|
|
10288
|
+
{
|
|
10289
|
+
"path": "feeding",
|
|
10290
|
+
"valueType": "boolean"
|
|
10291
|
+
},
|
|
10292
|
+
{
|
|
10293
|
+
"path": "status",
|
|
10294
|
+
"valueType": "enum",
|
|
10295
|
+
"enumValues": [
|
|
10296
|
+
"normal",
|
|
10297
|
+
"offline",
|
|
10298
|
+
"on_batteries"
|
|
10299
|
+
]
|
|
10300
|
+
},
|
|
10301
|
+
{
|
|
10302
|
+
"path": "error",
|
|
10303
|
+
"valueType": "string"
|
|
10304
|
+
},
|
|
10305
|
+
{
|
|
10306
|
+
"path": "errorCode",
|
|
10307
|
+
"valueType": "number"
|
|
10308
|
+
},
|
|
10309
|
+
{
|
|
10310
|
+
"path": "isDualHopper",
|
|
10311
|
+
"valueType": "boolean"
|
|
10312
|
+
},
|
|
10313
|
+
{
|
|
10314
|
+
"path": "childLock",
|
|
10315
|
+
"valueType": "boolean"
|
|
10316
|
+
},
|
|
10317
|
+
{
|
|
10318
|
+
"path": "indicatorLight",
|
|
10319
|
+
"valueType": "boolean"
|
|
10320
|
+
},
|
|
10321
|
+
{
|
|
10322
|
+
"path": "feedSound",
|
|
10323
|
+
"valueType": "boolean"
|
|
10324
|
+
},
|
|
10325
|
+
{
|
|
10326
|
+
"path": "volume",
|
|
10327
|
+
"valueType": "number"
|
|
10328
|
+
}
|
|
10329
|
+
],
|
|
10330
|
+
"power-meter": [
|
|
10331
|
+
{
|
|
10332
|
+
"path": "watts",
|
|
10333
|
+
"valueType": "number"
|
|
10334
|
+
},
|
|
10335
|
+
{
|
|
10336
|
+
"path": "kwhTotal",
|
|
10337
|
+
"valueType": "number"
|
|
10338
|
+
},
|
|
10339
|
+
{
|
|
10340
|
+
"path": "volts",
|
|
10341
|
+
"valueType": "number"
|
|
10342
|
+
},
|
|
10343
|
+
{
|
|
10344
|
+
"path": "amps",
|
|
10345
|
+
"valueType": "number"
|
|
10346
|
+
},
|
|
10347
|
+
{
|
|
10348
|
+
"path": "va",
|
|
10349
|
+
"valueType": "number"
|
|
10350
|
+
},
|
|
10351
|
+
{
|
|
10352
|
+
"path": "powerFactor",
|
|
10353
|
+
"valueType": "number"
|
|
10354
|
+
},
|
|
10355
|
+
{
|
|
10356
|
+
"path": "unit",
|
|
10357
|
+
"valueType": "string"
|
|
10358
|
+
},
|
|
10359
|
+
{
|
|
10360
|
+
"path": "precision",
|
|
10361
|
+
"valueType": "number"
|
|
10362
|
+
}
|
|
10363
|
+
],
|
|
10364
|
+
"presence": [
|
|
10365
|
+
{
|
|
10366
|
+
"path": "state",
|
|
10367
|
+
"valueType": "string"
|
|
10368
|
+
},
|
|
10369
|
+
{
|
|
10370
|
+
"path": "location",
|
|
10371
|
+
"valueType": "string"
|
|
10372
|
+
},
|
|
10373
|
+
{
|
|
10374
|
+
"path": "gps.latitude",
|
|
10375
|
+
"valueType": "number"
|
|
10376
|
+
},
|
|
10377
|
+
{
|
|
10378
|
+
"path": "gps.longitude",
|
|
10379
|
+
"valueType": "number"
|
|
10380
|
+
},
|
|
10381
|
+
{
|
|
10382
|
+
"path": "gps.accuracyMeters",
|
|
10383
|
+
"valueType": "number"
|
|
10384
|
+
},
|
|
10385
|
+
{
|
|
10386
|
+
"path": "batteryPercent",
|
|
10387
|
+
"valueType": "number"
|
|
10388
|
+
}
|
|
10389
|
+
],
|
|
10390
|
+
"pressure-sensor": [
|
|
10391
|
+
{
|
|
10392
|
+
"path": "hpa",
|
|
10393
|
+
"valueType": "number"
|
|
10394
|
+
},
|
|
10395
|
+
{
|
|
10396
|
+
"path": "unit",
|
|
10397
|
+
"valueType": "string"
|
|
10398
|
+
},
|
|
10399
|
+
{
|
|
10400
|
+
"path": "precision",
|
|
10401
|
+
"valueType": "number"
|
|
10402
|
+
}
|
|
10403
|
+
],
|
|
10404
|
+
"privacy-mask": [{
|
|
10405
|
+
"path": "enabled",
|
|
10406
|
+
"valueType": "boolean"
|
|
10407
|
+
}, {
|
|
10408
|
+
"path": "audioEnabled",
|
|
10409
|
+
"valueType": "boolean"
|
|
10410
|
+
}],
|
|
10411
|
+
"ptz": [
|
|
10412
|
+
{
|
|
10413
|
+
"path": "pan",
|
|
10414
|
+
"valueType": "number"
|
|
10415
|
+
},
|
|
10416
|
+
{
|
|
10417
|
+
"path": "tilt",
|
|
10418
|
+
"valueType": "number"
|
|
10419
|
+
},
|
|
10420
|
+
{
|
|
10421
|
+
"path": "zoom",
|
|
10422
|
+
"valueType": "number"
|
|
10423
|
+
},
|
|
10424
|
+
{
|
|
10425
|
+
"path": "autofocus",
|
|
10426
|
+
"valueType": "boolean"
|
|
10427
|
+
}
|
|
10428
|
+
],
|
|
10429
|
+
"ptz-autotrack": [
|
|
10430
|
+
{
|
|
10431
|
+
"path": "enabled",
|
|
10432
|
+
"valueType": "boolean"
|
|
10433
|
+
},
|
|
10434
|
+
{
|
|
10435
|
+
"path": "currentSettings.targetType",
|
|
10436
|
+
"valueType": "string"
|
|
10437
|
+
},
|
|
10438
|
+
{
|
|
10439
|
+
"path": "currentSettings.stopDelaySeconds",
|
|
10440
|
+
"valueType": "number"
|
|
10441
|
+
},
|
|
10442
|
+
{
|
|
10443
|
+
"path": "currentSettings.disappearDelaySeconds",
|
|
10444
|
+
"valueType": "number"
|
|
10445
|
+
}
|
|
10446
|
+
],
|
|
10447
|
+
"recording-archive": [
|
|
10448
|
+
{
|
|
10449
|
+
"path": "deviceId",
|
|
10450
|
+
"valueType": "number"
|
|
10451
|
+
},
|
|
10452
|
+
{
|
|
10453
|
+
"path": "enabled",
|
|
10454
|
+
"valueType": "boolean"
|
|
10455
|
+
},
|
|
10456
|
+
{
|
|
10457
|
+
"path": "activeMode",
|
|
10458
|
+
"valueType": "enum",
|
|
10459
|
+
"enumValues": [
|
|
10460
|
+
"off",
|
|
10461
|
+
"events",
|
|
10462
|
+
"continuous",
|
|
10463
|
+
"on-device-decision"
|
|
10464
|
+
]
|
|
10465
|
+
},
|
|
10466
|
+
{
|
|
10467
|
+
"path": "nodeId",
|
|
10468
|
+
"valueType": "string"
|
|
10469
|
+
},
|
|
10470
|
+
{
|
|
10471
|
+
"path": "storageBytes",
|
|
10472
|
+
"valueType": "number"
|
|
10473
|
+
}
|
|
10474
|
+
],
|
|
10475
|
+
"recording-onboard": [
|
|
10476
|
+
{
|
|
10477
|
+
"path": "primaryTrackId",
|
|
10478
|
+
"valueType": "string"
|
|
10479
|
+
},
|
|
10480
|
+
{
|
|
10481
|
+
"path": "enabled",
|
|
10482
|
+
"valueType": "boolean"
|
|
10483
|
+
},
|
|
10484
|
+
{
|
|
10485
|
+
"path": "overwriteWhenFull",
|
|
10486
|
+
"valueType": "boolean"
|
|
10487
|
+
},
|
|
10488
|
+
{
|
|
10489
|
+
"path": "preRecordSec",
|
|
10490
|
+
"valueType": "number"
|
|
10491
|
+
},
|
|
10492
|
+
{
|
|
10493
|
+
"path": "postRecordSec",
|
|
10494
|
+
"valueType": "number"
|
|
10495
|
+
},
|
|
10496
|
+
{
|
|
10497
|
+
"path": "segmentMinutes",
|
|
10498
|
+
"valueType": "number"
|
|
10499
|
+
},
|
|
10500
|
+
{
|
|
10501
|
+
"path": "unreadableWindows",
|
|
10502
|
+
"valueType": "number"
|
|
10503
|
+
},
|
|
10504
|
+
{
|
|
10505
|
+
"path": "recordingToNowhere",
|
|
10506
|
+
"valueType": "boolean"
|
|
10507
|
+
}
|
|
10508
|
+
],
|
|
10509
|
+
"recording-signal": [{
|
|
10510
|
+
"path": "active",
|
|
10511
|
+
"valueType": "boolean"
|
|
10512
|
+
}, {
|
|
10513
|
+
"path": "reason",
|
|
10514
|
+
"valueType": "string"
|
|
10515
|
+
}],
|
|
10516
|
+
"running-state": [
|
|
10517
|
+
{
|
|
10518
|
+
"path": "running",
|
|
10519
|
+
"valueType": "boolean"
|
|
10520
|
+
},
|
|
10521
|
+
{
|
|
10522
|
+
"path": "since",
|
|
10523
|
+
"valueType": "number"
|
|
10524
|
+
},
|
|
10525
|
+
{
|
|
10526
|
+
"path": "source",
|
|
10527
|
+
"valueType": "enum",
|
|
10528
|
+
"enumValues": ["native", "assigned"]
|
|
10529
|
+
},
|
|
10530
|
+
{
|
|
10531
|
+
"path": "phase",
|
|
10532
|
+
"valueType": "string"
|
|
10533
|
+
}
|
|
10534
|
+
],
|
|
10535
|
+
"script-runner": [
|
|
10536
|
+
{
|
|
10537
|
+
"path": "isRunning",
|
|
10538
|
+
"valueType": "boolean"
|
|
10539
|
+
},
|
|
10540
|
+
{
|
|
10541
|
+
"path": "lastRunAt",
|
|
10542
|
+
"valueType": "number"
|
|
10543
|
+
},
|
|
10544
|
+
{
|
|
10545
|
+
"path": "lastRunSuccess",
|
|
10546
|
+
"valueType": "boolean"
|
|
10547
|
+
},
|
|
10548
|
+
{
|
|
10549
|
+
"path": "lastError",
|
|
10550
|
+
"valueType": "string"
|
|
10551
|
+
}
|
|
10552
|
+
],
|
|
10553
|
+
"smoke": [{
|
|
10554
|
+
"path": "detected",
|
|
10555
|
+
"valueType": "boolean"
|
|
10556
|
+
}],
|
|
10557
|
+
"snapshot": [
|
|
10558
|
+
{
|
|
10559
|
+
"path": "lastCapturedAt",
|
|
10560
|
+
"valueType": "number"
|
|
10561
|
+
},
|
|
10562
|
+
{
|
|
10563
|
+
"path": "cacheAgeMs",
|
|
10564
|
+
"valueType": "number"
|
|
10565
|
+
},
|
|
10566
|
+
{
|
|
10567
|
+
"path": "lastBytes",
|
|
10568
|
+
"valueType": "number"
|
|
10569
|
+
},
|
|
10570
|
+
{
|
|
10571
|
+
"path": "lastStreamId",
|
|
10572
|
+
"valueType": "string"
|
|
10573
|
+
}
|
|
10574
|
+
],
|
|
10575
|
+
"stream-params": [
|
|
10576
|
+
{
|
|
10577
|
+
"path": "main.width",
|
|
10578
|
+
"valueType": "number"
|
|
10579
|
+
},
|
|
10580
|
+
{
|
|
10581
|
+
"path": "main.height",
|
|
10582
|
+
"valueType": "number"
|
|
10583
|
+
},
|
|
10584
|
+
{
|
|
10585
|
+
"path": "main.codec",
|
|
10586
|
+
"valueType": "enum",
|
|
10587
|
+
"enumValues": ["h264", "h265"]
|
|
10588
|
+
},
|
|
10589
|
+
{
|
|
10590
|
+
"path": "main.framerate",
|
|
10591
|
+
"valueType": "number"
|
|
10592
|
+
},
|
|
10593
|
+
{
|
|
10594
|
+
"path": "main.bitrate",
|
|
10595
|
+
"valueType": "number"
|
|
10596
|
+
},
|
|
10597
|
+
{
|
|
10598
|
+
"path": "main.bitrateMode",
|
|
10599
|
+
"valueType": "enum",
|
|
10600
|
+
"enumValues": ["vbr", "cbr"]
|
|
10601
|
+
},
|
|
10602
|
+
{
|
|
10603
|
+
"path": "main.encoderProfile",
|
|
10604
|
+
"valueType": "enum",
|
|
10605
|
+
"enumValues": [
|
|
10606
|
+
"high",
|
|
10607
|
+
"main",
|
|
10608
|
+
"baseline"
|
|
10609
|
+
]
|
|
10610
|
+
},
|
|
10611
|
+
{
|
|
10612
|
+
"path": "main.gop",
|
|
10613
|
+
"valueType": "number"
|
|
10614
|
+
},
|
|
10615
|
+
{
|
|
10616
|
+
"path": "main.audio",
|
|
10617
|
+
"valueType": "boolean"
|
|
10618
|
+
},
|
|
10619
|
+
{
|
|
10620
|
+
"path": "sub.width",
|
|
10621
|
+
"valueType": "number"
|
|
10622
|
+
},
|
|
10623
|
+
{
|
|
10624
|
+
"path": "sub.height",
|
|
10625
|
+
"valueType": "number"
|
|
10626
|
+
},
|
|
10627
|
+
{
|
|
10628
|
+
"path": "sub.codec",
|
|
10629
|
+
"valueType": "enum",
|
|
10630
|
+
"enumValues": ["h264", "h265"]
|
|
10631
|
+
},
|
|
10632
|
+
{
|
|
10633
|
+
"path": "sub.framerate",
|
|
10634
|
+
"valueType": "number"
|
|
10635
|
+
},
|
|
10636
|
+
{
|
|
10637
|
+
"path": "sub.bitrate",
|
|
10638
|
+
"valueType": "number"
|
|
10639
|
+
},
|
|
10640
|
+
{
|
|
10641
|
+
"path": "sub.bitrateMode",
|
|
10642
|
+
"valueType": "enum",
|
|
10643
|
+
"enumValues": ["vbr", "cbr"]
|
|
10644
|
+
},
|
|
10645
|
+
{
|
|
10646
|
+
"path": "sub.encoderProfile",
|
|
10647
|
+
"valueType": "enum",
|
|
10648
|
+
"enumValues": [
|
|
10649
|
+
"high",
|
|
10650
|
+
"main",
|
|
10651
|
+
"baseline"
|
|
10652
|
+
]
|
|
10653
|
+
},
|
|
10654
|
+
{
|
|
10655
|
+
"path": "sub.gop",
|
|
10656
|
+
"valueType": "number"
|
|
10657
|
+
},
|
|
10658
|
+
{
|
|
10659
|
+
"path": "sub.audio",
|
|
10660
|
+
"valueType": "boolean"
|
|
10661
|
+
},
|
|
10662
|
+
{
|
|
10663
|
+
"path": "ext.width",
|
|
10664
|
+
"valueType": "number"
|
|
10665
|
+
},
|
|
10666
|
+
{
|
|
10667
|
+
"path": "ext.height",
|
|
10668
|
+
"valueType": "number"
|
|
10669
|
+
},
|
|
10670
|
+
{
|
|
10671
|
+
"path": "ext.codec",
|
|
10672
|
+
"valueType": "enum",
|
|
10673
|
+
"enumValues": ["h264", "h265"]
|
|
10674
|
+
},
|
|
10675
|
+
{
|
|
10676
|
+
"path": "ext.framerate",
|
|
10677
|
+
"valueType": "number"
|
|
10678
|
+
},
|
|
10679
|
+
{
|
|
10680
|
+
"path": "ext.bitrate",
|
|
10681
|
+
"valueType": "number"
|
|
10682
|
+
},
|
|
10683
|
+
{
|
|
10684
|
+
"path": "ext.bitrateMode",
|
|
10685
|
+
"valueType": "enum",
|
|
10686
|
+
"enumValues": ["vbr", "cbr"]
|
|
10687
|
+
},
|
|
10688
|
+
{
|
|
10689
|
+
"path": "ext.encoderProfile",
|
|
10690
|
+
"valueType": "enum",
|
|
10691
|
+
"enumValues": [
|
|
10692
|
+
"high",
|
|
10693
|
+
"main",
|
|
10694
|
+
"baseline"
|
|
10695
|
+
]
|
|
10696
|
+
},
|
|
10697
|
+
{
|
|
10698
|
+
"path": "ext.gop",
|
|
10699
|
+
"valueType": "number"
|
|
10700
|
+
},
|
|
10701
|
+
{
|
|
10702
|
+
"path": "ext.audio",
|
|
10703
|
+
"valueType": "boolean"
|
|
10704
|
+
}
|
|
10705
|
+
],
|
|
10706
|
+
"switch": [{
|
|
10707
|
+
"path": "on",
|
|
10708
|
+
"valueType": "boolean"
|
|
10709
|
+
}],
|
|
10710
|
+
"tamper": [{
|
|
10711
|
+
"path": "tampered",
|
|
10712
|
+
"valueType": "boolean"
|
|
10713
|
+
}],
|
|
10714
|
+
"temperature-sensor": [
|
|
10715
|
+
{
|
|
10716
|
+
"path": "celsius",
|
|
10717
|
+
"valueType": "number"
|
|
10718
|
+
},
|
|
10719
|
+
{
|
|
10720
|
+
"path": "unit",
|
|
10721
|
+
"valueType": "string"
|
|
10722
|
+
},
|
|
10723
|
+
{
|
|
10724
|
+
"path": "precision",
|
|
10725
|
+
"valueType": "number"
|
|
10726
|
+
}
|
|
10727
|
+
],
|
|
10728
|
+
"update": [
|
|
10729
|
+
{
|
|
10730
|
+
"path": "currentVersion",
|
|
10731
|
+
"valueType": "string"
|
|
10732
|
+
},
|
|
10733
|
+
{
|
|
10734
|
+
"path": "availableVersion",
|
|
10735
|
+
"valueType": "string"
|
|
10736
|
+
},
|
|
10737
|
+
{
|
|
10738
|
+
"path": "updatable",
|
|
10739
|
+
"valueType": "boolean"
|
|
10740
|
+
},
|
|
10741
|
+
{
|
|
10742
|
+
"path": "state",
|
|
10743
|
+
"valueType": "string"
|
|
10744
|
+
},
|
|
10745
|
+
{
|
|
10746
|
+
"path": "inProgress",
|
|
10747
|
+
"valueType": "boolean"
|
|
10748
|
+
}
|
|
10749
|
+
],
|
|
10750
|
+
"vacuum-control": [
|
|
10751
|
+
{
|
|
10752
|
+
"path": "state",
|
|
10753
|
+
"valueType": "enum",
|
|
10754
|
+
"enumValues": [
|
|
10755
|
+
"idle",
|
|
10756
|
+
"cleaning",
|
|
10757
|
+
"paused",
|
|
10758
|
+
"returning",
|
|
10759
|
+
"docked",
|
|
10760
|
+
"drying",
|
|
10761
|
+
"error"
|
|
10762
|
+
]
|
|
10763
|
+
},
|
|
10764
|
+
{
|
|
10765
|
+
"path": "batteryLevel",
|
|
10766
|
+
"valueType": "number"
|
|
10767
|
+
},
|
|
10768
|
+
{
|
|
10769
|
+
"path": "fanSpeed",
|
|
10770
|
+
"valueType": "string"
|
|
10771
|
+
},
|
|
10772
|
+
{
|
|
10773
|
+
"path": "progressPercent",
|
|
10774
|
+
"valueType": "number"
|
|
10775
|
+
},
|
|
10776
|
+
{
|
|
10777
|
+
"path": "errorCode",
|
|
10778
|
+
"valueType": "number"
|
|
10779
|
+
},
|
|
10780
|
+
{
|
|
10781
|
+
"path": "errorLabel",
|
|
10782
|
+
"valueType": "string"
|
|
10783
|
+
}
|
|
10784
|
+
],
|
|
10785
|
+
"valve": [{
|
|
10786
|
+
"path": "state",
|
|
10787
|
+
"valueType": "enum",
|
|
10788
|
+
"enumValues": [
|
|
10789
|
+
"open",
|
|
10790
|
+
"opening",
|
|
10791
|
+
"closing",
|
|
10792
|
+
"closed",
|
|
10793
|
+
"stopped"
|
|
10794
|
+
]
|
|
10795
|
+
}, {
|
|
10796
|
+
"path": "position",
|
|
10797
|
+
"valueType": "number"
|
|
10798
|
+
}],
|
|
10799
|
+
"vibration": [{
|
|
10800
|
+
"path": "detected",
|
|
10801
|
+
"valueType": "boolean"
|
|
10802
|
+
}],
|
|
10803
|
+
"water-heater": [
|
|
10804
|
+
{
|
|
10805
|
+
"path": "currentTemp",
|
|
10806
|
+
"valueType": "number"
|
|
10807
|
+
},
|
|
10808
|
+
{
|
|
10809
|
+
"path": "targetTemp",
|
|
10810
|
+
"valueType": "number"
|
|
10811
|
+
},
|
|
10812
|
+
{
|
|
10813
|
+
"path": "operationMode",
|
|
10814
|
+
"valueType": "string"
|
|
10815
|
+
},
|
|
10816
|
+
{
|
|
10817
|
+
"path": "away",
|
|
10818
|
+
"valueType": "boolean"
|
|
10819
|
+
},
|
|
10820
|
+
{
|
|
10821
|
+
"path": "minTemp",
|
|
10822
|
+
"valueType": "number"
|
|
10823
|
+
},
|
|
10824
|
+
{
|
|
10825
|
+
"path": "maxTemp",
|
|
10826
|
+
"valueType": "number"
|
|
10827
|
+
}
|
|
10828
|
+
],
|
|
10829
|
+
"weather": [
|
|
10830
|
+
{
|
|
10831
|
+
"path": "condition",
|
|
10832
|
+
"valueType": "string"
|
|
10833
|
+
},
|
|
10834
|
+
{
|
|
10835
|
+
"path": "temperature",
|
|
10836
|
+
"valueType": "number"
|
|
10837
|
+
},
|
|
10838
|
+
{
|
|
10839
|
+
"path": "temperatureUnit",
|
|
10840
|
+
"valueType": "string"
|
|
10841
|
+
},
|
|
10842
|
+
{
|
|
10843
|
+
"path": "humidity",
|
|
10844
|
+
"valueType": "number"
|
|
10845
|
+
},
|
|
10846
|
+
{
|
|
10847
|
+
"path": "pressure",
|
|
10848
|
+
"valueType": "number"
|
|
10849
|
+
},
|
|
10850
|
+
{
|
|
10851
|
+
"path": "pressureUnit",
|
|
10852
|
+
"valueType": "string"
|
|
10853
|
+
},
|
|
10854
|
+
{
|
|
10855
|
+
"path": "windSpeed",
|
|
10856
|
+
"valueType": "number"
|
|
10857
|
+
},
|
|
10858
|
+
{
|
|
10859
|
+
"path": "windSpeedUnit",
|
|
10860
|
+
"valueType": "string"
|
|
10861
|
+
},
|
|
10862
|
+
{
|
|
10863
|
+
"path": "windBearing",
|
|
10864
|
+
"valueType": "number"
|
|
10865
|
+
}
|
|
10866
|
+
],
|
|
10867
|
+
"zone-analytics": [
|
|
10868
|
+
{
|
|
10869
|
+
"path": "ts",
|
|
10870
|
+
"valueType": "number"
|
|
10871
|
+
},
|
|
10872
|
+
{
|
|
10873
|
+
"path": "frameWidth",
|
|
10874
|
+
"valueType": "number"
|
|
10875
|
+
},
|
|
10876
|
+
{
|
|
10877
|
+
"path": "frameHeight",
|
|
10878
|
+
"valueType": "number"
|
|
10879
|
+
},
|
|
10880
|
+
{
|
|
10881
|
+
"path": "frame.totalObjects",
|
|
10882
|
+
"valueType": "number"
|
|
10883
|
+
},
|
|
10884
|
+
{
|
|
10885
|
+
"path": "frame.standingObjects",
|
|
10886
|
+
"valueType": "number"
|
|
10887
|
+
},
|
|
10888
|
+
{
|
|
10889
|
+
"path": "frame.transientObjects",
|
|
10890
|
+
"valueType": "number"
|
|
10891
|
+
},
|
|
10892
|
+
{
|
|
10893
|
+
"path": "unzoned.totalObjects",
|
|
10894
|
+
"valueType": "number"
|
|
10895
|
+
},
|
|
10896
|
+
{
|
|
10897
|
+
"path": "unzoned.standingObjects",
|
|
10898
|
+
"valueType": "number"
|
|
10899
|
+
},
|
|
10900
|
+
{
|
|
10901
|
+
"path": "unzoned.transientObjects",
|
|
10902
|
+
"valueType": "number"
|
|
10903
|
+
}
|
|
10904
|
+
]
|
|
10905
|
+
});
|
|
8932
10906
|
var HF_REPO = "camstack/camstack-models";
|
|
8933
10907
|
`${HF_REPO}`;
|
|
8934
10908
|
object({
|
|
@@ -9439,7 +11413,7 @@ function errMsg(err) {
|
|
|
9439
11413
|
return String(err);
|
|
9440
11414
|
}
|
|
9441
11415
|
//#endregion
|
|
9442
|
-
//#region ../types/dist/composition-
|
|
11416
|
+
//#region ../types/dist/composition-kEl9mevu.mjs
|
|
9443
11417
|
var AUDIO_ENCODER_BY_CODEC = {
|
|
9444
11418
|
opus: "libopus",
|
|
9445
11419
|
aac: "aac",
|
|
@@ -9700,7 +11674,7 @@ function buildStdoutOrRtspSinkArgs(sink) {
|
|
|
9700
11674
|
* frame, loses the race, and skips to the following one: **every fragment comes
|
|
9701
11675
|
* out at twice the requested length.**
|
|
9702
11676
|
*
|
|
9703
|
-
* Measured on the live fleet 2026-08-07, camera
|
|
11677
|
+
* Measured on the live fleet 2026-08-07, camera 101, `-c:v copy` (D84):
|
|
9704
11678
|
*
|
|
9705
11679
|
* | slot | GOP | `-min_frag_duration` | median gap |
|
|
9706
11680
|
* | --- | --- | --- | --- |
|
|
@@ -11495,7 +13469,7 @@ function gifDeriveSpeed(gifSpeed, videoSpeed) {
|
|
|
11495
13469
|
* runs at `fps / speed` in SOURCE time and `setpts` multiplies what survived.
|
|
11496
13470
|
* The trailing `fps` re-declares the rate, which is NOT redundant: `setpts`
|
|
11497
13471
|
* leaves the filter link advertising the sampled rate and the gif muxer
|
|
11498
|
-
* believes the link — measured on
|
|
13472
|
+
* believes the link — measured on 101 as a 3.01 s gif of ten frames.
|
|
11499
13473
|
*/
|
|
11500
13474
|
function gifFilterComplex(input) {
|
|
11501
13475
|
const speed = input.speed > 0 ? input.speed : 1;
|
|
@@ -14188,7 +16162,7 @@ var LogChannelDescriptorSchema = object({
|
|
|
14188
16162
|
* `true` is a PROMISE with two halves, and both must hold: the gate is
|
|
14189
16163
|
* consulted with the numeric device id, AND every line the channel admits
|
|
14190
16164
|
* carries `tags: { deviceId }` with that same numeric id. The second half is
|
|
14191
|
-
* what makes `| json | deviceId="
|
|
16165
|
+
* what makes `| json | deviceId="102"` work in Loki — `loki-payload.ts`
|
|
14192
16166
|
* keeps `deviceId` out of the stream labels for cardinality, so the tag in
|
|
14193
16167
|
* the body is the only way to filter.
|
|
14194
16168
|
*
|
|
@@ -14764,7 +16738,7 @@ function effectFor(stepId, label) {
|
|
|
14764
16738
|
* - label kind: a label counts for a step only when the classMap sends it to
|
|
14765
16739
|
* that step's macro AND it names a vocabulary entry. Every root is judged
|
|
14766
16740
|
* the same way — a COCO model supplies the animal classifier with the six
|
|
14767
|
-
* species COCO names, exactly as a
|
|
16741
|
+
* species COCO names, exactly as a plus catalog model supplies seven.
|
|
14768
16742
|
* - crop kind: the labelmap carries one of the step's root labels. Those
|
|
14769
16743
|
* labels are deliberately left out of the classMap, so they never make a
|
|
14770
16744
|
* track of their own.
|
|
@@ -15021,7 +16995,7 @@ var ModelVariantGroupSchema = object({
|
|
|
15021
16995
|
precision: _enum(["fp32", "int8"]).optional(),
|
|
15022
16996
|
/**
|
|
15023
16997
|
* Training / latency-variant axis. Omit ⇒ the standard build. `test` marks
|
|
15024
|
-
* an alternate training of the same family (
|
|
16998
|
+
* an alternate training of the same family (plugin catalog `relu_test`); chip
|
|
15025
16999
|
* label is "Test".
|
|
15026
17000
|
*/
|
|
15027
17001
|
optimization: _enum(["standard", "test"]).optional(),
|
|
@@ -15042,9 +17016,9 @@ var ModelProviderIdSchema = _enum([
|
|
|
15042
17016
|
]);
|
|
15043
17017
|
/**
|
|
15044
17018
|
* Resolve a catalog entry's picker provider. An explicit stamp always wins;
|
|
15045
|
-
* otherwise
|
|
17019
|
+
* otherwise plus catalog/plugin catalog are recognised from id prefix or description.
|
|
15046
17020
|
* Unstamped BYO registry rows fall through to `custom`. Family `yolov9` is
|
|
15047
|
-
* NOT a
|
|
17021
|
+
* NOT a plugin catalog signal — CamStack ships that family too.
|
|
15048
17022
|
*/
|
|
15049
17023
|
function inferModelProvider(entry) {
|
|
15050
17024
|
if (entry.provider !== void 0) return entry.provider;
|
|
@@ -15286,8 +17260,8 @@ var ModelCatalogEntrySchema = object({
|
|
|
15286
17260
|
provider: ModelProviderIdSchema.optional(),
|
|
15287
17261
|
/**
|
|
15288
17262
|
* Per-MODEL class map override. Absent ⇒ the step's `StepDefinition.classMap`
|
|
15289
|
-
* applies (
|
|
15290
|
-
* labels already ARE the CamStack macros (
|
|
17263
|
+
* applies (plus catalog / COCO public catalog). Set on a custom model whose raw
|
|
17264
|
+
* labels already ARE the CamStack macros (plugin catalog identity map).
|
|
15291
17265
|
*/
|
|
15292
17266
|
classMap: DetectionCatalogClassMapSchema.optional(),
|
|
15293
17267
|
/**
|
|
@@ -18473,7 +20447,7 @@ var streamBrokerCapability = {
|
|
|
18473
20447
|
* `1` is real time and is the ONLY value that allows the copy branch —
|
|
18474
20448
|
* anything else forces `libx264` over the window. That was priced
|
|
18475
20449
|
* before it was chosen: a per-event burst measured at 0.23 s and 254 KB
|
|
18476
|
-
* on a real
|
|
20450
|
+
* on a real 101 720p cut, against 922 KB for the copy it replaces. A
|
|
18477
20451
|
* re-encode is capped at 720p (`EVENT_CLIP_ENCODE_MAX_WIDTH`), because
|
|
18478
20452
|
* once the decode is forced the width stops being free.
|
|
18479
20453
|
*/
|
|
@@ -19148,6 +21122,7 @@ var CompositionRunStatusSchema = _enum([
|
|
|
19148
21122
|
"starting",
|
|
19149
21123
|
"running",
|
|
19150
21124
|
"degraded",
|
|
21125
|
+
"incomplete",
|
|
19151
21126
|
"failed"
|
|
19152
21127
|
]);
|
|
19153
21128
|
var CompositionFieldStateKindSchema = _enum([
|
|
@@ -19361,6 +21336,7 @@ var CoreBlockStatusSchema = _enum([
|
|
|
19361
21336
|
"starting",
|
|
19362
21337
|
"running",
|
|
19363
21338
|
"degraded",
|
|
21339
|
+
"incomplete",
|
|
19364
21340
|
"failed"
|
|
19365
21341
|
]);
|
|
19366
21342
|
/** path → TypeScript source for a multi-file block. */
|
|
@@ -41315,7 +43291,7 @@ var PRIMARY_CATEGORIES = new Set(ENTRIES.map((e) => e.primaryCategory));
|
|
|
41315
43291
|
* `locationKey` is ALWAYS {@link locationIconKey} of the label — never the
|
|
41316
43292
|
* operator's casing. The registry matches labels trimmed + case-insensitively
|
|
41317
43293
|
* everywhere (`addLocation`, `removeLocation`, `renameLocation`), and a
|
|
41318
|
-
* case-only rename (`
|
|
43294
|
+
* case-only rename (`kitchen` → `Kitchen`) is a real edit this repo supports; a
|
|
41319
43295
|
* map keyed on the displayed casing would orphan its entry on exactly that
|
|
41320
43296
|
* edit. Consumers join by keying their own label through `locationIconKey`.
|
|
41321
43297
|
*/
|
|
@@ -41340,7 +43316,7 @@ var LocationDescriptionAssignmentSchema = object({
|
|
|
41340
43316
|
/**
|
|
41341
43317
|
* A SITE ZONE — a named part of the property that several locations belong to.
|
|
41342
43318
|
*
|
|
41343
|
-
* "
|
|
43319
|
+
* "Night zone" holds every bedroom; "Zona giorno" the living room and the
|
|
41344
43320
|
* kitchen. A camera belongs to exactly one location, and a location to at most
|
|
41345
43321
|
* one zone, so a camera's zone is derived and never stored on the device: the
|
|
41346
43322
|
* whole point of this entity is that grouping rooms touches no device row.
|
|
@@ -41369,7 +43345,7 @@ var LocationDescriptionAssignmentSchema = object({
|
|
|
41369
43345
|
* the locations inside it.
|
|
41370
43346
|
*
|
|
41371
43347
|
* The LABEL is carried alongside the key because the key is lossy on purpose —
|
|
41372
|
-
* a surface must show "
|
|
43348
|
+
* a surface must show "Night zone", not "night zone". Locations are carried
|
|
41373
43349
|
* here, rather than left to a second call, because every consumer wants both
|
|
41374
43350
|
* at once and a viewer that asked twice could render a zone whose membership
|
|
41375
43351
|
* it has not fetched yet.
|
|
@@ -43518,8 +45494,8 @@ var LoadContributionSchema = object({
|
|
|
43518
45494
|
"unattributable"
|
|
43519
45495
|
]),
|
|
43520
45496
|
/**
|
|
43521
|
-
* What ONE entry is, in the contributor's own words — `
|
|
43522
|
-
* `
|
|
45497
|
+
* What ONE entry is, in the contributor's own words — `101/high`,
|
|
45498
|
+
* `102/native`, `cuda:0 shared pool`. Free text because the unit differs per
|
|
43523
45499
|
* family and inventing a common one would lose the only information that
|
|
43524
45500
|
* makes two entries for the same camera distinguishable.
|
|
43525
45501
|
*/
|
|
@@ -46857,7 +48833,7 @@ var NcConditionsSchema = object({
|
|
|
46857
48833
|
* with the list under it is worse than no switch (D62).
|
|
46858
48834
|
*
|
|
46859
48835
|
* MEMBERS ARE FACE-GALLERY `Identity.id`s (uuid), not display names. A name is
|
|
46860
|
-
* renameable, and a rule authored on "
|
|
48836
|
+
* renameable, and a rule authored on "Alice" went silently dark the moment
|
|
46861
48837
|
* the operator fixed the spelling. The id reaches the record on
|
|
46862
48838
|
* `LabelAttribution.identityId`; the name is what the editor shows and what
|
|
46863
48839
|
* `{{label}}` renders.
|
|
@@ -47408,7 +49384,7 @@ var NcRulePatchSchema = NcRuleInputSchema.partial().extend({
|
|
|
47408
49384
|
* A rule scoped to one camera and one zone silently became a rule that
|
|
47409
49385
|
* matches EVERY event on EVERY camera, and lost its `media` policy
|
|
47410
49386
|
* (zoneCrop / gif / clip / frame) and its `priority` at the same time. Seen
|
|
47411
|
-
* live on 2026-08-12: a rule scoped to device
|
|
49387
|
+
* live on 2026-08-12: a rule scoped to device 102 fired on 104 and 101
|
|
47412
49388
|
* within a minute of a two-field patch.
|
|
47413
49389
|
*
|
|
47414
49390
|
* So every defaulted field is re-declared here WITHOUT its default. The
|
|
@@ -49268,7 +51244,7 @@ var LabelAttributionSchema = object({
|
|
|
49268
51244
|
* `Identity.id` or a plate-gallery `Vehicle.id` (both `randomUUID`).
|
|
49269
51245
|
*
|
|
49270
51246
|
* The text alone is a DISPLAY NAME, and a display name is renameable: a
|
|
49271
|
-
* notification rule authored on "
|
|
51247
|
+
* notification rule authored on "Alice" stopped matching the moment the
|
|
49272
51248
|
* operator fixed the spelling in the gallery, and nothing said so. The id is
|
|
49273
51249
|
* the thing that does not move, so it is what a rule matches on
|
|
49274
51250
|
* (`NcConditions.identities`) and the text is what a human is shown.
|
|
@@ -51920,7 +53896,7 @@ var pipelineExecutorCapability = {
|
|
|
51920
53896
|
/**
|
|
51921
53897
|
* Root-supplied detections for the tree's ROOT step (D730). Set by
|
|
51922
53898
|
* `runDetailSubtree` when the camera's root model supplies a crop-kind
|
|
51923
|
-
* step (a
|
|
53899
|
+
* step (a plus catalog `license_plate` for `plate-detection`): the step is
|
|
51924
53900
|
* NOT inferred, these boxes are its output, and its children (the plate
|
|
51925
53901
|
* reader) run on them through their own crop policy. Boxes are in the
|
|
51926
53902
|
* PIXELS of the image this call carries. Absent ⇒ the root step runs.
|
|
@@ -53613,7 +55589,7 @@ var RunnerCameraConfigSchema = object({
|
|
|
53613
55589
|
* detection session that asks for history. What shipped was a last-moment
|
|
53614
55590
|
* discard — `FrameSlot`'s throttle compares wall clocks, and ~4 s of media
|
|
53615
55591
|
* arriving inside a few hundred ms of wall clock looks to it like one frame's
|
|
53616
|
-
* worth. Device
|
|
55592
|
+
* worth. Device 102, 2026-09-08: a re-run of the SAME model over the stored
|
|
53617
55593
|
* recording scored the subject `vehicle 0.5669` — above the 0.50 floor —
|
|
53618
55594
|
* 1.68 s BEFORE the live track was born, on a frame that was in the pre-roll,
|
|
53619
55595
|
* was decoded, and was freed.
|
|
@@ -53819,7 +55795,7 @@ var pipelineRunnerCapability = {
|
|
|
53819
55795
|
*
|
|
53820
55796
|
* The periodic recheck (`occupancyRecheckSec`, 300 s) exists to watch a
|
|
53821
55797
|
* still scene. It is the wrong instrument for a QUESTION that has just been
|
|
53822
|
-
* asked: on device
|
|
55798
|
+
* asked: on device 102 a parked car's departure was observed, a departure
|
|
53823
55799
|
* strike was armed — and then the motion session ended, the strike decayed
|
|
53824
55800
|
* after its 30 s TTL, and the next periodic look arrived up to five minutes
|
|
53825
55801
|
* later with nothing left to confirm. Every one of those departures was
|
|
@@ -55891,7 +57867,7 @@ method(_void(), ProviderInfoSchema, { auth: "admin" }), method(object({ config:
|
|
|
55891
57867
|
* The signals a device can emit to WAKE its own stream.
|
|
55892
57868
|
*
|
|
55893
57869
|
* A camera whose stream is built on demand sleeps until something asks for it,
|
|
55894
|
-
* and "something" cannot be a consumer that is merely attached — a
|
|
57870
|
+
* and "something" cannot be a consumer that is merely attached — a external-catalog
|
|
55895
57871
|
* puller holds a session open for ever, and treating that as demand would keep
|
|
55896
57872
|
* a battery camera awake for ever, which is the whole thing the battery is for
|
|
55897
57873
|
* (D173). So the wake has to come from the CAMERA: an event it noticed by
|
|
@@ -56591,7 +58567,7 @@ var ClipSchema = object({
|
|
|
56591
58567
|
* {@link MAX_CLIP_EVENT_IDS}. Empty on footage-only clips.
|
|
56592
58568
|
*
|
|
56593
58569
|
* Bounded because it is not a payload the surface pages through: one visit on
|
|
56594
|
-
* device
|
|
58570
|
+
* device 101 carried 2 345 ids, and `eventIds` was 99% of a 153 KB
|
|
56595
58571
|
* camera-day. Read {@link eventCount} for the true total.
|
|
56596
58572
|
*/
|
|
56597
58573
|
eventIds: array(string()).optional(),
|
|
@@ -56736,7 +58712,7 @@ var ClipPlaybackSchema = object({
|
|
|
56736
58712
|
* camera has no recordings", which is the defect this whole line of work is
|
|
56737
58713
|
* about: a battery camera nobody woke (`sleeping`), a camera that could not be
|
|
56738
58714
|
* reached at all (`unreachable`, also what a provider that THREW reports), a
|
|
56739
|
-
* camera whose SD card is not mounted (`no-storage`, measured on
|
|
58715
|
+
* camera whose SD card is not mounted (`no-storage`, measured on 106 —
|
|
56740
58716
|
* `HddInfo mount 0`, honestly nothing to list rather than "no clips"), and a
|
|
56741
58717
|
* camera whose OWN index disagrees with its OWN calendar (`index-empty`,
|
|
56742
58718
|
* measured on 618: the calendar marks 3–20 September, days 6–20 list zero
|
|
@@ -57116,7 +59092,7 @@ var videoclipsCapability = {
|
|
|
57116
59092
|
*
|
|
57117
59093
|
* It was optional, documented as "absent means the device's BOUND
|
|
57118
59094
|
* provider, which is CamStack on every camera". No code implemented
|
|
57119
|
-
* that. Measured on the live hub 2026-09-20 — device
|
|
59095
|
+
* that. Measured on the live hub 2026-09-20 — device 107, bound to
|
|
57120
59096
|
* `recorder` AND `provider-reolink` — a bare call with `limit: 3`
|
|
57121
59097
|
* answered SIX rows, three from each source, merged newest-first:
|
|
57122
59098
|
* `device-collection-dispatch.ts` simply left the fan-out un-narrowed,
|
|
@@ -58438,7 +60414,10 @@ object({
|
|
|
58438
60414
|
DeviceType.Sensor;
|
|
58439
60415
|
object({
|
|
58440
60416
|
/** Current illuminance in lux (lx). */
|
|
58441
|
-
lux: number().min(0)
|
|
60417
|
+
lux: number().min(0).meta({
|
|
60418
|
+
unit: "lx",
|
|
60419
|
+
label: "Illuminance"
|
|
60420
|
+
}),
|
|
58442
60421
|
/** Ms epoch when the slice was last updated. */
|
|
58443
60422
|
lastFetchedAt: number(),
|
|
58444
60423
|
/** Live display unit from the upstream source (e.g. HA
|
|
@@ -58594,7 +60573,10 @@ var BatteryStatusSchema = object({
|
|
|
58594
60573
|
* Consumers must SKIP a null rather than coerce it — `battery-band` already
|
|
58595
60574
|
* declines to band a non-finite reading, which is the correct shape.
|
|
58596
60575
|
*/
|
|
58597
|
-
percentage: number().min(0).max(100).nullable()
|
|
60576
|
+
percentage: number().min(0).max(100).nullable().meta({
|
|
60577
|
+
unit: "%",
|
|
60578
|
+
label: "Charge"
|
|
60579
|
+
}),
|
|
58598
60580
|
/**
|
|
58599
60581
|
* Charging source. `'dc'` covers wall/USB adapters; `'solar'` is
|
|
58600
60582
|
* Reolink-specific for the Solar Panel 2 accessory (will become
|
|
@@ -58613,13 +60595,13 @@ var BatteryStatusSchema = object({
|
|
|
58613
60595
|
"solar",
|
|
58614
60596
|
"none",
|
|
58615
60597
|
"unknown"
|
|
58616
|
-
]),
|
|
60598
|
+
]).meta({ label: "Charging source" }),
|
|
58617
60599
|
/**
|
|
58618
60600
|
* True when the camera firmware has gone into low-power mode. Battery
|
|
58619
60601
|
* providers MUST avoid polling during sleep — reading the battery
|
|
58620
60602
|
* wakes the camera up and drains charge.
|
|
58621
60603
|
*/
|
|
58622
|
-
sleeping: boolean(),
|
|
60604
|
+
sleeping: boolean().meta({ label: "Sleeping" }),
|
|
58623
60605
|
/** Ms epoch of the last observation. Lets consumers reason about freshness. */
|
|
58624
60606
|
lastUpdated: number(),
|
|
58625
60607
|
/**
|
|
@@ -58659,7 +60641,7 @@ var BatteryStatusSchema = object({
|
|
|
58659
60641
|
* sub-threshold = low). UI MUST render "Normal"/"Low" instead of a
|
|
58660
60642
|
* misleading exact percentage. Absent/false → genuine 0–100 % reading.
|
|
58661
60643
|
*/
|
|
58662
|
-
binary: boolean().optional()
|
|
60644
|
+
binary: boolean().optional().meta({ label: "Binary indicator" })
|
|
58663
60645
|
});
|
|
58664
60646
|
var BATTERY_DEVICE_TYPES = [
|
|
58665
60647
|
DeviceType.Camera,
|
|
@@ -58673,6 +60655,7 @@ var BATTERY_DEVICE_TYPES = [
|
|
|
58673
60655
|
/** Generic Customize target for the percentage reading (D936). */
|
|
58674
60656
|
var batteryCustomize = {
|
|
58675
60657
|
version: 1,
|
|
60658
|
+
advanced: "derive",
|
|
58676
60659
|
targets: [{
|
|
58677
60660
|
id: "percentage",
|
|
58678
60661
|
cardinality: "scalar",
|
|
@@ -58812,7 +60795,7 @@ onStatusChanged: { data: object({
|
|
|
58812
60795
|
volatileStateFields: ["lastUpdated"]
|
|
58813
60796
|
};
|
|
58814
60797
|
object({
|
|
58815
|
-
on: boolean(),
|
|
60798
|
+
on: boolean().meta({ label: "On" }),
|
|
58816
60799
|
/** Ms epoch of the last transition. 0 if never observed. */
|
|
58817
60800
|
lastChangedAt: number()
|
|
58818
60801
|
});
|
|
@@ -59070,7 +61053,7 @@ var GridLayoutCellSchema = object({
|
|
|
59070
61053
|
*
|
|
59071
61054
|
* A grid's `high` composes its sources' `high` and its `low` their `low`, so a
|
|
59072
61055
|
* profile is on offer only when EVERY source can serve it. The refusal NAMES
|
|
59073
|
-
* the sources, because "this grid has no low" is not a finding — "
|
|
61056
|
+
* the sources, because "this grid has no low" is not a finding — "101 has no
|
|
59074
61057
|
* low" is, and it is the one an operator can act on.
|
|
59075
61058
|
*/
|
|
59076
61059
|
var GridProfileOfferSchema = object({
|
|
@@ -60621,7 +62604,10 @@ DeviceType.Humidifier, method(object({
|
|
|
60621
62604
|
});
|
|
60622
62605
|
object({
|
|
60623
62606
|
/** Current relative humidity, 0..100. */
|
|
60624
|
-
percent: number().min(0).max(100)
|
|
62607
|
+
percent: number().min(0).max(100).meta({
|
|
62608
|
+
unit: "%",
|
|
62609
|
+
label: "Humidity"
|
|
62610
|
+
}),
|
|
60625
62611
|
/** Ms epoch when the slice was last updated. */
|
|
60626
62612
|
lastFetchedAt: number(),
|
|
60627
62613
|
/** Live display unit from the upstream source (e.g. HA
|
|
@@ -63398,9 +65384,15 @@ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema)
|
|
|
63398
65384
|
});
|
|
63399
65385
|
object({
|
|
63400
65386
|
/** Instantaneous power draw in watts. */
|
|
63401
|
-
watts: number().optional()
|
|
65387
|
+
watts: number().optional().meta({
|
|
65388
|
+
unit: "W",
|
|
65389
|
+
label: "Power"
|
|
65390
|
+
}),
|
|
63402
65391
|
/** Cumulative energy in kilowatt-hours since the meter was reset. */
|
|
63403
|
-
kwhTotal: number().optional()
|
|
65392
|
+
kwhTotal: number().optional().meta({
|
|
65393
|
+
unit: "kWh",
|
|
65394
|
+
label: "Energy"
|
|
65395
|
+
}),
|
|
63404
65396
|
/** Voltage in volts. */
|
|
63405
65397
|
volts: number().optional(),
|
|
63406
65398
|
/** Current in amperes. */
|
|
@@ -63719,9 +65711,9 @@ var PtzOptionsSchema = object({
|
|
|
63719
65711
|
* Reolink preset 0, Hikvision preset '1', Dahua preset 1 -- and on this fleet
|
|
63720
65712
|
* not one of the three cameras honours its own:
|
|
63721
65713
|
*
|
|
63722
|
-
*
|
|
63723
|
-
* 1438
|
|
63724
|
-
* 3836
|
|
65714
|
+
* 107 Camera camera Carol (reolink) preset 0 holds "stanza"
|
|
65715
|
+
* 1438 Camera dispensa (hikvision) preset 1 holds "Credenza"
|
|
65716
|
+
* 3836 Camera studio (amcrest) preset 1 holds "Preset1"
|
|
63725
65717
|
*
|
|
63726
65718
|
* So `goHome` meant "go wherever the operator happened to save in slot 0 or 1",
|
|
63727
65719
|
* and two of the three swallowed the failure in a bare `catch`. For autotrack
|
|
@@ -63868,7 +65860,7 @@ object({
|
|
|
63868
65860
|
running: boolean().nullable(),
|
|
63869
65861
|
/** Epoch ms the current boolean began; null while `running` is null. */
|
|
63870
65862
|
since: number().nullable(),
|
|
63871
|
-
source: RunningStateSourceSchema,
|
|
65863
|
+
source: RunningStateSourceSchema.meta({ label: "Source" }),
|
|
63872
65864
|
phase: string().nullable(),
|
|
63873
65865
|
/** null until a reading has been published (D393). */
|
|
63874
65866
|
lastFetchedAt: number().nullable()
|
|
@@ -63980,7 +65972,7 @@ var RecordingAvailabilitySchema = object({
|
|
|
63980
65972
|
* would look identical. But the answer used to say nothing about that, so a
|
|
63981
65973
|
* caller asking "what can I export?" read the single preferred profile as
|
|
63982
65974
|
* the only one that exists — on this deployment every camera records `high`
|
|
63983
|
-
* AND `low`, the low tree holding 14 GB for camera
|
|
65975
|
+
* AND `low`, the low tree holding 14 GB for camera 101 alone, and the export
|
|
63984
65976
|
* UI could not see it.
|
|
63985
65977
|
*
|
|
63986
65978
|
* Cheap: it is the same shallow directory read the profile CHOICE already
|
|
@@ -64079,7 +66071,7 @@ var RecordingSourceOptionsSchema = object({
|
|
|
64079
66071
|
* `sparse` = gaps are the absence of one, and must be drawn as such.
|
|
64080
66072
|
*
|
|
64081
66073
|
* Not an onboard-only concession: measured 2026-09-24, OUR bar covers 98.8 %
|
|
64082
|
-
* of
|
|
66074
|
+
* of 107's day and 1.2 % of 1436's. It is a fact about a (source, camera)
|
|
64083
66075
|
* pair, and ours answers it per camera from `deriveRecordingMode`. */
|
|
64084
66076
|
coverage: _enum(["continuous", "sparse"]),
|
|
64085
66077
|
/** Where the playhead may be put.
|
|
@@ -64190,7 +66182,7 @@ var recordingCapability = {
|
|
|
64190
66182
|
* merely discouraged (D554 amended).
|
|
64191
66183
|
*
|
|
64192
66184
|
* It was learned the expensive way on `videoclips.listClips`: measured
|
|
64193
|
-
* on the live hub 2026-09-20, device
|
|
66185
|
+
* on the live hub 2026-09-20, device 107 bound to `recorder` AND
|
|
64194
66186
|
* `provider-reolink`, a bare call with `limit: 3` answered SIX rows,
|
|
64195
66187
|
* three from each source, merged — `device-collection-dispatch.ts`
|
|
64196
66188
|
* leaves an unpinned fan-out un-narrowed, so absence buys the union the
|
|
@@ -65014,7 +67006,7 @@ var ExportSpeedSchema = number().min(.25).max(32);
|
|
|
65014
67006
|
* on a 10 h window holding 29,393 s of footage every range landed late by the
|
|
65015
67007
|
* gap accumulated before it — up to 6,607 s, well past EOF. Nothing matched,
|
|
65016
67008
|
* the video was a uniform timelapse, and the log line reported the five ranges
|
|
65017
|
-
* that had been ASKED for (2026-08-13, export `57d14363`, camera
|
|
67009
|
+
* that had been ASKED for (2026-08-13, export `57d14363`, camera 101).
|
|
65018
67010
|
*
|
|
65019
67011
|
* Relative and not absolute epoch, because an absolute epoch would make every
|
|
65020
67012
|
* call site responsible for the same subtraction.
|
|
@@ -65855,7 +67847,7 @@ getStatus: method(object({ deviceId: number() }), RecordingSignalStatusSchema) }
|
|
|
65855
67847
|
* which put a "Scenes" tab on one camera's detail page. That is the wrong shape
|
|
65856
67848
|
* for the thing: a scene is a standing question about the property ("is the bin
|
|
65857
67849
|
* still out"), and the operator's question is "which of my scenes have tripped",
|
|
65858
|
-
* across every camera at once — not "what does camera
|
|
67850
|
+
* across every camera at once — not "what does camera 102 think". Buried one
|
|
65859
67851
|
* camera deep it also could not be found. The surface is now a top-level admin
|
|
65860
67852
|
* page (`/scenes`, `pages/Scenes.tsx`) that lists every scene on every camera and
|
|
65861
67853
|
* picks the camera inside the create flow, the same shape Events and Faces have.
|
|
@@ -66438,7 +68430,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), StreamParamsOptionsSch
|
|
|
66438
68430
|
auth: "admin"
|
|
66439
68431
|
}), method(object({ deviceId: number() }), unknown().nullable());
|
|
66440
68432
|
object({
|
|
66441
|
-
on: boolean(),
|
|
68433
|
+
on: boolean().meta({ label: "On" }),
|
|
66442
68434
|
/** Ms epoch of the last state change. Useful for UI "X minutes ago". */
|
|
66443
68435
|
lastChangedAt: number()
|
|
66444
68436
|
});
|
|
@@ -67001,7 +68993,10 @@ object({
|
|
|
67001
68993
|
DeviceType.Sensor;
|
|
67002
68994
|
object({
|
|
67003
68995
|
/** Current temperature in Celsius. */
|
|
67004
|
-
celsius: number()
|
|
68996
|
+
celsius: number().meta({
|
|
68997
|
+
unit: "°C",
|
|
68998
|
+
label: "Temperature"
|
|
68999
|
+
}),
|
|
67005
69000
|
/** Ms epoch when the slice was last updated (push or poll). */
|
|
67006
69001
|
lastFetchedAt: number(),
|
|
67007
69002
|
/** Live display unit from the upstream source (e.g. HA
|
|
@@ -68189,6 +70184,10 @@ function dominantClipLabels(events) {
|
|
|
68189
70184
|
return [...counts.entries()].toSorted((x, y) => y[1] - x[1]).slice(0, 3).map(([name]) => name);
|
|
68190
70185
|
}
|
|
68191
70186
|
SOURCE_CAPS.filter((cap) => cap !== "switch" && cap !== "motion");
|
|
70187
|
+
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher, DeviceType.Camera, DeviceType.Camera, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.MediaPlayer, DeviceType.WaterHeater, DeviceType.Humidifier, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.PetFeeder;
|
|
70188
|
+
String.raw`rose\(active(\d+), changed(\d+), (\d+(?:\.\d+)?)\)`;
|
|
70189
|
+
DeviceRole.BinarySensor, DeviceRole.MotionSensor;
|
|
70190
|
+
new Set(CAP_NAMES);
|
|
68192
70191
|
Object.freeze({
|
|
68193
70192
|
person: .5,
|
|
68194
70193
|
vehicle: .5,
|
|
@@ -81144,7 +83143,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
81144
83143
|
state: [{
|
|
81145
83144
|
kind: "boolean",
|
|
81146
83145
|
field: "on",
|
|
81147
|
-
label: t("
|
|
83146
|
+
label: t("On", "Acceso"),
|
|
81148
83147
|
whenTrue: t("When {device} turns active", "Quando {device} si attiva"),
|
|
81149
83148
|
whenFalse: t("When {device} turns inactive", "Quando {device} si disattiva"),
|
|
81150
83149
|
icon: "toggle-right"
|
|
@@ -84568,7 +86567,6 @@ Object.freeze({
|
|
|
84568
86567
|
"smtp-provider": "email"
|
|
84569
86568
|
});
|
|
84570
86569
|
DeviceType.Camera;
|
|
84571
|
-
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher, DeviceType.Camera, DeviceType.Camera, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.MediaPlayer, DeviceType.WaterHeater, DeviceType.Humidifier, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.PetFeeder;
|
|
84572
86570
|
/**
|
|
84573
86571
|
* A saved Customize assignment (D936). The schema is the type: callers use
|
|
84574
86572
|
* `z.infer`, they do not restate the shape.
|
|
@@ -84657,7 +86655,6 @@ object({
|
|
|
84657
86655
|
]),
|
|
84658
86656
|
reason: string().nullable()
|
|
84659
86657
|
});
|
|
84660
|
-
String.raw`rose\(active(\d+), changed(\d+), (\d+(?:\.\d+)?)\)`;
|
|
84661
86658
|
var G711_SCALE_CORRECTION_DB = {
|
|
84662
86659
|
PCMU: 20 * Math.log10(4),
|
|
84663
86660
|
PCMA: 20 * Math.log10(8)
|
|
@@ -85080,7 +87077,7 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
85080
87077
|
{
|
|
85081
87078
|
name: "summaryStreams",
|
|
85082
87079
|
label: "Summary: streams offline",
|
|
85083
|
-
example: "
|
|
87080
|
+
example: "Front door (high) — since 06:40",
|
|
85084
87081
|
kinds: ["stream-offline", "stream-online"]
|
|
85085
87082
|
},
|
|
85086
87083
|
{
|
|
@@ -85098,13 +87095,13 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
85098
87095
|
{
|
|
85099
87096
|
name: "summaryDetection",
|
|
85100
87097
|
label: "Summary: cameras detecting nothing",
|
|
85101
|
-
example: "
|
|
87098
|
+
example: "Front door — since 05:10",
|
|
85102
87099
|
kinds: ["detection-blind"]
|
|
85103
87100
|
},
|
|
85104
87101
|
{
|
|
85105
87102
|
name: "summaryNodes",
|
|
85106
87103
|
label: "Summary: nodes",
|
|
85107
|
-
example: "
|
|
87104
|
+
example: "agent-a — offline since 03:00",
|
|
85108
87105
|
kinds: [
|
|
85109
87106
|
"node-offline",
|
|
85110
87107
|
"node-online",
|
|
@@ -85946,7 +87943,7 @@ function classifyRegion(region, uncovered) {
|
|
|
85946
87943
|
* The pass report counts the passes that RAN, so "the second pass stops running
|
|
85947
87944
|
* when a person is beside the dog" — a plausible reading of
|
|
85948
87945
|
* {@link RECOVERY_MAX_REGION_FRAME_FRACTION} and
|
|
85949
|
-
* {@link RECOVERY_MIN_UNCOVERED_FRACTION}, and a live hypothesis on camera
|
|
87946
|
+
* {@link RECOVERY_MIN_UNCOVERED_FRACTION}, and a live hypothesis on camera 101
|
|
85950
87947
|
* — could not be confirmed or killed from the logs at all. This classifies the
|
|
85951
87948
|
* regions a frame offered, against the same predicate the planner filters on.
|
|
85952
87949
|
*/
|
|
@@ -86252,7 +88249,7 @@ function planMotionCropRegions(input) {
|
|
|
86252
88249
|
* — and ceilinged at {@link RECOVERY_CROP_MAX_SIDE_PX}. The ceiling is NOT a
|
|
86253
88250
|
* simplification either: at 1024 px the same 320 model scored the reference
|
|
86254
88251
|
* dog 0.52–0.76, and at 1280 px lost it entirely
|
|
86255
|
-
* (`docs/benchmarks/pipeline-frame-model-eval.md`, case `miss-dog-
|
|
88252
|
+
* (`docs/benchmarks/pipeline-frame-model-eval.md`, case `miss-dog-101`). A
|
|
86256
88253
|
* region longer than the ceiling is TILED along its longer axis, never zoomed
|
|
86257
88254
|
* out.
|
|
86258
88255
|
*/
|