@camstack/ui-library 1.2.57 → 1.2.58
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.
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { RecordingConfig } from '@camstack/types';
|
|
1
|
+
import { RecordingConfig, CamProfile } from '@camstack/types';
|
|
2
2
|
interface RecordingSettingsProps {
|
|
3
3
|
readonly initial: RecordingConfig;
|
|
4
|
+
/** Broker-assigned profile slots for this camera (already deduped). */
|
|
5
|
+
readonly availableProfiles: readonly CamProfile[];
|
|
4
6
|
readonly saving: boolean;
|
|
5
7
|
readonly onSave: (config: RecordingConfig) => void;
|
|
6
8
|
}
|
|
7
|
-
export declare function RecordingSettings({ initial, saving, onSave }: RecordingSettingsProps): import("react").JSX.Element;
|
|
9
|
+
export declare function RecordingSettings({ initial, availableProfiles, saving, onSave, }: RecordingSettingsProps): import("react").JSX.Element;
|
|
8
10
|
export {};
|
|
@@ -1077,6 +1077,8 @@ export declare const usePipelineAnalyticsPruneEventsBefore: typeof trpc.pipeline
|
|
|
1077
1077
|
export declare const usePipelineAnalyticsPruneTracksBefore: typeof trpc.pipelineAnalytics.pruneTracksBefore.useMutation;
|
|
1078
1078
|
/** Generated alias around `trpc.pipelineAnalytics.wipeAllAnalytics.useMutation`. */
|
|
1079
1079
|
export declare const usePipelineAnalyticsWipeAllAnalytics: typeof trpc.pipelineAnalytics.wipeAllAnalytics.useMutation;
|
|
1080
|
+
/** Generated alias around `trpc.pipelineAnalytics.reconcileFromDisk.useMutation`. */
|
|
1081
|
+
export declare const usePipelineAnalyticsReconcileFromDisk: typeof trpc.pipelineAnalytics.reconcileFromDisk.useMutation;
|
|
1080
1082
|
/** Generated alias around `trpc.pipelineAnalytics.deleteTracks.useMutation`. */
|
|
1081
1083
|
export declare const usePipelineAnalyticsDeleteTracks: typeof trpc.pipelineAnalytics.deleteTracks.useMutation;
|
|
1082
1084
|
/** Generated alias around `trpc.pipelineAnalytics.setTrackFlags.useMutation`. */
|
|
@@ -1299,6 +1301,10 @@ export declare const usePipelineOrchestratorSetCameraSwitch: typeof trpc.pipelin
|
|
|
1299
1301
|
export declare const usePipelineOrchestratorGetCameraStatus: typeof trpc.pipelineOrchestrator.getCameraStatus.useQuery;
|
|
1300
1302
|
/** Generated alias around `trpc.pipelineOrchestrator.getCameraStatuses.useQuery`. */
|
|
1301
1303
|
export declare const usePipelineOrchestratorGetCameraStatuses: typeof trpc.pipelineOrchestrator.getCameraStatuses.useQuery;
|
|
1304
|
+
/** Generated alias around `trpc.pipelineOrchestrator.reconcileFromDisk.useMutation`. */
|
|
1305
|
+
export declare const usePipelineOrchestratorReconcileFromDisk: typeof trpc.pipelineOrchestrator.reconcileFromDisk.useMutation;
|
|
1306
|
+
/** Generated alias around `trpc.pipelineOrchestrator.getReconcileFromDiskStatus.useQuery`. */
|
|
1307
|
+
export declare const usePipelineOrchestratorGetReconcileFromDiskStatus: typeof trpc.pipelineOrchestrator.getReconcileFromDiskStatus.useQuery;
|
|
1302
1308
|
/** Generated alias around `trpc.pipelineOrchestrator.listTemplates.useQuery`. */
|
|
1303
1309
|
export declare const usePipelineOrchestratorListTemplates: typeof trpc.pipelineOrchestrator.listTemplates.useQuery;
|
|
1304
1310
|
/** Generated alias around `trpc.pipelineOrchestrator.saveTemplate.useMutation`. */
|
package/dist/index.cjs
CHANGED
|
@@ -5991,6 +5991,8 @@ var usePipelineAnalyticsPruneEventsBefore = trpc.pipelineAnalytics.pruneEventsBe
|
|
|
5991
5991
|
var usePipelineAnalyticsPruneTracksBefore = trpc.pipelineAnalytics.pruneTracksBefore.useMutation;
|
|
5992
5992
|
/** Generated alias around `trpc.pipelineAnalytics.wipeAllAnalytics.useMutation`. */
|
|
5993
5993
|
var usePipelineAnalyticsWipeAllAnalytics = trpc.pipelineAnalytics.wipeAllAnalytics.useMutation;
|
|
5994
|
+
/** Generated alias around `trpc.pipelineAnalytics.reconcileFromDisk.useMutation`. */
|
|
5995
|
+
var usePipelineAnalyticsReconcileFromDisk = trpc.pipelineAnalytics.reconcileFromDisk.useMutation;
|
|
5994
5996
|
/** Generated alias around `trpc.pipelineAnalytics.deleteTracks.useMutation`. */
|
|
5995
5997
|
var usePipelineAnalyticsDeleteTracks = trpc.pipelineAnalytics.deleteTracks.useMutation;
|
|
5996
5998
|
/** Generated alias around `trpc.pipelineAnalytics.setTrackFlags.useMutation`. */
|
|
@@ -6213,6 +6215,10 @@ var usePipelineOrchestratorSetCameraSwitch = trpc.pipelineOrchestrator.setCamera
|
|
|
6213
6215
|
var usePipelineOrchestratorGetCameraStatus = trpc.pipelineOrchestrator.getCameraStatus.useQuery;
|
|
6214
6216
|
/** Generated alias around `trpc.pipelineOrchestrator.getCameraStatuses.useQuery`. */
|
|
6215
6217
|
var usePipelineOrchestratorGetCameraStatuses = trpc.pipelineOrchestrator.getCameraStatuses.useQuery;
|
|
6218
|
+
/** Generated alias around `trpc.pipelineOrchestrator.reconcileFromDisk.useMutation`. */
|
|
6219
|
+
var usePipelineOrchestratorReconcileFromDisk = trpc.pipelineOrchestrator.reconcileFromDisk.useMutation;
|
|
6220
|
+
/** Generated alias around `trpc.pipelineOrchestrator.getReconcileFromDiskStatus.useQuery`. */
|
|
6221
|
+
var usePipelineOrchestratorGetReconcileFromDiskStatus = trpc.pipelineOrchestrator.getReconcileFromDiskStatus.useQuery;
|
|
6216
6222
|
/** Generated alias around `trpc.pipelineOrchestrator.listTemplates.useQuery`. */
|
|
6217
6223
|
var usePipelineOrchestratorListTemplates = trpc.pipelineOrchestrator.listTemplates.useQuery;
|
|
6218
6224
|
/** Generated alias around `trpc.pipelineOrchestrator.saveTemplate.useMutation`. */
|
|
@@ -16152,65 +16158,6 @@ function withBandAt(bands, index, patch) {
|
|
|
16152
16158
|
function removeBandAt(bands, index) {
|
|
16153
16159
|
return bands.filter((_, i) => i !== index);
|
|
16154
16160
|
}
|
|
16155
|
-
/** Does this band cover the whole week, all day? (the Base-tab shape) */
|
|
16156
|
-
function isAlwaysBand(band) {
|
|
16157
|
-
return (band.days.length === 0 || ALL_WEEKDAYS.every((d) => band.days.includes(d))) && band.start === "00:00" && band.end === "23:59";
|
|
16158
|
-
}
|
|
16159
|
-
/**
|
|
16160
|
-
* A config is "advanced" when its bands cannot be expressed by the Base tab —
|
|
16161
|
-
* i.e. more than one band, or a single band restricted in time or weekday. Such
|
|
16162
|
-
* a config opens directly in the Advanced band table so nothing is silently
|
|
16163
|
-
* flattened by the simpler form.
|
|
16164
|
-
*/
|
|
16165
|
-
function isAdvancedConfig(cfg) {
|
|
16166
|
-
if (cfg.bands.length > 1) return true;
|
|
16167
|
-
const [only] = cfg.bands;
|
|
16168
|
-
return only !== void 0 && !isAlwaysBand(only);
|
|
16169
|
-
}
|
|
16170
|
-
/**
|
|
16171
|
-
* Read a persisted config into the Basic form state. `mode` is DERIVED from the
|
|
16172
|
-
* bands by the same function the recorder stamps `config.mode` with; the
|
|
16173
|
-
* `events` parameters come from the first events band, so re-opening the form
|
|
16174
|
-
* shows what is actually recorded.
|
|
16175
|
-
*/
|
|
16176
|
-
function formStateFromConfig(cfg) {
|
|
16177
|
-
const eventsBand = cfg.bands.find((band) => band.mode === "events");
|
|
16178
|
-
return {
|
|
16179
|
-
mode: (0, _camstack_types.deriveRecordingMode)(cfg),
|
|
16180
|
-
profiles: cfg.profiles,
|
|
16181
|
-
segmentSeconds: cfg.segmentSeconds,
|
|
16182
|
-
triggers: eventsBand?.triggers ?? {},
|
|
16183
|
-
preBufferSec: eventsBand?.preBufferSec,
|
|
16184
|
-
postBufferSec: eventsBand?.postBufferSec,
|
|
16185
|
-
retention: cfg.retention,
|
|
16186
|
-
scrubThumbnails: cfg.scrubThumbnails
|
|
16187
|
-
};
|
|
16188
|
-
}
|
|
16189
|
-
/**
|
|
16190
|
-
* Serialize the Basic form state to the wire config: one always-on band of the
|
|
16191
|
-
* chosen mode, none when `off`. `enabled` follows the mode; `mode` itself is
|
|
16192
|
-
* NOT sent — the recorder stamps it as the derived summary of the bands.
|
|
16193
|
-
*/
|
|
16194
|
-
function configFromFormState(state) {
|
|
16195
|
-
return {
|
|
16196
|
-
enabled: state.mode !== "off",
|
|
16197
|
-
bands: bandsFromFormState(state),
|
|
16198
|
-
profiles: state.profiles ? [...state.profiles] : void 0,
|
|
16199
|
-
segmentSeconds: state.segmentSeconds,
|
|
16200
|
-
retention: state.retention,
|
|
16201
|
-
scrubThumbnails: state.scrubThumbnails
|
|
16202
|
-
};
|
|
16203
|
-
}
|
|
16204
|
-
/** The Base tab's bands: one always-on band of the chosen mode (none = off). */
|
|
16205
|
-
function bandsFromFormState(state) {
|
|
16206
|
-
if (state.mode === "off") return [];
|
|
16207
|
-
if (state.mode === "continuous") return [alwaysBand("continuous")];
|
|
16208
|
-
return [alwaysBand("events", {
|
|
16209
|
-
...Object.keys(state.triggers).length > 0 ? { triggers: state.triggers } : {},
|
|
16210
|
-
...state.preBufferSec !== void 0 ? { preBufferSec: state.preBufferSec } : {},
|
|
16211
|
-
...state.postBufferSec !== void 0 ? { postBufferSec: state.postBufferSec } : {}
|
|
16212
|
-
})];
|
|
16213
|
-
}
|
|
16214
16161
|
//#endregion
|
|
16215
16162
|
//#region src/composites/cap-settings/RecordingBandsEditor.tsx
|
|
16216
16163
|
/** Weekday chips in display order (Mon→Sun); value is `Date.getDay()` (0=Sun). */
|
|
@@ -16419,11 +16366,6 @@ function BandRow({ band, onChange, onRemove }) {
|
|
|
16419
16366
|
}
|
|
16420
16367
|
//#endregion
|
|
16421
16368
|
//#region src/composites/cap-settings/RecordingSettings.tsx
|
|
16422
|
-
var PROFILES = [
|
|
16423
|
-
"high",
|
|
16424
|
-
"mid",
|
|
16425
|
-
"low"
|
|
16426
|
-
];
|
|
16427
16369
|
var MODES = [
|
|
16428
16370
|
{
|
|
16429
16371
|
value: "off",
|
|
@@ -16438,9 +16380,7 @@ var MODES = [
|
|
|
16438
16380
|
label: "Continuous"
|
|
16439
16381
|
}
|
|
16440
16382
|
];
|
|
16441
|
-
function RecordingSettings({ initial, saving, onSave }) {
|
|
16442
|
-
const [tab, setTab] = (0, react$1.useState)(isAdvancedConfig(initial) ? "advanced" : "base");
|
|
16443
|
-
const [base, setBase] = (0, react$1.useState)(formStateFromConfig(initial));
|
|
16383
|
+
function RecordingSettings({ initial, availableProfiles, saving, onSave }) {
|
|
16444
16384
|
const [bands, setBands] = (0, react$1.useState)([...initial.bands]);
|
|
16445
16385
|
const [common, setCommon] = (0, react$1.useState)({
|
|
16446
16386
|
profiles: initial.profiles,
|
|
@@ -16456,198 +16396,85 @@ function RecordingSettings({ initial, saving, onSave }) {
|
|
|
16456
16396
|
}
|
|
16457
16397
|
});
|
|
16458
16398
|
const numOrUndef = (v) => v === "" ? void 0 : Number(v);
|
|
16459
|
-
const
|
|
16460
|
-
|
|
16461
|
-
|
|
16399
|
+
const derivedMode = (0, _camstack_types.deriveRecordingMode)({
|
|
16400
|
+
enabled: bands.length > 0,
|
|
16401
|
+
bands
|
|
16402
|
+
});
|
|
16403
|
+
const selectedProfiles = (0, _camstack_types.resolveRecordingProfiles)(availableProfiles, common.profiles);
|
|
16404
|
+
const toggleProfile = (profile) => {
|
|
16405
|
+
const next = selectedProfiles.includes(profile) ? selectedProfiles.filter((x) => x !== profile) : [...selectedProfiles, profile];
|
|
16462
16406
|
setCommon({
|
|
16463
16407
|
...common,
|
|
16464
16408
|
profiles: next.length ? next : void 0
|
|
16465
16409
|
});
|
|
16466
16410
|
};
|
|
16467
|
-
const
|
|
16468
|
-
|
|
16469
|
-
|
|
16470
|
-
|
|
16471
|
-
...patch
|
|
16411
|
+
const setMode = (mode) => {
|
|
16412
|
+
if (mode === "off") {
|
|
16413
|
+
setBands([]);
|
|
16414
|
+
return;
|
|
16472
16415
|
}
|
|
16473
|
-
|
|
16474
|
-
|
|
16475
|
-
if (next === "advanced") setBands(bandsFromFormState(base));
|
|
16476
|
-
else setBase(formStateFromConfig({
|
|
16477
|
-
enabled: bands.length > 0,
|
|
16478
|
-
bands
|
|
16479
|
-
}));
|
|
16480
|
-
setTab(next);
|
|
16416
|
+
if (mode === derivedMode) return;
|
|
16417
|
+
setBands([alwaysBand(mode)]);
|
|
16481
16418
|
};
|
|
16482
16419
|
const handleSave = () => {
|
|
16483
|
-
const
|
|
16484
|
-
|
|
16485
|
-
segmentSeconds: common.segmentSeconds,
|
|
16486
|
-
retention: common.retention
|
|
16487
|
-
};
|
|
16488
|
-
if (tab === "base") onSave({
|
|
16489
|
-
...configFromFormState({
|
|
16490
|
-
...base,
|
|
16491
|
-
...shared
|
|
16492
|
-
}),
|
|
16493
|
-
...shared
|
|
16494
|
-
});
|
|
16495
|
-
else onSave({
|
|
16420
|
+
const profiles = availableProfiles.length > 0 ? (0, _camstack_types.resolveRecordingProfiles)(availableProfiles, common.profiles) : common.profiles ? [...common.profiles] : void 0;
|
|
16421
|
+
onSave({
|
|
16496
16422
|
enabled: bands.length > 0,
|
|
16497
16423
|
bands,
|
|
16498
|
-
...
|
|
16424
|
+
...profiles !== void 0 ? { profiles } : {},
|
|
16425
|
+
segmentSeconds: common.segmentSeconds,
|
|
16426
|
+
retention: common.retention
|
|
16499
16427
|
});
|
|
16500
16428
|
};
|
|
16429
|
+
const visibleProfiles = _camstack_types.CAM_PROFILE_ORDER.filter((p) => availableProfiles.includes(p));
|
|
16501
16430
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
16502
16431
|
className: "space-y-4",
|
|
16503
16432
|
children: [
|
|
16504
|
-
/* @__PURE__ */ (0, react_jsx_runtime.
|
|
16505
|
-
className: "flex gap-
|
|
16506
|
-
children: [
|
|
16433
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
16434
|
+
className: "flex items-center gap-2 text-xs",
|
|
16435
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
16436
|
+
className: "text-foreground-subtle",
|
|
16437
|
+
children: "Mode:"
|
|
16438
|
+
}), MODES.map((m) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
16507
16439
|
type: "button",
|
|
16508
|
-
|
|
16509
|
-
|
|
16510
|
-
|
|
16511
|
-
|
|
16512
|
-
|
|
16513
|
-
tab === "base" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
16514
|
-
className: "space-y-4",
|
|
16515
|
-
children: [
|
|
16516
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
16517
|
-
className: "flex items-center gap-2 text-xs",
|
|
16518
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
16519
|
-
className: "text-foreground-subtle",
|
|
16520
|
-
children: "Mode:"
|
|
16521
|
-
}), MODES.map((m) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
16522
|
-
type: "button",
|
|
16523
|
-
onClick: () => setBase({
|
|
16524
|
-
...base,
|
|
16525
|
-
mode: m.value
|
|
16526
|
-
}),
|
|
16527
|
-
className: `rounded px-2.5 py-1 ${base.mode === m.value ? "bg-primary text-primary-foreground" : "bg-surface-hover text-foreground-subtle"}`,
|
|
16528
|
-
children: m.label
|
|
16529
|
-
}, m.value))]
|
|
16530
|
-
}),
|
|
16531
|
-
base.mode !== "off" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
16532
|
-
className: "text-[11px] text-foreground-subtle",
|
|
16533
|
-
children: [
|
|
16534
|
-
"Records 24/7. Use ",
|
|
16535
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
16536
|
-
className: "font-medium",
|
|
16537
|
-
children: "Advanced (bands)"
|
|
16538
|
-
}),
|
|
16539
|
-
" to restrict hours or weekdays, or to mix continuous and event windows."
|
|
16540
|
-
]
|
|
16541
|
-
}) : null,
|
|
16542
|
-
base.mode === "events" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
16543
|
-
className: "space-y-2",
|
|
16544
|
-
children: [
|
|
16545
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
16546
|
-
className: "text-[11px] font-semibold uppercase tracking-wider text-foreground-subtle",
|
|
16547
|
-
children: "Trigger"
|
|
16548
|
-
}),
|
|
16549
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
16550
|
-
className: "flex items-center gap-2 text-xs",
|
|
16551
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
16552
|
-
type: "checkbox",
|
|
16553
|
-
checked: base.triggers.motion ?? false,
|
|
16554
|
-
onChange: (e) => setTriggers({ motion: e.target.checked ? true : void 0 })
|
|
16555
|
-
}), "Motion"]
|
|
16556
|
-
}),
|
|
16557
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
16558
|
-
className: "flex items-center gap-2 text-xs",
|
|
16559
|
-
children: [
|
|
16560
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
16561
|
-
type: "checkbox",
|
|
16562
|
-
checked: base.triggers.audioThresholdDbfs != null,
|
|
16563
|
-
onChange: (e) => setTriggers({ audioThresholdDbfs: e.target.checked ? -30 : void 0 })
|
|
16564
|
-
}),
|
|
16565
|
-
"Audio above threshold",
|
|
16566
|
-
base.triggers.audioThresholdDbfs != null ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
16567
|
-
type: "number",
|
|
16568
|
-
value: base.triggers.audioThresholdDbfs,
|
|
16569
|
-
onChange: (e) => setTriggers({ audioThresholdDbfs: numOrUndef(e.target.value) }),
|
|
16570
|
-
className: "w-16 rounded-md border border-border bg-background px-1 py-0.5 text-xs"
|
|
16571
|
-
}) : null,
|
|
16572
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
16573
|
-
className: "text-foreground-subtle",
|
|
16574
|
-
children: "dBFS"
|
|
16575
|
-
})
|
|
16576
|
-
]
|
|
16577
|
-
}),
|
|
16578
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
16579
|
-
className: "flex flex-wrap items-center gap-3 text-xs",
|
|
16580
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
16581
|
-
className: "flex items-center gap-1",
|
|
16582
|
-
children: [
|
|
16583
|
-
"Pre-buffer",
|
|
16584
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
16585
|
-
type: "number",
|
|
16586
|
-
min: 0,
|
|
16587
|
-
value: base.preBufferSec ?? "",
|
|
16588
|
-
placeholder: String(_camstack_types.DEFAULT_EVENTS_BAND_BUFFER_SEC.preBufferSec),
|
|
16589
|
-
onChange: (e) => setBase({
|
|
16590
|
-
...base,
|
|
16591
|
-
preBufferSec: numOrUndef(e.target.value)
|
|
16592
|
-
}),
|
|
16593
|
-
className: "w-16 rounded-md border border-border bg-background px-1 py-1 text-xs"
|
|
16594
|
-
}),
|
|
16595
|
-
"s"
|
|
16596
|
-
]
|
|
16597
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
16598
|
-
className: "flex items-center gap-1",
|
|
16599
|
-
children: [
|
|
16600
|
-
"Post-buffer",
|
|
16601
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
16602
|
-
type: "number",
|
|
16603
|
-
min: 0,
|
|
16604
|
-
value: base.postBufferSec ?? "",
|
|
16605
|
-
placeholder: String(_camstack_types.DEFAULT_EVENTS_BAND_BUFFER_SEC.postBufferSec),
|
|
16606
|
-
onChange: (e) => setBase({
|
|
16607
|
-
...base,
|
|
16608
|
-
postBufferSec: numOrUndef(e.target.value)
|
|
16609
|
-
}),
|
|
16610
|
-
className: "w-16 rounded-md border border-border bg-background px-1 py-1 text-xs"
|
|
16611
|
-
}),
|
|
16612
|
-
"s"
|
|
16613
|
-
]
|
|
16614
|
-
})]
|
|
16615
|
-
})
|
|
16616
|
-
]
|
|
16617
|
-
}) : null
|
|
16618
|
-
]
|
|
16619
|
-
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
16620
|
-
className: "space-y-4",
|
|
16621
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [
|
|
16622
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
16623
|
-
className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wider text-foreground-subtle",
|
|
16624
|
-
children: "Recording bands"
|
|
16625
|
-
}),
|
|
16626
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(RecordingBandsEditor, {
|
|
16627
|
-
bands,
|
|
16628
|
-
onChange: setBands
|
|
16629
|
-
}),
|
|
16630
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
16631
|
-
className: "mt-1.5 text-[11px] text-foreground-subtle",
|
|
16632
|
-
children: "A band says WHEN to record and HOW. Nothing is recorded outside every band — an empty table means this camera is off."
|
|
16633
|
-
})
|
|
16634
|
-
] })
|
|
16440
|
+
"aria-label": `Mode ${m.label}`,
|
|
16441
|
+
onClick: () => setMode(m.value),
|
|
16442
|
+
className: `rounded px-2.5 py-1 ${derivedMode === m.value ? "bg-primary text-primary-foreground" : "bg-surface-hover text-foreground-subtle"}`,
|
|
16443
|
+
children: m.label
|
|
16444
|
+
}, m.value))]
|
|
16635
16445
|
}),
|
|
16446
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [
|
|
16447
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
16448
|
+
className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wider text-foreground-subtle",
|
|
16449
|
+
children: "Recording bands"
|
|
16450
|
+
}),
|
|
16451
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(RecordingBandsEditor, {
|
|
16452
|
+
bands,
|
|
16453
|
+
onChange: setBands
|
|
16454
|
+
}),
|
|
16455
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
16456
|
+
className: "mt-1.5 text-[11px] text-foreground-subtle",
|
|
16457
|
+
children: "A band says WHEN to record and HOW. Nothing is recorded outside every band — an empty table means this camera is off."
|
|
16458
|
+
})
|
|
16459
|
+
] }),
|
|
16636
16460
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
16637
16461
|
className: "flex flex-wrap items-center gap-4 text-xs",
|
|
16638
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
16462
|
+
children: [visibleProfiles.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
16639
16463
|
className: "flex items-center gap-2",
|
|
16640
16464
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
16641
16465
|
className: "text-foreground-subtle",
|
|
16642
16466
|
children: "Profiles:"
|
|
16643
|
-
}),
|
|
16467
|
+
}), visibleProfiles.map((p) => {
|
|
16644
16468
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
16645
16469
|
type: "button",
|
|
16646
16470
|
onClick: () => toggleProfile(p),
|
|
16647
|
-
className: `rounded px-2 py-1 ${
|
|
16471
|
+
className: `rounded px-2 py-1 ${selectedProfiles.includes(p) ? "bg-primary text-primary-foreground" : "bg-surface-hover text-foreground-subtle"}`,
|
|
16648
16472
|
children: p
|
|
16649
16473
|
}, p);
|
|
16650
16474
|
})]
|
|
16475
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
16476
|
+
className: "text-foreground-subtle",
|
|
16477
|
+
children: "No assigned streams to record yet."
|
|
16651
16478
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
16652
16479
|
className: "flex items-center gap-1",
|
|
16653
16480
|
children: [
|
|
@@ -18224,6 +18051,8 @@ function RecordingPanel({ deviceId }) {
|
|
|
18224
18051
|
const configQuery = useRecordingGetDeviceConfig({ deviceId });
|
|
18225
18052
|
const setConfig = useRecordingSetDeviceConfig();
|
|
18226
18053
|
const rescanStorage = useRecordingRescanStorage();
|
|
18054
|
+
const { data: profileSlots } = useStreamBrokerListAllProfileSlots(void 0, { staleTime: 3e4 });
|
|
18055
|
+
const availableProfiles = (0, react$1.useMemo)(() => (0, _camstack_types.selectAssignedProfileSlots)(profileSlots ?? [], deviceId).map((s) => s.profile), [profileSlots, deviceId]);
|
|
18227
18056
|
const saveConfig = (config) => {
|
|
18228
18057
|
setConfig.mutate({
|
|
18229
18058
|
deviceId,
|
|
@@ -18260,10 +18089,9 @@ function RecordingPanel({ deviceId }) {
|
|
|
18260
18089
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(WidgetPanel, {
|
|
18261
18090
|
title: "Settings",
|
|
18262
18091
|
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Settings, { className: "h-3.5 w-3.5 text-foreground-subtle" }),
|
|
18263
|
-
collapsible: true,
|
|
18264
|
-
defaultOpen: false,
|
|
18265
18092
|
children: resolvedConfig ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RecordingSettings, {
|
|
18266
18093
|
initial: resolvedConfig,
|
|
18094
|
+
availableProfiles,
|
|
18267
18095
|
saving: setConfig.isPending,
|
|
18268
18096
|
onSave: saveConfig
|
|
18269
18097
|
}, JSON.stringify(resolvedConfig)) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -49715,6 +49543,7 @@ exports.usePipelineAnalyticsPruneEvents = usePipelineAnalyticsPruneEvents;
|
|
|
49715
49543
|
exports.usePipelineAnalyticsPruneEventsBefore = usePipelineAnalyticsPruneEventsBefore;
|
|
49716
49544
|
exports.usePipelineAnalyticsPruneTracksBefore = usePipelineAnalyticsPruneTracksBefore;
|
|
49717
49545
|
exports.usePipelineAnalyticsRebuildObjectEmbeddings = usePipelineAnalyticsRebuildObjectEmbeddings;
|
|
49546
|
+
exports.usePipelineAnalyticsReconcileFromDisk = usePipelineAnalyticsReconcileFromDisk;
|
|
49718
49547
|
exports.usePipelineAnalyticsRefreshStorageLocationsForMigration = usePipelineAnalyticsRefreshStorageLocationsForMigration;
|
|
49719
49548
|
exports.usePipelineAnalyticsRestageRetrainTrack = usePipelineAnalyticsRestageRetrainTrack;
|
|
49720
49549
|
exports.usePipelineAnalyticsResumeForStorageMigration = usePipelineAnalyticsResumeForStorageMigration;
|
|
@@ -49785,10 +49614,12 @@ exports.usePipelineOrchestratorGetNodeInferenceDevices = usePipelineOrchestrator
|
|
|
49785
49614
|
exports.usePipelineOrchestratorGetPipelineAssignment = usePipelineOrchestratorGetPipelineAssignment;
|
|
49786
49615
|
exports.usePipelineOrchestratorGetPipelineAssignments = usePipelineOrchestratorGetPipelineAssignments;
|
|
49787
49616
|
exports.usePipelineOrchestratorGetPipelineDevicePin = usePipelineOrchestratorGetPipelineDevicePin;
|
|
49617
|
+
exports.usePipelineOrchestratorGetReconcileFromDiskStatus = usePipelineOrchestratorGetReconcileFromDiskStatus;
|
|
49788
49618
|
exports.usePipelineOrchestratorListAgentSettings = usePipelineOrchestratorListAgentSettings;
|
|
49789
49619
|
exports.usePipelineOrchestratorListTemplates = usePipelineOrchestratorListTemplates;
|
|
49790
49620
|
exports.usePipelineOrchestratorPauseForStorageMigration = usePipelineOrchestratorPauseForStorageMigration;
|
|
49791
49621
|
exports.usePipelineOrchestratorRebalance = usePipelineOrchestratorRebalance;
|
|
49622
|
+
exports.usePipelineOrchestratorReconcileFromDisk = usePipelineOrchestratorReconcileFromDisk;
|
|
49792
49623
|
exports.usePipelineOrchestratorRemoveAgentSettings = usePipelineOrchestratorRemoveAgentSettings;
|
|
49793
49624
|
exports.usePipelineOrchestratorResetNodePipelineDefaults = usePipelineOrchestratorResetNodePipelineDefaults;
|
|
49794
49625
|
exports.usePipelineOrchestratorResolvePipeline = usePipelineOrchestratorResolvePipeline;
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ import * as __mfHostReactDOMClient from "react-dom/client";
|
|
|
13
13
|
import { createRoot } from "react-dom/client";
|
|
14
14
|
import * as __mfHostTrpcClient from "@trpc/client";
|
|
15
15
|
import { createTRPCClient, createWSClient, httpLink, splitLink, wsLink } from "@trpc/client";
|
|
16
|
-
import { ALL_CAPABILITY_DEFINITIONS, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEVICE_TYPE_CONTROL_KIND, DeviceExportStatusSchema, DeviceFeature, DeviceRole, DeviceType, EVENT_TAXONOMY, EventCategory, ExposedDeviceSchema, KNOWN_CAP_NAMES, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, RecordingConfigSchema, RecordingStatusSchema, SourceInfoSchema, TIMEZONES, buildModelVariantGroups, canConvertUnit, createDeviceProxy, createLazyTrpcSource, createSliceHandle, deriveRecordingMode, describeModelVariant, findTimezone, resolveDeviceControlKind, resolveVariantModelId, resolveViewableDeviceIds, tryConvertUnit } from "@camstack/types";
|
|
16
|
+
import { ALL_CAPABILITY_DEFINITIONS, CAM_PROFILE_ORDER, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEVICE_TYPE_CONTROL_KIND, DeviceExportStatusSchema, DeviceFeature, DeviceRole, DeviceType, EVENT_TAXONOMY, EventCategory, ExposedDeviceSchema, KNOWN_CAP_NAMES, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, RecordingConfigSchema, RecordingStatusSchema, SourceInfoSchema, TIMEZONES, buildModelVariantGroups, canConvertUnit, createDeviceProxy, createLazyTrpcSource, createSliceHandle, deriveRecordingMode, describeModelVariant, findTimezone, resolveDeviceControlKind, resolveRecordingProfiles, resolveVariantModelId, resolveViewableDeviceIds, selectAssignedProfileSlots, tryConvertUnit } from "@camstack/types";
|
|
17
17
|
import { createSystem } from "@camstack/sdk";
|
|
18
18
|
import { z } from "zod";
|
|
19
19
|
//#region node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
@@ -5967,6 +5967,8 @@ var usePipelineAnalyticsPruneEventsBefore = trpc.pipelineAnalytics.pruneEventsBe
|
|
|
5967
5967
|
var usePipelineAnalyticsPruneTracksBefore = trpc.pipelineAnalytics.pruneTracksBefore.useMutation;
|
|
5968
5968
|
/** Generated alias around `trpc.pipelineAnalytics.wipeAllAnalytics.useMutation`. */
|
|
5969
5969
|
var usePipelineAnalyticsWipeAllAnalytics = trpc.pipelineAnalytics.wipeAllAnalytics.useMutation;
|
|
5970
|
+
/** Generated alias around `trpc.pipelineAnalytics.reconcileFromDisk.useMutation`. */
|
|
5971
|
+
var usePipelineAnalyticsReconcileFromDisk = trpc.pipelineAnalytics.reconcileFromDisk.useMutation;
|
|
5970
5972
|
/** Generated alias around `trpc.pipelineAnalytics.deleteTracks.useMutation`. */
|
|
5971
5973
|
var usePipelineAnalyticsDeleteTracks = trpc.pipelineAnalytics.deleteTracks.useMutation;
|
|
5972
5974
|
/** Generated alias around `trpc.pipelineAnalytics.setTrackFlags.useMutation`. */
|
|
@@ -6189,6 +6191,10 @@ var usePipelineOrchestratorSetCameraSwitch = trpc.pipelineOrchestrator.setCamera
|
|
|
6189
6191
|
var usePipelineOrchestratorGetCameraStatus = trpc.pipelineOrchestrator.getCameraStatus.useQuery;
|
|
6190
6192
|
/** Generated alias around `trpc.pipelineOrchestrator.getCameraStatuses.useQuery`. */
|
|
6191
6193
|
var usePipelineOrchestratorGetCameraStatuses = trpc.pipelineOrchestrator.getCameraStatuses.useQuery;
|
|
6194
|
+
/** Generated alias around `trpc.pipelineOrchestrator.reconcileFromDisk.useMutation`. */
|
|
6195
|
+
var usePipelineOrchestratorReconcileFromDisk = trpc.pipelineOrchestrator.reconcileFromDisk.useMutation;
|
|
6196
|
+
/** Generated alias around `trpc.pipelineOrchestrator.getReconcileFromDiskStatus.useQuery`. */
|
|
6197
|
+
var usePipelineOrchestratorGetReconcileFromDiskStatus = trpc.pipelineOrchestrator.getReconcileFromDiskStatus.useQuery;
|
|
6192
6198
|
/** Generated alias around `trpc.pipelineOrchestrator.listTemplates.useQuery`. */
|
|
6193
6199
|
var usePipelineOrchestratorListTemplates = trpc.pipelineOrchestrator.listTemplates.useQuery;
|
|
6194
6200
|
/** Generated alias around `trpc.pipelineOrchestrator.saveTemplate.useMutation`. */
|
|
@@ -16128,65 +16134,6 @@ function withBandAt(bands, index, patch) {
|
|
|
16128
16134
|
function removeBandAt(bands, index) {
|
|
16129
16135
|
return bands.filter((_, i) => i !== index);
|
|
16130
16136
|
}
|
|
16131
|
-
/** Does this band cover the whole week, all day? (the Base-tab shape) */
|
|
16132
|
-
function isAlwaysBand(band) {
|
|
16133
|
-
return (band.days.length === 0 || ALL_WEEKDAYS.every((d) => band.days.includes(d))) && band.start === "00:00" && band.end === "23:59";
|
|
16134
|
-
}
|
|
16135
|
-
/**
|
|
16136
|
-
* A config is "advanced" when its bands cannot be expressed by the Base tab —
|
|
16137
|
-
* i.e. more than one band, or a single band restricted in time or weekday. Such
|
|
16138
|
-
* a config opens directly in the Advanced band table so nothing is silently
|
|
16139
|
-
* flattened by the simpler form.
|
|
16140
|
-
*/
|
|
16141
|
-
function isAdvancedConfig(cfg) {
|
|
16142
|
-
if (cfg.bands.length > 1) return true;
|
|
16143
|
-
const [only] = cfg.bands;
|
|
16144
|
-
return only !== void 0 && !isAlwaysBand(only);
|
|
16145
|
-
}
|
|
16146
|
-
/**
|
|
16147
|
-
* Read a persisted config into the Basic form state. `mode` is DERIVED from the
|
|
16148
|
-
* bands by the same function the recorder stamps `config.mode` with; the
|
|
16149
|
-
* `events` parameters come from the first events band, so re-opening the form
|
|
16150
|
-
* shows what is actually recorded.
|
|
16151
|
-
*/
|
|
16152
|
-
function formStateFromConfig(cfg) {
|
|
16153
|
-
const eventsBand = cfg.bands.find((band) => band.mode === "events");
|
|
16154
|
-
return {
|
|
16155
|
-
mode: deriveRecordingMode(cfg),
|
|
16156
|
-
profiles: cfg.profiles,
|
|
16157
|
-
segmentSeconds: cfg.segmentSeconds,
|
|
16158
|
-
triggers: eventsBand?.triggers ?? {},
|
|
16159
|
-
preBufferSec: eventsBand?.preBufferSec,
|
|
16160
|
-
postBufferSec: eventsBand?.postBufferSec,
|
|
16161
|
-
retention: cfg.retention,
|
|
16162
|
-
scrubThumbnails: cfg.scrubThumbnails
|
|
16163
|
-
};
|
|
16164
|
-
}
|
|
16165
|
-
/**
|
|
16166
|
-
* Serialize the Basic form state to the wire config: one always-on band of the
|
|
16167
|
-
* chosen mode, none when `off`. `enabled` follows the mode; `mode` itself is
|
|
16168
|
-
* NOT sent — the recorder stamps it as the derived summary of the bands.
|
|
16169
|
-
*/
|
|
16170
|
-
function configFromFormState(state) {
|
|
16171
|
-
return {
|
|
16172
|
-
enabled: state.mode !== "off",
|
|
16173
|
-
bands: bandsFromFormState(state),
|
|
16174
|
-
profiles: state.profiles ? [...state.profiles] : void 0,
|
|
16175
|
-
segmentSeconds: state.segmentSeconds,
|
|
16176
|
-
retention: state.retention,
|
|
16177
|
-
scrubThumbnails: state.scrubThumbnails
|
|
16178
|
-
};
|
|
16179
|
-
}
|
|
16180
|
-
/** The Base tab's bands: one always-on band of the chosen mode (none = off). */
|
|
16181
|
-
function bandsFromFormState(state) {
|
|
16182
|
-
if (state.mode === "off") return [];
|
|
16183
|
-
if (state.mode === "continuous") return [alwaysBand("continuous")];
|
|
16184
|
-
return [alwaysBand("events", {
|
|
16185
|
-
...Object.keys(state.triggers).length > 0 ? { triggers: state.triggers } : {},
|
|
16186
|
-
...state.preBufferSec !== void 0 ? { preBufferSec: state.preBufferSec } : {},
|
|
16187
|
-
...state.postBufferSec !== void 0 ? { postBufferSec: state.postBufferSec } : {}
|
|
16188
|
-
})];
|
|
16189
|
-
}
|
|
16190
16137
|
//#endregion
|
|
16191
16138
|
//#region src/composites/cap-settings/RecordingBandsEditor.tsx
|
|
16192
16139
|
/** Weekday chips in display order (Mon→Sun); value is `Date.getDay()` (0=Sun). */
|
|
@@ -16395,11 +16342,6 @@ function BandRow({ band, onChange, onRemove }) {
|
|
|
16395
16342
|
}
|
|
16396
16343
|
//#endregion
|
|
16397
16344
|
//#region src/composites/cap-settings/RecordingSettings.tsx
|
|
16398
|
-
var PROFILES = [
|
|
16399
|
-
"high",
|
|
16400
|
-
"mid",
|
|
16401
|
-
"low"
|
|
16402
|
-
];
|
|
16403
16345
|
var MODES = [
|
|
16404
16346
|
{
|
|
16405
16347
|
value: "off",
|
|
@@ -16414,9 +16356,7 @@ var MODES = [
|
|
|
16414
16356
|
label: "Continuous"
|
|
16415
16357
|
}
|
|
16416
16358
|
];
|
|
16417
|
-
function RecordingSettings({ initial, saving, onSave }) {
|
|
16418
|
-
const [tab, setTab] = useState(isAdvancedConfig(initial) ? "advanced" : "base");
|
|
16419
|
-
const [base, setBase] = useState(formStateFromConfig(initial));
|
|
16359
|
+
function RecordingSettings({ initial, availableProfiles, saving, onSave }) {
|
|
16420
16360
|
const [bands, setBands] = useState([...initial.bands]);
|
|
16421
16361
|
const [common, setCommon] = useState({
|
|
16422
16362
|
profiles: initial.profiles,
|
|
@@ -16432,198 +16372,85 @@ function RecordingSettings({ initial, saving, onSave }) {
|
|
|
16432
16372
|
}
|
|
16433
16373
|
});
|
|
16434
16374
|
const numOrUndef = (v) => v === "" ? void 0 : Number(v);
|
|
16435
|
-
const
|
|
16436
|
-
|
|
16437
|
-
|
|
16375
|
+
const derivedMode = deriveRecordingMode({
|
|
16376
|
+
enabled: bands.length > 0,
|
|
16377
|
+
bands
|
|
16378
|
+
});
|
|
16379
|
+
const selectedProfiles = resolveRecordingProfiles(availableProfiles, common.profiles);
|
|
16380
|
+
const toggleProfile = (profile) => {
|
|
16381
|
+
const next = selectedProfiles.includes(profile) ? selectedProfiles.filter((x) => x !== profile) : [...selectedProfiles, profile];
|
|
16438
16382
|
setCommon({
|
|
16439
16383
|
...common,
|
|
16440
16384
|
profiles: next.length ? next : void 0
|
|
16441
16385
|
});
|
|
16442
16386
|
};
|
|
16443
|
-
const
|
|
16444
|
-
|
|
16445
|
-
|
|
16446
|
-
|
|
16447
|
-
...patch
|
|
16387
|
+
const setMode = (mode) => {
|
|
16388
|
+
if (mode === "off") {
|
|
16389
|
+
setBands([]);
|
|
16390
|
+
return;
|
|
16448
16391
|
}
|
|
16449
|
-
|
|
16450
|
-
|
|
16451
|
-
if (next === "advanced") setBands(bandsFromFormState(base));
|
|
16452
|
-
else setBase(formStateFromConfig({
|
|
16453
|
-
enabled: bands.length > 0,
|
|
16454
|
-
bands
|
|
16455
|
-
}));
|
|
16456
|
-
setTab(next);
|
|
16392
|
+
if (mode === derivedMode) return;
|
|
16393
|
+
setBands([alwaysBand(mode)]);
|
|
16457
16394
|
};
|
|
16458
16395
|
const handleSave = () => {
|
|
16459
|
-
const
|
|
16460
|
-
|
|
16461
|
-
segmentSeconds: common.segmentSeconds,
|
|
16462
|
-
retention: common.retention
|
|
16463
|
-
};
|
|
16464
|
-
if (tab === "base") onSave({
|
|
16465
|
-
...configFromFormState({
|
|
16466
|
-
...base,
|
|
16467
|
-
...shared
|
|
16468
|
-
}),
|
|
16469
|
-
...shared
|
|
16470
|
-
});
|
|
16471
|
-
else onSave({
|
|
16396
|
+
const profiles = availableProfiles.length > 0 ? resolveRecordingProfiles(availableProfiles, common.profiles) : common.profiles ? [...common.profiles] : void 0;
|
|
16397
|
+
onSave({
|
|
16472
16398
|
enabled: bands.length > 0,
|
|
16473
16399
|
bands,
|
|
16474
|
-
...
|
|
16400
|
+
...profiles !== void 0 ? { profiles } : {},
|
|
16401
|
+
segmentSeconds: common.segmentSeconds,
|
|
16402
|
+
retention: common.retention
|
|
16475
16403
|
});
|
|
16476
16404
|
};
|
|
16405
|
+
const visibleProfiles = CAM_PROFILE_ORDER.filter((p) => availableProfiles.includes(p));
|
|
16477
16406
|
return /* @__PURE__ */ jsxs("div", {
|
|
16478
16407
|
className: "space-y-4",
|
|
16479
16408
|
children: [
|
|
16480
|
-
/* @__PURE__ */
|
|
16481
|
-
className: "flex gap-
|
|
16482
|
-
children: [
|
|
16409
|
+
/* @__PURE__ */ jsxs("div", {
|
|
16410
|
+
className: "flex items-center gap-2 text-xs",
|
|
16411
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
16412
|
+
className: "text-foreground-subtle",
|
|
16413
|
+
children: "Mode:"
|
|
16414
|
+
}), MODES.map((m) => /* @__PURE__ */ jsx("button", {
|
|
16483
16415
|
type: "button",
|
|
16484
|
-
|
|
16485
|
-
|
|
16486
|
-
|
|
16487
|
-
|
|
16488
|
-
|
|
16489
|
-
tab === "base" ? /* @__PURE__ */ jsxs("div", {
|
|
16490
|
-
className: "space-y-4",
|
|
16491
|
-
children: [
|
|
16492
|
-
/* @__PURE__ */ jsxs("div", {
|
|
16493
|
-
className: "flex items-center gap-2 text-xs",
|
|
16494
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
16495
|
-
className: "text-foreground-subtle",
|
|
16496
|
-
children: "Mode:"
|
|
16497
|
-
}), MODES.map((m) => /* @__PURE__ */ jsx("button", {
|
|
16498
|
-
type: "button",
|
|
16499
|
-
onClick: () => setBase({
|
|
16500
|
-
...base,
|
|
16501
|
-
mode: m.value
|
|
16502
|
-
}),
|
|
16503
|
-
className: `rounded px-2.5 py-1 ${base.mode === m.value ? "bg-primary text-primary-foreground" : "bg-surface-hover text-foreground-subtle"}`,
|
|
16504
|
-
children: m.label
|
|
16505
|
-
}, m.value))]
|
|
16506
|
-
}),
|
|
16507
|
-
base.mode !== "off" ? /* @__PURE__ */ jsxs("p", {
|
|
16508
|
-
className: "text-[11px] text-foreground-subtle",
|
|
16509
|
-
children: [
|
|
16510
|
-
"Records 24/7. Use ",
|
|
16511
|
-
/* @__PURE__ */ jsx("span", {
|
|
16512
|
-
className: "font-medium",
|
|
16513
|
-
children: "Advanced (bands)"
|
|
16514
|
-
}),
|
|
16515
|
-
" to restrict hours or weekdays, or to mix continuous and event windows."
|
|
16516
|
-
]
|
|
16517
|
-
}) : null,
|
|
16518
|
-
base.mode === "events" ? /* @__PURE__ */ jsxs("div", {
|
|
16519
|
-
className: "space-y-2",
|
|
16520
|
-
children: [
|
|
16521
|
-
/* @__PURE__ */ jsx("div", {
|
|
16522
|
-
className: "text-[11px] font-semibold uppercase tracking-wider text-foreground-subtle",
|
|
16523
|
-
children: "Trigger"
|
|
16524
|
-
}),
|
|
16525
|
-
/* @__PURE__ */ jsxs("label", {
|
|
16526
|
-
className: "flex items-center gap-2 text-xs",
|
|
16527
|
-
children: [/* @__PURE__ */ jsx("input", {
|
|
16528
|
-
type: "checkbox",
|
|
16529
|
-
checked: base.triggers.motion ?? false,
|
|
16530
|
-
onChange: (e) => setTriggers({ motion: e.target.checked ? true : void 0 })
|
|
16531
|
-
}), "Motion"]
|
|
16532
|
-
}),
|
|
16533
|
-
/* @__PURE__ */ jsxs("label", {
|
|
16534
|
-
className: "flex items-center gap-2 text-xs",
|
|
16535
|
-
children: [
|
|
16536
|
-
/* @__PURE__ */ jsx("input", {
|
|
16537
|
-
type: "checkbox",
|
|
16538
|
-
checked: base.triggers.audioThresholdDbfs != null,
|
|
16539
|
-
onChange: (e) => setTriggers({ audioThresholdDbfs: e.target.checked ? -30 : void 0 })
|
|
16540
|
-
}),
|
|
16541
|
-
"Audio above threshold",
|
|
16542
|
-
base.triggers.audioThresholdDbfs != null ? /* @__PURE__ */ jsx("input", {
|
|
16543
|
-
type: "number",
|
|
16544
|
-
value: base.triggers.audioThresholdDbfs,
|
|
16545
|
-
onChange: (e) => setTriggers({ audioThresholdDbfs: numOrUndef(e.target.value) }),
|
|
16546
|
-
className: "w-16 rounded-md border border-border bg-background px-1 py-0.5 text-xs"
|
|
16547
|
-
}) : null,
|
|
16548
|
-
/* @__PURE__ */ jsx("span", {
|
|
16549
|
-
className: "text-foreground-subtle",
|
|
16550
|
-
children: "dBFS"
|
|
16551
|
-
})
|
|
16552
|
-
]
|
|
16553
|
-
}),
|
|
16554
|
-
/* @__PURE__ */ jsxs("div", {
|
|
16555
|
-
className: "flex flex-wrap items-center gap-3 text-xs",
|
|
16556
|
-
children: [/* @__PURE__ */ jsxs("label", {
|
|
16557
|
-
className: "flex items-center gap-1",
|
|
16558
|
-
children: [
|
|
16559
|
-
"Pre-buffer",
|
|
16560
|
-
/* @__PURE__ */ jsx("input", {
|
|
16561
|
-
type: "number",
|
|
16562
|
-
min: 0,
|
|
16563
|
-
value: base.preBufferSec ?? "",
|
|
16564
|
-
placeholder: String(DEFAULT_EVENTS_BAND_BUFFER_SEC.preBufferSec),
|
|
16565
|
-
onChange: (e) => setBase({
|
|
16566
|
-
...base,
|
|
16567
|
-
preBufferSec: numOrUndef(e.target.value)
|
|
16568
|
-
}),
|
|
16569
|
-
className: "w-16 rounded-md border border-border bg-background px-1 py-1 text-xs"
|
|
16570
|
-
}),
|
|
16571
|
-
"s"
|
|
16572
|
-
]
|
|
16573
|
-
}), /* @__PURE__ */ jsxs("label", {
|
|
16574
|
-
className: "flex items-center gap-1",
|
|
16575
|
-
children: [
|
|
16576
|
-
"Post-buffer",
|
|
16577
|
-
/* @__PURE__ */ jsx("input", {
|
|
16578
|
-
type: "number",
|
|
16579
|
-
min: 0,
|
|
16580
|
-
value: base.postBufferSec ?? "",
|
|
16581
|
-
placeholder: String(DEFAULT_EVENTS_BAND_BUFFER_SEC.postBufferSec),
|
|
16582
|
-
onChange: (e) => setBase({
|
|
16583
|
-
...base,
|
|
16584
|
-
postBufferSec: numOrUndef(e.target.value)
|
|
16585
|
-
}),
|
|
16586
|
-
className: "w-16 rounded-md border border-border bg-background px-1 py-1 text-xs"
|
|
16587
|
-
}),
|
|
16588
|
-
"s"
|
|
16589
|
-
]
|
|
16590
|
-
})]
|
|
16591
|
-
})
|
|
16592
|
-
]
|
|
16593
|
-
}) : null
|
|
16594
|
-
]
|
|
16595
|
-
}) : /* @__PURE__ */ jsx("div", {
|
|
16596
|
-
className: "space-y-4",
|
|
16597
|
-
children: /* @__PURE__ */ jsxs("div", { children: [
|
|
16598
|
-
/* @__PURE__ */ jsx("div", {
|
|
16599
|
-
className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wider text-foreground-subtle",
|
|
16600
|
-
children: "Recording bands"
|
|
16601
|
-
}),
|
|
16602
|
-
/* @__PURE__ */ jsx(RecordingBandsEditor, {
|
|
16603
|
-
bands,
|
|
16604
|
-
onChange: setBands
|
|
16605
|
-
}),
|
|
16606
|
-
/* @__PURE__ */ jsx("p", {
|
|
16607
|
-
className: "mt-1.5 text-[11px] text-foreground-subtle",
|
|
16608
|
-
children: "A band says WHEN to record and HOW. Nothing is recorded outside every band — an empty table means this camera is off."
|
|
16609
|
-
})
|
|
16610
|
-
] })
|
|
16416
|
+
"aria-label": `Mode ${m.label}`,
|
|
16417
|
+
onClick: () => setMode(m.value),
|
|
16418
|
+
className: `rounded px-2.5 py-1 ${derivedMode === m.value ? "bg-primary text-primary-foreground" : "bg-surface-hover text-foreground-subtle"}`,
|
|
16419
|
+
children: m.label
|
|
16420
|
+
}, m.value))]
|
|
16611
16421
|
}),
|
|
16422
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
16423
|
+
/* @__PURE__ */ jsx("div", {
|
|
16424
|
+
className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wider text-foreground-subtle",
|
|
16425
|
+
children: "Recording bands"
|
|
16426
|
+
}),
|
|
16427
|
+
/* @__PURE__ */ jsx(RecordingBandsEditor, {
|
|
16428
|
+
bands,
|
|
16429
|
+
onChange: setBands
|
|
16430
|
+
}),
|
|
16431
|
+
/* @__PURE__ */ jsx("p", {
|
|
16432
|
+
className: "mt-1.5 text-[11px] text-foreground-subtle",
|
|
16433
|
+
children: "A band says WHEN to record and HOW. Nothing is recorded outside every band — an empty table means this camera is off."
|
|
16434
|
+
})
|
|
16435
|
+
] }),
|
|
16612
16436
|
/* @__PURE__ */ jsxs("div", {
|
|
16613
16437
|
className: "flex flex-wrap items-center gap-4 text-xs",
|
|
16614
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
16438
|
+
children: [visibleProfiles.length > 0 ? /* @__PURE__ */ jsxs("div", {
|
|
16615
16439
|
className: "flex items-center gap-2",
|
|
16616
16440
|
children: [/* @__PURE__ */ jsx("span", {
|
|
16617
16441
|
className: "text-foreground-subtle",
|
|
16618
16442
|
children: "Profiles:"
|
|
16619
|
-
}),
|
|
16443
|
+
}), visibleProfiles.map((p) => {
|
|
16620
16444
|
return /* @__PURE__ */ jsx("button", {
|
|
16621
16445
|
type: "button",
|
|
16622
16446
|
onClick: () => toggleProfile(p),
|
|
16623
|
-
className: `rounded px-2 py-1 ${
|
|
16447
|
+
className: `rounded px-2 py-1 ${selectedProfiles.includes(p) ? "bg-primary text-primary-foreground" : "bg-surface-hover text-foreground-subtle"}`,
|
|
16624
16448
|
children: p
|
|
16625
16449
|
}, p);
|
|
16626
16450
|
})]
|
|
16451
|
+
}) : /* @__PURE__ */ jsx("span", {
|
|
16452
|
+
className: "text-foreground-subtle",
|
|
16453
|
+
children: "No assigned streams to record yet."
|
|
16627
16454
|
}), /* @__PURE__ */ jsxs("label", {
|
|
16628
16455
|
className: "flex items-center gap-1",
|
|
16629
16456
|
children: [
|
|
@@ -18200,6 +18027,8 @@ function RecordingPanel({ deviceId }) {
|
|
|
18200
18027
|
const configQuery = useRecordingGetDeviceConfig({ deviceId });
|
|
18201
18028
|
const setConfig = useRecordingSetDeviceConfig();
|
|
18202
18029
|
const rescanStorage = useRecordingRescanStorage();
|
|
18030
|
+
const { data: profileSlots } = useStreamBrokerListAllProfileSlots(void 0, { staleTime: 3e4 });
|
|
18031
|
+
const availableProfiles = useMemo(() => selectAssignedProfileSlots(profileSlots ?? [], deviceId).map((s) => s.profile), [profileSlots, deviceId]);
|
|
18203
18032
|
const saveConfig = (config) => {
|
|
18204
18033
|
setConfig.mutate({
|
|
18205
18034
|
deviceId,
|
|
@@ -18236,10 +18065,9 @@ function RecordingPanel({ deviceId }) {
|
|
|
18236
18065
|
children: [/* @__PURE__ */ jsx(WidgetPanel, {
|
|
18237
18066
|
title: "Settings",
|
|
18238
18067
|
icon: /* @__PURE__ */ jsx(Settings, { className: "h-3.5 w-3.5 text-foreground-subtle" }),
|
|
18239
|
-
collapsible: true,
|
|
18240
|
-
defaultOpen: false,
|
|
18241
18068
|
children: resolvedConfig ? /* @__PURE__ */ jsx(RecordingSettings, {
|
|
18242
18069
|
initial: resolvedConfig,
|
|
18070
|
+
availableProfiles,
|
|
18243
18071
|
saving: setConfig.isPending,
|
|
18244
18072
|
onSave: saveConfig
|
|
18245
18073
|
}, JSON.stringify(resolvedConfig)) : /* @__PURE__ */ jsx("div", {
|
|
@@ -48724,4 +48552,4 @@ var SceneMonitorEditor = lazy(() => import("./SceneMonitorEditor-d_A4kO-M.js").t
|
|
|
48724
48552
|
/** Lazy-wrapped `PrivacyMaskSettings` — code-split off the main bundle. */
|
|
48725
48553
|
var PrivacyMaskSettings = lazy(() => import("./PrivacyMaskSettings-DNSLc6ww.js").then((m) => ({ default: m.PrivacyMaskSettings })));
|
|
48726
48554
|
//#endregion
|
|
48727
|
-
export { AddonGlobalSettingsForm, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutomationHeroCard, AutomationInlineControl, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CARD_MODE_MIN_COLUMNS, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEVICE_COLUMNS, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceGrid, DeviceItem, DeviceList, DeviceMultiSelectField, DeviceSelectField, DeviceSelectorPicker, DeviceStepMatrix, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EVENT_KIND_ICONS, EmptyState, ErrorBox, EventKindGlyph, EventStream, FILL, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GripTrack, GroupedModelSelector, HOST_WIDGETS, HlsVideo, HoverZoomImage, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, IconAction, IconButton, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MODE_COLOR, MaskShapeCanvas, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, ModelPicker, MotionZonesSettings, NodeMultiSelectField, NodePicker, NodeSelectField, OfflineBadge, PHASE_CONFIG, PRIORITY, PTZOverlay, PageHeader, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PipelineTreeMatrix, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, PtzPanel, QrCode, RECONNECT_POLICY, RECORDED_PLAYBACK_MODES, RIGHT, ROI_AREA_WARN_FRACTION, ROLE_DESCRIPTOR, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, SCENE_CAPTURE_VARIANTS, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SETTING_ROW, SETTING_ROW_LABEL, SETTING_ROW_STACK_BREAKPOINT, SETTING_ROW_VALUE, SETTING_ROW_VALUE_TEXT, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, SceneMonitorEditor, ScopePicker, ScriptHeroCard, ScriptInlineControl, ScrollArea, Select, SemanticBadge, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, SettingRow, Sidebar, SidebarItem, Skeleton, SlideOverPanel, SlideToggle, SnapshotButton, StatCard, StateValuesStream, StatusBadge, StepTimings, StepTreeMaster, Stepper, StreamBrokerSelector, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TABLE_SCROLL_MAX_H, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, ImageOff as a, agentColumnKey, allDeviceTypeFilterOptions, badgeFor, buildStepTreeFromSchema, createLucideIcon as c, childEntityId, childListName, cn, columnsForContext, containerChildToRef, countableDevices, coverHighlight, coverageLine, createSharedContext, createTheme, cursorFractionFor, darkColors, defaultTheme, deriveDeviceKind, describeDeviceSelector, deviceMatchesFilter, deviceOptionLabel, deviceRoleMeta, deviceRoleMetaOf, deviceTypeLabel, deviceTypeMeta, deviceTypeMetaOf, devicesToOptions, ensureMfHostInit, eventKindLabel, filterDeviceOptions, findTimezone, formatControlDateTime, formatLastSeen, formatNumeric, fuzzyMatch, getClassColor, getPhaseVisual, groupAgentColumns, groupChildrenByLayout, hardwareLabel, humanDuration, humidifierTint, Mic as i, initialScrubState, isAbsentProvider, isFieldVisible, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, metadataEntries, metadataString, mirror, mountAddonPage, Square as n, nextReconnectAction, nextSort, normalizeForSearch, EyeOff as o, overrideEntityIdFromLink, parseRecordedServerMessage, providerIcons, RotateCcw as r, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDisplayIcon, resolveEffectiveDefaultModel, resolveEffectiveStepModel, resolveEventKindIcon, resolvePrimaryChild, resolveSensorDisplay, resolveStepDefaultModel, resolveTableLayout, roiTooLarge, Camera as s, scrubReducer, selectedDeviceOptions, serializeRecordedCommand, shouldCommit, shouldEmit, shouldUseSingleNode, sortRows, statusIcons, statusLine, stepHasModelForFormat, stepModelOptions, stripParentNamePrefix, Trash2 as t, tabForSelector, tankAlert, themeToCss, trpc, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupDelete, useBackupDeleteSchedule, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListDestinations, useBackupListLocations, useBackupListSchedules, useBackupPreviewSchedule, useBackupRestore, useBackupTrigger, useBackupUpsertDestinationPolicy, useBackupUpsertSchedule, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useColorGetStatus, useColorSetColor, useConfirm, useConnectionTestDescribeTest, useConnectionTestTestSettings, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoreBlocksCompile, useCoreBlocksCreate, useCoreBlocksDelete, useCoreBlocksGet, useCoreBlocksGetTypeDefs, useCoreBlocksList, useCoreBlocksRestart, useCoreBlocksSetEnabled, useCoreBlocksUpdate, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetFrame, useDecoderGetInfo, useDecoderGetShmStats, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPullHandles, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionCancelJob, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionListJobs, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAdoptionStartJob, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyDeviceSettingsPatch, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveContribution, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceSettingsContribution, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetDeviceStatusAggregateBatch, useDeviceManagerGetLinkedDevices, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellApplyDeviceSettingsPatch, useDoorbellEvents, useDoorbellGetDeviceLiveContribution, useDoorbellGetDeviceSettingsContribution, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLlmCancel, useLlmDeleteModel, useLlmDeleteProfile, useLlmGenerate, useLlmGenerateVision, useLlmGetDefaults, useLlmGetRuntimeStatus, useLlmGetUsage, useLlmInstallModel, useLlmListModelCatalog, useLlmListModels, useLlmListNodeModels, useLlmListProfileKinds, useLlmListProfiles, useLlmListRuntimeNodes, useLlmResolveModelRef, useLlmSetDefault, useLlmStartRuntime, useLlmStopRuntime, useLlmTestProfile, useLlmUpsertProfile, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetNotificationEndpoint, useLocalNetworkGetPreferred, useLocalNetworkList, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkSetAllowedAddresses, useLocalNetworkSetNotificationEndpoint, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderDumpHeapSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotificationRulesCancelSnooze, useNotificationRulesCreateRule, useNotificationRulesCreateSnooze, useNotificationRulesDeleteRule, useNotificationRulesGetAlarmConfig, useNotificationRulesGetConditionCatalog, useNotificationRulesGetHistory, useNotificationRulesGetRule, useNotificationRulesListDeviceMutes, useNotificationRulesListRules, useNotificationRulesListSnoozes, useNotificationRulesSetAlarmConfig, useNotificationRulesSetDeviceMuted, useNotificationRulesSetRuleEnabled, useNotificationRulesTestRule, useNotificationRulesUpdateRule, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdManagerClearSlotBinding, useOsdManagerCopyDeviceConfiguration, useOsdManagerGetConditionSupport, useOsdManagerGetDeviceOsd, useOsdManagerGetSourceCatalog, useOsdManagerPreviewSlot, useOsdManagerRenderDevice, useOsdManagerSetSlotBinding, useOsdSetOverlay, usePTZ, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsCancelStorageMigrationMove, usePipelineAnalyticsClearTracks, usePipelineAnalyticsCompleteRetrainTrack, usePipelineAnalyticsDeleteDeviceEvents, usePipelineAnalyticsDeleteTracks, usePipelineAnalyticsDeselectRetrainFrame, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetEventStoreFootprint, usePipelineAnalyticsGetKeyEvents, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEmbeddingRebuildStatus, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetRetrainExportUrl, usePipelineAnalyticsGetRetrainFrameImage, usePipelineAnalyticsGetSensorEvents, usePipelineAnalyticsGetStorageMigrationMoveStatus, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsGetTrainingExportSummary, usePipelineAnalyticsGetTrainingExportUrl, usePipelineAnalyticsListEventKinds, usePipelineAnalyticsListEventKindsBatch, usePipelineAnalyticsListOpsLog, usePipelineAnalyticsListRecentTracks, usePipelineAnalyticsListRetrainAnnotations, usePipelineAnalyticsListRetrainFrames, usePipelineAnalyticsListRetrainStaging, usePipelineAnalyticsListTrackMedia, usePipelineAnalyticsListTracks, usePipelineAnalyticsPauseForStorageMigration, usePipelineAnalyticsProposeRetrainAnnotations, usePipelineAnalyticsPruneEvents, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsPruneTracksBefore, usePipelineAnalyticsRebuildObjectEmbeddings, usePipelineAnalyticsRefreshStorageLocationsForMigration, usePipelineAnalyticsRestageRetrainTrack, usePipelineAnalyticsResumeForStorageMigration, usePipelineAnalyticsSaveRetrainAnnotations, usePipelineAnalyticsSearchObjectEvents, usePipelineAnalyticsSelectRetrainFrames, usePipelineAnalyticsSetTrackFlags, usePipelineAnalyticsStartStorageMigrationMove, usePipelineAnalyticsWipeAllAnalytics, usePipelineAnalyticsWipeObjectEmbeddings, usePipelineExecutorCacheFrameInPool, usePipelineExecutorClearDeviceOverrides, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineExecutorValidatePipeline, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCameraSwitches, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetNodeInferenceDevices, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorGetPipelineDevicePin, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorPauseForStorageMigration, usePipelineOrchestratorRebalance, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResetNodePipelineDefaults, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorResumeForStorageMigration, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDetectWeight, usePipelineOrchestratorSetAgentInferenceDevices, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCameraSwitch, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorSetPipelineDevicePin, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerGetNativeCrop, usePipelineRunnerReportMotion, usePipelineRunnerRunDetailSubtree, usePipelineRunnerRunStatelessStep, usePlateGalleryAssignPlate, usePlateGalleryAssignPlates, usePlateGalleryCorrectPlateText, usePlateGalleryCreateVehicle, usePlateGalleryDeletePlate, usePlateGalleryDeleteVehicle, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGalleryListVehicleSamples, usePlateGalleryListVehicles, usePlateGalleryRemoveVehicleSample, usePlateGalleryRenameVehicle, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlateGalleryUnassignPlate, usePlateGalleryUnassignPlates, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetAudioEnabled, usePrivacyMaskSetMask, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzDeletePreset, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingApplyDeviceSettingsPatch, useRecordingCancelRelocateJob, useRecordingCancelStorageMigrationMove, useRecordingDeleteFootprint, useRecordingExportCancelExport, useRecordingExportCreateExport, useRecordingExportDeleteExport, useRecordingExportGetDownloadUrl, useRecordingExportGetExport, useRecordingExportListExports, useRecordingExportReadExportBytes, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetDeviceConfig, useRecordingGetDeviceLiveContribution, useRecordingGetDeviceSettingsContribution, useRecordingGetPlaybackManifest, useRecordingGetStatus, useRecordingGetStorageMigrationMoveStatus, useRecordingGetStorageUsage, useRecordingListOpsLog, useRecordingListRelocateJobs, useRecordingLocateSegment, useRecordingPauseForStorageMigration, useRecordingPlanStorageRebalance, useRecordingPruneFootage, useRecordingReadGopBytes, useRecordingReadSegmentBytes, useRecordingRefreshStorageLocationsForMigration, useRecordingRelocateFootage, useRecordingRenderClip, useRecordingRenderGif, useRecordingRescanStorage, useRecordingResumeForStorageMigration, useRecordingSetDeviceConfig, useRecordingStartStorageMigrationMove, useRecordingStartStorageRebalance, useRemoteComponent, useSceneMonitorCaptureReference, useSceneMonitorCreateScene, useSceneMonitorDeleteReference, useSceneMonitorDeleteScene, useSceneMonitorGetStatus, useSceneMonitorListScenes, useSceneMonitorRecheckNow, useSceneMonitorResetScene, useSceneMonitorUpdateScene, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useServerManagementApplyServerUpdate, useServerManagementCheckServerUpdate, useServerManagementGetServerPackageStatus, useServerManagementRestartServer, useServerManagementRollbackServerUpdate, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreDeleteWhere, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSettingsStoreUpdateWhere, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDebugState, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetSnapshotLinks, useSnapshotGetSnapshotOverview, useSnapshotGetStatus, useSnapshotInvalidateCache, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageGetDefaultLocation, useStorageList, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageMigrationCancel, useStorageMigrationPlan, useStorageMigrationStart, useStorageMigrationStatus, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStreamBrokerAcquireEgressTranscode, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerFetchEventMedia, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceAudioMute, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerProduceEventMedia, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerPullFrameHandles, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseEgressTranscode, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRenderPreBufferClip, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetDeviceAudioMute, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerSubscribeFrames, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamBrokerUnsubscribeFrames, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemDetectSiteLocation, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemGetSiteLocation, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useSystemSetSiteLocation, useTamperGetStatus, useTemperatureSensorGetStatus, useTerminalSessionAdoptLegacyMonitor, useTerminalSessionClose, useTerminalSessionCreateInstance, useTerminalSessionDeleteInstance, useTerminalSessionListInstances, useTerminalSessionListLegacyCameras, useTerminalSessionListProfiles, useTerminalSessionListSessions, useTerminalSessionOpenSession, useTerminalSessionPullOutput, useTerminalSessionResize, useTerminalSessionSetInstanceEnabled, useTerminalSessionWriteInput, useThemeMode, useToastOnToast, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUserManagementConfirmTotp, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsGetClipPlayback, useVideoclipsListClips, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, variantLabel, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint };
|
|
48555
|
+
export { AddonGlobalSettingsForm, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutomationHeroCard, AutomationInlineControl, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CARD_MODE_MIN_COLUMNS, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEVICE_COLUMNS, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceGrid, DeviceItem, DeviceList, DeviceMultiSelectField, DeviceSelectField, DeviceSelectorPicker, DeviceStepMatrix, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EVENT_KIND_ICONS, EmptyState, ErrorBox, EventKindGlyph, EventStream, FILL, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GripTrack, GroupedModelSelector, HOST_WIDGETS, HlsVideo, HoverZoomImage, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, IconAction, IconButton, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MODE_COLOR, MaskShapeCanvas, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, ModelPicker, MotionZonesSettings, NodeMultiSelectField, NodePicker, NodeSelectField, OfflineBadge, PHASE_CONFIG, PRIORITY, PTZOverlay, PageHeader, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PipelineTreeMatrix, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, PtzPanel, QrCode, RECONNECT_POLICY, RECORDED_PLAYBACK_MODES, RIGHT, ROI_AREA_WARN_FRACTION, ROLE_DESCRIPTOR, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, SCENE_CAPTURE_VARIANTS, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SETTING_ROW, SETTING_ROW_LABEL, SETTING_ROW_STACK_BREAKPOINT, SETTING_ROW_VALUE, SETTING_ROW_VALUE_TEXT, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, SceneMonitorEditor, ScopePicker, ScriptHeroCard, ScriptInlineControl, ScrollArea, Select, SemanticBadge, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, SettingRow, Sidebar, SidebarItem, Skeleton, SlideOverPanel, SlideToggle, SnapshotButton, StatCard, StateValuesStream, StatusBadge, StepTimings, StepTreeMaster, Stepper, StreamBrokerSelector, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TABLE_SCROLL_MAX_H, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, ImageOff as a, agentColumnKey, allDeviceTypeFilterOptions, badgeFor, buildStepTreeFromSchema, createLucideIcon as c, childEntityId, childListName, cn, columnsForContext, containerChildToRef, countableDevices, coverHighlight, coverageLine, createSharedContext, createTheme, cursorFractionFor, darkColors, defaultTheme, deriveDeviceKind, describeDeviceSelector, deviceMatchesFilter, deviceOptionLabel, deviceRoleMeta, deviceRoleMetaOf, deviceTypeLabel, deviceTypeMeta, deviceTypeMetaOf, devicesToOptions, ensureMfHostInit, eventKindLabel, filterDeviceOptions, findTimezone, formatControlDateTime, formatLastSeen, formatNumeric, fuzzyMatch, getClassColor, getPhaseVisual, groupAgentColumns, groupChildrenByLayout, hardwareLabel, humanDuration, humidifierTint, Mic as i, initialScrubState, isAbsentProvider, isFieldVisible, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, metadataEntries, metadataString, mirror, mountAddonPage, Square as n, nextReconnectAction, nextSort, normalizeForSearch, EyeOff as o, overrideEntityIdFromLink, parseRecordedServerMessage, providerIcons, RotateCcw as r, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDisplayIcon, resolveEffectiveDefaultModel, resolveEffectiveStepModel, resolveEventKindIcon, resolvePrimaryChild, resolveSensorDisplay, resolveStepDefaultModel, resolveTableLayout, roiTooLarge, Camera as s, scrubReducer, selectedDeviceOptions, serializeRecordedCommand, shouldCommit, shouldEmit, shouldUseSingleNode, sortRows, statusIcons, statusLine, stepHasModelForFormat, stepModelOptions, stripParentNamePrefix, Trash2 as t, tabForSelector, tankAlert, themeToCss, trpc, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupDelete, useBackupDeleteSchedule, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListDestinations, useBackupListLocations, useBackupListSchedules, useBackupPreviewSchedule, useBackupRestore, useBackupTrigger, useBackupUpsertDestinationPolicy, useBackupUpsertSchedule, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useColorGetStatus, useColorSetColor, useConfirm, useConnectionTestDescribeTest, useConnectionTestTestSettings, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoreBlocksCompile, useCoreBlocksCreate, useCoreBlocksDelete, useCoreBlocksGet, useCoreBlocksGetTypeDefs, useCoreBlocksList, useCoreBlocksRestart, useCoreBlocksSetEnabled, useCoreBlocksUpdate, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetFrame, useDecoderGetInfo, useDecoderGetShmStats, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPullHandles, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionCancelJob, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionListJobs, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAdoptionStartJob, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyDeviceSettingsPatch, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveContribution, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceSettingsContribution, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetDeviceStatusAggregateBatch, useDeviceManagerGetLinkedDevices, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellApplyDeviceSettingsPatch, useDoorbellEvents, useDoorbellGetDeviceLiveContribution, useDoorbellGetDeviceSettingsContribution, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLlmCancel, useLlmDeleteModel, useLlmDeleteProfile, useLlmGenerate, useLlmGenerateVision, useLlmGetDefaults, useLlmGetRuntimeStatus, useLlmGetUsage, useLlmInstallModel, useLlmListModelCatalog, useLlmListModels, useLlmListNodeModels, useLlmListProfileKinds, useLlmListProfiles, useLlmListRuntimeNodes, useLlmResolveModelRef, useLlmSetDefault, useLlmStartRuntime, useLlmStopRuntime, useLlmTestProfile, useLlmUpsertProfile, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetNotificationEndpoint, useLocalNetworkGetPreferred, useLocalNetworkList, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkSetAllowedAddresses, useLocalNetworkSetNotificationEndpoint, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderDumpHeapSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotificationRulesCancelSnooze, useNotificationRulesCreateRule, useNotificationRulesCreateSnooze, useNotificationRulesDeleteRule, useNotificationRulesGetAlarmConfig, useNotificationRulesGetConditionCatalog, useNotificationRulesGetHistory, useNotificationRulesGetRule, useNotificationRulesListDeviceMutes, useNotificationRulesListRules, useNotificationRulesListSnoozes, useNotificationRulesSetAlarmConfig, useNotificationRulesSetDeviceMuted, useNotificationRulesSetRuleEnabled, useNotificationRulesTestRule, useNotificationRulesUpdateRule, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdManagerClearSlotBinding, useOsdManagerCopyDeviceConfiguration, useOsdManagerGetConditionSupport, useOsdManagerGetDeviceOsd, useOsdManagerGetSourceCatalog, useOsdManagerPreviewSlot, useOsdManagerRenderDevice, useOsdManagerSetSlotBinding, useOsdSetOverlay, usePTZ, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsCancelStorageMigrationMove, usePipelineAnalyticsClearTracks, usePipelineAnalyticsCompleteRetrainTrack, usePipelineAnalyticsDeleteDeviceEvents, usePipelineAnalyticsDeleteTracks, usePipelineAnalyticsDeselectRetrainFrame, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetEventStoreFootprint, usePipelineAnalyticsGetKeyEvents, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEmbeddingRebuildStatus, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetRetrainExportUrl, usePipelineAnalyticsGetRetrainFrameImage, usePipelineAnalyticsGetSensorEvents, usePipelineAnalyticsGetStorageMigrationMoveStatus, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsGetTrainingExportSummary, usePipelineAnalyticsGetTrainingExportUrl, usePipelineAnalyticsListEventKinds, usePipelineAnalyticsListEventKindsBatch, usePipelineAnalyticsListOpsLog, usePipelineAnalyticsListRecentTracks, usePipelineAnalyticsListRetrainAnnotations, usePipelineAnalyticsListRetrainFrames, usePipelineAnalyticsListRetrainStaging, usePipelineAnalyticsListTrackMedia, usePipelineAnalyticsListTracks, usePipelineAnalyticsPauseForStorageMigration, usePipelineAnalyticsProposeRetrainAnnotations, usePipelineAnalyticsPruneEvents, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsPruneTracksBefore, usePipelineAnalyticsRebuildObjectEmbeddings, usePipelineAnalyticsReconcileFromDisk, usePipelineAnalyticsRefreshStorageLocationsForMigration, usePipelineAnalyticsRestageRetrainTrack, usePipelineAnalyticsResumeForStorageMigration, usePipelineAnalyticsSaveRetrainAnnotations, usePipelineAnalyticsSearchObjectEvents, usePipelineAnalyticsSelectRetrainFrames, usePipelineAnalyticsSetTrackFlags, usePipelineAnalyticsStartStorageMigrationMove, usePipelineAnalyticsWipeAllAnalytics, usePipelineAnalyticsWipeObjectEmbeddings, usePipelineExecutorCacheFrameInPool, usePipelineExecutorClearDeviceOverrides, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineExecutorValidatePipeline, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCameraSwitches, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetNodeInferenceDevices, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorGetPipelineDevicePin, usePipelineOrchestratorGetReconcileFromDiskStatus, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorPauseForStorageMigration, usePipelineOrchestratorRebalance, usePipelineOrchestratorReconcileFromDisk, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResetNodePipelineDefaults, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorResumeForStorageMigration, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDetectWeight, usePipelineOrchestratorSetAgentInferenceDevices, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCameraSwitch, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorSetPipelineDevicePin, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerGetNativeCrop, usePipelineRunnerReportMotion, usePipelineRunnerRunDetailSubtree, usePipelineRunnerRunStatelessStep, usePlateGalleryAssignPlate, usePlateGalleryAssignPlates, usePlateGalleryCorrectPlateText, usePlateGalleryCreateVehicle, usePlateGalleryDeletePlate, usePlateGalleryDeleteVehicle, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGalleryListVehicleSamples, usePlateGalleryListVehicles, usePlateGalleryRemoveVehicleSample, usePlateGalleryRenameVehicle, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlateGalleryUnassignPlate, usePlateGalleryUnassignPlates, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetAudioEnabled, usePrivacyMaskSetMask, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzDeletePreset, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingApplyDeviceSettingsPatch, useRecordingCancelRelocateJob, useRecordingCancelStorageMigrationMove, useRecordingDeleteFootprint, useRecordingExportCancelExport, useRecordingExportCreateExport, useRecordingExportDeleteExport, useRecordingExportGetDownloadUrl, useRecordingExportGetExport, useRecordingExportListExports, useRecordingExportReadExportBytes, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetDeviceConfig, useRecordingGetDeviceLiveContribution, useRecordingGetDeviceSettingsContribution, useRecordingGetPlaybackManifest, useRecordingGetStatus, useRecordingGetStorageMigrationMoveStatus, useRecordingGetStorageUsage, useRecordingListOpsLog, useRecordingListRelocateJobs, useRecordingLocateSegment, useRecordingPauseForStorageMigration, useRecordingPlanStorageRebalance, useRecordingPruneFootage, useRecordingReadGopBytes, useRecordingReadSegmentBytes, useRecordingRefreshStorageLocationsForMigration, useRecordingRelocateFootage, useRecordingRenderClip, useRecordingRenderGif, useRecordingRescanStorage, useRecordingResumeForStorageMigration, useRecordingSetDeviceConfig, useRecordingStartStorageMigrationMove, useRecordingStartStorageRebalance, useRemoteComponent, useSceneMonitorCaptureReference, useSceneMonitorCreateScene, useSceneMonitorDeleteReference, useSceneMonitorDeleteScene, useSceneMonitorGetStatus, useSceneMonitorListScenes, useSceneMonitorRecheckNow, useSceneMonitorResetScene, useSceneMonitorUpdateScene, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useServerManagementApplyServerUpdate, useServerManagementCheckServerUpdate, useServerManagementGetServerPackageStatus, useServerManagementRestartServer, useServerManagementRollbackServerUpdate, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreDeleteWhere, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSettingsStoreUpdateWhere, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDebugState, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetSnapshotLinks, useSnapshotGetSnapshotOverview, useSnapshotGetStatus, useSnapshotInvalidateCache, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageGetDefaultLocation, useStorageList, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageMigrationCancel, useStorageMigrationPlan, useStorageMigrationStart, useStorageMigrationStatus, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStreamBrokerAcquireEgressTranscode, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerFetchEventMedia, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceAudioMute, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerProduceEventMedia, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerPullFrameHandles, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseEgressTranscode, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRenderPreBufferClip, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetDeviceAudioMute, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerSubscribeFrames, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamBrokerUnsubscribeFrames, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemDetectSiteLocation, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemGetSiteLocation, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useSystemSetSiteLocation, useTamperGetStatus, useTemperatureSensorGetStatus, useTerminalSessionAdoptLegacyMonitor, useTerminalSessionClose, useTerminalSessionCreateInstance, useTerminalSessionDeleteInstance, useTerminalSessionListInstances, useTerminalSessionListLegacyCameras, useTerminalSessionListProfiles, useTerminalSessionListSessions, useTerminalSessionOpenSession, useTerminalSessionPullOutput, useTerminalSessionResize, useTerminalSessionSetInstanceEnabled, useTerminalSessionWriteInput, useThemeMode, useToastOnToast, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUserManagementConfirmTotp, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsGetClipPlayback, useVideoclipsListClips, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, variantLabel, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint };
|