@camstack/addon-provider-velux 0.2.140 → 0.2.142
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.js +238 -62
- package/dist/addon.mjs +238 -62
- package/i18n/en.json +1 -1
- package/i18n/it.json +1 -1
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region ../types/dist/event-category-
|
|
2
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
3
3
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4
4
|
EventCategory["SystemBoot"] = "system.boot";
|
|
5
5
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -316,6 +316,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
316
316
|
*/
|
|
317
317
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
318
318
|
/**
|
|
319
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
320
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
321
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
322
|
+
* {@link PipelineMotionCalm}.
|
|
323
|
+
*/
|
|
324
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
325
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
326
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
327
|
+
/**
|
|
319
328
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
320
329
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
321
330
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -687,6 +696,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
687
696
|
EventCategory["BackupRestored"] = "backup.restored";
|
|
688
697
|
EventCategory["NotificationDispatched"] = "notification.dispatched";
|
|
689
698
|
EventCategory["NotificationFailed"] = "notification.failed";
|
|
699
|
+
/**
|
|
700
|
+
* A notification rule that cannot work (D905): its stored row does not load,
|
|
701
|
+
* or it still names a device / delivery target the prune CONFIRMED deleted.
|
|
702
|
+
* One edge per rule per distinct set of reasons; never on an unanswered read.
|
|
703
|
+
*/
|
|
704
|
+
EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
|
|
705
|
+
/** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
|
|
706
|
+
EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
|
|
690
707
|
EventCategory["DeviceUpdated"] = "device.updated";
|
|
691
708
|
/**
|
|
692
709
|
* Transport-level connectivity. Emitted by the device driver when
|
|
@@ -5414,7 +5431,7 @@ var ZodIssueCode = {
|
|
|
5414
5431
|
var ZodFirstPartyTypeKind;
|
|
5415
5432
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5416
5433
|
//#endregion
|
|
5417
|
-
//#region ../types/dist/sleep-
|
|
5434
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5418
5435
|
/**
|
|
5419
5436
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5420
5437
|
* window to float samples (D455).
|
|
@@ -7943,7 +7960,7 @@ var EntryDescriptorSchema = object({
|
|
|
7943
7960
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7944
7961
|
fields: record(string(), unknown())
|
|
7945
7962
|
}).strict();
|
|
7946
|
-
/** What crosses the wire
|
|
7963
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7947
7964
|
var RecordKindDeclarationSchema = object({
|
|
7948
7965
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7949
7966
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7962,14 +7979,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7962
7979
|
secretPaths: array(string().min(1)).default([]),
|
|
7963
7980
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7964
7981
|
secretArrayKeys: record(string(), string()).default({}),
|
|
7965
|
-
/**
|
|
7966
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
7967
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
7968
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
7969
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
7970
|
-
* removal still sends it. Never set it.
|
|
7971
|
-
*/
|
|
7972
|
-
adoptsFrom: string().min(1).optional(),
|
|
7973
7982
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
7974
7983
|
transactFamily: string().min(1).optional(),
|
|
7975
7984
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12661,17 +12670,6 @@ object({
|
|
|
12661
12670
|
createdAt: number(),
|
|
12662
12671
|
updatedAt: number()
|
|
12663
12672
|
});
|
|
12664
|
-
object({
|
|
12665
|
-
id: string(),
|
|
12666
|
-
label: string(),
|
|
12667
|
-
isAdmin: boolean().default(false),
|
|
12668
|
-
allowedProviders: AllowedProviderSchema,
|
|
12669
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12670
|
-
tokenHash: string(),
|
|
12671
|
-
tokenPrefix: string(),
|
|
12672
|
-
createdAt: number(),
|
|
12673
|
-
lastUsedAt: number().optional()
|
|
12674
|
-
});
|
|
12675
12673
|
object({
|
|
12676
12674
|
id: string(),
|
|
12677
12675
|
userId: string(),
|
|
@@ -16653,16 +16651,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16653
16651
|
var DeclareKindResultSchema = object({
|
|
16654
16652
|
kindId: number().int(),
|
|
16655
16653
|
state: RecordKindStateSchema,
|
|
16656
|
-
createdIndexes: array(string())
|
|
16657
|
-
/**
|
|
16658
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16659
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16660
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16661
|
-
*/
|
|
16662
|
-
adoptionPending: _null()
|
|
16654
|
+
createdIndexes: array(string())
|
|
16663
16655
|
});
|
|
16664
16656
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16665
16657
|
var SecretRefsList = array(string());
|
|
16658
|
+
/**
|
|
16659
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16660
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16661
|
+
*/
|
|
16662
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16663
|
+
object({
|
|
16664
|
+
op: literal("put"),
|
|
16665
|
+
kind: RecordKindNameSchema,
|
|
16666
|
+
record: RecordInputSchema,
|
|
16667
|
+
ifRev: number().int().min(0).optional()
|
|
16668
|
+
}),
|
|
16669
|
+
object({
|
|
16670
|
+
op: literal("patch"),
|
|
16671
|
+
kind: RecordKindNameSchema,
|
|
16672
|
+
id: RecordIdSchema,
|
|
16673
|
+
data: RecordBodySchema,
|
|
16674
|
+
at: number().int().nullable().optional(),
|
|
16675
|
+
expiresAt: number().int().nullable().optional(),
|
|
16676
|
+
ifRev: number().int().min(1).optional()
|
|
16677
|
+
}),
|
|
16678
|
+
object({
|
|
16679
|
+
op: literal("delete"),
|
|
16680
|
+
kind: RecordKindNameSchema,
|
|
16681
|
+
id: RecordIdSchema
|
|
16682
|
+
})
|
|
16683
|
+
]);
|
|
16666
16684
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16667
16685
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16668
16686
|
kind: "mutation",
|
|
@@ -16769,6 +16787,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16769
16787
|
}), {
|
|
16770
16788
|
kind: "mutation",
|
|
16771
16789
|
auth: "admin"
|
|
16790
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16791
|
+
results: array(object({
|
|
16792
|
+
rev: number().int().nullable(),
|
|
16793
|
+
deleted: boolean()
|
|
16794
|
+
})),
|
|
16795
|
+
releasedRefs: SecretRefsList,
|
|
16796
|
+
secretRefs: SecretRefsList
|
|
16797
|
+
}), {
|
|
16798
|
+
kind: "mutation",
|
|
16799
|
+
auth: "admin"
|
|
16772
16800
|
}), method(object({
|
|
16773
16801
|
deviceId: number().int(),
|
|
16774
16802
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42476,9 +42504,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42476
42504
|
"node-updating",
|
|
42477
42505
|
"node-inference-unavailable",
|
|
42478
42506
|
"detection-blind",
|
|
42507
|
+
"motion-noisy",
|
|
42508
|
+
"motion-calm",
|
|
42479
42509
|
"recording-stalled",
|
|
42480
42510
|
"recording-healthy",
|
|
42481
42511
|
"recording-degraded",
|
|
42512
|
+
"device-attention-required",
|
|
42513
|
+
"device-attention-resolved",
|
|
42482
42514
|
"storage-location-low",
|
|
42483
42515
|
"storage-location-critical",
|
|
42484
42516
|
"storage-location-ok",
|
|
@@ -42502,6 +42534,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42502
42534
|
"alert-critical",
|
|
42503
42535
|
"alert-error",
|
|
42504
42536
|
"alert-critical-resolved",
|
|
42537
|
+
"rule-broken",
|
|
42538
|
+
"rule-repaired",
|
|
42505
42539
|
"camera-online",
|
|
42506
42540
|
"camera-offline",
|
|
42507
42541
|
"camera-disabled",
|
|
@@ -55800,6 +55834,16 @@ var DishwasherStatusSchema = object({
|
|
|
55800
55834
|
powerState: string().nullable(),
|
|
55801
55835
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55802
55836
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55837
|
+
/**
|
|
55838
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55839
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
55840
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
55841
|
+
*/
|
|
55842
|
+
filterCleaningDue: boolean().nullable(),
|
|
55843
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
55844
|
+
machineCareDue: boolean().nullable(),
|
|
55845
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
55846
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
55803
55847
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55804
55848
|
halfLoad: boolean().nullable(),
|
|
55805
55849
|
hygienePlus: boolean().nullable(),
|
|
@@ -64450,16 +64494,6 @@ var UpdateUserInputSchema = object({
|
|
|
64450
64494
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64451
64495
|
scopes: array(TokenScopeSchema).optional()
|
|
64452
64496
|
});
|
|
64453
|
-
var ApiKeySummarySchema = object({
|
|
64454
|
-
id: string(),
|
|
64455
|
-
label: string(),
|
|
64456
|
-
isAdmin: boolean().default(false),
|
|
64457
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
64458
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64459
|
-
tokenPrefix: string(),
|
|
64460
|
-
createdAt: number(),
|
|
64461
|
-
lastUsedAt: number().optional()
|
|
64462
|
-
});
|
|
64463
64497
|
var OauthSessionSummarySchema = object({
|
|
64464
64498
|
id: string(),
|
|
64465
64499
|
userId: string(),
|
|
@@ -64481,8 +64515,7 @@ var TotpStatusSchema = object({
|
|
|
64481
64515
|
confirmedAt: number().nullable()
|
|
64482
64516
|
});
|
|
64483
64517
|
/**
|
|
64484
|
-
* user-management — singleton capability for user accounts
|
|
64485
|
-
* legacy API-key rows.
|
|
64518
|
+
* user-management — singleton capability for user accounts.
|
|
64486
64519
|
*
|
|
64487
64520
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64488
64521
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64538,10 +64571,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64538
64571
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64539
64572
|
kind: "mutation",
|
|
64540
64573
|
access: "view"
|
|
64541
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64542
|
-
kind: "mutation",
|
|
64543
|
-
auth: "admin",
|
|
64544
|
-
access: "delete"
|
|
64545
64574
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64546
64575
|
kind: "mutation",
|
|
64547
64576
|
auth: "admin",
|
|
@@ -73997,6 +74026,12 @@ Object.freeze({
|
|
|
73997
74026
|
addonId: null,
|
|
73998
74027
|
access: "view"
|
|
73999
74028
|
},
|
|
74029
|
+
"records.transact": {
|
|
74030
|
+
capName: "records",
|
|
74031
|
+
capScope: "system",
|
|
74032
|
+
addonId: null,
|
|
74033
|
+
access: "create"
|
|
74034
|
+
},
|
|
74000
74035
|
"sceneMonitor.captureReference": {
|
|
74001
74036
|
capName: "scene-monitor",
|
|
74002
74037
|
capScope: "device",
|
|
@@ -75329,12 +75364,6 @@ Object.freeze({
|
|
|
75329
75364
|
addonId: null,
|
|
75330
75365
|
access: "view"
|
|
75331
75366
|
},
|
|
75332
|
-
"userManagement.listApiKeys": {
|
|
75333
|
-
capName: "user-management",
|
|
75334
|
-
capScope: "system",
|
|
75335
|
-
addonId: null,
|
|
75336
|
-
access: "view"
|
|
75337
|
-
},
|
|
75338
75367
|
"userManagement.listExternalIdentities": {
|
|
75339
75368
|
capName: "user-management",
|
|
75340
75369
|
capScope: "system",
|
|
@@ -75389,12 +75418,6 @@ Object.freeze({
|
|
|
75389
75418
|
addonId: null,
|
|
75390
75419
|
access: "create"
|
|
75391
75420
|
},
|
|
75392
|
-
"userManagement.revokeApiKey": {
|
|
75393
|
-
capName: "user-management",
|
|
75394
|
-
capScope: "system",
|
|
75395
|
-
addonId: null,
|
|
75396
|
-
access: "delete"
|
|
75397
|
-
},
|
|
75398
75421
|
"userManagement.revokeOauthSession": {
|
|
75399
75422
|
capName: "user-management",
|
|
75400
75423
|
capScope: "system",
|
|
@@ -78759,9 +78782,13 @@ new Map(Object.entries({
|
|
|
78759
78782
|
"stream-online": "device-events",
|
|
78760
78783
|
"stream-offline": "device-events",
|
|
78761
78784
|
"detection-blind": "device-events",
|
|
78785
|
+
"motion-noisy": "device-events",
|
|
78786
|
+
"motion-calm": "device-events",
|
|
78762
78787
|
"recording-stalled": "device-events",
|
|
78763
78788
|
"recording-healthy": "device-events",
|
|
78764
78789
|
"recording-degraded": "device-events",
|
|
78790
|
+
"device-attention-required": "device-events",
|
|
78791
|
+
"device-attention-resolved": "device-events",
|
|
78765
78792
|
"node-online": "system",
|
|
78766
78793
|
"node-offline": "system",
|
|
78767
78794
|
"node-restarting": "system",
|
|
@@ -78778,6 +78805,8 @@ new Map(Object.entries({
|
|
|
78778
78805
|
"alert-critical": "system",
|
|
78779
78806
|
"alert-error": "system",
|
|
78780
78807
|
"alert-critical-resolved": "system",
|
|
78808
|
+
"rule-broken": "system",
|
|
78809
|
+
"rule-repaired": "system",
|
|
78781
78810
|
"storage-location-low": "system",
|
|
78782
78811
|
"storage-location-critical": "system",
|
|
78783
78812
|
"storage-location-ok": "system",
|
|
@@ -78842,6 +78871,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78842
78871
|
label: "Detecting nothing",
|
|
78843
78872
|
kinds: ["detection-blind"]
|
|
78844
78873
|
},
|
|
78874
|
+
{
|
|
78875
|
+
id: "motion-noise",
|
|
78876
|
+
family: "device-events",
|
|
78877
|
+
label: "Motion without a subject",
|
|
78878
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
78879
|
+
},
|
|
78845
78880
|
{
|
|
78846
78881
|
id: "recording",
|
|
78847
78882
|
family: "device-events",
|
|
@@ -78852,6 +78887,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78852
78887
|
"recording-degraded"
|
|
78853
78888
|
]
|
|
78854
78889
|
},
|
|
78890
|
+
{
|
|
78891
|
+
id: "device-attention",
|
|
78892
|
+
family: "device-events",
|
|
78893
|
+
label: "Needs attention",
|
|
78894
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
78895
|
+
},
|
|
78855
78896
|
{
|
|
78856
78897
|
id: "nodes",
|
|
78857
78898
|
family: "system",
|
|
@@ -78912,6 +78953,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78912
78953
|
"alert-critical-resolved"
|
|
78913
78954
|
]
|
|
78914
78955
|
},
|
|
78956
|
+
{
|
|
78957
|
+
id: "rule-health",
|
|
78958
|
+
family: "system",
|
|
78959
|
+
label: "Notification rules",
|
|
78960
|
+
kinds: ["rule-broken", "rule-repaired"]
|
|
78961
|
+
},
|
|
78915
78962
|
{
|
|
78916
78963
|
id: "alarm",
|
|
78917
78964
|
family: "alarm",
|
|
@@ -78985,6 +79032,7 @@ var ALERT_EPISODE = [
|
|
|
78985
79032
|
"alert-error",
|
|
78986
79033
|
"alert-critical-resolved"
|
|
78987
79034
|
];
|
|
79035
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
78988
79036
|
var UPDATES = [
|
|
78989
79037
|
"addon-update-available",
|
|
78990
79038
|
"server-update-available",
|
|
@@ -79014,9 +79062,12 @@ var DEVICE_EVENTS = [
|
|
|
79014
79062
|
"stream-online",
|
|
79015
79063
|
"stream-offline",
|
|
79016
79064
|
"detection-blind",
|
|
79065
|
+
"motion-noisy",
|
|
79066
|
+
"motion-calm",
|
|
79017
79067
|
"recording-stalled",
|
|
79018
79068
|
"recording-healthy",
|
|
79019
79069
|
"recording-degraded",
|
|
79070
|
+
...DEVICE_ATTENTION,
|
|
79020
79071
|
...ALARM
|
|
79021
79072
|
];
|
|
79022
79073
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -79184,7 +79235,13 @@ var STATE_SUMMARY_VARS = [
|
|
|
79184
79235
|
[...RULE_TEXT],
|
|
79185
79236
|
[...RULE_TEXT],
|
|
79186
79237
|
[...RULE_TEXT],
|
|
79187
|
-
|
|
79238
|
+
[...RULE_TEXT],
|
|
79239
|
+
[...RULE_TEXT],
|
|
79240
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79241
|
+
[...RULE_TEXT],
|
|
79242
|
+
[...RULE_TEXT],
|
|
79243
|
+
[...RULE_TEXT],
|
|
79244
|
+
[...RULE_TEXT],
|
|
79188
79245
|
[...RULE_TEXT],
|
|
79189
79246
|
[...RULE_TEXT],
|
|
79190
79247
|
[...RULE_TEXT],
|
|
@@ -79202,11 +79259,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
79202
79259
|
[...RULE_TEXT],
|
|
79203
79260
|
[...RULE_TEXT],
|
|
79204
79261
|
[...RULE_TEXT],
|
|
79262
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79205
79263
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79264
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79206
79265
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79207
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79208
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79209
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79266
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79210
79267
|
[...RULE_TEXT],
|
|
79211
79268
|
[...RULE_TEXT],
|
|
79212
79269
|
[...RULE_TEXT],
|
|
@@ -79227,6 +79284,125 @@ var STATE_SUMMARY_VARS = [
|
|
|
79227
79284
|
[...RULE_TEXT],
|
|
79228
79285
|
...STATE_SUMMARY_VARS
|
|
79229
79286
|
];
|
|
79287
|
+
new Map([
|
|
79288
|
+
{
|
|
79289
|
+
id: "device-connectivity",
|
|
79290
|
+
family: "device-events",
|
|
79291
|
+
label: "Device connectivity (offline / back online)",
|
|
79292
|
+
bad: ["device-offline"],
|
|
79293
|
+
recovery: ["device-online"],
|
|
79294
|
+
snapshotLabel: "Devices offline now",
|
|
79295
|
+
snapshotSection: "device-state"
|
|
79296
|
+
},
|
|
79297
|
+
{
|
|
79298
|
+
id: "device-switch",
|
|
79299
|
+
family: "device-events",
|
|
79300
|
+
label: "Device switched off / back on",
|
|
79301
|
+
bad: ["device-disabled"],
|
|
79302
|
+
recovery: ["device-enabled"],
|
|
79303
|
+
snapshotLabel: "Devices switched off now",
|
|
79304
|
+
snapshotSection: "device-state"
|
|
79305
|
+
},
|
|
79306
|
+
{
|
|
79307
|
+
id: "stream-connectivity",
|
|
79308
|
+
family: "device-events",
|
|
79309
|
+
label: "Stream connectivity (offline / back online)",
|
|
79310
|
+
bad: ["stream-offline"],
|
|
79311
|
+
recovery: ["stream-online"],
|
|
79312
|
+
snapshotLabel: "Streams offline now",
|
|
79313
|
+
snapshotSection: "streams"
|
|
79314
|
+
},
|
|
79315
|
+
{
|
|
79316
|
+
id: "battery",
|
|
79317
|
+
family: "device-events",
|
|
79318
|
+
label: "Battery (low / back to normal)",
|
|
79319
|
+
bad: ["device-battery-low"],
|
|
79320
|
+
recovery: ["device-battery-normal"],
|
|
79321
|
+
snapshotLabel: "Batteries low now",
|
|
79322
|
+
snapshotSection: "battery"
|
|
79323
|
+
},
|
|
79324
|
+
{
|
|
79325
|
+
id: "consumables",
|
|
79326
|
+
family: "device-events",
|
|
79327
|
+
label: "Consumables (low / replaced)",
|
|
79328
|
+
bad: ["device-consumable-low"],
|
|
79329
|
+
recovery: ["device-consumable-normal"],
|
|
79330
|
+
snapshotLabel: "Consumables low now",
|
|
79331
|
+
snapshotSection: "consumables"
|
|
79332
|
+
},
|
|
79333
|
+
{
|
|
79334
|
+
id: "tanks",
|
|
79335
|
+
family: "device-events",
|
|
79336
|
+
label: "Tanks (low or full / back to normal)",
|
|
79337
|
+
bad: ["device-tank-low", "device-tank-full"],
|
|
79338
|
+
recovery: ["device-tank-normal"],
|
|
79339
|
+
snapshotLabel: "Tanks low or full now",
|
|
79340
|
+
snapshotSection: "tanks"
|
|
79341
|
+
},
|
|
79342
|
+
{
|
|
79343
|
+
id: "motion-noise",
|
|
79344
|
+
family: "device-events",
|
|
79345
|
+
label: "Motion without a subject (constant / calm again)",
|
|
79346
|
+
bad: ["motion-noisy"],
|
|
79347
|
+
recovery: ["motion-calm"],
|
|
79348
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
79349
|
+
snapshotSection: null
|
|
79350
|
+
},
|
|
79351
|
+
{
|
|
79352
|
+
id: "recording-health",
|
|
79353
|
+
family: "device-events",
|
|
79354
|
+
label: "Recording health (stalled or degraded / recording again)",
|
|
79355
|
+
bad: ["recording-stalled", "recording-degraded"],
|
|
79356
|
+
recovery: ["recording-healthy"],
|
|
79357
|
+
snapshotLabel: "Recordings stalled now",
|
|
79358
|
+
snapshotSection: null
|
|
79359
|
+
},
|
|
79360
|
+
{
|
|
79361
|
+
id: "device-attention",
|
|
79362
|
+
family: "device-events",
|
|
79363
|
+
label: "Device needs attention (raised / resolved)",
|
|
79364
|
+
bad: ["device-attention-required"],
|
|
79365
|
+
recovery: ["device-attention-resolved"],
|
|
79366
|
+
snapshotLabel: "Devices needing attention now",
|
|
79367
|
+
snapshotSection: null
|
|
79368
|
+
},
|
|
79369
|
+
{
|
|
79370
|
+
id: "node-connectivity",
|
|
79371
|
+
family: "system",
|
|
79372
|
+
label: "Node connectivity (offline / back online)",
|
|
79373
|
+
bad: ["node-offline"],
|
|
79374
|
+
recovery: ["node-online"],
|
|
79375
|
+
snapshotLabel: "Nodes offline now",
|
|
79376
|
+
snapshotSection: "nodes"
|
|
79377
|
+
},
|
|
79378
|
+
{
|
|
79379
|
+
id: "storage-space",
|
|
79380
|
+
family: "system",
|
|
79381
|
+
label: "Storage space (low or critical / ok again)",
|
|
79382
|
+
bad: ["storage-location-low", "storage-location-critical"],
|
|
79383
|
+
recovery: ["storage-location-ok"],
|
|
79384
|
+
snapshotLabel: "Storage locations low now",
|
|
79385
|
+
snapshotSection: null
|
|
79386
|
+
},
|
|
79387
|
+
{
|
|
79388
|
+
id: "critical-alerts",
|
|
79389
|
+
family: "system",
|
|
79390
|
+
label: "Critical alerts (raised / resolved)",
|
|
79391
|
+
bad: ["alert-critical"],
|
|
79392
|
+
recovery: ["alert-critical-resolved"],
|
|
79393
|
+
snapshotLabel: "Critical alerts open now",
|
|
79394
|
+
snapshotSection: null
|
|
79395
|
+
},
|
|
79396
|
+
{
|
|
79397
|
+
id: "rule-health",
|
|
79398
|
+
family: "system",
|
|
79399
|
+
label: "Rule health (broken / repaired)",
|
|
79400
|
+
bad: ["rule-broken"],
|
|
79401
|
+
recovery: ["rule-repaired"],
|
|
79402
|
+
snapshotLabel: "Notification rules broken now",
|
|
79403
|
+
snapshotSection: null
|
|
79404
|
+
}
|
|
79405
|
+
].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
|
|
79230
79406
|
new Set([
|
|
79231
79407
|
"disarmed",
|
|
79232
79408
|
"armed_home",
|
|
@@ -79831,7 +80007,7 @@ function buildConnectionFormSchema() {
|
|
|
79831
80007
|
id: "connection",
|
|
79832
80008
|
title: "Connection",
|
|
79833
80009
|
titleKey: "provider-velux:connection.s_connection.title",
|
|
79834
|
-
description: "
|
|
80010
|
+
description: "The password is the WiFi/web password printed on the back of the unit.",
|
|
79835
80011
|
descriptionKey: "provider-velux:connection.s_connection.description",
|
|
79836
80012
|
columns: 2,
|
|
79837
80013
|
fields: [
|
package/dist/addon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../types/dist/event-category-
|
|
1
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
2
2
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
3
3
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4
4
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -315,6 +315,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
315
315
|
*/
|
|
316
316
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
317
317
|
/**
|
|
318
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
319
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
320
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
321
|
+
* {@link PipelineMotionCalm}.
|
|
322
|
+
*/
|
|
323
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
324
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
325
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
326
|
+
/**
|
|
318
327
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
319
328
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
320
329
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -686,6 +695,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
686
695
|
EventCategory["BackupRestored"] = "backup.restored";
|
|
687
696
|
EventCategory["NotificationDispatched"] = "notification.dispatched";
|
|
688
697
|
EventCategory["NotificationFailed"] = "notification.failed";
|
|
698
|
+
/**
|
|
699
|
+
* A notification rule that cannot work (D905): its stored row does not load,
|
|
700
|
+
* or it still names a device / delivery target the prune CONFIRMED deleted.
|
|
701
|
+
* One edge per rule per distinct set of reasons; never on an unanswered read.
|
|
702
|
+
*/
|
|
703
|
+
EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
|
|
704
|
+
/** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
|
|
705
|
+
EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
|
|
689
706
|
EventCategory["DeviceUpdated"] = "device.updated";
|
|
690
707
|
/**
|
|
691
708
|
* Transport-level connectivity. Emitted by the device driver when
|
|
@@ -5413,7 +5430,7 @@ var ZodIssueCode = {
|
|
|
5413
5430
|
var ZodFirstPartyTypeKind;
|
|
5414
5431
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5415
5432
|
//#endregion
|
|
5416
|
-
//#region ../types/dist/sleep-
|
|
5433
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5417
5434
|
/**
|
|
5418
5435
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5419
5436
|
* window to float samples (D455).
|
|
@@ -7942,7 +7959,7 @@ var EntryDescriptorSchema = object({
|
|
|
7942
7959
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7943
7960
|
fields: record(string(), unknown())
|
|
7944
7961
|
}).strict();
|
|
7945
|
-
/** What crosses the wire
|
|
7962
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7946
7963
|
var RecordKindDeclarationSchema = object({
|
|
7947
7964
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7948
7965
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7961,14 +7978,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7961
7978
|
secretPaths: array(string().min(1)).default([]),
|
|
7962
7979
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7963
7980
|
secretArrayKeys: record(string(), string()).default({}),
|
|
7964
|
-
/**
|
|
7965
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
7966
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
7967
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
7968
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
7969
|
-
* removal still sends it. Never set it.
|
|
7970
|
-
*/
|
|
7971
|
-
adoptsFrom: string().min(1).optional(),
|
|
7972
7981
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
7973
7982
|
transactFamily: string().min(1).optional(),
|
|
7974
7983
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12660,17 +12669,6 @@ object({
|
|
|
12660
12669
|
createdAt: number(),
|
|
12661
12670
|
updatedAt: number()
|
|
12662
12671
|
});
|
|
12663
|
-
object({
|
|
12664
|
-
id: string(),
|
|
12665
|
-
label: string(),
|
|
12666
|
-
isAdmin: boolean().default(false),
|
|
12667
|
-
allowedProviders: AllowedProviderSchema,
|
|
12668
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12669
|
-
tokenHash: string(),
|
|
12670
|
-
tokenPrefix: string(),
|
|
12671
|
-
createdAt: number(),
|
|
12672
|
-
lastUsedAt: number().optional()
|
|
12673
|
-
});
|
|
12674
12672
|
object({
|
|
12675
12673
|
id: string(),
|
|
12676
12674
|
userId: string(),
|
|
@@ -16652,16 +16650,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16652
16650
|
var DeclareKindResultSchema = object({
|
|
16653
16651
|
kindId: number().int(),
|
|
16654
16652
|
state: RecordKindStateSchema,
|
|
16655
|
-
createdIndexes: array(string())
|
|
16656
|
-
/**
|
|
16657
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16658
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16659
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16660
|
-
*/
|
|
16661
|
-
adoptionPending: _null()
|
|
16653
|
+
createdIndexes: array(string())
|
|
16662
16654
|
});
|
|
16663
16655
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16664
16656
|
var SecretRefsList = array(string());
|
|
16657
|
+
/**
|
|
16658
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16659
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16660
|
+
*/
|
|
16661
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16662
|
+
object({
|
|
16663
|
+
op: literal("put"),
|
|
16664
|
+
kind: RecordKindNameSchema,
|
|
16665
|
+
record: RecordInputSchema,
|
|
16666
|
+
ifRev: number().int().min(0).optional()
|
|
16667
|
+
}),
|
|
16668
|
+
object({
|
|
16669
|
+
op: literal("patch"),
|
|
16670
|
+
kind: RecordKindNameSchema,
|
|
16671
|
+
id: RecordIdSchema,
|
|
16672
|
+
data: RecordBodySchema,
|
|
16673
|
+
at: number().int().nullable().optional(),
|
|
16674
|
+
expiresAt: number().int().nullable().optional(),
|
|
16675
|
+
ifRev: number().int().min(1).optional()
|
|
16676
|
+
}),
|
|
16677
|
+
object({
|
|
16678
|
+
op: literal("delete"),
|
|
16679
|
+
kind: RecordKindNameSchema,
|
|
16680
|
+
id: RecordIdSchema
|
|
16681
|
+
})
|
|
16682
|
+
]);
|
|
16665
16683
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16666
16684
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16667
16685
|
kind: "mutation",
|
|
@@ -16768,6 +16786,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16768
16786
|
}), {
|
|
16769
16787
|
kind: "mutation",
|
|
16770
16788
|
auth: "admin"
|
|
16789
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16790
|
+
results: array(object({
|
|
16791
|
+
rev: number().int().nullable(),
|
|
16792
|
+
deleted: boolean()
|
|
16793
|
+
})),
|
|
16794
|
+
releasedRefs: SecretRefsList,
|
|
16795
|
+
secretRefs: SecretRefsList
|
|
16796
|
+
}), {
|
|
16797
|
+
kind: "mutation",
|
|
16798
|
+
auth: "admin"
|
|
16771
16799
|
}), method(object({
|
|
16772
16800
|
deviceId: number().int(),
|
|
16773
16801
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42475,9 +42503,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42475
42503
|
"node-updating",
|
|
42476
42504
|
"node-inference-unavailable",
|
|
42477
42505
|
"detection-blind",
|
|
42506
|
+
"motion-noisy",
|
|
42507
|
+
"motion-calm",
|
|
42478
42508
|
"recording-stalled",
|
|
42479
42509
|
"recording-healthy",
|
|
42480
42510
|
"recording-degraded",
|
|
42511
|
+
"device-attention-required",
|
|
42512
|
+
"device-attention-resolved",
|
|
42481
42513
|
"storage-location-low",
|
|
42482
42514
|
"storage-location-critical",
|
|
42483
42515
|
"storage-location-ok",
|
|
@@ -42501,6 +42533,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42501
42533
|
"alert-critical",
|
|
42502
42534
|
"alert-error",
|
|
42503
42535
|
"alert-critical-resolved",
|
|
42536
|
+
"rule-broken",
|
|
42537
|
+
"rule-repaired",
|
|
42504
42538
|
"camera-online",
|
|
42505
42539
|
"camera-offline",
|
|
42506
42540
|
"camera-disabled",
|
|
@@ -55799,6 +55833,16 @@ var DishwasherStatusSchema = object({
|
|
|
55799
55833
|
powerState: string().nullable(),
|
|
55800
55834
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55801
55835
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55836
|
+
/**
|
|
55837
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55838
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
55839
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
55840
|
+
*/
|
|
55841
|
+
filterCleaningDue: boolean().nullable(),
|
|
55842
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
55843
|
+
machineCareDue: boolean().nullable(),
|
|
55844
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
55845
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
55802
55846
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55803
55847
|
halfLoad: boolean().nullable(),
|
|
55804
55848
|
hygienePlus: boolean().nullable(),
|
|
@@ -64449,16 +64493,6 @@ var UpdateUserInputSchema = object({
|
|
|
64449
64493
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64450
64494
|
scopes: array(TokenScopeSchema).optional()
|
|
64451
64495
|
});
|
|
64452
|
-
var ApiKeySummarySchema = object({
|
|
64453
|
-
id: string(),
|
|
64454
|
-
label: string(),
|
|
64455
|
-
isAdmin: boolean().default(false),
|
|
64456
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
64457
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64458
|
-
tokenPrefix: string(),
|
|
64459
|
-
createdAt: number(),
|
|
64460
|
-
lastUsedAt: number().optional()
|
|
64461
|
-
});
|
|
64462
64496
|
var OauthSessionSummarySchema = object({
|
|
64463
64497
|
id: string(),
|
|
64464
64498
|
userId: string(),
|
|
@@ -64480,8 +64514,7 @@ var TotpStatusSchema = object({
|
|
|
64480
64514
|
confirmedAt: number().nullable()
|
|
64481
64515
|
});
|
|
64482
64516
|
/**
|
|
64483
|
-
* user-management — singleton capability for user accounts
|
|
64484
|
-
* legacy API-key rows.
|
|
64517
|
+
* user-management — singleton capability for user accounts.
|
|
64485
64518
|
*
|
|
64486
64519
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64487
64520
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64537,10 +64570,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64537
64570
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64538
64571
|
kind: "mutation",
|
|
64539
64572
|
access: "view"
|
|
64540
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64541
|
-
kind: "mutation",
|
|
64542
|
-
auth: "admin",
|
|
64543
|
-
access: "delete"
|
|
64544
64573
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64545
64574
|
kind: "mutation",
|
|
64546
64575
|
auth: "admin",
|
|
@@ -73996,6 +74025,12 @@ Object.freeze({
|
|
|
73996
74025
|
addonId: null,
|
|
73997
74026
|
access: "view"
|
|
73998
74027
|
},
|
|
74028
|
+
"records.transact": {
|
|
74029
|
+
capName: "records",
|
|
74030
|
+
capScope: "system",
|
|
74031
|
+
addonId: null,
|
|
74032
|
+
access: "create"
|
|
74033
|
+
},
|
|
73999
74034
|
"sceneMonitor.captureReference": {
|
|
74000
74035
|
capName: "scene-monitor",
|
|
74001
74036
|
capScope: "device",
|
|
@@ -75328,12 +75363,6 @@ Object.freeze({
|
|
|
75328
75363
|
addonId: null,
|
|
75329
75364
|
access: "view"
|
|
75330
75365
|
},
|
|
75331
|
-
"userManagement.listApiKeys": {
|
|
75332
|
-
capName: "user-management",
|
|
75333
|
-
capScope: "system",
|
|
75334
|
-
addonId: null,
|
|
75335
|
-
access: "view"
|
|
75336
|
-
},
|
|
75337
75366
|
"userManagement.listExternalIdentities": {
|
|
75338
75367
|
capName: "user-management",
|
|
75339
75368
|
capScope: "system",
|
|
@@ -75388,12 +75417,6 @@ Object.freeze({
|
|
|
75388
75417
|
addonId: null,
|
|
75389
75418
|
access: "create"
|
|
75390
75419
|
},
|
|
75391
|
-
"userManagement.revokeApiKey": {
|
|
75392
|
-
capName: "user-management",
|
|
75393
|
-
capScope: "system",
|
|
75394
|
-
addonId: null,
|
|
75395
|
-
access: "delete"
|
|
75396
|
-
},
|
|
75397
75420
|
"userManagement.revokeOauthSession": {
|
|
75398
75421
|
capName: "user-management",
|
|
75399
75422
|
capScope: "system",
|
|
@@ -78758,9 +78781,13 @@ new Map(Object.entries({
|
|
|
78758
78781
|
"stream-online": "device-events",
|
|
78759
78782
|
"stream-offline": "device-events",
|
|
78760
78783
|
"detection-blind": "device-events",
|
|
78784
|
+
"motion-noisy": "device-events",
|
|
78785
|
+
"motion-calm": "device-events",
|
|
78761
78786
|
"recording-stalled": "device-events",
|
|
78762
78787
|
"recording-healthy": "device-events",
|
|
78763
78788
|
"recording-degraded": "device-events",
|
|
78789
|
+
"device-attention-required": "device-events",
|
|
78790
|
+
"device-attention-resolved": "device-events",
|
|
78764
78791
|
"node-online": "system",
|
|
78765
78792
|
"node-offline": "system",
|
|
78766
78793
|
"node-restarting": "system",
|
|
@@ -78777,6 +78804,8 @@ new Map(Object.entries({
|
|
|
78777
78804
|
"alert-critical": "system",
|
|
78778
78805
|
"alert-error": "system",
|
|
78779
78806
|
"alert-critical-resolved": "system",
|
|
78807
|
+
"rule-broken": "system",
|
|
78808
|
+
"rule-repaired": "system",
|
|
78780
78809
|
"storage-location-low": "system",
|
|
78781
78810
|
"storage-location-critical": "system",
|
|
78782
78811
|
"storage-location-ok": "system",
|
|
@@ -78841,6 +78870,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78841
78870
|
label: "Detecting nothing",
|
|
78842
78871
|
kinds: ["detection-blind"]
|
|
78843
78872
|
},
|
|
78873
|
+
{
|
|
78874
|
+
id: "motion-noise",
|
|
78875
|
+
family: "device-events",
|
|
78876
|
+
label: "Motion without a subject",
|
|
78877
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
78878
|
+
},
|
|
78844
78879
|
{
|
|
78845
78880
|
id: "recording",
|
|
78846
78881
|
family: "device-events",
|
|
@@ -78851,6 +78886,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78851
78886
|
"recording-degraded"
|
|
78852
78887
|
]
|
|
78853
78888
|
},
|
|
78889
|
+
{
|
|
78890
|
+
id: "device-attention",
|
|
78891
|
+
family: "device-events",
|
|
78892
|
+
label: "Needs attention",
|
|
78893
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
78894
|
+
},
|
|
78854
78895
|
{
|
|
78855
78896
|
id: "nodes",
|
|
78856
78897
|
family: "system",
|
|
@@ -78911,6 +78952,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78911
78952
|
"alert-critical-resolved"
|
|
78912
78953
|
]
|
|
78913
78954
|
},
|
|
78955
|
+
{
|
|
78956
|
+
id: "rule-health",
|
|
78957
|
+
family: "system",
|
|
78958
|
+
label: "Notification rules",
|
|
78959
|
+
kinds: ["rule-broken", "rule-repaired"]
|
|
78960
|
+
},
|
|
78914
78961
|
{
|
|
78915
78962
|
id: "alarm",
|
|
78916
78963
|
family: "alarm",
|
|
@@ -78984,6 +79031,7 @@ var ALERT_EPISODE = [
|
|
|
78984
79031
|
"alert-error",
|
|
78985
79032
|
"alert-critical-resolved"
|
|
78986
79033
|
];
|
|
79034
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
78987
79035
|
var UPDATES = [
|
|
78988
79036
|
"addon-update-available",
|
|
78989
79037
|
"server-update-available",
|
|
@@ -79013,9 +79061,12 @@ var DEVICE_EVENTS = [
|
|
|
79013
79061
|
"stream-online",
|
|
79014
79062
|
"stream-offline",
|
|
79015
79063
|
"detection-blind",
|
|
79064
|
+
"motion-noisy",
|
|
79065
|
+
"motion-calm",
|
|
79016
79066
|
"recording-stalled",
|
|
79017
79067
|
"recording-healthy",
|
|
79018
79068
|
"recording-degraded",
|
|
79069
|
+
...DEVICE_ATTENTION,
|
|
79019
79070
|
...ALARM
|
|
79020
79071
|
];
|
|
79021
79072
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -79183,7 +79234,13 @@ var STATE_SUMMARY_VARS = [
|
|
|
79183
79234
|
[...RULE_TEXT],
|
|
79184
79235
|
[...RULE_TEXT],
|
|
79185
79236
|
[...RULE_TEXT],
|
|
79186
|
-
|
|
79237
|
+
[...RULE_TEXT],
|
|
79238
|
+
[...RULE_TEXT],
|
|
79239
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79240
|
+
[...RULE_TEXT],
|
|
79241
|
+
[...RULE_TEXT],
|
|
79242
|
+
[...RULE_TEXT],
|
|
79243
|
+
[...RULE_TEXT],
|
|
79187
79244
|
[...RULE_TEXT],
|
|
79188
79245
|
[...RULE_TEXT],
|
|
79189
79246
|
[...RULE_TEXT],
|
|
@@ -79201,11 +79258,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
79201
79258
|
[...RULE_TEXT],
|
|
79202
79259
|
[...RULE_TEXT],
|
|
79203
79260
|
[...RULE_TEXT],
|
|
79261
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79204
79262
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79263
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79205
79264
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79206
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79207
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79208
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79265
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79209
79266
|
[...RULE_TEXT],
|
|
79210
79267
|
[...RULE_TEXT],
|
|
79211
79268
|
[...RULE_TEXT],
|
|
@@ -79226,6 +79283,125 @@ var STATE_SUMMARY_VARS = [
|
|
|
79226
79283
|
[...RULE_TEXT],
|
|
79227
79284
|
...STATE_SUMMARY_VARS
|
|
79228
79285
|
];
|
|
79286
|
+
new Map([
|
|
79287
|
+
{
|
|
79288
|
+
id: "device-connectivity",
|
|
79289
|
+
family: "device-events",
|
|
79290
|
+
label: "Device connectivity (offline / back online)",
|
|
79291
|
+
bad: ["device-offline"],
|
|
79292
|
+
recovery: ["device-online"],
|
|
79293
|
+
snapshotLabel: "Devices offline now",
|
|
79294
|
+
snapshotSection: "device-state"
|
|
79295
|
+
},
|
|
79296
|
+
{
|
|
79297
|
+
id: "device-switch",
|
|
79298
|
+
family: "device-events",
|
|
79299
|
+
label: "Device switched off / back on",
|
|
79300
|
+
bad: ["device-disabled"],
|
|
79301
|
+
recovery: ["device-enabled"],
|
|
79302
|
+
snapshotLabel: "Devices switched off now",
|
|
79303
|
+
snapshotSection: "device-state"
|
|
79304
|
+
},
|
|
79305
|
+
{
|
|
79306
|
+
id: "stream-connectivity",
|
|
79307
|
+
family: "device-events",
|
|
79308
|
+
label: "Stream connectivity (offline / back online)",
|
|
79309
|
+
bad: ["stream-offline"],
|
|
79310
|
+
recovery: ["stream-online"],
|
|
79311
|
+
snapshotLabel: "Streams offline now",
|
|
79312
|
+
snapshotSection: "streams"
|
|
79313
|
+
},
|
|
79314
|
+
{
|
|
79315
|
+
id: "battery",
|
|
79316
|
+
family: "device-events",
|
|
79317
|
+
label: "Battery (low / back to normal)",
|
|
79318
|
+
bad: ["device-battery-low"],
|
|
79319
|
+
recovery: ["device-battery-normal"],
|
|
79320
|
+
snapshotLabel: "Batteries low now",
|
|
79321
|
+
snapshotSection: "battery"
|
|
79322
|
+
},
|
|
79323
|
+
{
|
|
79324
|
+
id: "consumables",
|
|
79325
|
+
family: "device-events",
|
|
79326
|
+
label: "Consumables (low / replaced)",
|
|
79327
|
+
bad: ["device-consumable-low"],
|
|
79328
|
+
recovery: ["device-consumable-normal"],
|
|
79329
|
+
snapshotLabel: "Consumables low now",
|
|
79330
|
+
snapshotSection: "consumables"
|
|
79331
|
+
},
|
|
79332
|
+
{
|
|
79333
|
+
id: "tanks",
|
|
79334
|
+
family: "device-events",
|
|
79335
|
+
label: "Tanks (low or full / back to normal)",
|
|
79336
|
+
bad: ["device-tank-low", "device-tank-full"],
|
|
79337
|
+
recovery: ["device-tank-normal"],
|
|
79338
|
+
snapshotLabel: "Tanks low or full now",
|
|
79339
|
+
snapshotSection: "tanks"
|
|
79340
|
+
},
|
|
79341
|
+
{
|
|
79342
|
+
id: "motion-noise",
|
|
79343
|
+
family: "device-events",
|
|
79344
|
+
label: "Motion without a subject (constant / calm again)",
|
|
79345
|
+
bad: ["motion-noisy"],
|
|
79346
|
+
recovery: ["motion-calm"],
|
|
79347
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
79348
|
+
snapshotSection: null
|
|
79349
|
+
},
|
|
79350
|
+
{
|
|
79351
|
+
id: "recording-health",
|
|
79352
|
+
family: "device-events",
|
|
79353
|
+
label: "Recording health (stalled or degraded / recording again)",
|
|
79354
|
+
bad: ["recording-stalled", "recording-degraded"],
|
|
79355
|
+
recovery: ["recording-healthy"],
|
|
79356
|
+
snapshotLabel: "Recordings stalled now",
|
|
79357
|
+
snapshotSection: null
|
|
79358
|
+
},
|
|
79359
|
+
{
|
|
79360
|
+
id: "device-attention",
|
|
79361
|
+
family: "device-events",
|
|
79362
|
+
label: "Device needs attention (raised / resolved)",
|
|
79363
|
+
bad: ["device-attention-required"],
|
|
79364
|
+
recovery: ["device-attention-resolved"],
|
|
79365
|
+
snapshotLabel: "Devices needing attention now",
|
|
79366
|
+
snapshotSection: null
|
|
79367
|
+
},
|
|
79368
|
+
{
|
|
79369
|
+
id: "node-connectivity",
|
|
79370
|
+
family: "system",
|
|
79371
|
+
label: "Node connectivity (offline / back online)",
|
|
79372
|
+
bad: ["node-offline"],
|
|
79373
|
+
recovery: ["node-online"],
|
|
79374
|
+
snapshotLabel: "Nodes offline now",
|
|
79375
|
+
snapshotSection: "nodes"
|
|
79376
|
+
},
|
|
79377
|
+
{
|
|
79378
|
+
id: "storage-space",
|
|
79379
|
+
family: "system",
|
|
79380
|
+
label: "Storage space (low or critical / ok again)",
|
|
79381
|
+
bad: ["storage-location-low", "storage-location-critical"],
|
|
79382
|
+
recovery: ["storage-location-ok"],
|
|
79383
|
+
snapshotLabel: "Storage locations low now",
|
|
79384
|
+
snapshotSection: null
|
|
79385
|
+
},
|
|
79386
|
+
{
|
|
79387
|
+
id: "critical-alerts",
|
|
79388
|
+
family: "system",
|
|
79389
|
+
label: "Critical alerts (raised / resolved)",
|
|
79390
|
+
bad: ["alert-critical"],
|
|
79391
|
+
recovery: ["alert-critical-resolved"],
|
|
79392
|
+
snapshotLabel: "Critical alerts open now",
|
|
79393
|
+
snapshotSection: null
|
|
79394
|
+
},
|
|
79395
|
+
{
|
|
79396
|
+
id: "rule-health",
|
|
79397
|
+
family: "system",
|
|
79398
|
+
label: "Rule health (broken / repaired)",
|
|
79399
|
+
bad: ["rule-broken"],
|
|
79400
|
+
recovery: ["rule-repaired"],
|
|
79401
|
+
snapshotLabel: "Notification rules broken now",
|
|
79402
|
+
snapshotSection: null
|
|
79403
|
+
}
|
|
79404
|
+
].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
|
|
79229
79405
|
new Set([
|
|
79230
79406
|
"disarmed",
|
|
79231
79407
|
"armed_home",
|
|
@@ -79830,7 +80006,7 @@ function buildConnectionFormSchema() {
|
|
|
79830
80006
|
id: "connection",
|
|
79831
80007
|
title: "Connection",
|
|
79832
80008
|
titleKey: "provider-velux:connection.s_connection.title",
|
|
79833
|
-
description: "
|
|
80009
|
+
description: "The password is the WiFi/web password printed on the back of the unit.",
|
|
79834
80010
|
descriptionKey: "provider-velux:connection.s_connection.description",
|
|
79835
80011
|
columns: 2,
|
|
79836
80012
|
fields: [
|
package/i18n/en.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"connection.s_identity.title": "Gateway",
|
|
3
3
|
"connection.s_identity.name.label": "Name",
|
|
4
4
|
"connection.s_connection.title": "Connection",
|
|
5
|
-
"connection.s_connection.description": "
|
|
5
|
+
"connection.s_connection.description": "The password is the WiFi/web password printed on the back of the unit.",
|
|
6
6
|
"connection.s_connection.host.label": "Gateway host / IP",
|
|
7
7
|
"connection.s_connection.password.label": "Password",
|
|
8
8
|
"connection.s_connection.pollIntervalMs.label": "Poll interval (ms)"
|
package/i18n/it.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"connection.s_identity.title": "Gateway",
|
|
3
3
|
"connection.s_identity.name.label": "Nome",
|
|
4
4
|
"connection.s_connection.title": "Connessione",
|
|
5
|
-
"connection.s_connection.description": "
|
|
5
|
+
"connection.s_connection.description": "La password è quella WiFi/web stampata sul retro del dispositivo.",
|
|
6
6
|
"connection.s_connection.host.label": "Host / IP del gateway",
|
|
7
7
|
"connection.s_connection.password.label": "Password",
|
|
8
8
|
"connection.s_connection.pollIntervalMs.label": "Intervallo di lettura (ms)"
|
package/package.json
CHANGED