@camstack/addon-post-analysis 1.2.663 → 1.2.665
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/{clip-model-registry-CwXJyrLg.mjs → clip-model-registry-DZTzG2p4.mjs} +377 -132
- package/dist/{clip-model-registry-Cz8LWYwU.js → clip-model-registry-nn_STiGt.js} +382 -131
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/_stub.js +2 -2
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-jPBj20ez.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-Hy74pMMo.mjs} +2 -2
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BXTAZYaJ.mjs +26 -0
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Br6eWzp_.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-DOdK6KJ5.mjs → hostInit-BAYLsfoZ.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +438 -61
- package/dist/pipeline-analytics/index.mjs +438 -61
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +2 -2
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Be6bZvOS.mjs +0 -26
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-B5Bw-VHt.mjs +0 -26
|
@@ -6063,7 +6063,7 @@ var ZodIssueCode = {
|
|
|
6063
6063
|
var ZodFirstPartyTypeKind;
|
|
6064
6064
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
6065
6065
|
//#endregion
|
|
6066
|
-
//#region ../types/dist/sleep-
|
|
6066
|
+
//#region ../types/dist/sleep-hmSP-eJt.mjs
|
|
6067
6067
|
/**
|
|
6068
6068
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
6069
6069
|
* window to float samples (D455).
|
|
@@ -9830,6 +9830,7 @@ var CAP_NAMES = Object.freeze([
|
|
|
9830
9830
|
"backup",
|
|
9831
9831
|
"battery",
|
|
9832
9832
|
"binary",
|
|
9833
|
+
"board-key-source",
|
|
9833
9834
|
"brightness",
|
|
9834
9835
|
"broker",
|
|
9835
9836
|
"button",
|
|
@@ -9951,6 +9952,7 @@ var CAP_NAMES = Object.freeze([
|
|
|
9951
9952
|
"privacy-mask",
|
|
9952
9953
|
"ptz",
|
|
9953
9954
|
"ptz-autotrack",
|
|
9955
|
+
"pump-cycle",
|
|
9954
9956
|
"reboot",
|
|
9955
9957
|
"record-entries",
|
|
9956
9958
|
"recording",
|
|
@@ -11243,18 +11245,6 @@ Object.freeze({
|
|
|
11243
11245
|
"path": "pumpRunning",
|
|
11244
11246
|
"valueType": "boolean"
|
|
11245
11247
|
},
|
|
11246
|
-
{
|
|
11247
|
-
"path": "pumpIntervalEnabled",
|
|
11248
|
-
"valueType": "boolean"
|
|
11249
|
-
},
|
|
11250
|
-
{
|
|
11251
|
-
"path": "pumpOnTime",
|
|
11252
|
-
"valueType": "number"
|
|
11253
|
-
},
|
|
11254
|
-
{
|
|
11255
|
-
"path": "pumpOffTime",
|
|
11256
|
-
"valueType": "number"
|
|
11257
|
-
},
|
|
11258
11248
|
{
|
|
11259
11249
|
"path": "lastDrink",
|
|
11260
11250
|
"valueType": "number"
|
|
@@ -11378,6 +11368,20 @@ Object.freeze({
|
|
|
11378
11368
|
"valueType": "number"
|
|
11379
11369
|
}
|
|
11380
11370
|
],
|
|
11371
|
+
"pump-cycle": [
|
|
11372
|
+
{
|
|
11373
|
+
"path": "enabled",
|
|
11374
|
+
"valueType": "boolean"
|
|
11375
|
+
},
|
|
11376
|
+
{
|
|
11377
|
+
"path": "onTime",
|
|
11378
|
+
"valueType": "number"
|
|
11379
|
+
},
|
|
11380
|
+
{
|
|
11381
|
+
"path": "offTime",
|
|
11382
|
+
"valueType": "number"
|
|
11383
|
+
}
|
|
11384
|
+
],
|
|
11381
11385
|
"recording-archive": [
|
|
11382
11386
|
{
|
|
11383
11387
|
"path": "deviceId",
|
|
@@ -11829,7 +11833,7 @@ Object.freeze({
|
|
|
11829
11833
|
* can answer "may a rule actuate this?" without importing the schema barrel
|
|
11830
11834
|
* (~144MB RSS per runner, D28).
|
|
11831
11835
|
*
|
|
11832
|
-
* Coverage:
|
|
11836
|
+
* Coverage: 102 device-scoped capabilities.
|
|
11833
11837
|
*/
|
|
11834
11838
|
var DEVICE_SCOPED_CAPS = new Set([
|
|
11835
11839
|
"accessories",
|
|
@@ -11906,6 +11910,7 @@ var DEVICE_SCOPED_CAPS = new Set([
|
|
|
11906
11910
|
"privacy-mask",
|
|
11907
11911
|
"ptz",
|
|
11908
11912
|
"ptz-autotrack",
|
|
11913
|
+
"pump-cycle",
|
|
11909
11914
|
"reboot",
|
|
11910
11915
|
"recording",
|
|
11911
11916
|
"recording-onboard",
|
|
@@ -13352,6 +13357,73 @@ var NodeColorIdSchema = _enum([
|
|
|
13352
13357
|
"node-g",
|
|
13353
13358
|
"node-h"
|
|
13354
13359
|
]);
|
|
13360
|
+
//#endregion
|
|
13361
|
+
//#region ../types/dist/index.mjs
|
|
13362
|
+
var SMTP_INBOUND_DEFAULT_PORT = 2525;
|
|
13363
|
+
var SMTP_INBOUND_DEFAULT_DOMAIN = "camstack.local";
|
|
13364
|
+
var SMTP_INBOUND_DEFAULT_MAX_MESSAGE_BYTES = 25 * 1024 * 1024;
|
|
13365
|
+
/** The text excerpt a message carries on the bus. */
|
|
13366
|
+
var SMTP_INBOUND_TEXT_MAX_CHARS = 4096;
|
|
13367
|
+
var PortSchema = number().int().min(1).max(65535);
|
|
13368
|
+
/** A recipient local-part: what stands before the `@`. */
|
|
13369
|
+
var SmtpRecipientSchema = string().min(1).max(64).regex(/^[A-Za-z0-9._+-]+$/);
|
|
13370
|
+
object({
|
|
13371
|
+
port: PortSchema.default(SMTP_INBOUND_DEFAULT_PORT),
|
|
13372
|
+
bindHost: string().min(1).default("0.0.0.0"),
|
|
13373
|
+
domain: string().min(1).default(SMTP_INBOUND_DEFAULT_DOMAIN),
|
|
13374
|
+
requireAuth: boolean().default(true),
|
|
13375
|
+
username: string().default(""),
|
|
13376
|
+
password: string().default("").meta({ secret: true }),
|
|
13377
|
+
starttls: boolean().default(false),
|
|
13378
|
+
maxMessageBytes: number().int().positive().default(SMTP_INBOUND_DEFAULT_MAX_MESSAGE_BYTES)
|
|
13379
|
+
});
|
|
13380
|
+
object({
|
|
13381
|
+
host: string().min(1).nullable(),
|
|
13382
|
+
hostReason: string().nullable(),
|
|
13383
|
+
port: PortSchema,
|
|
13384
|
+
domain: string().min(1),
|
|
13385
|
+
requireAuth: boolean(),
|
|
13386
|
+
username: string(),
|
|
13387
|
+
password: string(),
|
|
13388
|
+
starttls: boolean()
|
|
13389
|
+
});
|
|
13390
|
+
object({
|
|
13391
|
+
recipients: array(SmtpRecipientSchema).min(1),
|
|
13392
|
+
/**
|
|
13393
|
+
* Who is subscribing. A second `subscribe` with the same id REPLACES that subscriber's
|
|
13394
|
+
* recipients (the way a consumer that restarted, or lost a device, declares its set again);
|
|
13395
|
+
* a recipient held by another subscriber is refused with `smtp-inbound/recipient-claimed`.
|
|
13396
|
+
* Absent, the subscriber is anonymous and unique.
|
|
13397
|
+
*/
|
|
13398
|
+
subscriberId: string().min(1).max(64).optional()
|
|
13399
|
+
});
|
|
13400
|
+
var SmtpInboundAttachmentSchema = object({
|
|
13401
|
+
filename: string(),
|
|
13402
|
+
contentType: string(),
|
|
13403
|
+
bytes: number().int().nonnegative()
|
|
13404
|
+
});
|
|
13405
|
+
/** The payload of one `broker.message` (the key is the recipient local-part). */
|
|
13406
|
+
var SmtpInboundMessageSchema = object({
|
|
13407
|
+
/** Monotonic per mailbox; a gap tells a consumer it missed an event. */
|
|
13408
|
+
seq: number().int().positive(),
|
|
13409
|
+
messageId: string(),
|
|
13410
|
+
receivedAt: number().int().nonnegative(),
|
|
13411
|
+
from: string(),
|
|
13412
|
+
to: string(),
|
|
13413
|
+
subject: string(),
|
|
13414
|
+
text: string().max(SMTP_INBOUND_TEXT_MAX_CHARS),
|
|
13415
|
+
attachments: array(SmtpInboundAttachmentSchema)
|
|
13416
|
+
});
|
|
13417
|
+
object({
|
|
13418
|
+
/** The newest seq issued so far (0 before any mail). */
|
|
13419
|
+
lastSeq: number().int().nonnegative(),
|
|
13420
|
+
/** The oldest seq still retained; messages below it are gone. */
|
|
13421
|
+
oldestSeq: number().int().nonnegative(),
|
|
13422
|
+
messages: array(object({
|
|
13423
|
+
key: string(),
|
|
13424
|
+
message: SmtpInboundMessageSchema
|
|
13425
|
+
}))
|
|
13426
|
+
});
|
|
13355
13427
|
var OWNER_TYPES = new Set([
|
|
13356
13428
|
"track",
|
|
13357
13429
|
"face",
|
|
@@ -20384,24 +20456,52 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
20384
20456
|
args: { on: false }
|
|
20385
20457
|
},
|
|
20386
20458
|
{
|
|
20387
|
-
id: "petFountain.
|
|
20388
|
-
method: "
|
|
20459
|
+
id: "petFountain.resetDailyConsumption",
|
|
20460
|
+
method: "resetDailyConsumption",
|
|
20461
|
+
label: t("Clear daily consumption", "Azzera il consumo giornaliero"),
|
|
20462
|
+
phrase: t("Clear the daily water consumption of {device}", "Azzera il consumo giornaliero di acqua di {device}"),
|
|
20463
|
+
icon: "rotate-ccw"
|
|
20464
|
+
}
|
|
20465
|
+
],
|
|
20466
|
+
state: [{
|
|
20467
|
+
kind: "boolean",
|
|
20468
|
+
field: "empty",
|
|
20469
|
+
label: t("Tank empty", "Serbatoio vuoto"),
|
|
20470
|
+
whenTrue: t("When the tank of {device} is empty", "Quando il serbatoio di {device} è vuoto"),
|
|
20471
|
+
whenFalse: t("When the tank of {device} is refilled", "Quando il serbatoio di {device} viene riempito"),
|
|
20472
|
+
icon: "droplet"
|
|
20473
|
+
}, {
|
|
20474
|
+
kind: "numeric",
|
|
20475
|
+
field: "waterLevel",
|
|
20476
|
+
quantity: t("the water level", "il livello dell’acqua"),
|
|
20477
|
+
label: t("Water level", "Livello dell’acqua"),
|
|
20478
|
+
unit: "%",
|
|
20479
|
+
icon: "droplets"
|
|
20480
|
+
}]
|
|
20481
|
+
},
|
|
20482
|
+
"pump-cycle": {
|
|
20483
|
+
scope: "device",
|
|
20484
|
+
noun: t("Pump cycle", "Ciclo della pompa"),
|
|
20485
|
+
actions: [
|
|
20486
|
+
{
|
|
20487
|
+
id: "pumpCycle.on",
|
|
20488
|
+
method: "setEnabled",
|
|
20389
20489
|
label: t("Pump cycle on", "Ciclo pompa attivo"),
|
|
20390
20490
|
phrase: t("Run the pump of {device} on its on/off cycle", "Fai lavorare la pompa di {device} a ciclo acceso/spento"),
|
|
20391
20491
|
icon: "timer",
|
|
20392
20492
|
args: { on: true }
|
|
20393
20493
|
},
|
|
20394
20494
|
{
|
|
20395
|
-
id: "
|
|
20396
|
-
method: "
|
|
20495
|
+
id: "pumpCycle.off",
|
|
20496
|
+
method: "setEnabled",
|
|
20397
20497
|
label: t("Pump cycle off", "Ciclo pompa spento"),
|
|
20398
20498
|
phrase: t("Run the pump of {device} continuously", "Fai lavorare la pompa di {device} in continuo"),
|
|
20399
20499
|
icon: "timer-off",
|
|
20400
20500
|
args: { on: false }
|
|
20401
20501
|
},
|
|
20402
20502
|
{
|
|
20403
|
-
id: "
|
|
20404
|
-
method: "
|
|
20503
|
+
id: "pumpCycle.onMinutes",
|
|
20504
|
+
method: "setOnMinutes",
|
|
20405
20505
|
label: t("Set pump run time", "Imposta il tempo di lavoro della pompa"),
|
|
20406
20506
|
phrase: t("Set the pump of {device} to run {minutes} minutes per cycle", "Imposta la pompa di {device} a lavorare {minutes} minuti per ciclo"),
|
|
20407
20507
|
icon: "timer",
|
|
@@ -20417,8 +20517,8 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
20417
20517
|
}]
|
|
20418
20518
|
},
|
|
20419
20519
|
{
|
|
20420
|
-
id: "
|
|
20421
|
-
method: "
|
|
20520
|
+
id: "pumpCycle.offMinutes",
|
|
20521
|
+
method: "setOffMinutes",
|
|
20422
20522
|
label: t("Set pump rest time", "Imposta il tempo di riposo della pompa"),
|
|
20423
20523
|
phrase: t("Set the pump of {device} to rest {minutes} minutes per cycle", "Imposta la pompa di {device} a riposare {minutes} minuti per ciclo"),
|
|
20424
20524
|
icon: "timer-off",
|
|
@@ -20432,29 +20532,15 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
20432
20532
|
unit: "min"
|
|
20433
20533
|
}
|
|
20434
20534
|
}]
|
|
20435
|
-
},
|
|
20436
|
-
{
|
|
20437
|
-
id: "petFountain.resetDailyConsumption",
|
|
20438
|
-
method: "resetDailyConsumption",
|
|
20439
|
-
label: t("Clear daily consumption", "Azzera il consumo giornaliero"),
|
|
20440
|
-
phrase: t("Clear the daily water consumption of {device}", "Azzera il consumo giornaliero di acqua di {device}"),
|
|
20441
|
-
icon: "rotate-ccw"
|
|
20442
20535
|
}
|
|
20443
20536
|
],
|
|
20444
20537
|
state: [{
|
|
20445
20538
|
kind: "boolean",
|
|
20446
|
-
field: "
|
|
20447
|
-
label: t("
|
|
20448
|
-
whenTrue: t("When
|
|
20449
|
-
whenFalse: t("When
|
|
20450
|
-
icon: "
|
|
20451
|
-
}, {
|
|
20452
|
-
kind: "numeric",
|
|
20453
|
-
field: "waterLevel",
|
|
20454
|
-
quantity: t("the water level", "il livello dell’acqua"),
|
|
20455
|
-
label: t("Water level", "Livello dell’acqua"),
|
|
20456
|
-
unit: "%",
|
|
20457
|
-
icon: "droplets"
|
|
20539
|
+
field: "enabled",
|
|
20540
|
+
label: t("Pump cycle", "Ciclo pompa"),
|
|
20541
|
+
whenTrue: t("When {device} starts running its pump on a cycle", "Quando {device} inizia a far lavorare la pompa a ciclo"),
|
|
20542
|
+
whenFalse: t("When {device} runs its pump continuously", "Quando {device} fa lavorare la pompa in continuo"),
|
|
20543
|
+
icon: "timer"
|
|
20458
20544
|
}]
|
|
20459
20545
|
},
|
|
20460
20546
|
"media-player": {
|
|
@@ -22347,6 +22433,7 @@ var SYSTEM_CAP_VOCABULARY = {
|
|
|
22347
22433
|
"audio-analyzer": system(PIPELINE),
|
|
22348
22434
|
"audio-codec": system(INTERNAL),
|
|
22349
22435
|
"auth-provider": system(IDENTITY),
|
|
22436
|
+
"board-key-source": system(INTERNAL),
|
|
22350
22437
|
backup: system("system backups — run and restored from the Backups page"),
|
|
22351
22438
|
broker: system("message-broker connections — configured, not actuated"),
|
|
22352
22439
|
"calendar-source": system(INTERNAL),
|
|
@@ -47497,6 +47584,49 @@ var binaryCapability = {
|
|
|
47497
47584
|
volatileStateFields: ["lastChangedAt"]
|
|
47498
47585
|
};
|
|
47499
47586
|
/**
|
|
47587
|
+
* Why a board key could not be read. Typed so a caller reports the cause and
|
|
47588
|
+
* never treats "could not read" as "has no key" (D49).
|
|
47589
|
+
*/
|
|
47590
|
+
var BoardKeyFailureReasonSchema = _enum([
|
|
47591
|
+
"unknown-source",
|
|
47592
|
+
"not-admin",
|
|
47593
|
+
"no-builder",
|
|
47594
|
+
"no-ingress-url",
|
|
47595
|
+
"unreachable",
|
|
47596
|
+
"unknown-board",
|
|
47597
|
+
"no-encryption-key",
|
|
47598
|
+
"unreadable-config"
|
|
47599
|
+
]);
|
|
47600
|
+
var BoardKeySourceSchema = object({
|
|
47601
|
+
sourceId: string(),
|
|
47602
|
+
name: string()
|
|
47603
|
+
});
|
|
47604
|
+
var BoardKeyBoardSchema = object({
|
|
47605
|
+
/** The builder's file name, e.g. `kitchen.yaml`: the handle `getBoardKey` takes. */
|
|
47606
|
+
configuration: string(),
|
|
47607
|
+
/** The node name the builder gives the board. */
|
|
47608
|
+
name: string(),
|
|
47609
|
+
/** The address the builder knows the board by, when it has one. */
|
|
47610
|
+
address: string().nullable()
|
|
47611
|
+
});
|
|
47612
|
+
var BoardKeyFailureSchema = object({
|
|
47613
|
+
ok: literal(false),
|
|
47614
|
+
reason: BoardKeyFailureReasonSchema,
|
|
47615
|
+
detail: string().optional()
|
|
47616
|
+
});
|
|
47617
|
+
var ListBoardsResultSchema = discriminatedUnion("ok", [object({
|
|
47618
|
+
ok: literal(true),
|
|
47619
|
+
boards: array(BoardKeyBoardSchema).readonly()
|
|
47620
|
+
}), BoardKeyFailureSchema]);
|
|
47621
|
+
var GetBoardKeyResultSchema = discriminatedUnion("ok", [object({
|
|
47622
|
+
ok: literal(true),
|
|
47623
|
+
key: string()
|
|
47624
|
+
}), BoardKeyFailureSchema]);
|
|
47625
|
+
method(_void(), array(BoardKeySourceSchema).readonly(), { auth: "admin" }), method(object({ sourceId: string().min(1) }), ListBoardsResultSchema, { auth: "admin" }), method(object({
|
|
47626
|
+
sourceId: string().min(1),
|
|
47627
|
+
configuration: string().min(1)
|
|
47628
|
+
}), GetBoardKeyResultSchema, { auth: "admin" });
|
|
47629
|
+
/**
|
|
47500
47630
|
* Dimmable-light brightness control. Co-exists with `switch` on the
|
|
47501
47631
|
* same device — the switch toggles on/off, this cap sets the level
|
|
47502
47632
|
* applied when the light is on. Drivers map their per-vendor dim
|
|
@@ -54078,7 +54208,7 @@ var DishwasherStatusSchema = object({
|
|
|
54078
54208
|
/** Ms epoch of the last value received from the appliance; 0 = never. */
|
|
54079
54209
|
lastFetchedAt: number()
|
|
54080
54210
|
});
|
|
54081
|
-
var DeviceIdSchema$
|
|
54211
|
+
var DeviceIdSchema$2 = number().int().nonnegative();
|
|
54082
54212
|
/** A value a program option or setting can take. */
|
|
54083
54213
|
var DishwasherValueSchema = union([
|
|
54084
54214
|
boolean(),
|
|
@@ -54153,77 +54283,77 @@ var dishwasherCapability = {
|
|
|
54153
54283
|
* option feature keys; each is checked against the program's constraints.
|
|
54154
54284
|
*/
|
|
54155
54285
|
start: method(object({
|
|
54156
|
-
deviceId: DeviceIdSchema$
|
|
54286
|
+
deviceId: DeviceIdSchema$2,
|
|
54157
54287
|
program: string().min(1).optional(),
|
|
54158
54288
|
options: record(string(), DishwasherValueSchema).optional()
|
|
54159
54289
|
}), _void(), {
|
|
54160
54290
|
kind: "mutation",
|
|
54161
54291
|
auth: "protected"
|
|
54162
54292
|
}),
|
|
54163
|
-
pause: method(object({ deviceId: DeviceIdSchema$
|
|
54293
|
+
pause: method(object({ deviceId: DeviceIdSchema$2 }), _void(), {
|
|
54164
54294
|
kind: "mutation",
|
|
54165
54295
|
auth: "protected"
|
|
54166
54296
|
}),
|
|
54167
|
-
resume: method(object({ deviceId: DeviceIdSchema$
|
|
54297
|
+
resume: method(object({ deviceId: DeviceIdSchema$2 }), _void(), {
|
|
54168
54298
|
kind: "mutation",
|
|
54169
54299
|
auth: "protected"
|
|
54170
54300
|
}),
|
|
54171
|
-
stop: method(object({ deviceId: DeviceIdSchema$
|
|
54301
|
+
stop: method(object({ deviceId: DeviceIdSchema$2 }), _void(), {
|
|
54172
54302
|
kind: "mutation",
|
|
54173
54303
|
auth: "protected"
|
|
54174
54304
|
}),
|
|
54175
54305
|
/** Select (not start) a program; refused when the appliance does not offer it. */
|
|
54176
54306
|
setProgram: method(object({
|
|
54177
|
-
deviceId: DeviceIdSchema$
|
|
54307
|
+
deviceId: DeviceIdSchema$2,
|
|
54178
54308
|
program: string().min(1)
|
|
54179
54309
|
}), _void(), {
|
|
54180
54310
|
kind: "mutation",
|
|
54181
54311
|
auth: "protected"
|
|
54182
54312
|
}),
|
|
54183
54313
|
setPower: method(object({
|
|
54184
|
-
deviceId: DeviceIdSchema$
|
|
54314
|
+
deviceId: DeviceIdSchema$2,
|
|
54185
54315
|
on: boolean()
|
|
54186
54316
|
}), _void(), {
|
|
54187
54317
|
kind: "mutation",
|
|
54188
54318
|
auth: "protected"
|
|
54189
54319
|
}),
|
|
54190
54320
|
setHalfLoad: method(object({
|
|
54191
|
-
deviceId: DeviceIdSchema$
|
|
54321
|
+
deviceId: DeviceIdSchema$2,
|
|
54192
54322
|
on: boolean()
|
|
54193
54323
|
}), _void(), {
|
|
54194
54324
|
kind: "mutation",
|
|
54195
54325
|
auth: "protected"
|
|
54196
54326
|
}),
|
|
54197
54327
|
setHygienePlus: method(object({
|
|
54198
|
-
deviceId: DeviceIdSchema$
|
|
54328
|
+
deviceId: DeviceIdSchema$2,
|
|
54199
54329
|
on: boolean()
|
|
54200
54330
|
}), _void(), {
|
|
54201
54331
|
kind: "mutation",
|
|
54202
54332
|
auth: "protected"
|
|
54203
54333
|
}),
|
|
54204
54334
|
setExtraDry: method(object({
|
|
54205
|
-
deviceId: DeviceIdSchema$
|
|
54335
|
+
deviceId: DeviceIdSchema$2,
|
|
54206
54336
|
on: boolean()
|
|
54207
54337
|
}), _void(), {
|
|
54208
54338
|
kind: "mutation",
|
|
54209
54339
|
auth: "protected"
|
|
54210
54340
|
}),
|
|
54211
54341
|
setIntensiveZone: method(object({
|
|
54212
|
-
deviceId: DeviceIdSchema$
|
|
54342
|
+
deviceId: DeviceIdSchema$2,
|
|
54213
54343
|
on: boolean()
|
|
54214
54344
|
}), _void(), {
|
|
54215
54345
|
kind: "mutation",
|
|
54216
54346
|
auth: "protected"
|
|
54217
54347
|
}),
|
|
54218
54348
|
setVarioSpeedPlus: method(object({
|
|
54219
|
-
deviceId: DeviceIdSchema$
|
|
54349
|
+
deviceId: DeviceIdSchema$2,
|
|
54220
54350
|
on: boolean()
|
|
54221
54351
|
}), _void(), {
|
|
54222
54352
|
kind: "mutation",
|
|
54223
54353
|
auth: "protected"
|
|
54224
54354
|
}),
|
|
54225
54355
|
setChildLock: method(object({
|
|
54226
|
-
deviceId: DeviceIdSchema$
|
|
54356
|
+
deviceId: DeviceIdSchema$2,
|
|
54227
54357
|
on: boolean()
|
|
54228
54358
|
}), _void(), {
|
|
54229
54359
|
kind: "mutation",
|
|
@@ -54235,7 +54365,7 @@ var dishwasherCapability = {
|
|
|
54235
54365
|
* its declared range / members.
|
|
54236
54366
|
*/
|
|
54237
54367
|
setOption: method(object({
|
|
54238
|
-
deviceId: DeviceIdSchema$
|
|
54368
|
+
deviceId: DeviceIdSchema$2,
|
|
54239
54369
|
key: string().min(1),
|
|
54240
54370
|
value: DishwasherValueSchema
|
|
54241
54371
|
}), _void(), {
|
|
@@ -54243,7 +54373,7 @@ var dishwasherCapability = {
|
|
|
54243
54373
|
auth: "protected"
|
|
54244
54374
|
}),
|
|
54245
54375
|
/** What this appliance can do, from its own description — the UI is derived from it. */
|
|
54246
|
-
getOptions: method(object({ deviceId: DeviceIdSchema$
|
|
54376
|
+
getOptions: method(object({ deviceId: DeviceIdSchema$2 }), DishwasherOptionsSchema, { auth: "protected" })
|
|
54247
54377
|
},
|
|
54248
54378
|
status: {
|
|
54249
54379
|
schema: DishwasherStatusSchema,
|
|
@@ -56738,6 +56868,11 @@ var IntegrationInstanceSchema = object({
|
|
|
56738
56868
|
name: string(),
|
|
56739
56869
|
/** The addon's own rule (an URL is present, a client id is present...). */
|
|
56740
56870
|
configured: boolean(),
|
|
56871
|
+
/**
|
|
56872
|
+
* The instance's own on/off switch (D996): always present, derived from the record body
|
|
56873
|
+
* (`enabled !== false`, so a row written before the field existed is on).
|
|
56874
|
+
*/
|
|
56875
|
+
enabled: boolean(),
|
|
56741
56876
|
/** Values for the instance form; a secret is a `SecretFieldView`, never text. */
|
|
56742
56877
|
formValues: record(string(), unknown()),
|
|
56743
56878
|
status: IntegrationInstanceStatusSchema.optional()
|
|
@@ -56757,6 +56892,12 @@ method(_void(), IntegrationInstanceDescriptionSchema, { auth: "admin" }), method
|
|
|
56757
56892
|
}), method(IntegrationInstancePatchSchema, object({ ok: literal(true) }), {
|
|
56758
56893
|
kind: "mutation",
|
|
56759
56894
|
auth: "admin"
|
|
56895
|
+
}), method(object({
|
|
56896
|
+
id: IntegrationInstanceIdSchema,
|
|
56897
|
+
enabled: boolean()
|
|
56898
|
+
}), object({ ok: literal(true) }), {
|
|
56899
|
+
kind: "mutation",
|
|
56900
|
+
auth: "admin"
|
|
56760
56901
|
}), method(object({ id: IntegrationInstanceIdSchema }), object({ ok: literal(true) }), {
|
|
56761
56902
|
kind: "mutation",
|
|
56762
56903
|
auth: "admin"
|
|
@@ -69058,6 +69199,21 @@ var NcTemplateVarKindSchema = _enum([
|
|
|
69058
69199
|
"sound",
|
|
69059
69200
|
"system"
|
|
69060
69201
|
]);
|
|
69202
|
+
/**
|
|
69203
|
+
* The default title/body a rule of one SITUATION is delivered with when the
|
|
69204
|
+
* operator wrote no template — served so an editor can pre-fill it (and the
|
|
69205
|
+
* operator can rebuild it from placeholders) instead of starting from a blank
|
|
69206
|
+
* box that, once saved, silently replaces it. `id` names the situation inside
|
|
69207
|
+
* a rule `kind`: `appliance-cycle` is a `sensor` rule whose device is an
|
|
69208
|
+
* appliance finishing a cycle. Texts are raw templates (`{{var}}` intact), in
|
|
69209
|
+
* the hub's current language and with its overrides applied.
|
|
69210
|
+
*/
|
|
69211
|
+
var NcTemplateDefaultSchema = object({
|
|
69212
|
+
id: _enum(["appliance-cycle"]),
|
|
69213
|
+
kind: NcRuleKindSchema,
|
|
69214
|
+
title: string(),
|
|
69215
|
+
body: string()
|
|
69216
|
+
});
|
|
69061
69217
|
/** Which producer renders a template: an ordinary rule, a timelapse, a digest. */
|
|
69062
69218
|
var NcTemplateFamilySchema = _enum([
|
|
69063
69219
|
"rule",
|
|
@@ -70620,7 +70776,11 @@ var notificationRulesCapability = {
|
|
|
70620
70776
|
taxonomy: NcTaxonomySchema.optional()
|
|
70621
70777
|
})),
|
|
70622
70778
|
/** The declared `{{var}}` vocabulary; editors filter it with `templateVarsFor`. */
|
|
70623
|
-
getTemplateCatalog: method(object({}), object({
|
|
70779
|
+
getTemplateCatalog: method(object({}), object({
|
|
70780
|
+
vars: array(NcTemplateVarDescriptorSchema),
|
|
70781
|
+
/** Per-situation default texts; absent on a hub that predates them. */
|
|
70782
|
+
defaults: array(NcTemplateDefaultSchema)
|
|
70783
|
+
})),
|
|
70624
70784
|
/**
|
|
70625
70785
|
* Render a template with example values, through the hub's text catalog.
|
|
70626
70786
|
* Pure: sends nothing. A MUTATION only for transport — a 2.5k-char draft in
|
|
@@ -71630,7 +71790,7 @@ var petFeederCapability = {
|
|
|
71630
71790
|
/**
|
|
71631
71791
|
* Pet water-fountain cap. Models the telemetry and the control surface of a
|
|
71632
71792
|
* circulating drinking fountain: how much water is in the tank, how much the
|
|
71633
|
-
* pet drank, whether the pump runs
|
|
71793
|
+
* pet drank, whether the pump runs.
|
|
71634
71794
|
*
|
|
71635
71795
|
* It has no native vendor provider of its own: a fountain reaches CamStack as
|
|
71636
71796
|
* a container of loose entities (a pump switch, two number boxes, a "filter
|
|
@@ -71646,8 +71806,10 @@ var petFeederCapability = {
|
|
|
71646
71806
|
* never here. Every reading may be `null`: a source that is offline or does
|
|
71647
71807
|
* not report is unknown, never zero.
|
|
71648
71808
|
*
|
|
71649
|
-
* The
|
|
71650
|
-
* cap
|
|
71809
|
+
* The pump's on/off duty cycle is model-specific and lives in the optional
|
|
71810
|
+
* `pump-cycle` cap. The filter, the cleaning and the water change are not
|
|
71811
|
+
* fields of this cap: they are items of the `consumables` cap on the same
|
|
71812
|
+
* device (kind `wear`), reset by the same forward mechanism.
|
|
71651
71813
|
*/
|
|
71652
71814
|
var PetFountainStatusSchema = object({
|
|
71653
71815
|
/** Water in the tank, 0..100 (%). Null while the source has not reported. */
|
|
@@ -71658,27 +71820,20 @@ var PetFountainStatusSchema = object({
|
|
|
71658
71820
|
empty: boolean().nullable(),
|
|
71659
71821
|
/** True while the pump is running. Null while unknown. */
|
|
71660
71822
|
pumpRunning: boolean().nullable(),
|
|
71661
|
-
/** True when the pump works on an on/off duty cycle rather than continuously. */
|
|
71662
|
-
pumpIntervalEnabled: boolean().nullable(),
|
|
71663
|
-
/** How long the pump runs per cycle, in seconds. */
|
|
71664
|
-
pumpOnTime: number().min(0).nullable().meta(readingMeta("duration")),
|
|
71665
|
-
/** How long the pump rests per cycle, in seconds. */
|
|
71666
|
-
pumpOffTime: number().min(0).nullable().meta(readingMeta("duration")),
|
|
71667
71823
|
/** Water drunk in the last drink, in litres. */
|
|
71668
71824
|
lastDrink: number().min(0).nullable().meta(readingMeta("volume")),
|
|
71669
71825
|
/** Water drunk in the current hour, in litres. */
|
|
71670
71826
|
currentHourDrink: number().min(0).nullable().meta(readingMeta("volume")),
|
|
71671
71827
|
/** Water drunk over the last 24 hours (rolling), in litres. */
|
|
71672
71828
|
last24hDrink: number().min(0).nullable().meta(readingMeta("volume")),
|
|
71673
|
-
/** Water drunk since local midnight, in litres. */
|
|
71829
|
+
/** Water drunk since local midnight, in litres. Null when the fountain has no such sensor. */
|
|
71674
71830
|
todayDrink: number().min(0).nullable().meta(readingMeta("volume")),
|
|
71675
71831
|
/** Decoded fault message. Null means healthy; a non-null string is an active fault. */
|
|
71676
71832
|
error: string().nullable(),
|
|
71677
71833
|
/** Ms epoch when the slice was last refreshed. */
|
|
71678
71834
|
lastFetchedAt: number()
|
|
71679
71835
|
});
|
|
71680
|
-
var DeviceIdSchema = number().int().nonnegative();
|
|
71681
|
-
var MinutesSchema = number().int().min(0);
|
|
71836
|
+
var DeviceIdSchema$1 = number().int().nonnegative();
|
|
71682
71837
|
var petFountainCapability = {
|
|
71683
71838
|
name: "pet-fountain",
|
|
71684
71839
|
scope: "device",
|
|
@@ -71688,38 +71843,14 @@ var petFountainCapability = {
|
|
|
71688
71843
|
methods: {
|
|
71689
71844
|
/** Start or stop the pump. */
|
|
71690
71845
|
setPump: method(object({
|
|
71691
|
-
deviceId: DeviceIdSchema,
|
|
71692
|
-
on: boolean()
|
|
71693
|
-
}), _void(), {
|
|
71694
|
-
kind: "mutation",
|
|
71695
|
-
auth: "protected"
|
|
71696
|
-
}),
|
|
71697
|
-
/** Switch the on/off duty cycle on or off (off = the pump runs continuously). */
|
|
71698
|
-
setPumpInterval: method(object({
|
|
71699
|
-
deviceId: DeviceIdSchema,
|
|
71846
|
+
deviceId: DeviceIdSchema$1,
|
|
71700
71847
|
on: boolean()
|
|
71701
71848
|
}), _void(), {
|
|
71702
71849
|
kind: "mutation",
|
|
71703
71850
|
auth: "protected"
|
|
71704
71851
|
}),
|
|
71705
|
-
/** Set how many minutes the pump runs per cycle. */
|
|
71706
|
-
setPumpOnMinutes: method(object({
|
|
71707
|
-
deviceId: DeviceIdSchema,
|
|
71708
|
-
minutes: MinutesSchema
|
|
71709
|
-
}), _void(), {
|
|
71710
|
-
kind: "mutation",
|
|
71711
|
-
auth: "protected"
|
|
71712
|
-
}),
|
|
71713
|
-
/** Set how many minutes the pump rests per cycle. */
|
|
71714
|
-
setPumpOffMinutes: method(object({
|
|
71715
|
-
deviceId: DeviceIdSchema,
|
|
71716
|
-
minutes: MinutesSchema
|
|
71717
|
-
}), _void(), {
|
|
71718
|
-
kind: "mutation",
|
|
71719
|
-
auth: "protected"
|
|
71720
|
-
}),
|
|
71721
71852
|
/** Clear the rolling daily consumption counters on the device. */
|
|
71722
|
-
resetDailyConsumption: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
71853
|
+
resetDailyConsumption: method(object({ deviceId: DeviceIdSchema$1 }), _void(), {
|
|
71723
71854
|
kind: "mutation",
|
|
71724
71855
|
auth: "protected"
|
|
71725
71856
|
})
|
|
@@ -74087,6 +74218,79 @@ var ptzAutotrackCapability = {
|
|
|
74087
74218
|
*/
|
|
74088
74219
|
history: "none"
|
|
74089
74220
|
};
|
|
74221
|
+
/**
|
|
74222
|
+
* The on/off duty cycle of a pet fountain's pump. Some models run the pump
|
|
74223
|
+
* continuously and have nothing to configure; others can alternate a run time
|
|
74224
|
+
* and a rest time. That is model-specific, so it is its own optional cap on the
|
|
74225
|
+
* fountain device: a fountain without cycle entities simply never composes it
|
|
74226
|
+
* (planning#366), and the `pet-fountain` cap stays the model-independent core.
|
|
74227
|
+
*
|
|
74228
|
+
* Like `pet-fountain` it has no native vendor provider: an operator BUILDS the
|
|
74229
|
+
* cycle from loose entities (a cycle switch and two number boxes) and every
|
|
74230
|
+
* method is a forward to one source entity (D659, D967). Durations are stored
|
|
74231
|
+
* in SECONDS (D944); a number box that cannot be read back leaves them `null`
|
|
74232
|
+
* — unknown, never zero (D393).
|
|
74233
|
+
*/
|
|
74234
|
+
var PumpCycleStatusSchema = object({
|
|
74235
|
+
/** True when the pump works on the on/off cycle, false when it runs continuously. Null while unknown. */
|
|
74236
|
+
enabled: boolean().nullable(),
|
|
74237
|
+
/** How long the pump runs per cycle, in seconds. Null while unknown. */
|
|
74238
|
+
onTime: number().min(0).nullable().meta(readingMeta("duration")),
|
|
74239
|
+
/** How long the pump rests per cycle, in seconds. Null while unknown. */
|
|
74240
|
+
offTime: number().min(0).nullable().meta(readingMeta("duration")),
|
|
74241
|
+
/** Ms epoch when the slice was last refreshed. */
|
|
74242
|
+
lastFetchedAt: number()
|
|
74243
|
+
});
|
|
74244
|
+
var DeviceIdSchema = number().int().nonnegative();
|
|
74245
|
+
var MinutesSchema = number().int().min(0);
|
|
74246
|
+
var pumpCycleCapability = {
|
|
74247
|
+
name: "pump-cycle",
|
|
74248
|
+
scope: "device",
|
|
74249
|
+
deviceNative: true,
|
|
74250
|
+
mode: "singleton",
|
|
74251
|
+
deviceTypes: [DeviceType.PetFountain],
|
|
74252
|
+
methods: {
|
|
74253
|
+
/** Switch the on/off duty cycle on or off (off = the pump runs continuously). */
|
|
74254
|
+
setEnabled: method(object({
|
|
74255
|
+
deviceId: DeviceIdSchema,
|
|
74256
|
+
on: boolean()
|
|
74257
|
+
}), _void(), {
|
|
74258
|
+
kind: "mutation",
|
|
74259
|
+
auth: "protected"
|
|
74260
|
+
}),
|
|
74261
|
+
/** Set how many minutes the pump runs per cycle. */
|
|
74262
|
+
setOnMinutes: method(object({
|
|
74263
|
+
deviceId: DeviceIdSchema,
|
|
74264
|
+
minutes: MinutesSchema
|
|
74265
|
+
}), _void(), {
|
|
74266
|
+
kind: "mutation",
|
|
74267
|
+
auth: "protected"
|
|
74268
|
+
}),
|
|
74269
|
+
/** Set how many minutes the pump rests per cycle. */
|
|
74270
|
+
setOffMinutes: method(object({
|
|
74271
|
+
deviceId: DeviceIdSchema,
|
|
74272
|
+
minutes: MinutesSchema
|
|
74273
|
+
}), _void(), {
|
|
74274
|
+
kind: "mutation",
|
|
74275
|
+
auth: "protected"
|
|
74276
|
+
})
|
|
74277
|
+
},
|
|
74278
|
+
status: {
|
|
74279
|
+
schema: PumpCycleStatusSchema,
|
|
74280
|
+
kind: "push"
|
|
74281
|
+
},
|
|
74282
|
+
/** Runtime-state slice — mirrored by the kernel; the hero card reads it whole. */
|
|
74283
|
+
runtimeState: PumpCycleStatusSchema,
|
|
74284
|
+
/**
|
|
74285
|
+
* Runtime-state durability: **session** — live appliance state re-published on connect.
|
|
74286
|
+
*
|
|
74287
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
74288
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
74289
|
+
*/
|
|
74290
|
+
durability: "session",
|
|
74291
|
+
/** History (D850): a duty-cycle setting is not a series worth recording. */
|
|
74292
|
+
history: "none"
|
|
74293
|
+
};
|
|
74090
74294
|
DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, DeviceType.Gateway, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
|
|
74091
74295
|
kind: "mutation",
|
|
74092
74296
|
auth: "admin"
|
|
@@ -83381,6 +83585,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
83381
83585
|
pressureSensor: pressureSensorCapability,
|
|
83382
83586
|
privacyMask: privacyMaskCapability,
|
|
83383
83587
|
ptzAutotrack: ptzAutotrackCapability,
|
|
83588
|
+
pumpCycle: pumpCycleCapability,
|
|
83384
83589
|
recordingOnboard: recordingOnboardCapability,
|
|
83385
83590
|
recordingSignal: recordingSignalCapability,
|
|
83386
83591
|
runningState: runningStateCapability,
|
|
@@ -85071,6 +85276,27 @@ Object.freeze({
|
|
|
85071
85276
|
access: "view",
|
|
85072
85277
|
role: "viewer"
|
|
85073
85278
|
},
|
|
85279
|
+
"boardKeySource.getBoardKey": {
|
|
85280
|
+
capName: "board-key-source",
|
|
85281
|
+
capScope: "system",
|
|
85282
|
+
addonId: null,
|
|
85283
|
+
access: "view",
|
|
85284
|
+
role: "admin"
|
|
85285
|
+
},
|
|
85286
|
+
"boardKeySource.listBoards": {
|
|
85287
|
+
capName: "board-key-source",
|
|
85288
|
+
capScope: "system",
|
|
85289
|
+
addonId: null,
|
|
85290
|
+
access: "view",
|
|
85291
|
+
role: "admin"
|
|
85292
|
+
},
|
|
85293
|
+
"boardKeySource.listSources": {
|
|
85294
|
+
capName: "board-key-source",
|
|
85295
|
+
capScope: "system",
|
|
85296
|
+
addonId: null,
|
|
85297
|
+
access: "view",
|
|
85298
|
+
role: "admin"
|
|
85299
|
+
},
|
|
85074
85300
|
"brightness.getStatus": {
|
|
85075
85301
|
capName: "brightness",
|
|
85076
85302
|
capScope: "device",
|
|
@@ -87752,6 +87978,13 @@ Object.freeze({
|
|
|
87752
87978
|
access: "view",
|
|
87753
87979
|
role: "admin"
|
|
87754
87980
|
},
|
|
87981
|
+
"integrationInstances.setInstanceEnabled": {
|
|
87982
|
+
capName: "integration-instances",
|
|
87983
|
+
capScope: "system",
|
|
87984
|
+
addonId: null,
|
|
87985
|
+
access: "create",
|
|
87986
|
+
role: "admin"
|
|
87987
|
+
},
|
|
87755
87988
|
"integrationInstances.testInstance": {
|
|
87756
87989
|
capName: "integration-instances",
|
|
87757
87990
|
capScope: "system",
|
|
@@ -89887,27 +90120,6 @@ Object.freeze({
|
|
|
89887
90120
|
access: "create",
|
|
89888
90121
|
role: "viewer"
|
|
89889
90122
|
},
|
|
89890
|
-
"petFountain.setPumpInterval": {
|
|
89891
|
-
capName: "pet-fountain",
|
|
89892
|
-
capScope: "device",
|
|
89893
|
-
addonId: null,
|
|
89894
|
-
access: "create",
|
|
89895
|
-
role: "viewer"
|
|
89896
|
-
},
|
|
89897
|
-
"petFountain.setPumpOffMinutes": {
|
|
89898
|
-
capName: "pet-fountain",
|
|
89899
|
-
capScope: "device",
|
|
89900
|
-
addonId: null,
|
|
89901
|
-
access: "create",
|
|
89902
|
-
role: "viewer"
|
|
89903
|
-
},
|
|
89904
|
-
"petFountain.setPumpOnMinutes": {
|
|
89905
|
-
capName: "pet-fountain",
|
|
89906
|
-
capScope: "device",
|
|
89907
|
-
addonId: null,
|
|
89908
|
-
access: "create",
|
|
89909
|
-
role: "viewer"
|
|
89910
|
-
},
|
|
89911
90123
|
"pipelineAnalytics.addRetrainFrameFromRecording": {
|
|
89912
90124
|
capName: "pipeline-analytics",
|
|
89913
90125
|
capScope: "device",
|
|
@@ -91686,6 +91898,34 @@ Object.freeze({
|
|
|
91686
91898
|
access: "create",
|
|
91687
91899
|
role: "admin"
|
|
91688
91900
|
},
|
|
91901
|
+
"pumpCycle.getStatus": {
|
|
91902
|
+
capName: "pump-cycle",
|
|
91903
|
+
capScope: "device",
|
|
91904
|
+
addonId: null,
|
|
91905
|
+
access: "view",
|
|
91906
|
+
role: "viewer"
|
|
91907
|
+
},
|
|
91908
|
+
"pumpCycle.setEnabled": {
|
|
91909
|
+
capName: "pump-cycle",
|
|
91910
|
+
capScope: "device",
|
|
91911
|
+
addonId: null,
|
|
91912
|
+
access: "create",
|
|
91913
|
+
role: "viewer"
|
|
91914
|
+
},
|
|
91915
|
+
"pumpCycle.setOffMinutes": {
|
|
91916
|
+
capName: "pump-cycle",
|
|
91917
|
+
capScope: "device",
|
|
91918
|
+
addonId: null,
|
|
91919
|
+
access: "create",
|
|
91920
|
+
role: "viewer"
|
|
91921
|
+
},
|
|
91922
|
+
"pumpCycle.setOnMinutes": {
|
|
91923
|
+
capName: "pump-cycle",
|
|
91924
|
+
capScope: "device",
|
|
91925
|
+
addonId: null,
|
|
91926
|
+
access: "create",
|
|
91927
|
+
role: "viewer"
|
|
91928
|
+
},
|
|
91689
91929
|
"reboot.reboot": {
|
|
91690
91930
|
capName: "reboot",
|
|
91691
91931
|
capScope: "device",
|
|
@@ -96230,21 +96470,6 @@ Object.freeze({
|
|
|
96230
96470
|
form: "single",
|
|
96231
96471
|
optional: false
|
|
96232
96472
|
}],
|
|
96233
|
-
"petFountain.setPumpInterval": [{
|
|
96234
|
-
name: "deviceId",
|
|
96235
|
-
form: "single",
|
|
96236
|
-
optional: false
|
|
96237
|
-
}],
|
|
96238
|
-
"petFountain.setPumpOffMinutes": [{
|
|
96239
|
-
name: "deviceId",
|
|
96240
|
-
form: "single",
|
|
96241
|
-
optional: false
|
|
96242
|
-
}],
|
|
96243
|
-
"petFountain.setPumpOnMinutes": [{
|
|
96244
|
-
name: "deviceId",
|
|
96245
|
-
form: "single",
|
|
96246
|
-
optional: false
|
|
96247
|
-
}],
|
|
96248
96473
|
"pipelineAnalytics.addRetrainFrameFromRecording": [{
|
|
96249
96474
|
name: "deviceId",
|
|
96250
96475
|
form: "single",
|
|
@@ -96880,6 +97105,26 @@ Object.freeze({
|
|
|
96880
97105
|
form: "single",
|
|
96881
97106
|
optional: false
|
|
96882
97107
|
}],
|
|
97108
|
+
"pumpCycle.getStatus": [{
|
|
97109
|
+
name: "deviceId",
|
|
97110
|
+
form: "single",
|
|
97111
|
+
optional: false
|
|
97112
|
+
}],
|
|
97113
|
+
"pumpCycle.setEnabled": [{
|
|
97114
|
+
name: "deviceId",
|
|
97115
|
+
form: "single",
|
|
97116
|
+
optional: false
|
|
97117
|
+
}],
|
|
97118
|
+
"pumpCycle.setOffMinutes": [{
|
|
97119
|
+
name: "deviceId",
|
|
97120
|
+
form: "single",
|
|
97121
|
+
optional: false
|
|
97122
|
+
}],
|
|
97123
|
+
"pumpCycle.setOnMinutes": [{
|
|
97124
|
+
name: "deviceId",
|
|
97125
|
+
form: "single",
|
|
97126
|
+
optional: false
|
|
97127
|
+
}],
|
|
96883
97128
|
"reboot.reboot": [{
|
|
96884
97129
|
name: "deviceId",
|
|
96885
97130
|
form: "single",
|
|
@@ -103617,6 +103862,12 @@ Object.defineProperty(exports, "NcTaxonomySchema", {
|
|
|
103617
103862
|
return NcTaxonomySchema;
|
|
103618
103863
|
}
|
|
103619
103864
|
});
|
|
103865
|
+
Object.defineProperty(exports, "NcTemplateDefaultSchema", {
|
|
103866
|
+
enumerable: true,
|
|
103867
|
+
get: function() {
|
|
103868
|
+
return NcTemplateDefaultSchema;
|
|
103869
|
+
}
|
|
103870
|
+
});
|
|
103620
103871
|
Object.defineProperty(exports, "NcTemplatePreviewInputSchema", {
|
|
103621
103872
|
enumerable: true,
|
|
103622
103873
|
get: function() {
|