@camstack/system 1.2.481 → 1.2.483
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/dist/addon-runner.js +2 -2
- package/dist/addon-runner.mjs +2 -2
- package/dist/{agent-https-o3X-jkS7.js → agent-https-CHZpVx3I.js} +1 -1
- package/dist/{agent-https-doVPSeiy.mjs → agent-https-NP141VCW.mjs} +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.js +3 -3
- package/dist/builtins/alerts/alerts.addon.mjs +3 -3
- package/dist/builtins/alerts/device-label.d.ts +2 -2
- package/dist/builtins/autotrack/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
- package/dist/builtins/calendars/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- package/dist/builtins/camera-grid/acquire-retry.d.ts +1 -1
- package/dist/builtins/camera-grid/addon.d.ts +2 -2
- package/dist/builtins/camera-grid/grid-profiles.d.ts +1 -1
- package/dist/builtins/camera-grid/grid-sentry-sources.d.ts +1 -1
- package/dist/builtins/camera-grid/index.js +3 -3
- package/dist/builtins/camera-grid/index.mjs +3 -3
- package/dist/builtins/composer/composer.addon.js +4 -4
- package/dist/builtins/composer/composer.addon.mjs +4 -4
- package/dist/builtins/composer/existing-target.d.ts +1 -1
- package/dist/builtins/composer/own-field-reads.d.ts +1 -1
- package/dist/builtins/console-logging/index.js +2 -2
- package/dist/builtins/console-logging/index.mjs +2 -2
- package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
- package/dist/builtins/device-history/device-history.addon.js +2 -2
- package/dist/builtins/device-history/device-history.addon.mjs +2 -2
- package/dist/builtins/device-manager/device-aggregation.d.ts +1 -1
- package/dist/builtins/device-manager/device-bindings-store.d.ts +3 -3
- package/dist/builtins/device-manager/device-manager.addon.js +9 -9
- package/dist/builtins/device-manager/device-manager.addon.mjs +9 -9
- package/dist/builtins/device-manager/device-meta-types.d.ts +2 -2
- package/dist/builtins/device-manager/device-online-fallback.d.ts +1 -1
- package/dist/builtins/hub-forwarder/index.js +2 -2
- package/dist/builtins/hub-forwarder/index.mjs +2 -2
- package/dist/builtins/keychain/index.js +3 -3
- package/dist/builtins/keychain/index.mjs +3 -3
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/local-auth.addon.js +2 -2
- package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
- package/dist/builtins/local-network/local-network.addon.js +2 -2
- package/dist/builtins/local-network/local-network.addon.mjs +2 -2
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.d.ts +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +3 -3
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +3 -3
- package/dist/builtins/native-metrics/thread-cpu-sampler.d.ts +1 -1
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/record-entries/index.js +1 -1
- package/dist/builtins/record-entries/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/snapshot/snapshot-fatigue.d.ts +1 -1
- package/dist/builtins/snapshot/snapshot-link-url.d.ts +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/filter-compiler.d.ts +1 -1
- package/dist/builtins/sqlite-storage/index.js +1 -1
- package/dist/builtins/sqlite-storage/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/prefix-range.d.ts +2 -2
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -2
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -2
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
- package/dist/builtins/system-config/system-config.addon.js +3 -3
- package/dist/builtins/system-config/system-config.addon.mjs +280 -280
- package/dist/builtins/winston-logging/index.js +2 -2
- package/dist/builtins/winston-logging/index.mjs +2 -2
- package/dist/{composition-sources-BrDtOpfE.mjs → composition-sources-CC13wGKL.mjs} +1 -1
- package/dist/{composition-sources-BmhhDWIc.js → composition-sources-CQxrCexr.js} +1 -1
- package/dist/{constants-BVJrLycr.js → constants-Bt0NFXDm.js} +1 -1
- package/dist/{constants-xuLNi4a2.mjs → constants-DMB-ex5z.mjs} +1 -1
- package/dist/{device-ca-DgLZPn5R.js → device-ca-CSLMfr4Q.js} +1 -1
- package/dist/{device-ca-DKOZSFED.mjs → device-ca-HQKcvofS.mjs} +1 -1
- package/dist/{dist--v3KMKa1.js → dist-2gZWO597.js} +2215 -241
- package/dist/{dist-BIJXQo_j.mjs → dist-DvKEKSap.mjs} +2215 -241
- package/dist/file-host-worker.js +1 -1
- package/dist/file-host-worker.mjs +1 -1
- package/dist/{formatter-B7qW8bPJ.mjs → formatter-DkYZ4LXp.mjs} +1 -1
- package/dist/{formatter-DqAKDlvN.js → formatter-xbxeV4GD.js} +1 -1
- package/dist/{hub-mdns-ciao-C3NJsOvK.js → hub-mdns-ciao-Bs3cn9C1.js} +2 -2
- package/dist/{hub-mdns-ciao-DMFXIlMY.mjs → hub-mdns-ciao-CVf6mxIZ.mjs} +2 -2
- package/dist/index.js +131 -17
- package/dist/index.mjs +129 -18
- package/dist/kernel/addon-installer.d.ts +25 -5
- package/dist/kernel/addon-version-policy.d.ts +26 -0
- package/dist/kernel/heap-watch.d.ts +1 -1
- package/dist/kernel/index.d.ts +2 -0
- package/dist/kernel/moleculer/trpc-links.d.ts +1 -1
- package/dist/kernel/transport/socket-channel.d.ts +1 -1
- package/dist/logging/formatter.d.ts +1 -1
- package/dist/{restore-archive-DAEsvFY6.mjs → restore-archive-EFYeCdrG.mjs} +78 -78
- package/dist/{restore-archive-DpkdAuFf.js → restore-archive-_mgadWlk.js} +1 -1
- package/dist/{retention-DbunrLR4.mjs → retention-FFJW3-3P.mjs} +1 -1
- package/dist/{retention-C71dNCIh.js → retention-qugQGYuY.js} +1 -1
- package/dist/{wal-maintenance-CsGk4kYn.js → wal-maintenance-DbUC_wdC.js} +0 -0
- package/dist/{wal-maintenance-DYAJwPWu.mjs → wal-maintenance-TCW_esAc.mjs} +0 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
let zod = require("zod");
|
|
2
2
|
require("node:crypto");
|
|
3
|
-
//#region ../types/dist/event-category-
|
|
3
|
+
//#region ../types/dist/event-category-DHXxB8t9.mjs
|
|
4
4
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
5
5
|
EventCategory["SystemBoot"] = "system.boot";
|
|
6
6
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -296,7 +296,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
296
296
|
* TRANSITION into that state (never per dispatch), and the node is dropped
|
|
297
297
|
* from the placement candidate set for as long as it holds.
|
|
298
298
|
*
|
|
299
|
-
* This exists because the state was previously invisible:
|
|
299
|
+
* This exists because the state was previously invisible: agent-a
|
|
300
300
|
* absorbed 283k inference errors in a day while still being handed cameras,
|
|
301
301
|
* and nothing in the system said so.
|
|
302
302
|
*
|
|
@@ -765,7 +765,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
765
765
|
return EventCategory;
|
|
766
766
|
}({});
|
|
767
767
|
//#endregion
|
|
768
|
-
//#region ../types/dist/sleep-
|
|
768
|
+
//#region ../types/dist/sleep-BErAxhul.mjs
|
|
769
769
|
/**
|
|
770
770
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
771
771
|
* window to float samples (D455).
|
|
@@ -4866,7 +4866,7 @@ var viewerUiCapability = {
|
|
|
4866
4866
|
* `getStaticDir` leaks a hub filesystem path.
|
|
4867
4867
|
*
|
|
4868
4868
|
* ⚠ Checked before gating: the VIEWER app IS used by a non-admin user
|
|
4869
|
-
* (`
|
|
4869
|
+
* (`bob`), but it never calls `viewerUi.*` over tRPC. The static SPA
|
|
4870
4870
|
* it loads is served by the plain `GET /viewer/*` Fastify route in
|
|
4871
4871
|
* `main.ts`, which reads `staticDir`/`indexPath` from a module-level
|
|
4872
4872
|
* cache populated ONCE at boot via `capRegistry.getSingletonForNode`
|
|
@@ -5000,6 +5000,1980 @@ var deviceOpsCapability = {
|
|
|
5000
5000
|
getRawState: method(zod.z.object({ deviceId: zod.z.number() }), RawStateResultSchema.nullable(), { auth: "protected" })
|
|
5001
5001
|
}
|
|
5002
5002
|
};
|
|
5003
|
+
Object.freeze({ "doorbell": "lastPressedAt" });
|
|
5004
|
+
/** Every capability name, so addon code can check a name without the schema graph. */
|
|
5005
|
+
var CAP_NAMES = Object.freeze([
|
|
5006
|
+
"accessories",
|
|
5007
|
+
"addon-pages",
|
|
5008
|
+
"addon-pages-source",
|
|
5009
|
+
"addon-routes",
|
|
5010
|
+
"addon-settings",
|
|
5011
|
+
"addon-widgets",
|
|
5012
|
+
"addon-widgets-source",
|
|
5013
|
+
"addons",
|
|
5014
|
+
"admin-ui",
|
|
5015
|
+
"air-quality-sensor",
|
|
5016
|
+
"alarm-panel",
|
|
5017
|
+
"alerts",
|
|
5018
|
+
"ambient-light-sensor",
|
|
5019
|
+
"audio-analysis",
|
|
5020
|
+
"audio-analyzer",
|
|
5021
|
+
"audio-codec",
|
|
5022
|
+
"audio-metrics",
|
|
5023
|
+
"auth-provider",
|
|
5024
|
+
"automation-control",
|
|
5025
|
+
"backup",
|
|
5026
|
+
"battery",
|
|
5027
|
+
"binary",
|
|
5028
|
+
"brightness",
|
|
5029
|
+
"broker",
|
|
5030
|
+
"button",
|
|
5031
|
+
"calendar-source",
|
|
5032
|
+
"calendars",
|
|
5033
|
+
"camera-credentials",
|
|
5034
|
+
"camera-grid-layout",
|
|
5035
|
+
"camera-pipeline-config",
|
|
5036
|
+
"camera-streams",
|
|
5037
|
+
"carbon-monoxide",
|
|
5038
|
+
"climate-control",
|
|
5039
|
+
"color",
|
|
5040
|
+
"composer",
|
|
5041
|
+
"connection-test",
|
|
5042
|
+
"connectivity",
|
|
5043
|
+
"consumables",
|
|
5044
|
+
"contact",
|
|
5045
|
+
"control",
|
|
5046
|
+
"core-blocks",
|
|
5047
|
+
"cover",
|
|
5048
|
+
"custom-model-registry",
|
|
5049
|
+
"data-store-provider",
|
|
5050
|
+
"database-snapshot",
|
|
5051
|
+
"day-night",
|
|
5052
|
+
"decoder",
|
|
5053
|
+
"detection-pipeline",
|
|
5054
|
+
"device-admin-link",
|
|
5055
|
+
"device-adoption",
|
|
5056
|
+
"device-credentials",
|
|
5057
|
+
"device-discovery",
|
|
5058
|
+
"device-export",
|
|
5059
|
+
"device-extension",
|
|
5060
|
+
"device-history",
|
|
5061
|
+
"device-manager",
|
|
5062
|
+
"device-ops",
|
|
5063
|
+
"device-provider",
|
|
5064
|
+
"device-removal-hook",
|
|
5065
|
+
"device-state",
|
|
5066
|
+
"device-status",
|
|
5067
|
+
"dishwasher",
|
|
5068
|
+
"display-palette",
|
|
5069
|
+
"doorbell",
|
|
5070
|
+
"embedding-encoder",
|
|
5071
|
+
"enum-sensor",
|
|
5072
|
+
"event-emitter",
|
|
5073
|
+
"face-gallery",
|
|
5074
|
+
"failure-contribution",
|
|
5075
|
+
"fan-control",
|
|
5076
|
+
"feature-probe",
|
|
5077
|
+
"filesystem-browse",
|
|
5078
|
+
"flood",
|
|
5079
|
+
"gas",
|
|
5080
|
+
"heating-valve",
|
|
5081
|
+
"humidifier",
|
|
5082
|
+
"humidity-sensor",
|
|
5083
|
+
"image",
|
|
5084
|
+
"image-settings",
|
|
5085
|
+
"integrations",
|
|
5086
|
+
"intercom",
|
|
5087
|
+
"keychain",
|
|
5088
|
+
"keychain-admin",
|
|
5089
|
+
"lawn-mower-control",
|
|
5090
|
+
"llm",
|
|
5091
|
+
"llm-runtime",
|
|
5092
|
+
"load-contribution",
|
|
5093
|
+
"local-network",
|
|
5094
|
+
"lock-control",
|
|
5095
|
+
"log-channels",
|
|
5096
|
+
"log-destination",
|
|
5097
|
+
"login-method",
|
|
5098
|
+
"media-player",
|
|
5099
|
+
"mesh-network",
|
|
5100
|
+
"metrics-provider",
|
|
5101
|
+
"model-convert",
|
|
5102
|
+
"model-distributor",
|
|
5103
|
+
"motion",
|
|
5104
|
+
"motion-detection",
|
|
5105
|
+
"motion-trigger",
|
|
5106
|
+
"motion-zones",
|
|
5107
|
+
"mqtt-broker",
|
|
5108
|
+
"native-object-detection",
|
|
5109
|
+
"navigation",
|
|
5110
|
+
"network-access",
|
|
5111
|
+
"network-link",
|
|
5112
|
+
"network-quality",
|
|
5113
|
+
"node-certificates",
|
|
5114
|
+
"nodes",
|
|
5115
|
+
"notification-output",
|
|
5116
|
+
"notification-rules",
|
|
5117
|
+
"notifier",
|
|
5118
|
+
"numeric-sensor",
|
|
5119
|
+
"oauth-integration",
|
|
5120
|
+
"oidc-connections",
|
|
5121
|
+
"osd",
|
|
5122
|
+
"osd-manager",
|
|
5123
|
+
"pet-feeder",
|
|
5124
|
+
"pipeline-analytics",
|
|
5125
|
+
"pipeline-executor",
|
|
5126
|
+
"pipeline-orchestrator",
|
|
5127
|
+
"pipeline-runner",
|
|
5128
|
+
"plate-gallery",
|
|
5129
|
+
"platform-probe",
|
|
5130
|
+
"power-meter",
|
|
5131
|
+
"presence",
|
|
5132
|
+
"pressure-sensor",
|
|
5133
|
+
"privacy-mask",
|
|
5134
|
+
"ptz",
|
|
5135
|
+
"ptz-autotrack",
|
|
5136
|
+
"reboot",
|
|
5137
|
+
"record-entries",
|
|
5138
|
+
"recording",
|
|
5139
|
+
"recording-archive",
|
|
5140
|
+
"recording-export",
|
|
5141
|
+
"recording-onboard",
|
|
5142
|
+
"recording-signal",
|
|
5143
|
+
"records",
|
|
5144
|
+
"running-state",
|
|
5145
|
+
"scene-monitor",
|
|
5146
|
+
"script-runner",
|
|
5147
|
+
"server-management",
|
|
5148
|
+
"settings-store",
|
|
5149
|
+
"smoke",
|
|
5150
|
+
"smtp-provider",
|
|
5151
|
+
"snapshot",
|
|
5152
|
+
"sso-bridge",
|
|
5153
|
+
"storage",
|
|
5154
|
+
"storage-admin",
|
|
5155
|
+
"storage-evictable",
|
|
5156
|
+
"storage-migration",
|
|
5157
|
+
"storage-occupancy",
|
|
5158
|
+
"storage-provider",
|
|
5159
|
+
"stream-broker",
|
|
5160
|
+
"stream-catalog",
|
|
5161
|
+
"stream-params",
|
|
5162
|
+
"stream-signals",
|
|
5163
|
+
"switch",
|
|
5164
|
+
"system",
|
|
5165
|
+
"tamper",
|
|
5166
|
+
"temperature-sensor",
|
|
5167
|
+
"terminal-session",
|
|
5168
|
+
"toast",
|
|
5169
|
+
"training",
|
|
5170
|
+
"training-provider",
|
|
5171
|
+
"turn-provider",
|
|
5172
|
+
"update",
|
|
5173
|
+
"user-management",
|
|
5174
|
+
"user-passkeys",
|
|
5175
|
+
"vacuum-control",
|
|
5176
|
+
"valve",
|
|
5177
|
+
"vector-store",
|
|
5178
|
+
"vibration",
|
|
5179
|
+
"videoclips",
|
|
5180
|
+
"viewer-ui",
|
|
5181
|
+
"water-heater",
|
|
5182
|
+
"weather",
|
|
5183
|
+
"webrtc-session",
|
|
5184
|
+
"zone-analytics",
|
|
5185
|
+
"zone-rules",
|
|
5186
|
+
"zones"
|
|
5187
|
+
]);
|
|
5188
|
+
Object.freeze({
|
|
5189
|
+
"air-quality-sensor": [
|
|
5190
|
+
{
|
|
5191
|
+
"path": "co2Ppm",
|
|
5192
|
+
"valueType": "number"
|
|
5193
|
+
},
|
|
5194
|
+
{
|
|
5195
|
+
"path": "vocPpb",
|
|
5196
|
+
"valueType": "number"
|
|
5197
|
+
},
|
|
5198
|
+
{
|
|
5199
|
+
"path": "pm25",
|
|
5200
|
+
"valueType": "number"
|
|
5201
|
+
},
|
|
5202
|
+
{
|
|
5203
|
+
"path": "pm10",
|
|
5204
|
+
"valueType": "number"
|
|
5205
|
+
},
|
|
5206
|
+
{
|
|
5207
|
+
"path": "aqi",
|
|
5208
|
+
"valueType": "number"
|
|
5209
|
+
},
|
|
5210
|
+
{
|
|
5211
|
+
"path": "unit",
|
|
5212
|
+
"valueType": "string"
|
|
5213
|
+
},
|
|
5214
|
+
{
|
|
5215
|
+
"path": "precision",
|
|
5216
|
+
"valueType": "number"
|
|
5217
|
+
}
|
|
5218
|
+
],
|
|
5219
|
+
"alarm-panel": [
|
|
5220
|
+
{
|
|
5221
|
+
"path": "state",
|
|
5222
|
+
"valueType": "enum",
|
|
5223
|
+
"enumValues": [
|
|
5224
|
+
"disarmed",
|
|
5225
|
+
"armed_home",
|
|
5226
|
+
"armed_away",
|
|
5227
|
+
"armed_night",
|
|
5228
|
+
"armed_vacation",
|
|
5229
|
+
"armed_custom_bypass",
|
|
5230
|
+
"arming",
|
|
5231
|
+
"disarming",
|
|
5232
|
+
"pending",
|
|
5233
|
+
"triggered"
|
|
5234
|
+
]
|
|
5235
|
+
},
|
|
5236
|
+
{
|
|
5237
|
+
"path": "targetMode",
|
|
5238
|
+
"valueType": "enum",
|
|
5239
|
+
"enumValues": [
|
|
5240
|
+
"home",
|
|
5241
|
+
"away",
|
|
5242
|
+
"night",
|
|
5243
|
+
"vacation",
|
|
5244
|
+
"custom_bypass"
|
|
5245
|
+
]
|
|
5246
|
+
},
|
|
5247
|
+
{
|
|
5248
|
+
"path": "requiresCode",
|
|
5249
|
+
"valueType": "boolean"
|
|
5250
|
+
}
|
|
5251
|
+
],
|
|
5252
|
+
"ambient-light-sensor": [
|
|
5253
|
+
{
|
|
5254
|
+
"path": "lux",
|
|
5255
|
+
"valueType": "number"
|
|
5256
|
+
},
|
|
5257
|
+
{
|
|
5258
|
+
"path": "unit",
|
|
5259
|
+
"valueType": "string"
|
|
5260
|
+
},
|
|
5261
|
+
{
|
|
5262
|
+
"path": "precision",
|
|
5263
|
+
"valueType": "number"
|
|
5264
|
+
}
|
|
5265
|
+
],
|
|
5266
|
+
"audio-metrics": [
|
|
5267
|
+
{
|
|
5268
|
+
"path": "ts",
|
|
5269
|
+
"valueType": "number"
|
|
5270
|
+
},
|
|
5271
|
+
{
|
|
5272
|
+
"path": "windowSec",
|
|
5273
|
+
"valueType": "number"
|
|
5274
|
+
},
|
|
5275
|
+
{
|
|
5276
|
+
"path": "level.rms",
|
|
5277
|
+
"valueType": "number"
|
|
5278
|
+
},
|
|
5279
|
+
{
|
|
5280
|
+
"path": "level.dbfs",
|
|
5281
|
+
"valueType": "number"
|
|
5282
|
+
},
|
|
5283
|
+
{
|
|
5284
|
+
"path": "peakDbfs",
|
|
5285
|
+
"valueType": "number"
|
|
5286
|
+
},
|
|
5287
|
+
{
|
|
5288
|
+
"path": "avgDbfs",
|
|
5289
|
+
"valueType": "number"
|
|
5290
|
+
},
|
|
5291
|
+
{
|
|
5292
|
+
"path": "current.className",
|
|
5293
|
+
"valueType": "string"
|
|
5294
|
+
},
|
|
5295
|
+
{
|
|
5296
|
+
"path": "current.score",
|
|
5297
|
+
"valueType": "number"
|
|
5298
|
+
},
|
|
5299
|
+
{
|
|
5300
|
+
"path": "current.timestamp",
|
|
5301
|
+
"valueType": "number"
|
|
5302
|
+
}
|
|
5303
|
+
],
|
|
5304
|
+
"automation-control": [
|
|
5305
|
+
{
|
|
5306
|
+
"path": "enabled",
|
|
5307
|
+
"valueType": "boolean"
|
|
5308
|
+
},
|
|
5309
|
+
{
|
|
5310
|
+
"path": "isRunning",
|
|
5311
|
+
"valueType": "boolean"
|
|
5312
|
+
},
|
|
5313
|
+
{
|
|
5314
|
+
"path": "lastTriggeredAt",
|
|
5315
|
+
"valueType": "number"
|
|
5316
|
+
},
|
|
5317
|
+
{
|
|
5318
|
+
"path": "lastError",
|
|
5319
|
+
"valueType": "string"
|
|
5320
|
+
}
|
|
5321
|
+
],
|
|
5322
|
+
"battery": [
|
|
5323
|
+
{
|
|
5324
|
+
"path": "percentage",
|
|
5325
|
+
"valueType": "number"
|
|
5326
|
+
},
|
|
5327
|
+
{
|
|
5328
|
+
"path": "charging",
|
|
5329
|
+
"valueType": "enum",
|
|
5330
|
+
"enumValues": [
|
|
5331
|
+
"dc",
|
|
5332
|
+
"solar",
|
|
5333
|
+
"none",
|
|
5334
|
+
"unknown"
|
|
5335
|
+
]
|
|
5336
|
+
},
|
|
5337
|
+
{
|
|
5338
|
+
"path": "sleeping",
|
|
5339
|
+
"valueType": "boolean"
|
|
5340
|
+
},
|
|
5341
|
+
{
|
|
5342
|
+
"path": "lastUpdated",
|
|
5343
|
+
"valueType": "number"
|
|
5344
|
+
},
|
|
5345
|
+
{
|
|
5346
|
+
"path": "lastContactAt",
|
|
5347
|
+
"valueType": "number"
|
|
5348
|
+
},
|
|
5349
|
+
{
|
|
5350
|
+
"path": "lastFullRefreshAt",
|
|
5351
|
+
"valueType": "number"
|
|
5352
|
+
},
|
|
5353
|
+
{
|
|
5354
|
+
"path": "binary",
|
|
5355
|
+
"valueType": "boolean"
|
|
5356
|
+
}
|
|
5357
|
+
],
|
|
5358
|
+
"binary": [{
|
|
5359
|
+
"path": "on",
|
|
5360
|
+
"valueType": "boolean"
|
|
5361
|
+
}],
|
|
5362
|
+
"brightness": [{
|
|
5363
|
+
"path": "percentage",
|
|
5364
|
+
"valueType": "number"
|
|
5365
|
+
}],
|
|
5366
|
+
"broker": [{
|
|
5367
|
+
"path": "brokerCount",
|
|
5368
|
+
"valueType": "number"
|
|
5369
|
+
}, {
|
|
5370
|
+
"path": "connectedCount",
|
|
5371
|
+
"valueType": "number"
|
|
5372
|
+
}],
|
|
5373
|
+
"camera-credentials": [
|
|
5374
|
+
{
|
|
5375
|
+
"path": "host",
|
|
5376
|
+
"valueType": "string"
|
|
5377
|
+
},
|
|
5378
|
+
{
|
|
5379
|
+
"path": "port",
|
|
5380
|
+
"valueType": "number"
|
|
5381
|
+
},
|
|
5382
|
+
{
|
|
5383
|
+
"path": "onvifPort",
|
|
5384
|
+
"valueType": "number"
|
|
5385
|
+
},
|
|
5386
|
+
{
|
|
5387
|
+
"path": "rtspPort",
|
|
5388
|
+
"valueType": "number"
|
|
5389
|
+
},
|
|
5390
|
+
{
|
|
5391
|
+
"path": "https",
|
|
5392
|
+
"valueType": "boolean"
|
|
5393
|
+
},
|
|
5394
|
+
{
|
|
5395
|
+
"path": "hasUsername",
|
|
5396
|
+
"valueType": "boolean"
|
|
5397
|
+
},
|
|
5398
|
+
{
|
|
5399
|
+
"path": "hasPassword",
|
|
5400
|
+
"valueType": "boolean"
|
|
5401
|
+
},
|
|
5402
|
+
{
|
|
5403
|
+
"path": "onvifProfile",
|
|
5404
|
+
"valueType": "string"
|
|
5405
|
+
}
|
|
5406
|
+
],
|
|
5407
|
+
"camera-streams": [
|
|
5408
|
+
{
|
|
5409
|
+
"path": "online",
|
|
5410
|
+
"valueType": "boolean"
|
|
5411
|
+
},
|
|
5412
|
+
{
|
|
5413
|
+
"path": "slotStatuses.high",
|
|
5414
|
+
"valueType": "enum",
|
|
5415
|
+
"enumValues": [
|
|
5416
|
+
"unassigned",
|
|
5417
|
+
"idle",
|
|
5418
|
+
"connecting",
|
|
5419
|
+
"streaming",
|
|
5420
|
+
"error"
|
|
5421
|
+
]
|
|
5422
|
+
},
|
|
5423
|
+
{
|
|
5424
|
+
"path": "slotStatuses.mid",
|
|
5425
|
+
"valueType": "enum",
|
|
5426
|
+
"enumValues": [
|
|
5427
|
+
"unassigned",
|
|
5428
|
+
"idle",
|
|
5429
|
+
"connecting",
|
|
5430
|
+
"streaming",
|
|
5431
|
+
"error"
|
|
5432
|
+
]
|
|
5433
|
+
},
|
|
5434
|
+
{
|
|
5435
|
+
"path": "slotStatuses.low",
|
|
5436
|
+
"valueType": "enum",
|
|
5437
|
+
"enumValues": [
|
|
5438
|
+
"unassigned",
|
|
5439
|
+
"idle",
|
|
5440
|
+
"connecting",
|
|
5441
|
+
"streaming",
|
|
5442
|
+
"error"
|
|
5443
|
+
]
|
|
5444
|
+
},
|
|
5445
|
+
{
|
|
5446
|
+
"path": "slotErrors.high",
|
|
5447
|
+
"valueType": "string"
|
|
5448
|
+
},
|
|
5449
|
+
{
|
|
5450
|
+
"path": "slotErrors.mid",
|
|
5451
|
+
"valueType": "string"
|
|
5452
|
+
},
|
|
5453
|
+
{
|
|
5454
|
+
"path": "slotErrors.low",
|
|
5455
|
+
"valueType": "string"
|
|
5456
|
+
}
|
|
5457
|
+
],
|
|
5458
|
+
"carbon-monoxide": [{
|
|
5459
|
+
"path": "detected",
|
|
5460
|
+
"valueType": "boolean"
|
|
5461
|
+
}],
|
|
5462
|
+
"climate-control": [
|
|
5463
|
+
{
|
|
5464
|
+
"path": "mode",
|
|
5465
|
+
"valueType": "enum",
|
|
5466
|
+
"enumValues": [
|
|
5467
|
+
"off",
|
|
5468
|
+
"heat",
|
|
5469
|
+
"cool",
|
|
5470
|
+
"auto",
|
|
5471
|
+
"heat_cool",
|
|
5472
|
+
"fan_only",
|
|
5473
|
+
"dry"
|
|
5474
|
+
]
|
|
5475
|
+
},
|
|
5476
|
+
{
|
|
5477
|
+
"path": "fanMode",
|
|
5478
|
+
"valueType": "string"
|
|
5479
|
+
},
|
|
5480
|
+
{
|
|
5481
|
+
"path": "preset",
|
|
5482
|
+
"valueType": "string"
|
|
5483
|
+
},
|
|
5484
|
+
{
|
|
5485
|
+
"path": "target",
|
|
5486
|
+
"valueType": "number"
|
|
5487
|
+
},
|
|
5488
|
+
{
|
|
5489
|
+
"path": "targetHigh",
|
|
5490
|
+
"valueType": "number"
|
|
5491
|
+
},
|
|
5492
|
+
{
|
|
5493
|
+
"path": "targetLow",
|
|
5494
|
+
"valueType": "number"
|
|
5495
|
+
},
|
|
5496
|
+
{
|
|
5497
|
+
"path": "targetHumidity",
|
|
5498
|
+
"valueType": "number"
|
|
5499
|
+
},
|
|
5500
|
+
{
|
|
5501
|
+
"path": "currentTemp",
|
|
5502
|
+
"valueType": "number"
|
|
5503
|
+
},
|
|
5504
|
+
{
|
|
5505
|
+
"path": "currentHumidity",
|
|
5506
|
+
"valueType": "number"
|
|
5507
|
+
},
|
|
5508
|
+
{
|
|
5509
|
+
"path": "swingVertical",
|
|
5510
|
+
"valueType": "boolean"
|
|
5511
|
+
},
|
|
5512
|
+
{
|
|
5513
|
+
"path": "swingHorizontal",
|
|
5514
|
+
"valueType": "boolean"
|
|
5515
|
+
},
|
|
5516
|
+
{
|
|
5517
|
+
"path": "minTemp",
|
|
5518
|
+
"valueType": "number"
|
|
5519
|
+
},
|
|
5520
|
+
{
|
|
5521
|
+
"path": "maxTemp",
|
|
5522
|
+
"valueType": "number"
|
|
5523
|
+
},
|
|
5524
|
+
{
|
|
5525
|
+
"path": "tempStep",
|
|
5526
|
+
"valueType": "number"
|
|
5527
|
+
}
|
|
5528
|
+
],
|
|
5529
|
+
"color": [
|
|
5530
|
+
{
|
|
5531
|
+
"path": "mode",
|
|
5532
|
+
"valueType": "enum",
|
|
5533
|
+
"enumValues": [
|
|
5534
|
+
"rgb",
|
|
5535
|
+
"hsv",
|
|
5536
|
+
"mired"
|
|
5537
|
+
]
|
|
5538
|
+
},
|
|
5539
|
+
{
|
|
5540
|
+
"path": "rgb.r",
|
|
5541
|
+
"valueType": "number"
|
|
5542
|
+
},
|
|
5543
|
+
{
|
|
5544
|
+
"path": "rgb.g",
|
|
5545
|
+
"valueType": "number"
|
|
5546
|
+
},
|
|
5547
|
+
{
|
|
5548
|
+
"path": "rgb.b",
|
|
5549
|
+
"valueType": "number"
|
|
5550
|
+
},
|
|
5551
|
+
{
|
|
5552
|
+
"path": "hsv.h",
|
|
5553
|
+
"valueType": "number"
|
|
5554
|
+
},
|
|
5555
|
+
{
|
|
5556
|
+
"path": "hsv.s",
|
|
5557
|
+
"valueType": "number"
|
|
5558
|
+
},
|
|
5559
|
+
{
|
|
5560
|
+
"path": "hsv.v",
|
|
5561
|
+
"valueType": "number"
|
|
5562
|
+
},
|
|
5563
|
+
{
|
|
5564
|
+
"path": "mireds",
|
|
5565
|
+
"valueType": "number"
|
|
5566
|
+
}
|
|
5567
|
+
],
|
|
5568
|
+
"connectivity": [{
|
|
5569
|
+
"path": "connected",
|
|
5570
|
+
"valueType": "boolean"
|
|
5571
|
+
}],
|
|
5572
|
+
"contact": [{
|
|
5573
|
+
"path": "entryOpen",
|
|
5574
|
+
"valueType": "boolean"
|
|
5575
|
+
}],
|
|
5576
|
+
"control": [
|
|
5577
|
+
{
|
|
5578
|
+
"path": "kind",
|
|
5579
|
+
"valueType": "enum",
|
|
5580
|
+
"enumValues": [
|
|
5581
|
+
"numeric",
|
|
5582
|
+
"select",
|
|
5583
|
+
"text",
|
|
5584
|
+
"datetime"
|
|
5585
|
+
]
|
|
5586
|
+
},
|
|
5587
|
+
{
|
|
5588
|
+
"path": "unit",
|
|
5589
|
+
"valueType": "string"
|
|
5590
|
+
},
|
|
5591
|
+
{
|
|
5592
|
+
"path": "min",
|
|
5593
|
+
"valueType": "number"
|
|
5594
|
+
},
|
|
5595
|
+
{
|
|
5596
|
+
"path": "max",
|
|
5597
|
+
"valueType": "number"
|
|
5598
|
+
},
|
|
5599
|
+
{
|
|
5600
|
+
"path": "step",
|
|
5601
|
+
"valueType": "number"
|
|
5602
|
+
},
|
|
5603
|
+
{
|
|
5604
|
+
"path": "precision",
|
|
5605
|
+
"valueType": "number"
|
|
5606
|
+
},
|
|
5607
|
+
{
|
|
5608
|
+
"path": "format",
|
|
5609
|
+
"valueType": "enum",
|
|
5610
|
+
"enumValues": [
|
|
5611
|
+
"date",
|
|
5612
|
+
"time",
|
|
5613
|
+
"datetime"
|
|
5614
|
+
]
|
|
5615
|
+
}
|
|
5616
|
+
],
|
|
5617
|
+
"cover": [
|
|
5618
|
+
{
|
|
5619
|
+
"path": "state",
|
|
5620
|
+
"valueType": "enum",
|
|
5621
|
+
"enumValues": [
|
|
5622
|
+
"open",
|
|
5623
|
+
"opening",
|
|
5624
|
+
"closing",
|
|
5625
|
+
"closed",
|
|
5626
|
+
"stopped"
|
|
5627
|
+
]
|
|
5628
|
+
},
|
|
5629
|
+
{
|
|
5630
|
+
"path": "position",
|
|
5631
|
+
"valueType": "number"
|
|
5632
|
+
},
|
|
5633
|
+
{
|
|
5634
|
+
"path": "tiltPosition",
|
|
5635
|
+
"valueType": "number"
|
|
5636
|
+
}
|
|
5637
|
+
],
|
|
5638
|
+
"day-night": [
|
|
5639
|
+
{
|
|
5640
|
+
"path": "mode",
|
|
5641
|
+
"valueType": "enum",
|
|
5642
|
+
"enumValues": [
|
|
5643
|
+
"auto",
|
|
5644
|
+
"day",
|
|
5645
|
+
"night",
|
|
5646
|
+
"schedule"
|
|
5647
|
+
]
|
|
5648
|
+
},
|
|
5649
|
+
{
|
|
5650
|
+
"path": "sensitivity",
|
|
5651
|
+
"valueType": "number"
|
|
5652
|
+
},
|
|
5653
|
+
{
|
|
5654
|
+
"path": "switchDelaySec",
|
|
5655
|
+
"valueType": "number"
|
|
5656
|
+
}
|
|
5657
|
+
],
|
|
5658
|
+
"device-adoption": [
|
|
5659
|
+
{
|
|
5660
|
+
"path": "lastDiscoveryAt",
|
|
5661
|
+
"valueType": "number"
|
|
5662
|
+
},
|
|
5663
|
+
{
|
|
5664
|
+
"path": "candidateCount",
|
|
5665
|
+
"valueType": "number"
|
|
5666
|
+
},
|
|
5667
|
+
{
|
|
5668
|
+
"path": "adoptedCount",
|
|
5669
|
+
"valueType": "number"
|
|
5670
|
+
},
|
|
5671
|
+
{
|
|
5672
|
+
"path": "lastError",
|
|
5673
|
+
"valueType": "string"
|
|
5674
|
+
}
|
|
5675
|
+
],
|
|
5676
|
+
"device-discovery": [{
|
|
5677
|
+
"path": "lastDiscoveryAt",
|
|
5678
|
+
"valueType": "number"
|
|
5679
|
+
}, {
|
|
5680
|
+
"path": "lastError",
|
|
5681
|
+
"valueType": "string"
|
|
5682
|
+
}],
|
|
5683
|
+
"device-export": [
|
|
5684
|
+
{
|
|
5685
|
+
"path": "linkState",
|
|
5686
|
+
"valueType": "enum",
|
|
5687
|
+
"enumValues": [
|
|
5688
|
+
"unlinked",
|
|
5689
|
+
"linked",
|
|
5690
|
+
"error"
|
|
5691
|
+
]
|
|
5692
|
+
},
|
|
5693
|
+
{
|
|
5694
|
+
"path": "exposedDeviceCount",
|
|
5695
|
+
"valueType": "number"
|
|
5696
|
+
},
|
|
5697
|
+
{
|
|
5698
|
+
"path": "error",
|
|
5699
|
+
"valueType": "string"
|
|
5700
|
+
},
|
|
5701
|
+
{
|
|
5702
|
+
"path": "setup.qr",
|
|
5703
|
+
"valueType": "string"
|
|
5704
|
+
},
|
|
5705
|
+
{
|
|
5706
|
+
"path": "setup.note",
|
|
5707
|
+
"valueType": "string"
|
|
5708
|
+
}
|
|
5709
|
+
],
|
|
5710
|
+
"device-status": [{
|
|
5711
|
+
"path": "online",
|
|
5712
|
+
"valueType": "boolean"
|
|
5713
|
+
}],
|
|
5714
|
+
"dishwasher": [
|
|
5715
|
+
{
|
|
5716
|
+
"path": "availability",
|
|
5717
|
+
"valueType": "enum",
|
|
5718
|
+
"enumValues": [
|
|
5719
|
+
"available",
|
|
5720
|
+
"offline",
|
|
5721
|
+
"description-missing"
|
|
5722
|
+
]
|
|
5723
|
+
},
|
|
5724
|
+
{
|
|
5725
|
+
"path": "state",
|
|
5726
|
+
"valueType": "enum",
|
|
5727
|
+
"enumValues": [
|
|
5728
|
+
"idle",
|
|
5729
|
+
"running",
|
|
5730
|
+
"paused",
|
|
5731
|
+
"finished",
|
|
5732
|
+
"error",
|
|
5733
|
+
"unavailable"
|
|
5734
|
+
]
|
|
5735
|
+
},
|
|
5736
|
+
{
|
|
5737
|
+
"path": "operationState",
|
|
5738
|
+
"valueType": "enum",
|
|
5739
|
+
"enumValues": [
|
|
5740
|
+
"Inactive",
|
|
5741
|
+
"Ready",
|
|
5742
|
+
"DelayedStart",
|
|
5743
|
+
"Run",
|
|
5744
|
+
"Pause",
|
|
5745
|
+
"ActionRequired",
|
|
5746
|
+
"Finished",
|
|
5747
|
+
"Error",
|
|
5748
|
+
"Aborting"
|
|
5749
|
+
]
|
|
5750
|
+
},
|
|
5751
|
+
{
|
|
5752
|
+
"path": "program",
|
|
5753
|
+
"valueType": "string"
|
|
5754
|
+
},
|
|
5755
|
+
{
|
|
5756
|
+
"path": "selectedProgram",
|
|
5757
|
+
"valueType": "string"
|
|
5758
|
+
},
|
|
5759
|
+
{
|
|
5760
|
+
"path": "remainingSeconds",
|
|
5761
|
+
"valueType": "number"
|
|
5762
|
+
},
|
|
5763
|
+
{
|
|
5764
|
+
"path": "delayedStartSeconds",
|
|
5765
|
+
"valueType": "number"
|
|
5766
|
+
},
|
|
5767
|
+
{
|
|
5768
|
+
"path": "progressPercent",
|
|
5769
|
+
"valueType": "number"
|
|
5770
|
+
},
|
|
5771
|
+
{
|
|
5772
|
+
"path": "doorOpen",
|
|
5773
|
+
"valueType": "boolean"
|
|
5774
|
+
},
|
|
5775
|
+
{
|
|
5776
|
+
"path": "doorLocked",
|
|
5777
|
+
"valueType": "boolean"
|
|
5778
|
+
},
|
|
5779
|
+
{
|
|
5780
|
+
"path": "remoteStartAllowed",
|
|
5781
|
+
"valueType": "boolean"
|
|
5782
|
+
},
|
|
5783
|
+
{
|
|
5784
|
+
"path": "remoteControlActive",
|
|
5785
|
+
"valueType": "boolean"
|
|
5786
|
+
},
|
|
5787
|
+
{
|
|
5788
|
+
"path": "localControlActive",
|
|
5789
|
+
"valueType": "boolean"
|
|
5790
|
+
},
|
|
5791
|
+
{
|
|
5792
|
+
"path": "powerOn",
|
|
5793
|
+
"valueType": "boolean"
|
|
5794
|
+
},
|
|
5795
|
+
{
|
|
5796
|
+
"path": "powerState",
|
|
5797
|
+
"valueType": "string"
|
|
5798
|
+
},
|
|
5799
|
+
{
|
|
5800
|
+
"path": "filterCleaningDue",
|
|
5801
|
+
"valueType": "boolean"
|
|
5802
|
+
},
|
|
5803
|
+
{
|
|
5804
|
+
"path": "machineCareDue",
|
|
5805
|
+
"valueType": "boolean"
|
|
5806
|
+
},
|
|
5807
|
+
{
|
|
5808
|
+
"path": "machineCareRemainingRuns",
|
|
5809
|
+
"valueType": "number"
|
|
5810
|
+
},
|
|
5811
|
+
{
|
|
5812
|
+
"path": "halfLoad",
|
|
5813
|
+
"valueType": "boolean"
|
|
5814
|
+
},
|
|
5815
|
+
{
|
|
5816
|
+
"path": "hygienePlus",
|
|
5817
|
+
"valueType": "boolean"
|
|
5818
|
+
},
|
|
5819
|
+
{
|
|
5820
|
+
"path": "extraDry",
|
|
5821
|
+
"valueType": "boolean"
|
|
5822
|
+
},
|
|
5823
|
+
{
|
|
5824
|
+
"path": "intensiveZone",
|
|
5825
|
+
"valueType": "boolean"
|
|
5826
|
+
},
|
|
5827
|
+
{
|
|
5828
|
+
"path": "varioSpeedPlus",
|
|
5829
|
+
"valueType": "boolean"
|
|
5830
|
+
},
|
|
5831
|
+
{
|
|
5832
|
+
"path": "childLock",
|
|
5833
|
+
"valueType": "boolean"
|
|
5834
|
+
},
|
|
5835
|
+
{
|
|
5836
|
+
"path": "errorCode",
|
|
5837
|
+
"valueType": "number"
|
|
5838
|
+
},
|
|
5839
|
+
{
|
|
5840
|
+
"path": "errorLabel",
|
|
5841
|
+
"valueType": "string"
|
|
5842
|
+
}
|
|
5843
|
+
],
|
|
5844
|
+
"doorbell": [{
|
|
5845
|
+
"path": "lastPressedAt",
|
|
5846
|
+
"valueType": "number"
|
|
5847
|
+
}, {
|
|
5848
|
+
"path": "pressCountSinceStart",
|
|
5849
|
+
"valueType": "number"
|
|
5850
|
+
}],
|
|
5851
|
+
"enum-sensor": [{
|
|
5852
|
+
"path": "value",
|
|
5853
|
+
"valueType": "string"
|
|
5854
|
+
}, {
|
|
5855
|
+
"path": "format",
|
|
5856
|
+
"valueType": "enum",
|
|
5857
|
+
"enumValues": [
|
|
5858
|
+
"date",
|
|
5859
|
+
"time",
|
|
5860
|
+
"datetime"
|
|
5861
|
+
]
|
|
5862
|
+
}],
|
|
5863
|
+
"event-emitter": [
|
|
5864
|
+
{
|
|
5865
|
+
"path": "lastEvent.deviceId",
|
|
5866
|
+
"valueType": "number"
|
|
5867
|
+
},
|
|
5868
|
+
{
|
|
5869
|
+
"path": "lastEvent.eventType",
|
|
5870
|
+
"valueType": "string"
|
|
5871
|
+
},
|
|
5872
|
+
{
|
|
5873
|
+
"path": "lastEvent.timestamp",
|
|
5874
|
+
"valueType": "number"
|
|
5875
|
+
},
|
|
5876
|
+
{
|
|
5877
|
+
"path": "lastEvent.seq",
|
|
5878
|
+
"valueType": "number"
|
|
5879
|
+
},
|
|
5880
|
+
{
|
|
5881
|
+
"path": "eventCountSinceStart",
|
|
5882
|
+
"valueType": "number"
|
|
5883
|
+
}
|
|
5884
|
+
],
|
|
5885
|
+
"fan-control": [
|
|
5886
|
+
{
|
|
5887
|
+
"path": "percentage",
|
|
5888
|
+
"valueType": "number"
|
|
5889
|
+
},
|
|
5890
|
+
{
|
|
5891
|
+
"path": "percentageStep",
|
|
5892
|
+
"valueType": "number"
|
|
5893
|
+
},
|
|
5894
|
+
{
|
|
5895
|
+
"path": "preset",
|
|
5896
|
+
"valueType": "string"
|
|
5897
|
+
},
|
|
5898
|
+
{
|
|
5899
|
+
"path": "direction",
|
|
5900
|
+
"valueType": "enum",
|
|
5901
|
+
"enumValues": ["forward", "reverse"]
|
|
5902
|
+
},
|
|
5903
|
+
{
|
|
5904
|
+
"path": "oscillating",
|
|
5905
|
+
"valueType": "boolean"
|
|
5906
|
+
}
|
|
5907
|
+
],
|
|
5908
|
+
"feature-probe": [
|
|
5909
|
+
{
|
|
5910
|
+
"path": "deviceType",
|
|
5911
|
+
"valueType": "string"
|
|
5912
|
+
},
|
|
5913
|
+
{
|
|
5914
|
+
"path": "model",
|
|
5915
|
+
"valueType": "string"
|
|
5916
|
+
},
|
|
5917
|
+
{
|
|
5918
|
+
"path": "channelCount",
|
|
5919
|
+
"valueType": "number"
|
|
5920
|
+
},
|
|
5921
|
+
{
|
|
5922
|
+
"path": "lastProbedAt",
|
|
5923
|
+
"valueType": "number"
|
|
5924
|
+
}
|
|
5925
|
+
],
|
|
5926
|
+
"flood": [{
|
|
5927
|
+
"path": "flooded",
|
|
5928
|
+
"valueType": "boolean"
|
|
5929
|
+
}],
|
|
5930
|
+
"gas": [{
|
|
5931
|
+
"path": "detected",
|
|
5932
|
+
"valueType": "boolean"
|
|
5933
|
+
}],
|
|
5934
|
+
"heating-valve": [{
|
|
5935
|
+
"path": "position",
|
|
5936
|
+
"valueType": "number"
|
|
5937
|
+
}],
|
|
5938
|
+
"humidifier": [
|
|
5939
|
+
{
|
|
5940
|
+
"path": "on",
|
|
5941
|
+
"valueType": "boolean"
|
|
5942
|
+
},
|
|
5943
|
+
{
|
|
5944
|
+
"path": "currentHumidity",
|
|
5945
|
+
"valueType": "number"
|
|
5946
|
+
},
|
|
5947
|
+
{
|
|
5948
|
+
"path": "targetHumidity",
|
|
5949
|
+
"valueType": "number"
|
|
5950
|
+
},
|
|
5951
|
+
{
|
|
5952
|
+
"path": "mode",
|
|
5953
|
+
"valueType": "string"
|
|
5954
|
+
},
|
|
5955
|
+
{
|
|
5956
|
+
"path": "action",
|
|
5957
|
+
"valueType": "string"
|
|
5958
|
+
},
|
|
5959
|
+
{
|
|
5960
|
+
"path": "minHumidity",
|
|
5961
|
+
"valueType": "number"
|
|
5962
|
+
},
|
|
5963
|
+
{
|
|
5964
|
+
"path": "maxHumidity",
|
|
5965
|
+
"valueType": "number"
|
|
5966
|
+
}
|
|
5967
|
+
],
|
|
5968
|
+
"humidity-sensor": [
|
|
5969
|
+
{
|
|
5970
|
+
"path": "percent",
|
|
5971
|
+
"valueType": "number"
|
|
5972
|
+
},
|
|
5973
|
+
{
|
|
5974
|
+
"path": "unit",
|
|
5975
|
+
"valueType": "string"
|
|
5976
|
+
},
|
|
5977
|
+
{
|
|
5978
|
+
"path": "precision",
|
|
5979
|
+
"valueType": "number"
|
|
5980
|
+
}
|
|
5981
|
+
],
|
|
5982
|
+
"image": [{
|
|
5983
|
+
"path": "url",
|
|
5984
|
+
"valueType": "string"
|
|
5985
|
+
}, {
|
|
5986
|
+
"path": "lastUpdated",
|
|
5987
|
+
"valueType": "number"
|
|
5988
|
+
}],
|
|
5989
|
+
"image-settings": [
|
|
5990
|
+
{
|
|
5991
|
+
"path": "brightness",
|
|
5992
|
+
"valueType": "number"
|
|
5993
|
+
},
|
|
5994
|
+
{
|
|
5995
|
+
"path": "contrast",
|
|
5996
|
+
"valueType": "number"
|
|
5997
|
+
},
|
|
5998
|
+
{
|
|
5999
|
+
"path": "saturation",
|
|
6000
|
+
"valueType": "number"
|
|
6001
|
+
},
|
|
6002
|
+
{
|
|
6003
|
+
"path": "sharpness",
|
|
6004
|
+
"valueType": "number"
|
|
6005
|
+
},
|
|
6006
|
+
{
|
|
6007
|
+
"path": "mirror",
|
|
6008
|
+
"valueType": "boolean"
|
|
6009
|
+
},
|
|
6010
|
+
{
|
|
6011
|
+
"path": "flip",
|
|
6012
|
+
"valueType": "boolean"
|
|
6013
|
+
},
|
|
6014
|
+
{
|
|
6015
|
+
"path": "rotate",
|
|
6016
|
+
"valueType": "enum",
|
|
6017
|
+
"enumValues": [
|
|
6018
|
+
"0",
|
|
6019
|
+
"90",
|
|
6020
|
+
"180",
|
|
6021
|
+
"270"
|
|
6022
|
+
]
|
|
6023
|
+
},
|
|
6024
|
+
{
|
|
6025
|
+
"path": "whiteBalance",
|
|
6026
|
+
"valueType": "enum",
|
|
6027
|
+
"enumValues": ["auto", "manual"]
|
|
6028
|
+
},
|
|
6029
|
+
{
|
|
6030
|
+
"path": "warmth",
|
|
6031
|
+
"valueType": "number"
|
|
6032
|
+
},
|
|
6033
|
+
{
|
|
6034
|
+
"path": "exposureMode",
|
|
6035
|
+
"valueType": "enum",
|
|
6036
|
+
"enumValues": ["auto", "manual"]
|
|
6037
|
+
},
|
|
6038
|
+
{
|
|
6039
|
+
"path": "backlightMode",
|
|
6040
|
+
"valueType": "enum",
|
|
6041
|
+
"enumValues": [
|
|
6042
|
+
"off",
|
|
6043
|
+
"blc",
|
|
6044
|
+
"wdr",
|
|
6045
|
+
"hlc"
|
|
6046
|
+
]
|
|
6047
|
+
}
|
|
6048
|
+
],
|
|
6049
|
+
"intercom": [
|
|
6050
|
+
{
|
|
6051
|
+
"path": "talking",
|
|
6052
|
+
"valueType": "boolean"
|
|
6053
|
+
},
|
|
6054
|
+
{
|
|
6055
|
+
"path": "lastSessionAt",
|
|
6056
|
+
"valueType": "number"
|
|
6057
|
+
},
|
|
6058
|
+
{
|
|
6059
|
+
"path": "ability.sampleRate",
|
|
6060
|
+
"valueType": "number"
|
|
6061
|
+
},
|
|
6062
|
+
{
|
|
6063
|
+
"path": "ability.duplex",
|
|
6064
|
+
"valueType": "enum",
|
|
6065
|
+
"enumValues": ["half", "full"]
|
|
6066
|
+
},
|
|
6067
|
+
{
|
|
6068
|
+
"path": "ability.maxBacklogMs",
|
|
6069
|
+
"valueType": "number"
|
|
6070
|
+
}
|
|
6071
|
+
],
|
|
6072
|
+
"lawn-mower-control": [
|
|
6073
|
+
{
|
|
6074
|
+
"path": "activity",
|
|
6075
|
+
"valueType": "enum",
|
|
6076
|
+
"enumValues": [
|
|
6077
|
+
"idle",
|
|
6078
|
+
"mowing",
|
|
6079
|
+
"paused",
|
|
6080
|
+
"docked",
|
|
6081
|
+
"error"
|
|
6082
|
+
]
|
|
6083
|
+
},
|
|
6084
|
+
{
|
|
6085
|
+
"path": "batteryLevel",
|
|
6086
|
+
"valueType": "number"
|
|
6087
|
+
},
|
|
6088
|
+
{
|
|
6089
|
+
"path": "progressPercent",
|
|
6090
|
+
"valueType": "number"
|
|
6091
|
+
},
|
|
6092
|
+
{
|
|
6093
|
+
"path": "currentCode",
|
|
6094
|
+
"valueType": "number"
|
|
6095
|
+
},
|
|
6096
|
+
{
|
|
6097
|
+
"path": "currentCodeLabel",
|
|
6098
|
+
"valueType": "string"
|
|
6099
|
+
},
|
|
6100
|
+
{
|
|
6101
|
+
"path": "severity",
|
|
6102
|
+
"valueType": "enum",
|
|
6103
|
+
"enumValues": [
|
|
6104
|
+
"info",
|
|
6105
|
+
"warning",
|
|
6106
|
+
"error"
|
|
6107
|
+
]
|
|
6108
|
+
}
|
|
6109
|
+
],
|
|
6110
|
+
"lock-control": [{
|
|
6111
|
+
"path": "state",
|
|
6112
|
+
"valueType": "enum",
|
|
6113
|
+
"enumValues": [
|
|
6114
|
+
"locked",
|
|
6115
|
+
"unlocked",
|
|
6116
|
+
"locking",
|
|
6117
|
+
"unlocking",
|
|
6118
|
+
"jammed"
|
|
6119
|
+
]
|
|
6120
|
+
}],
|
|
6121
|
+
"media-player": [
|
|
6122
|
+
{
|
|
6123
|
+
"path": "state",
|
|
6124
|
+
"valueType": "enum",
|
|
6125
|
+
"enumValues": [
|
|
6126
|
+
"off",
|
|
6127
|
+
"on",
|
|
6128
|
+
"idle",
|
|
6129
|
+
"playing",
|
|
6130
|
+
"paused",
|
|
6131
|
+
"buffering",
|
|
6132
|
+
"standby"
|
|
6133
|
+
]
|
|
6134
|
+
},
|
|
6135
|
+
{
|
|
6136
|
+
"path": "volumeLevel",
|
|
6137
|
+
"valueType": "number"
|
|
6138
|
+
},
|
|
6139
|
+
{
|
|
6140
|
+
"path": "isMuted",
|
|
6141
|
+
"valueType": "boolean"
|
|
6142
|
+
},
|
|
6143
|
+
{
|
|
6144
|
+
"path": "source",
|
|
6145
|
+
"valueType": "string"
|
|
6146
|
+
},
|
|
6147
|
+
{
|
|
6148
|
+
"path": "currentMedia.type",
|
|
6149
|
+
"valueType": "string"
|
|
6150
|
+
},
|
|
6151
|
+
{
|
|
6152
|
+
"path": "currentMedia.title",
|
|
6153
|
+
"valueType": "string"
|
|
6154
|
+
},
|
|
6155
|
+
{
|
|
6156
|
+
"path": "currentMedia.artist",
|
|
6157
|
+
"valueType": "string"
|
|
6158
|
+
},
|
|
6159
|
+
{
|
|
6160
|
+
"path": "currentMedia.album",
|
|
6161
|
+
"valueType": "string"
|
|
6162
|
+
},
|
|
6163
|
+
{
|
|
6164
|
+
"path": "currentMedia.imageUrl",
|
|
6165
|
+
"valueType": "string"
|
|
6166
|
+
},
|
|
6167
|
+
{
|
|
6168
|
+
"path": "positionMs",
|
|
6169
|
+
"valueType": "number"
|
|
6170
|
+
},
|
|
6171
|
+
{
|
|
6172
|
+
"path": "durationMs",
|
|
6173
|
+
"valueType": "number"
|
|
6174
|
+
},
|
|
6175
|
+
{
|
|
6176
|
+
"path": "shuffle",
|
|
6177
|
+
"valueType": "boolean"
|
|
6178
|
+
},
|
|
6179
|
+
{
|
|
6180
|
+
"path": "repeat",
|
|
6181
|
+
"valueType": "enum",
|
|
6182
|
+
"enumValues": [
|
|
6183
|
+
"off",
|
|
6184
|
+
"all",
|
|
6185
|
+
"one"
|
|
6186
|
+
]
|
|
6187
|
+
}
|
|
6188
|
+
],
|
|
6189
|
+
"motion": [
|
|
6190
|
+
{
|
|
6191
|
+
"path": "detected",
|
|
6192
|
+
"valueType": "boolean"
|
|
6193
|
+
},
|
|
6194
|
+
{
|
|
6195
|
+
"path": "lastDetectedAt",
|
|
6196
|
+
"valueType": "number"
|
|
6197
|
+
},
|
|
6198
|
+
{
|
|
6199
|
+
"path": "autoClearAfterMs",
|
|
6200
|
+
"valueType": "number"
|
|
6201
|
+
}
|
|
6202
|
+
],
|
|
6203
|
+
"motion-trigger": [{
|
|
6204
|
+
"path": "enabled",
|
|
6205
|
+
"valueType": "boolean"
|
|
6206
|
+
}],
|
|
6207
|
+
"motion-zones": [{
|
|
6208
|
+
"path": "enabled",
|
|
6209
|
+
"valueType": "boolean"
|
|
6210
|
+
}, {
|
|
6211
|
+
"path": "sensitivity",
|
|
6212
|
+
"valueType": "number"
|
|
6213
|
+
}],
|
|
6214
|
+
"mqtt-broker": [{
|
|
6215
|
+
"path": "brokerCount",
|
|
6216
|
+
"valueType": "number"
|
|
6217
|
+
}, {
|
|
6218
|
+
"path": "embeddedRunning",
|
|
6219
|
+
"valueType": "boolean"
|
|
6220
|
+
}],
|
|
6221
|
+
"native-object-detection": [{
|
|
6222
|
+
"path": "enabled",
|
|
6223
|
+
"valueType": "boolean"
|
|
6224
|
+
}],
|
|
6225
|
+
"navigation": [
|
|
6226
|
+
{
|
|
6227
|
+
"path": "mode",
|
|
6228
|
+
"valueType": "enum",
|
|
6229
|
+
"enumValues": [
|
|
6230
|
+
"idle",
|
|
6231
|
+
"cleaning",
|
|
6232
|
+
"spot",
|
|
6233
|
+
"following",
|
|
6234
|
+
"goto",
|
|
6235
|
+
"returning",
|
|
6236
|
+
"paused",
|
|
6237
|
+
"unknown"
|
|
6238
|
+
]
|
|
6239
|
+
},
|
|
6240
|
+
{
|
|
6241
|
+
"path": "following",
|
|
6242
|
+
"valueType": "boolean"
|
|
6243
|
+
},
|
|
6244
|
+
{
|
|
6245
|
+
"path": "flash",
|
|
6246
|
+
"valueType": "boolean"
|
|
6247
|
+
},
|
|
6248
|
+
{
|
|
6249
|
+
"path": "lightMode",
|
|
6250
|
+
"valueType": "enum",
|
|
6251
|
+
"enumValues": ["auto", "manual"]
|
|
6252
|
+
},
|
|
6253
|
+
{
|
|
6254
|
+
"path": "lightLevel",
|
|
6255
|
+
"valueType": "number"
|
|
6256
|
+
}
|
|
6257
|
+
],
|
|
6258
|
+
"network-link": [
|
|
6259
|
+
{
|
|
6260
|
+
"path": "type",
|
|
6261
|
+
"valueType": "enum",
|
|
6262
|
+
"enumValues": [
|
|
6263
|
+
"wifi",
|
|
6264
|
+
"ethernet",
|
|
6265
|
+
"cellular",
|
|
6266
|
+
"unknown"
|
|
6267
|
+
]
|
|
6268
|
+
},
|
|
6269
|
+
{
|
|
6270
|
+
"path": "signalPercent",
|
|
6271
|
+
"valueType": "number"
|
|
6272
|
+
},
|
|
6273
|
+
{
|
|
6274
|
+
"path": "rssiDbm",
|
|
6275
|
+
"valueType": "number"
|
|
6276
|
+
},
|
|
6277
|
+
{
|
|
6278
|
+
"path": "ssid",
|
|
6279
|
+
"valueType": "string"
|
|
6280
|
+
},
|
|
6281
|
+
{
|
|
6282
|
+
"path": "lastUpdated",
|
|
6283
|
+
"valueType": "number"
|
|
6284
|
+
}
|
|
6285
|
+
],
|
|
6286
|
+
"notifier": [
|
|
6287
|
+
{
|
|
6288
|
+
"path": "lastSentAt",
|
|
6289
|
+
"valueType": "number"
|
|
6290
|
+
},
|
|
6291
|
+
{
|
|
6292
|
+
"path": "lastError",
|
|
6293
|
+
"valueType": "string"
|
|
6294
|
+
},
|
|
6295
|
+
{
|
|
6296
|
+
"path": "queueDepth",
|
|
6297
|
+
"valueType": "number"
|
|
6298
|
+
},
|
|
6299
|
+
{
|
|
6300
|
+
"path": "supports.image",
|
|
6301
|
+
"valueType": "boolean"
|
|
6302
|
+
},
|
|
6303
|
+
{
|
|
6304
|
+
"path": "supports.priority",
|
|
6305
|
+
"valueType": "boolean"
|
|
6306
|
+
},
|
|
6307
|
+
{
|
|
6308
|
+
"path": "supports.data",
|
|
6309
|
+
"valueType": "boolean"
|
|
6310
|
+
},
|
|
6311
|
+
{
|
|
6312
|
+
"path": "supports.actions",
|
|
6313
|
+
"valueType": "boolean"
|
|
6314
|
+
},
|
|
6315
|
+
{
|
|
6316
|
+
"path": "supports.recipients",
|
|
6317
|
+
"valueType": "boolean"
|
|
6318
|
+
}
|
|
6319
|
+
],
|
|
6320
|
+
"numeric-sensor": [
|
|
6321
|
+
{
|
|
6322
|
+
"path": "value",
|
|
6323
|
+
"valueType": "number"
|
|
6324
|
+
},
|
|
6325
|
+
{
|
|
6326
|
+
"path": "unit",
|
|
6327
|
+
"valueType": "string"
|
|
6328
|
+
},
|
|
6329
|
+
{
|
|
6330
|
+
"path": "precision",
|
|
6331
|
+
"valueType": "number"
|
|
6332
|
+
}
|
|
6333
|
+
],
|
|
6334
|
+
"pet-feeder": [
|
|
6335
|
+
{
|
|
6336
|
+
"path": "foodLevel",
|
|
6337
|
+
"valueType": "number"
|
|
6338
|
+
},
|
|
6339
|
+
{
|
|
6340
|
+
"path": "food1",
|
|
6341
|
+
"valueType": "number"
|
|
6342
|
+
},
|
|
6343
|
+
{
|
|
6344
|
+
"path": "food2",
|
|
6345
|
+
"valueType": "number"
|
|
6346
|
+
},
|
|
6347
|
+
{
|
|
6348
|
+
"path": "lowFood",
|
|
6349
|
+
"valueType": "boolean"
|
|
6350
|
+
},
|
|
6351
|
+
{
|
|
6352
|
+
"path": "batteryPower",
|
|
6353
|
+
"valueType": "number"
|
|
6354
|
+
},
|
|
6355
|
+
{
|
|
6356
|
+
"path": "desiccantLeftDays",
|
|
6357
|
+
"valueType": "number"
|
|
6358
|
+
},
|
|
6359
|
+
{
|
|
6360
|
+
"path": "feeding",
|
|
6361
|
+
"valueType": "boolean"
|
|
6362
|
+
},
|
|
6363
|
+
{
|
|
6364
|
+
"path": "status",
|
|
6365
|
+
"valueType": "enum",
|
|
6366
|
+
"enumValues": [
|
|
6367
|
+
"normal",
|
|
6368
|
+
"offline",
|
|
6369
|
+
"on_batteries"
|
|
6370
|
+
]
|
|
6371
|
+
},
|
|
6372
|
+
{
|
|
6373
|
+
"path": "error",
|
|
6374
|
+
"valueType": "string"
|
|
6375
|
+
},
|
|
6376
|
+
{
|
|
6377
|
+
"path": "errorCode",
|
|
6378
|
+
"valueType": "number"
|
|
6379
|
+
},
|
|
6380
|
+
{
|
|
6381
|
+
"path": "isDualHopper",
|
|
6382
|
+
"valueType": "boolean"
|
|
6383
|
+
},
|
|
6384
|
+
{
|
|
6385
|
+
"path": "childLock",
|
|
6386
|
+
"valueType": "boolean"
|
|
6387
|
+
},
|
|
6388
|
+
{
|
|
6389
|
+
"path": "indicatorLight",
|
|
6390
|
+
"valueType": "boolean"
|
|
6391
|
+
},
|
|
6392
|
+
{
|
|
6393
|
+
"path": "feedSound",
|
|
6394
|
+
"valueType": "boolean"
|
|
6395
|
+
},
|
|
6396
|
+
{
|
|
6397
|
+
"path": "volume",
|
|
6398
|
+
"valueType": "number"
|
|
6399
|
+
}
|
|
6400
|
+
],
|
|
6401
|
+
"power-meter": [
|
|
6402
|
+
{
|
|
6403
|
+
"path": "watts",
|
|
6404
|
+
"valueType": "number"
|
|
6405
|
+
},
|
|
6406
|
+
{
|
|
6407
|
+
"path": "kwhTotal",
|
|
6408
|
+
"valueType": "number"
|
|
6409
|
+
},
|
|
6410
|
+
{
|
|
6411
|
+
"path": "volts",
|
|
6412
|
+
"valueType": "number"
|
|
6413
|
+
},
|
|
6414
|
+
{
|
|
6415
|
+
"path": "amps",
|
|
6416
|
+
"valueType": "number"
|
|
6417
|
+
},
|
|
6418
|
+
{
|
|
6419
|
+
"path": "va",
|
|
6420
|
+
"valueType": "number"
|
|
6421
|
+
},
|
|
6422
|
+
{
|
|
6423
|
+
"path": "powerFactor",
|
|
6424
|
+
"valueType": "number"
|
|
6425
|
+
},
|
|
6426
|
+
{
|
|
6427
|
+
"path": "unit",
|
|
6428
|
+
"valueType": "string"
|
|
6429
|
+
},
|
|
6430
|
+
{
|
|
6431
|
+
"path": "precision",
|
|
6432
|
+
"valueType": "number"
|
|
6433
|
+
}
|
|
6434
|
+
],
|
|
6435
|
+
"presence": [
|
|
6436
|
+
{
|
|
6437
|
+
"path": "state",
|
|
6438
|
+
"valueType": "string"
|
|
6439
|
+
},
|
|
6440
|
+
{
|
|
6441
|
+
"path": "location",
|
|
6442
|
+
"valueType": "string"
|
|
6443
|
+
},
|
|
6444
|
+
{
|
|
6445
|
+
"path": "gps.latitude",
|
|
6446
|
+
"valueType": "number"
|
|
6447
|
+
},
|
|
6448
|
+
{
|
|
6449
|
+
"path": "gps.longitude",
|
|
6450
|
+
"valueType": "number"
|
|
6451
|
+
},
|
|
6452
|
+
{
|
|
6453
|
+
"path": "gps.accuracyMeters",
|
|
6454
|
+
"valueType": "number"
|
|
6455
|
+
},
|
|
6456
|
+
{
|
|
6457
|
+
"path": "batteryPercent",
|
|
6458
|
+
"valueType": "number"
|
|
6459
|
+
}
|
|
6460
|
+
],
|
|
6461
|
+
"pressure-sensor": [
|
|
6462
|
+
{
|
|
6463
|
+
"path": "hpa",
|
|
6464
|
+
"valueType": "number"
|
|
6465
|
+
},
|
|
6466
|
+
{
|
|
6467
|
+
"path": "unit",
|
|
6468
|
+
"valueType": "string"
|
|
6469
|
+
},
|
|
6470
|
+
{
|
|
6471
|
+
"path": "precision",
|
|
6472
|
+
"valueType": "number"
|
|
6473
|
+
}
|
|
6474
|
+
],
|
|
6475
|
+
"privacy-mask": [{
|
|
6476
|
+
"path": "enabled",
|
|
6477
|
+
"valueType": "boolean"
|
|
6478
|
+
}, {
|
|
6479
|
+
"path": "audioEnabled",
|
|
6480
|
+
"valueType": "boolean"
|
|
6481
|
+
}],
|
|
6482
|
+
"ptz": [
|
|
6483
|
+
{
|
|
6484
|
+
"path": "pan",
|
|
6485
|
+
"valueType": "number"
|
|
6486
|
+
},
|
|
6487
|
+
{
|
|
6488
|
+
"path": "tilt",
|
|
6489
|
+
"valueType": "number"
|
|
6490
|
+
},
|
|
6491
|
+
{
|
|
6492
|
+
"path": "zoom",
|
|
6493
|
+
"valueType": "number"
|
|
6494
|
+
},
|
|
6495
|
+
{
|
|
6496
|
+
"path": "autofocus",
|
|
6497
|
+
"valueType": "boolean"
|
|
6498
|
+
}
|
|
6499
|
+
],
|
|
6500
|
+
"ptz-autotrack": [
|
|
6501
|
+
{
|
|
6502
|
+
"path": "enabled",
|
|
6503
|
+
"valueType": "boolean"
|
|
6504
|
+
},
|
|
6505
|
+
{
|
|
6506
|
+
"path": "currentSettings.targetType",
|
|
6507
|
+
"valueType": "string"
|
|
6508
|
+
},
|
|
6509
|
+
{
|
|
6510
|
+
"path": "currentSettings.stopDelaySeconds",
|
|
6511
|
+
"valueType": "number"
|
|
6512
|
+
},
|
|
6513
|
+
{
|
|
6514
|
+
"path": "currentSettings.disappearDelaySeconds",
|
|
6515
|
+
"valueType": "number"
|
|
6516
|
+
}
|
|
6517
|
+
],
|
|
6518
|
+
"recording-archive": [
|
|
6519
|
+
{
|
|
6520
|
+
"path": "deviceId",
|
|
6521
|
+
"valueType": "number"
|
|
6522
|
+
},
|
|
6523
|
+
{
|
|
6524
|
+
"path": "enabled",
|
|
6525
|
+
"valueType": "boolean"
|
|
6526
|
+
},
|
|
6527
|
+
{
|
|
6528
|
+
"path": "activeMode",
|
|
6529
|
+
"valueType": "enum",
|
|
6530
|
+
"enumValues": [
|
|
6531
|
+
"off",
|
|
6532
|
+
"events",
|
|
6533
|
+
"continuous",
|
|
6534
|
+
"on-device-decision"
|
|
6535
|
+
]
|
|
6536
|
+
},
|
|
6537
|
+
{
|
|
6538
|
+
"path": "nodeId",
|
|
6539
|
+
"valueType": "string"
|
|
6540
|
+
},
|
|
6541
|
+
{
|
|
6542
|
+
"path": "storageBytes",
|
|
6543
|
+
"valueType": "number"
|
|
6544
|
+
}
|
|
6545
|
+
],
|
|
6546
|
+
"recording-onboard": [
|
|
6547
|
+
{
|
|
6548
|
+
"path": "primaryTrackId",
|
|
6549
|
+
"valueType": "string"
|
|
6550
|
+
},
|
|
6551
|
+
{
|
|
6552
|
+
"path": "enabled",
|
|
6553
|
+
"valueType": "boolean"
|
|
6554
|
+
},
|
|
6555
|
+
{
|
|
6556
|
+
"path": "overwriteWhenFull",
|
|
6557
|
+
"valueType": "boolean"
|
|
6558
|
+
},
|
|
6559
|
+
{
|
|
6560
|
+
"path": "preRecordSec",
|
|
6561
|
+
"valueType": "number"
|
|
6562
|
+
},
|
|
6563
|
+
{
|
|
6564
|
+
"path": "postRecordSec",
|
|
6565
|
+
"valueType": "number"
|
|
6566
|
+
},
|
|
6567
|
+
{
|
|
6568
|
+
"path": "segmentMinutes",
|
|
6569
|
+
"valueType": "number"
|
|
6570
|
+
},
|
|
6571
|
+
{
|
|
6572
|
+
"path": "unreadableWindows",
|
|
6573
|
+
"valueType": "number"
|
|
6574
|
+
},
|
|
6575
|
+
{
|
|
6576
|
+
"path": "recordingToNowhere",
|
|
6577
|
+
"valueType": "boolean"
|
|
6578
|
+
}
|
|
6579
|
+
],
|
|
6580
|
+
"recording-signal": [{
|
|
6581
|
+
"path": "active",
|
|
6582
|
+
"valueType": "boolean"
|
|
6583
|
+
}, {
|
|
6584
|
+
"path": "reason",
|
|
6585
|
+
"valueType": "string"
|
|
6586
|
+
}],
|
|
6587
|
+
"running-state": [
|
|
6588
|
+
{
|
|
6589
|
+
"path": "running",
|
|
6590
|
+
"valueType": "boolean"
|
|
6591
|
+
},
|
|
6592
|
+
{
|
|
6593
|
+
"path": "since",
|
|
6594
|
+
"valueType": "number"
|
|
6595
|
+
},
|
|
6596
|
+
{
|
|
6597
|
+
"path": "source",
|
|
6598
|
+
"valueType": "enum",
|
|
6599
|
+
"enumValues": ["native", "assigned"]
|
|
6600
|
+
},
|
|
6601
|
+
{
|
|
6602
|
+
"path": "phase",
|
|
6603
|
+
"valueType": "string"
|
|
6604
|
+
}
|
|
6605
|
+
],
|
|
6606
|
+
"script-runner": [
|
|
6607
|
+
{
|
|
6608
|
+
"path": "isRunning",
|
|
6609
|
+
"valueType": "boolean"
|
|
6610
|
+
},
|
|
6611
|
+
{
|
|
6612
|
+
"path": "lastRunAt",
|
|
6613
|
+
"valueType": "number"
|
|
6614
|
+
},
|
|
6615
|
+
{
|
|
6616
|
+
"path": "lastRunSuccess",
|
|
6617
|
+
"valueType": "boolean"
|
|
6618
|
+
},
|
|
6619
|
+
{
|
|
6620
|
+
"path": "lastError",
|
|
6621
|
+
"valueType": "string"
|
|
6622
|
+
}
|
|
6623
|
+
],
|
|
6624
|
+
"smoke": [{
|
|
6625
|
+
"path": "detected",
|
|
6626
|
+
"valueType": "boolean"
|
|
6627
|
+
}],
|
|
6628
|
+
"snapshot": [
|
|
6629
|
+
{
|
|
6630
|
+
"path": "lastCapturedAt",
|
|
6631
|
+
"valueType": "number"
|
|
6632
|
+
},
|
|
6633
|
+
{
|
|
6634
|
+
"path": "cacheAgeMs",
|
|
6635
|
+
"valueType": "number"
|
|
6636
|
+
},
|
|
6637
|
+
{
|
|
6638
|
+
"path": "lastBytes",
|
|
6639
|
+
"valueType": "number"
|
|
6640
|
+
},
|
|
6641
|
+
{
|
|
6642
|
+
"path": "lastStreamId",
|
|
6643
|
+
"valueType": "string"
|
|
6644
|
+
}
|
|
6645
|
+
],
|
|
6646
|
+
"stream-params": [
|
|
6647
|
+
{
|
|
6648
|
+
"path": "main.width",
|
|
6649
|
+
"valueType": "number"
|
|
6650
|
+
},
|
|
6651
|
+
{
|
|
6652
|
+
"path": "main.height",
|
|
6653
|
+
"valueType": "number"
|
|
6654
|
+
},
|
|
6655
|
+
{
|
|
6656
|
+
"path": "main.codec",
|
|
6657
|
+
"valueType": "enum",
|
|
6658
|
+
"enumValues": ["h264", "h265"]
|
|
6659
|
+
},
|
|
6660
|
+
{
|
|
6661
|
+
"path": "main.framerate",
|
|
6662
|
+
"valueType": "number"
|
|
6663
|
+
},
|
|
6664
|
+
{
|
|
6665
|
+
"path": "main.bitrate",
|
|
6666
|
+
"valueType": "number"
|
|
6667
|
+
},
|
|
6668
|
+
{
|
|
6669
|
+
"path": "main.bitrateMode",
|
|
6670
|
+
"valueType": "enum",
|
|
6671
|
+
"enumValues": ["vbr", "cbr"]
|
|
6672
|
+
},
|
|
6673
|
+
{
|
|
6674
|
+
"path": "main.encoderProfile",
|
|
6675
|
+
"valueType": "enum",
|
|
6676
|
+
"enumValues": [
|
|
6677
|
+
"high",
|
|
6678
|
+
"main",
|
|
6679
|
+
"baseline"
|
|
6680
|
+
]
|
|
6681
|
+
},
|
|
6682
|
+
{
|
|
6683
|
+
"path": "main.gop",
|
|
6684
|
+
"valueType": "number"
|
|
6685
|
+
},
|
|
6686
|
+
{
|
|
6687
|
+
"path": "main.audio",
|
|
6688
|
+
"valueType": "boolean"
|
|
6689
|
+
},
|
|
6690
|
+
{
|
|
6691
|
+
"path": "sub.width",
|
|
6692
|
+
"valueType": "number"
|
|
6693
|
+
},
|
|
6694
|
+
{
|
|
6695
|
+
"path": "sub.height",
|
|
6696
|
+
"valueType": "number"
|
|
6697
|
+
},
|
|
6698
|
+
{
|
|
6699
|
+
"path": "sub.codec",
|
|
6700
|
+
"valueType": "enum",
|
|
6701
|
+
"enumValues": ["h264", "h265"]
|
|
6702
|
+
},
|
|
6703
|
+
{
|
|
6704
|
+
"path": "sub.framerate",
|
|
6705
|
+
"valueType": "number"
|
|
6706
|
+
},
|
|
6707
|
+
{
|
|
6708
|
+
"path": "sub.bitrate",
|
|
6709
|
+
"valueType": "number"
|
|
6710
|
+
},
|
|
6711
|
+
{
|
|
6712
|
+
"path": "sub.bitrateMode",
|
|
6713
|
+
"valueType": "enum",
|
|
6714
|
+
"enumValues": ["vbr", "cbr"]
|
|
6715
|
+
},
|
|
6716
|
+
{
|
|
6717
|
+
"path": "sub.encoderProfile",
|
|
6718
|
+
"valueType": "enum",
|
|
6719
|
+
"enumValues": [
|
|
6720
|
+
"high",
|
|
6721
|
+
"main",
|
|
6722
|
+
"baseline"
|
|
6723
|
+
]
|
|
6724
|
+
},
|
|
6725
|
+
{
|
|
6726
|
+
"path": "sub.gop",
|
|
6727
|
+
"valueType": "number"
|
|
6728
|
+
},
|
|
6729
|
+
{
|
|
6730
|
+
"path": "sub.audio",
|
|
6731
|
+
"valueType": "boolean"
|
|
6732
|
+
},
|
|
6733
|
+
{
|
|
6734
|
+
"path": "ext.width",
|
|
6735
|
+
"valueType": "number"
|
|
6736
|
+
},
|
|
6737
|
+
{
|
|
6738
|
+
"path": "ext.height",
|
|
6739
|
+
"valueType": "number"
|
|
6740
|
+
},
|
|
6741
|
+
{
|
|
6742
|
+
"path": "ext.codec",
|
|
6743
|
+
"valueType": "enum",
|
|
6744
|
+
"enumValues": ["h264", "h265"]
|
|
6745
|
+
},
|
|
6746
|
+
{
|
|
6747
|
+
"path": "ext.framerate",
|
|
6748
|
+
"valueType": "number"
|
|
6749
|
+
},
|
|
6750
|
+
{
|
|
6751
|
+
"path": "ext.bitrate",
|
|
6752
|
+
"valueType": "number"
|
|
6753
|
+
},
|
|
6754
|
+
{
|
|
6755
|
+
"path": "ext.bitrateMode",
|
|
6756
|
+
"valueType": "enum",
|
|
6757
|
+
"enumValues": ["vbr", "cbr"]
|
|
6758
|
+
},
|
|
6759
|
+
{
|
|
6760
|
+
"path": "ext.encoderProfile",
|
|
6761
|
+
"valueType": "enum",
|
|
6762
|
+
"enumValues": [
|
|
6763
|
+
"high",
|
|
6764
|
+
"main",
|
|
6765
|
+
"baseline"
|
|
6766
|
+
]
|
|
6767
|
+
},
|
|
6768
|
+
{
|
|
6769
|
+
"path": "ext.gop",
|
|
6770
|
+
"valueType": "number"
|
|
6771
|
+
},
|
|
6772
|
+
{
|
|
6773
|
+
"path": "ext.audio",
|
|
6774
|
+
"valueType": "boolean"
|
|
6775
|
+
}
|
|
6776
|
+
],
|
|
6777
|
+
"switch": [{
|
|
6778
|
+
"path": "on",
|
|
6779
|
+
"valueType": "boolean"
|
|
6780
|
+
}],
|
|
6781
|
+
"tamper": [{
|
|
6782
|
+
"path": "tampered",
|
|
6783
|
+
"valueType": "boolean"
|
|
6784
|
+
}],
|
|
6785
|
+
"temperature-sensor": [
|
|
6786
|
+
{
|
|
6787
|
+
"path": "celsius",
|
|
6788
|
+
"valueType": "number"
|
|
6789
|
+
},
|
|
6790
|
+
{
|
|
6791
|
+
"path": "unit",
|
|
6792
|
+
"valueType": "string"
|
|
6793
|
+
},
|
|
6794
|
+
{
|
|
6795
|
+
"path": "precision",
|
|
6796
|
+
"valueType": "number"
|
|
6797
|
+
}
|
|
6798
|
+
],
|
|
6799
|
+
"update": [
|
|
6800
|
+
{
|
|
6801
|
+
"path": "currentVersion",
|
|
6802
|
+
"valueType": "string"
|
|
6803
|
+
},
|
|
6804
|
+
{
|
|
6805
|
+
"path": "availableVersion",
|
|
6806
|
+
"valueType": "string"
|
|
6807
|
+
},
|
|
6808
|
+
{
|
|
6809
|
+
"path": "updatable",
|
|
6810
|
+
"valueType": "boolean"
|
|
6811
|
+
},
|
|
6812
|
+
{
|
|
6813
|
+
"path": "state",
|
|
6814
|
+
"valueType": "string"
|
|
6815
|
+
},
|
|
6816
|
+
{
|
|
6817
|
+
"path": "inProgress",
|
|
6818
|
+
"valueType": "boolean"
|
|
6819
|
+
}
|
|
6820
|
+
],
|
|
6821
|
+
"vacuum-control": [
|
|
6822
|
+
{
|
|
6823
|
+
"path": "state",
|
|
6824
|
+
"valueType": "enum",
|
|
6825
|
+
"enumValues": [
|
|
6826
|
+
"idle",
|
|
6827
|
+
"cleaning",
|
|
6828
|
+
"paused",
|
|
6829
|
+
"returning",
|
|
6830
|
+
"docked",
|
|
6831
|
+
"drying",
|
|
6832
|
+
"error"
|
|
6833
|
+
]
|
|
6834
|
+
},
|
|
6835
|
+
{
|
|
6836
|
+
"path": "batteryLevel",
|
|
6837
|
+
"valueType": "number"
|
|
6838
|
+
},
|
|
6839
|
+
{
|
|
6840
|
+
"path": "fanSpeed",
|
|
6841
|
+
"valueType": "string"
|
|
6842
|
+
},
|
|
6843
|
+
{
|
|
6844
|
+
"path": "progressPercent",
|
|
6845
|
+
"valueType": "number"
|
|
6846
|
+
},
|
|
6847
|
+
{
|
|
6848
|
+
"path": "errorCode",
|
|
6849
|
+
"valueType": "number"
|
|
6850
|
+
},
|
|
6851
|
+
{
|
|
6852
|
+
"path": "errorLabel",
|
|
6853
|
+
"valueType": "string"
|
|
6854
|
+
}
|
|
6855
|
+
],
|
|
6856
|
+
"valve": [{
|
|
6857
|
+
"path": "state",
|
|
6858
|
+
"valueType": "enum",
|
|
6859
|
+
"enumValues": [
|
|
6860
|
+
"open",
|
|
6861
|
+
"opening",
|
|
6862
|
+
"closing",
|
|
6863
|
+
"closed",
|
|
6864
|
+
"stopped"
|
|
6865
|
+
]
|
|
6866
|
+
}, {
|
|
6867
|
+
"path": "position",
|
|
6868
|
+
"valueType": "number"
|
|
6869
|
+
}],
|
|
6870
|
+
"vibration": [{
|
|
6871
|
+
"path": "detected",
|
|
6872
|
+
"valueType": "boolean"
|
|
6873
|
+
}],
|
|
6874
|
+
"water-heater": [
|
|
6875
|
+
{
|
|
6876
|
+
"path": "currentTemp",
|
|
6877
|
+
"valueType": "number"
|
|
6878
|
+
},
|
|
6879
|
+
{
|
|
6880
|
+
"path": "targetTemp",
|
|
6881
|
+
"valueType": "number"
|
|
6882
|
+
},
|
|
6883
|
+
{
|
|
6884
|
+
"path": "operationMode",
|
|
6885
|
+
"valueType": "string"
|
|
6886
|
+
},
|
|
6887
|
+
{
|
|
6888
|
+
"path": "away",
|
|
6889
|
+
"valueType": "boolean"
|
|
6890
|
+
},
|
|
6891
|
+
{
|
|
6892
|
+
"path": "minTemp",
|
|
6893
|
+
"valueType": "number"
|
|
6894
|
+
},
|
|
6895
|
+
{
|
|
6896
|
+
"path": "maxTemp",
|
|
6897
|
+
"valueType": "number"
|
|
6898
|
+
}
|
|
6899
|
+
],
|
|
6900
|
+
"weather": [
|
|
6901
|
+
{
|
|
6902
|
+
"path": "condition",
|
|
6903
|
+
"valueType": "string"
|
|
6904
|
+
},
|
|
6905
|
+
{
|
|
6906
|
+
"path": "temperature",
|
|
6907
|
+
"valueType": "number"
|
|
6908
|
+
},
|
|
6909
|
+
{
|
|
6910
|
+
"path": "temperatureUnit",
|
|
6911
|
+
"valueType": "string"
|
|
6912
|
+
},
|
|
6913
|
+
{
|
|
6914
|
+
"path": "humidity",
|
|
6915
|
+
"valueType": "number"
|
|
6916
|
+
},
|
|
6917
|
+
{
|
|
6918
|
+
"path": "pressure",
|
|
6919
|
+
"valueType": "number"
|
|
6920
|
+
},
|
|
6921
|
+
{
|
|
6922
|
+
"path": "pressureUnit",
|
|
6923
|
+
"valueType": "string"
|
|
6924
|
+
},
|
|
6925
|
+
{
|
|
6926
|
+
"path": "windSpeed",
|
|
6927
|
+
"valueType": "number"
|
|
6928
|
+
},
|
|
6929
|
+
{
|
|
6930
|
+
"path": "windSpeedUnit",
|
|
6931
|
+
"valueType": "string"
|
|
6932
|
+
},
|
|
6933
|
+
{
|
|
6934
|
+
"path": "windBearing",
|
|
6935
|
+
"valueType": "number"
|
|
6936
|
+
}
|
|
6937
|
+
],
|
|
6938
|
+
"zone-analytics": [
|
|
6939
|
+
{
|
|
6940
|
+
"path": "ts",
|
|
6941
|
+
"valueType": "number"
|
|
6942
|
+
},
|
|
6943
|
+
{
|
|
6944
|
+
"path": "frameWidth",
|
|
6945
|
+
"valueType": "number"
|
|
6946
|
+
},
|
|
6947
|
+
{
|
|
6948
|
+
"path": "frameHeight",
|
|
6949
|
+
"valueType": "number"
|
|
6950
|
+
},
|
|
6951
|
+
{
|
|
6952
|
+
"path": "frame.totalObjects",
|
|
6953
|
+
"valueType": "number"
|
|
6954
|
+
},
|
|
6955
|
+
{
|
|
6956
|
+
"path": "frame.standingObjects",
|
|
6957
|
+
"valueType": "number"
|
|
6958
|
+
},
|
|
6959
|
+
{
|
|
6960
|
+
"path": "frame.transientObjects",
|
|
6961
|
+
"valueType": "number"
|
|
6962
|
+
},
|
|
6963
|
+
{
|
|
6964
|
+
"path": "unzoned.totalObjects",
|
|
6965
|
+
"valueType": "number"
|
|
6966
|
+
},
|
|
6967
|
+
{
|
|
6968
|
+
"path": "unzoned.standingObjects",
|
|
6969
|
+
"valueType": "number"
|
|
6970
|
+
},
|
|
6971
|
+
{
|
|
6972
|
+
"path": "unzoned.transientObjects",
|
|
6973
|
+
"valueType": "number"
|
|
6974
|
+
}
|
|
6975
|
+
]
|
|
6976
|
+
});
|
|
5003
6977
|
/**
|
|
5004
6978
|
* Runtime defaults -- used by ConfigManager.get() for backward compatibility
|
|
5005
6979
|
* until Plan B wires all runtime settings to the system_settings SQL table.
|
|
@@ -5484,7 +7458,7 @@ function errMsg(err) {
|
|
|
5484
7458
|
return String(err);
|
|
5485
7459
|
}
|
|
5486
7460
|
//#endregion
|
|
5487
|
-
//#region ../types/dist/composition-
|
|
7461
|
+
//#region ../types/dist/composition-kEl9mevu.mjs
|
|
5488
7462
|
var AUDIO_ENCODER_BY_CODEC = {
|
|
5489
7463
|
opus: "libopus",
|
|
5490
7464
|
aac: "aac",
|
|
@@ -5745,7 +7719,7 @@ function buildStdoutOrRtspSinkArgs(sink) {
|
|
|
5745
7719
|
* frame, loses the race, and skips to the following one: **every fragment comes
|
|
5746
7720
|
* out at twice the requested length.**
|
|
5747
7721
|
*
|
|
5748
|
-
* Measured on the live fleet 2026-08-07, camera
|
|
7722
|
+
* Measured on the live fleet 2026-08-07, camera 101, `-c:v copy` (D84):
|
|
5749
7723
|
*
|
|
5750
7724
|
* | slot | GOP | `-min_frag_duration` | median gap |
|
|
5751
7725
|
* | --- | --- | --- | --- |
|
|
@@ -9888,7 +11862,7 @@ var LogChannelDescriptorSchema = zod.z.object({
|
|
|
9888
11862
|
* `true` is a PROMISE with two halves, and both must hold: the gate is
|
|
9889
11863
|
* consulted with the numeric device id, AND every line the channel admits
|
|
9890
11864
|
* carries `tags: { deviceId }` with that same numeric id. The second half is
|
|
9891
|
-
* what makes `| json | deviceId="
|
|
11865
|
+
* what makes `| json | deviceId="102"` work in Loki — `loki-payload.ts`
|
|
9892
11866
|
* keeps `deviceId` out of the stream labels for cardinality, so the tag in
|
|
9893
11867
|
* the body is the only way to filter.
|
|
9894
11868
|
*
|
|
@@ -10213,7 +12187,7 @@ var ModelVariantGroupSchema = zod.z.object({
|
|
|
10213
12187
|
precision: zod.z.enum(["fp32", "int8"]).optional(),
|
|
10214
12188
|
/**
|
|
10215
12189
|
* Training / latency-variant axis. Omit ⇒ the standard build. `test` marks
|
|
10216
|
-
* an alternate training of the same family (
|
|
12190
|
+
* an alternate training of the same family (plugin catalog `relu_test`); chip
|
|
10217
12191
|
* label is "Test".
|
|
10218
12192
|
*/
|
|
10219
12193
|
optimization: zod.z.enum(["standard", "test"]).optional(),
|
|
@@ -10466,8 +12440,8 @@ var ModelCatalogEntrySchema = zod.z.object({
|
|
|
10466
12440
|
provider: ModelProviderIdSchema.optional(),
|
|
10467
12441
|
/**
|
|
10468
12442
|
* Per-MODEL class map override. Absent ⇒ the step's `StepDefinition.classMap`
|
|
10469
|
-
* applies (
|
|
10470
|
-
* labels already ARE the CamStack macros (
|
|
12443
|
+
* applies (plus catalog / COCO public catalog). Set on a custom model whose raw
|
|
12444
|
+
* labels already ARE the CamStack macros (plugin catalog identity map).
|
|
10471
12445
|
*/
|
|
10472
12446
|
classMap: DetectionCatalogClassMapSchema.optional(),
|
|
10473
12447
|
/**
|
|
@@ -14413,7 +16387,7 @@ var streamBrokerCapability = {
|
|
|
14413
16387
|
* `1` is real time and is the ONLY value that allows the copy branch —
|
|
14414
16388
|
* anything else forces `libx264` over the window. That was priced
|
|
14415
16389
|
* before it was chosen: a per-event burst measured at 0.23 s and 254 KB
|
|
14416
|
-
* on a real
|
|
16390
|
+
* on a real 101 720p cut, against 922 KB for the copy it replaces. A
|
|
14417
16391
|
* re-encode is capped at 720p (`EVENT_CLIP_ENCODE_MAX_WIDTH`), because
|
|
14418
16392
|
* once the decode is forced the width stops being free.
|
|
14419
16393
|
*/
|
|
@@ -18143,7 +20117,7 @@ var deviceHistoryCapability = {
|
|
|
18143
20117
|
listSeries: method(zod.z.object({ deviceId: zod.z.number().int() }), zod.z.array(SeriesInfoSchema).readonly()),
|
|
18144
20118
|
/**
|
|
18145
20119
|
* A NODE's series. The subject is `forNodeId`, never `nodeId`: a top-level
|
|
18146
|
-
* `nodeId` is the cap ROUTING key, and `nodeId: '
|
|
20120
|
+
* `nodeId` is the cap ROUTING key, and `nodeId: 'agent-a'` sent the
|
|
18147
20121
|
* read to that agent, which hosts no device-history.
|
|
18148
20122
|
*/
|
|
18149
20123
|
listNodeSeries: method(zod.z.object({ forNodeId: zod.z.string().min(1) }), zod.z.array(SeriesInfoSchema).readonly(), { auth: "admin" }),
|
|
@@ -39409,7 +41383,7 @@ var PRIMARY_CATEGORIES = new Set(ENTRIES.map((e) => e.primaryCategory));
|
|
|
39409
41383
|
* `locationKey` is ALWAYS {@link locationIconKey} of the label — never the
|
|
39410
41384
|
* operator's casing. The registry matches labels trimmed + case-insensitively
|
|
39411
41385
|
* everywhere (`addLocation`, `removeLocation`, `renameLocation`), and a
|
|
39412
|
-
* case-only rename (`
|
|
41386
|
+
* case-only rename (`kitchen` → `Kitchen`) is a real edit this repo supports; a
|
|
39413
41387
|
* map keyed on the displayed casing would orphan its entry on exactly that
|
|
39414
41388
|
* edit. Consumers join by keying their own label through `locationIconKey`.
|
|
39415
41389
|
*/
|
|
@@ -39442,7 +41416,7 @@ var LocationDescriptionAssignmentSchema = zod.z.object({
|
|
|
39442
41416
|
/**
|
|
39443
41417
|
* A SITE ZONE — a named part of the property that several locations belong to.
|
|
39444
41418
|
*
|
|
39445
|
-
* "
|
|
41419
|
+
* "Night zone" holds every bedroom; "Zona giorno" the living room and the
|
|
39446
41420
|
* kitchen. A camera belongs to exactly one location, and a location to at most
|
|
39447
41421
|
* one zone, so a camera's zone is derived and never stored on the device: the
|
|
39448
41422
|
* whole point of this entity is that grouping rooms touches no device row.
|
|
@@ -39471,7 +41445,7 @@ var LocationDescriptionAssignmentSchema = zod.z.object({
|
|
|
39471
41445
|
* the locations inside it.
|
|
39472
41446
|
*
|
|
39473
41447
|
* The LABEL is carried alongside the key because the key is lossy on purpose —
|
|
39474
|
-
* a surface must show "
|
|
41448
|
+
* a surface must show "Night zone", not "night zone". Locations are carried
|
|
39475
41449
|
* here, rather than left to a second call, because every consumer wants both
|
|
39476
41450
|
* at once and a viewer that asked twice could render a zone whose membership
|
|
39477
41451
|
* it has not fetched yet.
|
|
@@ -40387,7 +42361,7 @@ var deviceManagerCapability = {
|
|
|
40387
42361
|
* The room's ICON travels with the rename, including when `from` was
|
|
40388
42362
|
* never registered — otherwise it orphans on a key no location carries
|
|
40389
42363
|
* any more. A merge keeps the TARGET's icon when it has one: renaming
|
|
40390
|
-
* "Sala" into "
|
|
42364
|
+
* "Sala" into "Hall" moves devices into Hall, it does not restyle
|
|
40391
42365
|
* it. */
|
|
40392
42366
|
renameLocation: method(zod.z.object({
|
|
40393
42367
|
from: zod.z.string(),
|
|
@@ -40459,7 +42433,7 @@ var deviceManagerCapability = {
|
|
|
40459
42433
|
auth: "admin"
|
|
40460
42434
|
}),
|
|
40461
42435
|
/** Every SITE ZONE — a named part of the property that groups locations
|
|
40462
|
-
* ("
|
|
42436
|
+
* ("Night zone" holds the bedrooms). One call answers the whole picture:
|
|
40463
42437
|
* key, the label as typed, the icon, and the locations inside.
|
|
40464
42438
|
*
|
|
40465
42439
|
* Together, because a surface that asked for membership separately could
|
|
@@ -41966,7 +43940,7 @@ function validateCustomAddress(raw) {
|
|
|
41966
43940
|
const trimmed = raw.trim();
|
|
41967
43941
|
if (trimmed === "") return {
|
|
41968
43942
|
ok: false,
|
|
41969
|
-
reason: "Enter an address, e.g. https://192.
|
|
43943
|
+
reason: "Enter an address, e.g. https://192.0.2.20:4443."
|
|
41970
43944
|
};
|
|
41971
43945
|
let parsed;
|
|
41972
43946
|
try {
|
|
@@ -42985,8 +44959,8 @@ var LoadContributionSchema = zod.z.object({
|
|
|
42985
44959
|
"unattributable"
|
|
42986
44960
|
]),
|
|
42987
44961
|
/**
|
|
42988
|
-
* What ONE entry is, in the contributor's own words — `
|
|
42989
|
-
* `
|
|
44962
|
+
* What ONE entry is, in the contributor's own words — `101/high`,
|
|
44963
|
+
* `102/native`, `cuda:0 shared pool`. Free text because the unit differs per
|
|
42990
44964
|
* family and inventing a common one would lose the only information that
|
|
42991
44965
|
* makes two entries for the same camera distinguishable.
|
|
42992
44966
|
*/
|
|
@@ -46244,7 +48218,7 @@ var NcConditionsSchema = zod.z.object({
|
|
|
46244
48218
|
* with the list under it is worse than no switch (D62).
|
|
46245
48219
|
*
|
|
46246
48220
|
* MEMBERS ARE FACE-GALLERY `Identity.id`s (uuid), not display names. A name is
|
|
46247
|
-
* renameable, and a rule authored on "
|
|
48221
|
+
* renameable, and a rule authored on "Alice" went silently dark the moment
|
|
46248
48222
|
* the operator fixed the spelling. The id reaches the record on
|
|
46249
48223
|
* `LabelAttribution.identityId`; the name is what the editor shows and what
|
|
46250
48224
|
* `{{label}}` renders.
|
|
@@ -46795,7 +48769,7 @@ var NcRulePatchSchema = NcRuleInputSchema.partial().extend({
|
|
|
46795
48769
|
* A rule scoped to one camera and one zone silently became a rule that
|
|
46796
48770
|
* matches EVERY event on EVERY camera, and lost its `media` policy
|
|
46797
48771
|
* (zoneCrop / gif / clip / frame) and its `priority` at the same time. Seen
|
|
46798
|
-
* live on 2026-08-12: a rule scoped to device
|
|
48772
|
+
* live on 2026-08-12: a rule scoped to device 102 fired on 104 and 101
|
|
46799
48773
|
* within a minute of a two-field patch.
|
|
46800
48774
|
*
|
|
46801
48775
|
* So every defaulted field is re-declared here WITHOUT its default. The
|
|
@@ -48862,7 +50836,7 @@ var LabelAttributionSchema = zod.z.object({
|
|
|
48862
50836
|
* `Identity.id` or a plate-gallery `Vehicle.id` (both `randomUUID`).
|
|
48863
50837
|
*
|
|
48864
50838
|
* The text alone is a DISPLAY NAME, and a display name is renameable: a
|
|
48865
|
-
* notification rule authored on "
|
|
50839
|
+
* notification rule authored on "Alice" stopped matching the moment the
|
|
48866
50840
|
* operator fixed the spelling in the gallery, and nothing said so. The id is
|
|
48867
50841
|
* the thing that does not move, so it is what a rule matches on
|
|
48868
50842
|
* (`NcConditions.identities`) and the text is what a human is shown.
|
|
@@ -51634,7 +53608,7 @@ var pipelineAnalyticsCapability = {
|
|
|
51634
53608
|
* audio, stopping at the first hit — so on the live hub, where object
|
|
51635
53609
|
* events own no media of their own and 299 883 of 300 559 media rows are
|
|
51636
53610
|
* motion-owned, EVERY object event resolved to its motion namesake. A
|
|
51637
|
-
* track from 17:34 on camera
|
|
53611
|
+
* track from 17:34 on camera 101 was served a snapshot from 22:35 eleven
|
|
51638
53612
|
* days earlier, silently.
|
|
51639
53613
|
*
|
|
51640
53614
|
* D476 had already disambiguated the KEY (`motion:` vs `object:`); this is
|
|
@@ -52298,7 +54272,7 @@ var pipelineExecutorCapability = {
|
|
|
52298
54272
|
/**
|
|
52299
54273
|
* Root-supplied detections for the tree's ROOT step (D730). Set by
|
|
52300
54274
|
* `runDetailSubtree` when the camera's root model supplies a crop-kind
|
|
52301
|
-
* step (a
|
|
54275
|
+
* step (a plus catalog `license_plate` for `plate-detection`): the step is
|
|
52302
54276
|
* NOT inferred, these boxes are its output, and its children (the plate
|
|
52303
54277
|
* reader) run on them through their own crop policy. Boxes are in the
|
|
52304
54278
|
* PIXELS of the image this call carries. Absent ⇒ the root step runs.
|
|
@@ -54041,7 +56015,7 @@ var RunnerCameraConfigSchema = zod.z.object({
|
|
|
54041
56015
|
* detection session that asks for history. What shipped was a last-moment
|
|
54042
56016
|
* discard — `FrameSlot`'s throttle compares wall clocks, and ~4 s of media
|
|
54043
56017
|
* arriving inside a few hundred ms of wall clock looks to it like one frame's
|
|
54044
|
-
* worth. Device
|
|
56018
|
+
* worth. Device 102, 2026-09-08: a re-run of the SAME model over the stored
|
|
54045
56019
|
* recording scored the subject `vehicle 0.5669` — above the 0.50 floor —
|
|
54046
56020
|
* 1.68 s BEFORE the live track was born, on a frame that was in the pre-roll,
|
|
54047
56021
|
* was decoded, and was freed.
|
|
@@ -54247,7 +56221,7 @@ var pipelineRunnerCapability = {
|
|
|
54247
56221
|
*
|
|
54248
56222
|
* The periodic recheck (`occupancyRecheckSec`, 300 s) exists to watch a
|
|
54249
56223
|
* still scene. It is the wrong instrument for a QUESTION that has just been
|
|
54250
|
-
* asked: on device
|
|
56224
|
+
* asked: on device 102 a parked car's departure was observed, a departure
|
|
54251
56225
|
* strike was armed — and then the motion session ended, the strike decayed
|
|
54252
56226
|
* after its 30 s TTL, and the next periodic look arrived up to five minutes
|
|
54253
56227
|
* later with nothing left to confirm. Every one of those departures was
|
|
@@ -57212,7 +59186,7 @@ var storageProviderCapability = {
|
|
|
57212
59186
|
* The signals a device can emit to WAKE its own stream.
|
|
57213
59187
|
*
|
|
57214
59188
|
* A camera whose stream is built on demand sleeps until something asks for it,
|
|
57215
|
-
* and "something" cannot be a consumer that is merely attached — a
|
|
59189
|
+
* and "something" cannot be a consumer that is merely attached — a external-catalog
|
|
57216
59190
|
* puller holds a session open for ever, and treating that as demand would keep
|
|
57217
59191
|
* a battery camera awake for ever, which is the whole thing the battery is for
|
|
57218
59192
|
* (D173). So the wake has to come from the CAMERA: an event it noticed by
|
|
@@ -58076,7 +60050,7 @@ var ClipSchema = zod.z.object({
|
|
|
58076
60050
|
* {@link MAX_CLIP_EVENT_IDS}. Empty on footage-only clips.
|
|
58077
60051
|
*
|
|
58078
60052
|
* Bounded because it is not a payload the surface pages through: one visit on
|
|
58079
|
-
* device
|
|
60053
|
+
* device 101 carried 2 345 ids, and `eventIds` was 99% of a 153 KB
|
|
58080
60054
|
* camera-day. Read {@link eventCount} for the true total.
|
|
58081
60055
|
*/
|
|
58082
60056
|
eventIds: zod.z.array(zod.z.string()).optional(),
|
|
@@ -58221,7 +60195,7 @@ var ClipPlaybackSchema = zod.z.object({
|
|
|
58221
60195
|
* camera has no recordings", which is the defect this whole line of work is
|
|
58222
60196
|
* about: a battery camera nobody woke (`sleeping`), a camera that could not be
|
|
58223
60197
|
* reached at all (`unreachable`, also what a provider that THREW reports), a
|
|
58224
|
-
* camera whose SD card is not mounted (`no-storage`, measured on
|
|
60198
|
+
* camera whose SD card is not mounted (`no-storage`, measured on 106 —
|
|
58225
60199
|
* `HddInfo mount 0`, honestly nothing to list rather than "no clips"), and a
|
|
58226
60200
|
* camera whose OWN index disagrees with its OWN calendar (`index-empty`,
|
|
58227
60201
|
* measured on 618: the calendar marks 3–20 September, days 6–20 list zero
|
|
@@ -58531,7 +60505,7 @@ var videoclipsCapability = {
|
|
|
58531
60505
|
*
|
|
58532
60506
|
* It was optional, documented as "absent means the device's BOUND
|
|
58533
60507
|
* provider, which is CamStack on every camera". No code implemented
|
|
58534
|
-
* that. Measured on the live hub 2026-09-20 — device
|
|
60508
|
+
* that. Measured on the live hub 2026-09-20 — device 107, bound to
|
|
58535
60509
|
* `recorder` AND `provider-reolink` — a bare call with `limit: 3`
|
|
58536
60510
|
* answered SIX rows, three from each source, merged newest-first:
|
|
58537
60511
|
* `device-collection-dispatch.ts` simply left the fan-out un-narrowed,
|
|
@@ -61104,7 +63078,7 @@ var GridLayoutCellSchema = zod.z.object({
|
|
|
61104
63078
|
*
|
|
61105
63079
|
* A grid's `high` composes its sources' `high` and its `low` their `low`, so a
|
|
61106
63080
|
* profile is on offer only when EVERY source can serve it. The refusal NAMES
|
|
61107
|
-
* the sources, because "this grid has no low" is not a finding — "
|
|
63081
|
+
* the sources, because "this grid has no low" is not a finding — "101 has no
|
|
61108
63082
|
* low" is, and it is the one an operator can act on.
|
|
61109
63083
|
*/
|
|
61110
63084
|
var GridProfileOfferSchema = zod.z.object({
|
|
@@ -68498,9 +70472,9 @@ var PtzOptionsSchema = zod.z.object({
|
|
|
68498
70472
|
* Reolink preset 0, Hikvision preset '1', Dahua preset 1 -- and on this fleet
|
|
68499
70473
|
* not one of the three cameras honours its own:
|
|
68500
70474
|
*
|
|
68501
|
-
*
|
|
68502
|
-
* 1438
|
|
68503
|
-
* 3836
|
|
70475
|
+
* 107 Camera camera Carol (reolink) preset 0 holds "stanza"
|
|
70476
|
+
* 1438 Camera dispensa (hikvision) preset 1 holds "Credenza"
|
|
70477
|
+
* 3836 Camera studio (amcrest) preset 1 holds "Preset1"
|
|
68504
70478
|
*
|
|
68505
70479
|
* So `goHome` meant "go wherever the operator happened to save in slot 0 or 1",
|
|
68506
70480
|
* and two of the three swallowed the failure in a bare `catch`. For autotrack
|
|
@@ -69049,7 +71023,7 @@ var RecordingAvailabilitySchema = zod.z.object({
|
|
|
69049
71023
|
* would look identical. But the answer used to say nothing about that, so a
|
|
69050
71024
|
* caller asking "what can I export?" read the single preferred profile as
|
|
69051
71025
|
* the only one that exists — on this deployment every camera records `high`
|
|
69052
|
-
* AND `low`, the low tree holding 14 GB for camera
|
|
71026
|
+
* AND `low`, the low tree holding 14 GB for camera 101 alone, and the export
|
|
69053
71027
|
* UI could not see it.
|
|
69054
71028
|
*
|
|
69055
71029
|
* Cheap: it is the same shallow directory read the profile CHOICE already
|
|
@@ -69148,7 +71122,7 @@ var RecordingSourceOptionsSchema = zod.z.object({
|
|
|
69148
71122
|
* `sparse` = gaps are the absence of one, and must be drawn as such.
|
|
69149
71123
|
*
|
|
69150
71124
|
* Not an onboard-only concession: measured 2026-09-24, OUR bar covers 98.8 %
|
|
69151
|
-
* of
|
|
71125
|
+
* of 107's day and 1.2 % of 1436's. It is a fact about a (source, camera)
|
|
69152
71126
|
* pair, and ours answers it per camera from `deriveRecordingMode`. */
|
|
69153
71127
|
coverage: zod.z.enum(["continuous", "sparse"]),
|
|
69154
71128
|
/** Where the playhead may be put.
|
|
@@ -69259,7 +71233,7 @@ var recordingCapability = {
|
|
|
69259
71233
|
* merely discouraged (D554 amended).
|
|
69260
71234
|
*
|
|
69261
71235
|
* It was learned the expensive way on `videoclips.listClips`: measured
|
|
69262
|
-
* on the live hub 2026-09-20, device
|
|
71236
|
+
* on the live hub 2026-09-20, device 107 bound to `recorder` AND
|
|
69263
71237
|
* `provider-reolink`, a bare call with `limit: 3` answered SIX rows,
|
|
69264
71238
|
* three from each source, merged — `device-collection-dispatch.ts`
|
|
69265
71239
|
* leaves an unpinned fan-out un-narrowed, so absence buys the union the
|
|
@@ -70083,7 +72057,7 @@ var ExportSpeedSchema = zod.z.number().min(.25).max(32);
|
|
|
70083
72057
|
* on a 10 h window holding 29,393 s of footage every range landed late by the
|
|
70084
72058
|
* gap accumulated before it — up to 6,607 s, well past EOF. Nothing matched,
|
|
70085
72059
|
* the video was a uniform timelapse, and the log line reported the five ranges
|
|
70086
|
-
* that had been ASKED for (2026-08-13, export `57d14363`, camera
|
|
72060
|
+
* that had been ASKED for (2026-08-13, export `57d14363`, camera 101).
|
|
70087
72061
|
*
|
|
70088
72062
|
* Relative and not absolute epoch, because an absolute epoch would make every
|
|
70089
72063
|
* call site responsible for the same subtraction.
|
|
@@ -70927,7 +72901,7 @@ getStatus: method(zod.z.object({ deviceId: zod.z.number() }), RecordingSignalSta
|
|
|
70927
72901
|
* which put a "Scenes" tab on one camera's detail page. That is the wrong shape
|
|
70928
72902
|
* for the thing: a scene is a standing question about the property ("is the bin
|
|
70929
72903
|
* still out"), and the operator's question is "which of my scenes have tripped",
|
|
70930
|
-
* across every camera at once — not "what does camera
|
|
72904
|
+
* across every camera at once — not "what does camera 102 think". Buried one
|
|
70931
72905
|
* camera deep it also could not be found. The surface is now a top-level admin
|
|
70932
72906
|
* page (`/scenes`, `pages/Scenes.tsx`) that lists every scene on every camera and
|
|
70933
72907
|
* picks the camera inside the create flow, the same shape Events and Faces have.
|
|
@@ -75092,200 +77066,8 @@ function evaluateCompositionField(input) {
|
|
|
75092
77066
|
SOURCE_CAPS.filter((cap) => cap !== "switch" && cap !== "motion");
|
|
75093
77067
|
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;
|
|
75094
77068
|
String.raw`rose\(active(\d+), changed(\d+), (\d+(?:\.\d+)?)\)`;
|
|
75095
|
-
/**
|
|
75096
|
-
* Every CapabilityDefinition shipped by `@camstack/types`. The hub
|
|
75097
|
-
* iterates this array at boot to declare each cap on the registry
|
|
75098
|
-
* before addons (in-process or via the Moleculer bridge) attempt
|
|
75099
|
-
* `registerProvider`. Adding a new cap means dropping a `*.cap.ts`
|
|
75100
|
-
* file in `packages/types/src/capabilities/` and re-running
|
|
75101
|
-
* `npx tsx scripts/generate-capability-router-types.ts` — no manual
|
|
75102
|
-
* edit to `main.ts` required.
|
|
75103
|
-
*/
|
|
75104
|
-
var ALL_CAPABILITY_DEFINITIONS = [
|
|
75105
|
-
accessoriesCapability,
|
|
75106
|
-
addonPagesCapability,
|
|
75107
|
-
addonPagesSourceCapability,
|
|
75108
|
-
addonRoutesCapability,
|
|
75109
|
-
addonSettingsCapability,
|
|
75110
|
-
addonWidgetsCapability,
|
|
75111
|
-
addonWidgetsSourceCapability,
|
|
75112
|
-
addonsCapability,
|
|
75113
|
-
adminUiCapability,
|
|
75114
|
-
airQualitySensorCapability,
|
|
75115
|
-
alarmPanelCapability,
|
|
75116
|
-
alertsCapability,
|
|
75117
|
-
ambientLightSensorCapability,
|
|
75118
|
-
audioAnalysisCapability,
|
|
75119
|
-
audioAnalyzerCapability,
|
|
75120
|
-
audioCodecCapability,
|
|
75121
|
-
audioMetricsCapability,
|
|
75122
|
-
authProviderCapability,
|
|
75123
|
-
automationControlCapability,
|
|
75124
|
-
backupCapability,
|
|
75125
|
-
batteryCapability,
|
|
75126
|
-
binaryCapability,
|
|
75127
|
-
brightnessCapability,
|
|
75128
|
-
brokerCapability,
|
|
75129
|
-
buttonCapability,
|
|
75130
|
-
calendarSourceCapability,
|
|
75131
|
-
calendarsCapability,
|
|
75132
|
-
cameraCredentialsCapability,
|
|
75133
|
-
cameraGridLayoutCapability,
|
|
75134
|
-
cameraPipelineConfigCapability,
|
|
75135
|
-
cameraStreamsCapability,
|
|
75136
|
-
carbonMonoxideCapability,
|
|
75137
|
-
climateControlCapability,
|
|
75138
|
-
colorCapability,
|
|
75139
|
-
composerCapability,
|
|
75140
|
-
connectionTestCapability,
|
|
75141
|
-
connectivityCapability,
|
|
75142
|
-
consumablesCapability,
|
|
75143
|
-
contactCapability,
|
|
75144
|
-
controlCapability,
|
|
75145
|
-
coreBlocksCapability,
|
|
75146
|
-
coverCapability,
|
|
75147
|
-
customModelRegistryCapability,
|
|
75148
|
-
dataStoreProviderCapability,
|
|
75149
|
-
databaseSnapshotCapability,
|
|
75150
|
-
dayNightCapability,
|
|
75151
|
-
decoderCapability,
|
|
75152
|
-
detectionPipelineCapability,
|
|
75153
|
-
deviceAdminLinkCapability,
|
|
75154
|
-
deviceAdoptionCapability,
|
|
75155
|
-
deviceCredentialsCapability,
|
|
75156
|
-
deviceDiscoveryCapability,
|
|
75157
|
-
deviceExportCapability,
|
|
75158
|
-
deviceExtensionCapability,
|
|
75159
|
-
deviceHistoryCapability,
|
|
75160
|
-
deviceManagerCapability,
|
|
75161
|
-
deviceOpsCapability,
|
|
75162
|
-
deviceProviderCapability,
|
|
75163
|
-
deviceRemovalHookCapability,
|
|
75164
|
-
deviceStateCapability,
|
|
75165
|
-
deviceStatusCapability,
|
|
75166
|
-
dishwasherCapability,
|
|
75167
|
-
displayPaletteCapability,
|
|
75168
|
-
doorbellCapability,
|
|
75169
|
-
embeddingEncoderCapability,
|
|
75170
|
-
enumSensorCapability,
|
|
75171
|
-
eventEmitterCapability,
|
|
75172
|
-
faceGalleryCapability,
|
|
75173
|
-
failureContributionCapability,
|
|
75174
|
-
fanControlCapability,
|
|
75175
|
-
featureProbeCapability,
|
|
75176
|
-
filesystemBrowseCapability,
|
|
75177
|
-
floodCapability,
|
|
75178
|
-
gasCapability,
|
|
75179
|
-
heatingValveCapability,
|
|
75180
|
-
humidifierCapability,
|
|
75181
|
-
humiditySensorCapability,
|
|
75182
|
-
imageCapability,
|
|
75183
|
-
imageSettingsCapability,
|
|
75184
|
-
integrationsCapability,
|
|
75185
|
-
intercomCapability,
|
|
75186
|
-
keychainCapability,
|
|
75187
|
-
keychainAdminCapability,
|
|
75188
|
-
lawnMowerControlCapability,
|
|
75189
|
-
llmCapability,
|
|
75190
|
-
llmRuntimeCapability,
|
|
75191
|
-
loadContributionCapability,
|
|
75192
|
-
localNetworkCapability,
|
|
75193
|
-
lockControlCapability,
|
|
75194
|
-
logChannelsCapability,
|
|
75195
|
-
logDestinationCapability,
|
|
75196
|
-
loginMethodCapability,
|
|
75197
|
-
mediaPlayerCapability,
|
|
75198
|
-
meshNetworkCapability,
|
|
75199
|
-
metricsProviderCapability,
|
|
75200
|
-
modelConvertCapability,
|
|
75201
|
-
modelDistributorCapability,
|
|
75202
|
-
motionCapability,
|
|
75203
|
-
motionDetectionCapability,
|
|
75204
|
-
motionTriggerCapability,
|
|
75205
|
-
motionZonesCapability,
|
|
75206
|
-
mqttBrokerCapability,
|
|
75207
|
-
nativeObjectDetectionCapability,
|
|
75208
|
-
navigationCapability,
|
|
75209
|
-
networkAccessCapability,
|
|
75210
|
-
networkLinkCapability,
|
|
75211
|
-
networkQualityCapability,
|
|
75212
|
-
nodeCertificatesCapability,
|
|
75213
|
-
nodesCapability,
|
|
75214
|
-
notificationOutputCapability,
|
|
75215
|
-
notificationRulesCapability,
|
|
75216
|
-
notifierCapability,
|
|
75217
|
-
numericSensorCapability,
|
|
75218
|
-
oauthIntegrationCapability,
|
|
75219
|
-
oidcConnectionsCapability,
|
|
75220
|
-
osdCapability,
|
|
75221
|
-
osdManagerCapability,
|
|
75222
|
-
petFeederCapability,
|
|
75223
|
-
pipelineAnalyticsCapability,
|
|
75224
|
-
pipelineExecutorCapability,
|
|
75225
|
-
pipelineOrchestratorCapability,
|
|
75226
|
-
pipelineRunnerCapability,
|
|
75227
|
-
plateGalleryCapability,
|
|
75228
|
-
platformProbeCapability,
|
|
75229
|
-
powerMeterCapability,
|
|
75230
|
-
presenceCapability,
|
|
75231
|
-
pressureSensorCapability,
|
|
75232
|
-
privacyMaskCapability,
|
|
75233
|
-
ptzCapability,
|
|
75234
|
-
ptzAutotrackCapability,
|
|
75235
|
-
rebootCapability,
|
|
75236
|
-
recordEntriesCapability,
|
|
75237
|
-
recordingCapability,
|
|
75238
|
-
recordingArchiveCapability,
|
|
75239
|
-
recordingExportCapability,
|
|
75240
|
-
recordingOnboardCapability,
|
|
75241
|
-
recordingSignalCapability,
|
|
75242
|
-
recordsCapability,
|
|
75243
|
-
runningStateCapability,
|
|
75244
|
-
sceneMonitorCapability,
|
|
75245
|
-
scriptRunnerCapability,
|
|
75246
|
-
serverManagementCapability,
|
|
75247
|
-
settingsStoreCapability,
|
|
75248
|
-
smokeCapability,
|
|
75249
|
-
smtpProviderCapability,
|
|
75250
|
-
snapshotCapability,
|
|
75251
|
-
ssoBridgeCapability,
|
|
75252
|
-
storageCapability,
|
|
75253
|
-
storageAdminCapability,
|
|
75254
|
-
storageEvictableCapability,
|
|
75255
|
-
storageMigrationCapability,
|
|
75256
|
-
storageOccupancyCapability,
|
|
75257
|
-
storageProviderCapability,
|
|
75258
|
-
streamBrokerCapability,
|
|
75259
|
-
streamCatalogCapability,
|
|
75260
|
-
streamParamsCapability,
|
|
75261
|
-
streamSignalsCapability,
|
|
75262
|
-
switchCapability,
|
|
75263
|
-
systemCapability,
|
|
75264
|
-
tamperCapability,
|
|
75265
|
-
temperatureSensorCapability,
|
|
75266
|
-
terminalSessionCapability,
|
|
75267
|
-
toastCapability,
|
|
75268
|
-
trainingCapability,
|
|
75269
|
-
trainingProviderCapability,
|
|
75270
|
-
turnProviderCapability,
|
|
75271
|
-
updateCapability,
|
|
75272
|
-
userManagementCapability,
|
|
75273
|
-
userPasskeysCapability,
|
|
75274
|
-
vacuumControlCapability,
|
|
75275
|
-
valveCapability,
|
|
75276
|
-
vectorStoreCapability,
|
|
75277
|
-
vibrationCapability,
|
|
75278
|
-
videoclipsCapability,
|
|
75279
|
-
viewerUiCapability,
|
|
75280
|
-
waterHeaterCapability,
|
|
75281
|
-
weatherCapability,
|
|
75282
|
-
webrtcSessionCapability,
|
|
75283
|
-
zoneAnalyticsCapability,
|
|
75284
|
-
zoneRulesCapability,
|
|
75285
|
-
zonesCapability
|
|
75286
|
-
];
|
|
75287
77069
|
DeviceRole.BinarySensor, DeviceRole.MotionSensor;
|
|
75288
|
-
new Set(
|
|
77070
|
+
new Set(CAP_NAMES);
|
|
75289
77071
|
function isUnfilledRequiredProblem(problem) {
|
|
75290
77072
|
return problem.code === "missing-field";
|
|
75291
77073
|
}
|
|
@@ -76307,13 +78089,13 @@ function rank(type) {
|
|
|
76307
78089
|
*
|
|
76308
78090
|
* An exact case-insensitive match was not enough, and the failure was total
|
|
76309
78091
|
* rather than marginal. An ESPHome shutter arrives as a container named
|
|
76310
|
-
* `Tapparella-
|
|
76311
|
-
*
|
|
76312
|
-
* `tapparella-
|
|
78092
|
+
* `Tapparella-Kitchen` whose children include the COVER, named `Tapparella
|
|
78093
|
+
* kitchen`, and a device-presence entity carrying the slug verbatim,
|
|
78094
|
+
* `tapparella-kitchen`. The slug matched the container exactly and the cover
|
|
76313
78095
|
* did not, so the namesake tie-break handed the container to a connectivity
|
|
76314
78096
|
* indicator — and the viewer's accessory panel, which correctly shows only
|
|
76315
78097
|
* children with an actuating control, then rendered NOTHING. The operator saw
|
|
76316
|
-
* no shutters at all on
|
|
78098
|
+
* no shutters at all on kitchen, studio and both porch cameras (2026-09-22).
|
|
76317
78099
|
*
|
|
76318
78100
|
* `Markise` was the control case that proved the mechanism: there the cover
|
|
76319
78101
|
* really is called exactly like its container, so it won and appeared.
|
|
@@ -90284,6 +92066,198 @@ var CAP_NAMES_WITH_STATUS = [
|
|
|
90284
92066
|
"water-heater",
|
|
90285
92067
|
"weather"
|
|
90286
92068
|
];
|
|
92069
|
+
/**
|
|
92070
|
+
* Every CapabilityDefinition shipped by `@camstack/types`. The hub
|
|
92071
|
+
* iterates this array at boot to declare each cap on the registry
|
|
92072
|
+
* before addons (in-process or via the Moleculer bridge) attempt
|
|
92073
|
+
* `registerProvider`. Adding a new cap means dropping a `*.cap.ts`
|
|
92074
|
+
* file in `packages/types/src/capabilities/` and re-running
|
|
92075
|
+
* `npx tsx scripts/generate-capability-router-types.ts` — no manual
|
|
92076
|
+
* edit to `main.ts` required.
|
|
92077
|
+
*/
|
|
92078
|
+
var ALL_CAPABILITY_DEFINITIONS = [
|
|
92079
|
+
accessoriesCapability,
|
|
92080
|
+
addonPagesCapability,
|
|
92081
|
+
addonPagesSourceCapability,
|
|
92082
|
+
addonRoutesCapability,
|
|
92083
|
+
addonSettingsCapability,
|
|
92084
|
+
addonWidgetsCapability,
|
|
92085
|
+
addonWidgetsSourceCapability,
|
|
92086
|
+
addonsCapability,
|
|
92087
|
+
adminUiCapability,
|
|
92088
|
+
airQualitySensorCapability,
|
|
92089
|
+
alarmPanelCapability,
|
|
92090
|
+
alertsCapability,
|
|
92091
|
+
ambientLightSensorCapability,
|
|
92092
|
+
audioAnalysisCapability,
|
|
92093
|
+
audioAnalyzerCapability,
|
|
92094
|
+
audioCodecCapability,
|
|
92095
|
+
audioMetricsCapability,
|
|
92096
|
+
authProviderCapability,
|
|
92097
|
+
automationControlCapability,
|
|
92098
|
+
backupCapability,
|
|
92099
|
+
batteryCapability,
|
|
92100
|
+
binaryCapability,
|
|
92101
|
+
brightnessCapability,
|
|
92102
|
+
brokerCapability,
|
|
92103
|
+
buttonCapability,
|
|
92104
|
+
calendarSourceCapability,
|
|
92105
|
+
calendarsCapability,
|
|
92106
|
+
cameraCredentialsCapability,
|
|
92107
|
+
cameraGridLayoutCapability,
|
|
92108
|
+
cameraPipelineConfigCapability,
|
|
92109
|
+
cameraStreamsCapability,
|
|
92110
|
+
carbonMonoxideCapability,
|
|
92111
|
+
climateControlCapability,
|
|
92112
|
+
colorCapability,
|
|
92113
|
+
composerCapability,
|
|
92114
|
+
connectionTestCapability,
|
|
92115
|
+
connectivityCapability,
|
|
92116
|
+
consumablesCapability,
|
|
92117
|
+
contactCapability,
|
|
92118
|
+
controlCapability,
|
|
92119
|
+
coreBlocksCapability,
|
|
92120
|
+
coverCapability,
|
|
92121
|
+
customModelRegistryCapability,
|
|
92122
|
+
dataStoreProviderCapability,
|
|
92123
|
+
databaseSnapshotCapability,
|
|
92124
|
+
dayNightCapability,
|
|
92125
|
+
decoderCapability,
|
|
92126
|
+
detectionPipelineCapability,
|
|
92127
|
+
deviceAdminLinkCapability,
|
|
92128
|
+
deviceAdoptionCapability,
|
|
92129
|
+
deviceCredentialsCapability,
|
|
92130
|
+
deviceDiscoveryCapability,
|
|
92131
|
+
deviceExportCapability,
|
|
92132
|
+
deviceExtensionCapability,
|
|
92133
|
+
deviceHistoryCapability,
|
|
92134
|
+
deviceManagerCapability,
|
|
92135
|
+
deviceOpsCapability,
|
|
92136
|
+
deviceProviderCapability,
|
|
92137
|
+
deviceRemovalHookCapability,
|
|
92138
|
+
deviceStateCapability,
|
|
92139
|
+
deviceStatusCapability,
|
|
92140
|
+
dishwasherCapability,
|
|
92141
|
+
displayPaletteCapability,
|
|
92142
|
+
doorbellCapability,
|
|
92143
|
+
embeddingEncoderCapability,
|
|
92144
|
+
enumSensorCapability,
|
|
92145
|
+
eventEmitterCapability,
|
|
92146
|
+
faceGalleryCapability,
|
|
92147
|
+
failureContributionCapability,
|
|
92148
|
+
fanControlCapability,
|
|
92149
|
+
featureProbeCapability,
|
|
92150
|
+
filesystemBrowseCapability,
|
|
92151
|
+
floodCapability,
|
|
92152
|
+
gasCapability,
|
|
92153
|
+
heatingValveCapability,
|
|
92154
|
+
humidifierCapability,
|
|
92155
|
+
humiditySensorCapability,
|
|
92156
|
+
imageCapability,
|
|
92157
|
+
imageSettingsCapability,
|
|
92158
|
+
integrationsCapability,
|
|
92159
|
+
intercomCapability,
|
|
92160
|
+
keychainCapability,
|
|
92161
|
+
keychainAdminCapability,
|
|
92162
|
+
lawnMowerControlCapability,
|
|
92163
|
+
llmCapability,
|
|
92164
|
+
llmRuntimeCapability,
|
|
92165
|
+
loadContributionCapability,
|
|
92166
|
+
localNetworkCapability,
|
|
92167
|
+
lockControlCapability,
|
|
92168
|
+
logChannelsCapability,
|
|
92169
|
+
logDestinationCapability,
|
|
92170
|
+
loginMethodCapability,
|
|
92171
|
+
mediaPlayerCapability,
|
|
92172
|
+
meshNetworkCapability,
|
|
92173
|
+
metricsProviderCapability,
|
|
92174
|
+
modelConvertCapability,
|
|
92175
|
+
modelDistributorCapability,
|
|
92176
|
+
motionCapability,
|
|
92177
|
+
motionDetectionCapability,
|
|
92178
|
+
motionTriggerCapability,
|
|
92179
|
+
motionZonesCapability,
|
|
92180
|
+
mqttBrokerCapability,
|
|
92181
|
+
nativeObjectDetectionCapability,
|
|
92182
|
+
navigationCapability,
|
|
92183
|
+
networkAccessCapability,
|
|
92184
|
+
networkLinkCapability,
|
|
92185
|
+
networkQualityCapability,
|
|
92186
|
+
nodeCertificatesCapability,
|
|
92187
|
+
nodesCapability,
|
|
92188
|
+
notificationOutputCapability,
|
|
92189
|
+
notificationRulesCapability,
|
|
92190
|
+
notifierCapability,
|
|
92191
|
+
numericSensorCapability,
|
|
92192
|
+
oauthIntegrationCapability,
|
|
92193
|
+
oidcConnectionsCapability,
|
|
92194
|
+
osdCapability,
|
|
92195
|
+
osdManagerCapability,
|
|
92196
|
+
petFeederCapability,
|
|
92197
|
+
pipelineAnalyticsCapability,
|
|
92198
|
+
pipelineExecutorCapability,
|
|
92199
|
+
pipelineOrchestratorCapability,
|
|
92200
|
+
pipelineRunnerCapability,
|
|
92201
|
+
plateGalleryCapability,
|
|
92202
|
+
platformProbeCapability,
|
|
92203
|
+
powerMeterCapability,
|
|
92204
|
+
presenceCapability,
|
|
92205
|
+
pressureSensorCapability,
|
|
92206
|
+
privacyMaskCapability,
|
|
92207
|
+
ptzCapability,
|
|
92208
|
+
ptzAutotrackCapability,
|
|
92209
|
+
rebootCapability,
|
|
92210
|
+
recordEntriesCapability,
|
|
92211
|
+
recordingCapability,
|
|
92212
|
+
recordingArchiveCapability,
|
|
92213
|
+
recordingExportCapability,
|
|
92214
|
+
recordingOnboardCapability,
|
|
92215
|
+
recordingSignalCapability,
|
|
92216
|
+
recordsCapability,
|
|
92217
|
+
runningStateCapability,
|
|
92218
|
+
sceneMonitorCapability,
|
|
92219
|
+
scriptRunnerCapability,
|
|
92220
|
+
serverManagementCapability,
|
|
92221
|
+
settingsStoreCapability,
|
|
92222
|
+
smokeCapability,
|
|
92223
|
+
smtpProviderCapability,
|
|
92224
|
+
snapshotCapability,
|
|
92225
|
+
ssoBridgeCapability,
|
|
92226
|
+
storageCapability,
|
|
92227
|
+
storageAdminCapability,
|
|
92228
|
+
storageEvictableCapability,
|
|
92229
|
+
storageMigrationCapability,
|
|
92230
|
+
storageOccupancyCapability,
|
|
92231
|
+
storageProviderCapability,
|
|
92232
|
+
streamBrokerCapability,
|
|
92233
|
+
streamCatalogCapability,
|
|
92234
|
+
streamParamsCapability,
|
|
92235
|
+
streamSignalsCapability,
|
|
92236
|
+
switchCapability,
|
|
92237
|
+
systemCapability,
|
|
92238
|
+
tamperCapability,
|
|
92239
|
+
temperatureSensorCapability,
|
|
92240
|
+
terminalSessionCapability,
|
|
92241
|
+
toastCapability,
|
|
92242
|
+
trainingCapability,
|
|
92243
|
+
trainingProviderCapability,
|
|
92244
|
+
turnProviderCapability,
|
|
92245
|
+
updateCapability,
|
|
92246
|
+
userManagementCapability,
|
|
92247
|
+
userPasskeysCapability,
|
|
92248
|
+
vacuumControlCapability,
|
|
92249
|
+
valveCapability,
|
|
92250
|
+
vectorStoreCapability,
|
|
92251
|
+
vibrationCapability,
|
|
92252
|
+
videoclipsCapability,
|
|
92253
|
+
viewerUiCapability,
|
|
92254
|
+
waterHeaterCapability,
|
|
92255
|
+
weatherCapability,
|
|
92256
|
+
webrtcSessionCapability,
|
|
92257
|
+
zoneAnalyticsCapability,
|
|
92258
|
+
zoneRulesCapability,
|
|
92259
|
+
zonesCapability
|
|
92260
|
+
];
|
|
90287
92261
|
Object.freeze({
|
|
90288
92262
|
"accessories.getStatus": [{
|
|
90289
92263
|
name: "deviceId",
|
|
@@ -94265,7 +96239,7 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
94265
96239
|
{
|
|
94266
96240
|
name: "summaryStreams",
|
|
94267
96241
|
label: "Summary: streams offline",
|
|
94268
|
-
example: "
|
|
96242
|
+
example: "Front door (high) — since 06:40",
|
|
94269
96243
|
kinds: ["stream-offline", "stream-online"]
|
|
94270
96244
|
},
|
|
94271
96245
|
{
|
|
@@ -94283,13 +96257,13 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
94283
96257
|
{
|
|
94284
96258
|
name: "summaryDetection",
|
|
94285
96259
|
label: "Summary: cameras detecting nothing",
|
|
94286
|
-
example: "
|
|
96260
|
+
example: "Front door — since 05:10",
|
|
94287
96261
|
kinds: ["detection-blind"]
|
|
94288
96262
|
},
|
|
94289
96263
|
{
|
|
94290
96264
|
name: "summaryNodes",
|
|
94291
96265
|
label: "Summary: nodes",
|
|
94292
|
-
example: "
|
|
96266
|
+
example: "agent-a — offline since 03:00",
|
|
94293
96267
|
kinds: [
|
|
94294
96268
|
"node-offline",
|
|
94295
96269
|
"node-online",
|
|
@@ -95120,7 +97094,7 @@ DEFAULT_NATIVE_LEASE_SETTINGS.admission;
|
|
|
95120
97094
|
*
|
|
95121
97095
|
* So `entry.providerAddonId === this.ctx.id` is silently, permanently false
|
|
95122
97096
|
* for a builtin — and only for a builtin, which is why it survives a green
|
|
95123
|
-
* suite whose fake supplies the bare id. That is exactly how camera
|
|
97097
|
+
* suite whose fake supplies the bare id. That is exactly how camera 101's
|
|
95124
97098
|
* virtual doorbell (retired since, D671) latched `unbound` for twelve hours on
|
|
95125
97099
|
* 2026-08-07 while its binding was intact ([D72](../../../../docs/decisions/adr-0072.md)).
|
|
95126
97100
|
*
|