@camstack/addon-provider-wyze 0.2.152 → 0.2.154
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 +239 -63
- package/dist/addon.mjs +239 -63
- package/i18n/en.json +2 -2
- package/i18n/it.json +2 -2
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -31,7 +31,7 @@ let net = require("net");
|
|
|
31
31
|
net = __toESM(net, 1);
|
|
32
32
|
let node_child_process = require("node:child_process");
|
|
33
33
|
let node_tls = require("node:tls");
|
|
34
|
-
//#region ../types/dist/event-category-
|
|
34
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
35
35
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
36
36
|
EventCategory["SystemBoot"] = "system.boot";
|
|
37
37
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -348,6 +348,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
348
348
|
*/
|
|
349
349
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
350
350
|
/**
|
|
351
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
352
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
353
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
354
|
+
* {@link PipelineMotionCalm}.
|
|
355
|
+
*/
|
|
356
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
357
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
358
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
359
|
+
/**
|
|
351
360
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
352
361
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
353
362
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -719,6 +728,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
719
728
|
EventCategory["BackupRestored"] = "backup.restored";
|
|
720
729
|
EventCategory["NotificationDispatched"] = "notification.dispatched";
|
|
721
730
|
EventCategory["NotificationFailed"] = "notification.failed";
|
|
731
|
+
/**
|
|
732
|
+
* A notification rule that cannot work (D905): its stored row does not load,
|
|
733
|
+
* or it still names a device / delivery target the prune CONFIRMED deleted.
|
|
734
|
+
* One edge per rule per distinct set of reasons; never on an unanswered read.
|
|
735
|
+
*/
|
|
736
|
+
EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
|
|
737
|
+
/** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
|
|
738
|
+
EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
|
|
722
739
|
EventCategory["DeviceUpdated"] = "device.updated";
|
|
723
740
|
/**
|
|
724
741
|
* Transport-level connectivity. Emitted by the device driver when
|
|
@@ -5446,7 +5463,7 @@ var ZodIssueCode = {
|
|
|
5446
5463
|
var ZodFirstPartyTypeKind;
|
|
5447
5464
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5448
5465
|
//#endregion
|
|
5449
|
-
//#region ../types/dist/sleep-
|
|
5466
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5450
5467
|
/**
|
|
5451
5468
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5452
5469
|
* window to float samples (D455).
|
|
@@ -7975,7 +7992,7 @@ var EntryDescriptorSchema = object({
|
|
|
7975
7992
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7976
7993
|
fields: record(string(), unknown())
|
|
7977
7994
|
}).strict();
|
|
7978
|
-
/** What crosses the wire
|
|
7995
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7979
7996
|
var RecordKindDeclarationSchema = object({
|
|
7980
7997
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7981
7998
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7994,14 +8011,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7994
8011
|
secretPaths: array(string().min(1)).default([]),
|
|
7995
8012
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7996
8013
|
secretArrayKeys: record(string(), string()).default({}),
|
|
7997
|
-
/**
|
|
7998
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
7999
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8000
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8001
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8002
|
-
* removal still sends it. Never set it.
|
|
8003
|
-
*/
|
|
8004
|
-
adoptsFrom: string().min(1).optional(),
|
|
8005
8014
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8006
8015
|
transactFamily: string().min(1).optional(),
|
|
8007
8016
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12713,17 +12722,6 @@ object({
|
|
|
12713
12722
|
createdAt: number(),
|
|
12714
12723
|
updatedAt: number()
|
|
12715
12724
|
});
|
|
12716
|
-
object({
|
|
12717
|
-
id: string(),
|
|
12718
|
-
label: string(),
|
|
12719
|
-
isAdmin: boolean().default(false),
|
|
12720
|
-
allowedProviders: AllowedProviderSchema,
|
|
12721
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12722
|
-
tokenHash: string(),
|
|
12723
|
-
tokenPrefix: string(),
|
|
12724
|
-
createdAt: number(),
|
|
12725
|
-
lastUsedAt: number().optional()
|
|
12726
|
-
});
|
|
12727
12725
|
object({
|
|
12728
12726
|
id: string(),
|
|
12729
12727
|
userId: string(),
|
|
@@ -16705,16 +16703,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16705
16703
|
var DeclareKindResultSchema = object({
|
|
16706
16704
|
kindId: number().int(),
|
|
16707
16705
|
state: RecordKindStateSchema,
|
|
16708
|
-
createdIndexes: array(string())
|
|
16709
|
-
/**
|
|
16710
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16711
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16712
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16713
|
-
*/
|
|
16714
|
-
adoptionPending: _null()
|
|
16706
|
+
createdIndexes: array(string())
|
|
16715
16707
|
});
|
|
16716
16708
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16717
16709
|
var SecretRefsList = array(string());
|
|
16710
|
+
/**
|
|
16711
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16712
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16713
|
+
*/
|
|
16714
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16715
|
+
object({
|
|
16716
|
+
op: literal("put"),
|
|
16717
|
+
kind: RecordKindNameSchema,
|
|
16718
|
+
record: RecordInputSchema,
|
|
16719
|
+
ifRev: number().int().min(0).optional()
|
|
16720
|
+
}),
|
|
16721
|
+
object({
|
|
16722
|
+
op: literal("patch"),
|
|
16723
|
+
kind: RecordKindNameSchema,
|
|
16724
|
+
id: RecordIdSchema,
|
|
16725
|
+
data: RecordBodySchema,
|
|
16726
|
+
at: number().int().nullable().optional(),
|
|
16727
|
+
expiresAt: number().int().nullable().optional(),
|
|
16728
|
+
ifRev: number().int().min(1).optional()
|
|
16729
|
+
}),
|
|
16730
|
+
object({
|
|
16731
|
+
op: literal("delete"),
|
|
16732
|
+
kind: RecordKindNameSchema,
|
|
16733
|
+
id: RecordIdSchema
|
|
16734
|
+
})
|
|
16735
|
+
]);
|
|
16718
16736
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16719
16737
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16720
16738
|
kind: "mutation",
|
|
@@ -16821,6 +16839,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16821
16839
|
}), {
|
|
16822
16840
|
kind: "mutation",
|
|
16823
16841
|
auth: "admin"
|
|
16842
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16843
|
+
results: array(object({
|
|
16844
|
+
rev: number().int().nullable(),
|
|
16845
|
+
deleted: boolean()
|
|
16846
|
+
})),
|
|
16847
|
+
releasedRefs: SecretRefsList,
|
|
16848
|
+
secretRefs: SecretRefsList
|
|
16849
|
+
}), {
|
|
16850
|
+
kind: "mutation",
|
|
16851
|
+
auth: "admin"
|
|
16824
16852
|
}), method(object({
|
|
16825
16853
|
deviceId: number().int(),
|
|
16826
16854
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42432,9 +42460,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42432
42460
|
"node-updating",
|
|
42433
42461
|
"node-inference-unavailable",
|
|
42434
42462
|
"detection-blind",
|
|
42463
|
+
"motion-noisy",
|
|
42464
|
+
"motion-calm",
|
|
42435
42465
|
"recording-stalled",
|
|
42436
42466
|
"recording-healthy",
|
|
42437
42467
|
"recording-degraded",
|
|
42468
|
+
"device-attention-required",
|
|
42469
|
+
"device-attention-resolved",
|
|
42438
42470
|
"storage-location-low",
|
|
42439
42471
|
"storage-location-critical",
|
|
42440
42472
|
"storage-location-ok",
|
|
@@ -42458,6 +42490,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42458
42490
|
"alert-critical",
|
|
42459
42491
|
"alert-error",
|
|
42460
42492
|
"alert-critical-resolved",
|
|
42493
|
+
"rule-broken",
|
|
42494
|
+
"rule-repaired",
|
|
42461
42495
|
"camera-online",
|
|
42462
42496
|
"camera-offline",
|
|
42463
42497
|
"camera-disabled",
|
|
@@ -55868,6 +55902,16 @@ var DishwasherStatusSchema = object({
|
|
|
55868
55902
|
powerState: string().nullable(),
|
|
55869
55903
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55870
55904
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55905
|
+
/**
|
|
55906
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55907
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
55908
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
55909
|
+
*/
|
|
55910
|
+
filterCleaningDue: boolean().nullable(),
|
|
55911
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
55912
|
+
machineCareDue: boolean().nullable(),
|
|
55913
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
55914
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
55871
55915
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55872
55916
|
halfLoad: boolean().nullable(),
|
|
55873
55917
|
hygienePlus: boolean().nullable(),
|
|
@@ -64518,16 +64562,6 @@ var UpdateUserInputSchema = object({
|
|
|
64518
64562
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64519
64563
|
scopes: array(TokenScopeSchema).optional()
|
|
64520
64564
|
});
|
|
64521
|
-
var ApiKeySummarySchema = object({
|
|
64522
|
-
id: string(),
|
|
64523
|
-
label: string(),
|
|
64524
|
-
isAdmin: boolean().default(false),
|
|
64525
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
64526
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64527
|
-
tokenPrefix: string(),
|
|
64528
|
-
createdAt: number(),
|
|
64529
|
-
lastUsedAt: number().optional()
|
|
64530
|
-
});
|
|
64531
64565
|
var OauthSessionSummarySchema = object({
|
|
64532
64566
|
id: string(),
|
|
64533
64567
|
userId: string(),
|
|
@@ -64549,8 +64583,7 @@ var TotpStatusSchema = object({
|
|
|
64549
64583
|
confirmedAt: number().nullable()
|
|
64550
64584
|
});
|
|
64551
64585
|
/**
|
|
64552
|
-
* user-management — singleton capability for user accounts
|
|
64553
|
-
* legacy API-key rows.
|
|
64586
|
+
* user-management — singleton capability for user accounts.
|
|
64554
64587
|
*
|
|
64555
64588
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64556
64589
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64606,10 +64639,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64606
64639
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64607
64640
|
kind: "mutation",
|
|
64608
64641
|
access: "view"
|
|
64609
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64610
|
-
kind: "mutation",
|
|
64611
|
-
auth: "admin",
|
|
64612
|
-
access: "delete"
|
|
64613
64642
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64614
64643
|
kind: "mutation",
|
|
64615
64644
|
auth: "admin",
|
|
@@ -74065,6 +74094,12 @@ Object.freeze({
|
|
|
74065
74094
|
addonId: null,
|
|
74066
74095
|
access: "view"
|
|
74067
74096
|
},
|
|
74097
|
+
"records.transact": {
|
|
74098
|
+
capName: "records",
|
|
74099
|
+
capScope: "system",
|
|
74100
|
+
addonId: null,
|
|
74101
|
+
access: "create"
|
|
74102
|
+
},
|
|
74068
74103
|
"sceneMonitor.captureReference": {
|
|
74069
74104
|
capName: "scene-monitor",
|
|
74070
74105
|
capScope: "device",
|
|
@@ -75397,12 +75432,6 @@ Object.freeze({
|
|
|
75397
75432
|
addonId: null,
|
|
75398
75433
|
access: "view"
|
|
75399
75434
|
},
|
|
75400
|
-
"userManagement.listApiKeys": {
|
|
75401
|
-
capName: "user-management",
|
|
75402
|
-
capScope: "system",
|
|
75403
|
-
addonId: null,
|
|
75404
|
-
access: "view"
|
|
75405
|
-
},
|
|
75406
75435
|
"userManagement.listExternalIdentities": {
|
|
75407
75436
|
capName: "user-management",
|
|
75408
75437
|
capScope: "system",
|
|
@@ -75457,12 +75486,6 @@ Object.freeze({
|
|
|
75457
75486
|
addonId: null,
|
|
75458
75487
|
access: "create"
|
|
75459
75488
|
},
|
|
75460
|
-
"userManagement.revokeApiKey": {
|
|
75461
|
-
capName: "user-management",
|
|
75462
|
-
capScope: "system",
|
|
75463
|
-
addonId: null,
|
|
75464
|
-
access: "delete"
|
|
75465
|
-
},
|
|
75466
75489
|
"userManagement.revokeOauthSession": {
|
|
75467
75490
|
capName: "user-management",
|
|
75468
75491
|
capScope: "system",
|
|
@@ -78827,9 +78850,13 @@ new Map(Object.entries({
|
|
|
78827
78850
|
"stream-online": "device-events",
|
|
78828
78851
|
"stream-offline": "device-events",
|
|
78829
78852
|
"detection-blind": "device-events",
|
|
78853
|
+
"motion-noisy": "device-events",
|
|
78854
|
+
"motion-calm": "device-events",
|
|
78830
78855
|
"recording-stalled": "device-events",
|
|
78831
78856
|
"recording-healthy": "device-events",
|
|
78832
78857
|
"recording-degraded": "device-events",
|
|
78858
|
+
"device-attention-required": "device-events",
|
|
78859
|
+
"device-attention-resolved": "device-events",
|
|
78833
78860
|
"node-online": "system",
|
|
78834
78861
|
"node-offline": "system",
|
|
78835
78862
|
"node-restarting": "system",
|
|
@@ -78846,6 +78873,8 @@ new Map(Object.entries({
|
|
|
78846
78873
|
"alert-critical": "system",
|
|
78847
78874
|
"alert-error": "system",
|
|
78848
78875
|
"alert-critical-resolved": "system",
|
|
78876
|
+
"rule-broken": "system",
|
|
78877
|
+
"rule-repaired": "system",
|
|
78849
78878
|
"storage-location-low": "system",
|
|
78850
78879
|
"storage-location-critical": "system",
|
|
78851
78880
|
"storage-location-ok": "system",
|
|
@@ -78910,6 +78939,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78910
78939
|
label: "Detecting nothing",
|
|
78911
78940
|
kinds: ["detection-blind"]
|
|
78912
78941
|
},
|
|
78942
|
+
{
|
|
78943
|
+
id: "motion-noise",
|
|
78944
|
+
family: "device-events",
|
|
78945
|
+
label: "Motion without a subject",
|
|
78946
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
78947
|
+
},
|
|
78913
78948
|
{
|
|
78914
78949
|
id: "recording",
|
|
78915
78950
|
family: "device-events",
|
|
@@ -78920,6 +78955,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78920
78955
|
"recording-degraded"
|
|
78921
78956
|
]
|
|
78922
78957
|
},
|
|
78958
|
+
{
|
|
78959
|
+
id: "device-attention",
|
|
78960
|
+
family: "device-events",
|
|
78961
|
+
label: "Needs attention",
|
|
78962
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
78963
|
+
},
|
|
78923
78964
|
{
|
|
78924
78965
|
id: "nodes",
|
|
78925
78966
|
family: "system",
|
|
@@ -78980,6 +79021,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78980
79021
|
"alert-critical-resolved"
|
|
78981
79022
|
]
|
|
78982
79023
|
},
|
|
79024
|
+
{
|
|
79025
|
+
id: "rule-health",
|
|
79026
|
+
family: "system",
|
|
79027
|
+
label: "Notification rules",
|
|
79028
|
+
kinds: ["rule-broken", "rule-repaired"]
|
|
79029
|
+
},
|
|
78983
79030
|
{
|
|
78984
79031
|
id: "alarm",
|
|
78985
79032
|
family: "alarm",
|
|
@@ -79053,6 +79100,7 @@ var ALERT_EPISODE = [
|
|
|
79053
79100
|
"alert-error",
|
|
79054
79101
|
"alert-critical-resolved"
|
|
79055
79102
|
];
|
|
79103
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79056
79104
|
var UPDATES = [
|
|
79057
79105
|
"addon-update-available",
|
|
79058
79106
|
"server-update-available",
|
|
@@ -79082,9 +79130,12 @@ var DEVICE_EVENTS = [
|
|
|
79082
79130
|
"stream-online",
|
|
79083
79131
|
"stream-offline",
|
|
79084
79132
|
"detection-blind",
|
|
79133
|
+
"motion-noisy",
|
|
79134
|
+
"motion-calm",
|
|
79085
79135
|
"recording-stalled",
|
|
79086
79136
|
"recording-healthy",
|
|
79087
79137
|
"recording-degraded",
|
|
79138
|
+
...DEVICE_ATTENTION,
|
|
79088
79139
|
...ALARM
|
|
79089
79140
|
];
|
|
79090
79141
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -79252,7 +79303,13 @@ var STATE_SUMMARY_VARS = [
|
|
|
79252
79303
|
[...RULE_TEXT],
|
|
79253
79304
|
[...RULE_TEXT],
|
|
79254
79305
|
[...RULE_TEXT],
|
|
79255
|
-
|
|
79306
|
+
[...RULE_TEXT],
|
|
79307
|
+
[...RULE_TEXT],
|
|
79308
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79309
|
+
[...RULE_TEXT],
|
|
79310
|
+
[...RULE_TEXT],
|
|
79311
|
+
[...RULE_TEXT],
|
|
79312
|
+
[...RULE_TEXT],
|
|
79256
79313
|
[...RULE_TEXT],
|
|
79257
79314
|
[...RULE_TEXT],
|
|
79258
79315
|
[...RULE_TEXT],
|
|
@@ -79270,11 +79327,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
79270
79327
|
[...RULE_TEXT],
|
|
79271
79328
|
[...RULE_TEXT],
|
|
79272
79329
|
[...RULE_TEXT],
|
|
79330
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79273
79331
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79332
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79274
79333
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79275
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79276
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79277
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79334
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79278
79335
|
[...RULE_TEXT],
|
|
79279
79336
|
[...RULE_TEXT],
|
|
79280
79337
|
[...RULE_TEXT],
|
|
@@ -79295,6 +79352,125 @@ var STATE_SUMMARY_VARS = [
|
|
|
79295
79352
|
[...RULE_TEXT],
|
|
79296
79353
|
...STATE_SUMMARY_VARS
|
|
79297
79354
|
];
|
|
79355
|
+
new Map([
|
|
79356
|
+
{
|
|
79357
|
+
id: "device-connectivity",
|
|
79358
|
+
family: "device-events",
|
|
79359
|
+
label: "Device connectivity (offline / back online)",
|
|
79360
|
+
bad: ["device-offline"],
|
|
79361
|
+
recovery: ["device-online"],
|
|
79362
|
+
snapshotLabel: "Devices offline now",
|
|
79363
|
+
snapshotSection: "device-state"
|
|
79364
|
+
},
|
|
79365
|
+
{
|
|
79366
|
+
id: "device-switch",
|
|
79367
|
+
family: "device-events",
|
|
79368
|
+
label: "Device switched off / back on",
|
|
79369
|
+
bad: ["device-disabled"],
|
|
79370
|
+
recovery: ["device-enabled"],
|
|
79371
|
+
snapshotLabel: "Devices switched off now",
|
|
79372
|
+
snapshotSection: "device-state"
|
|
79373
|
+
},
|
|
79374
|
+
{
|
|
79375
|
+
id: "stream-connectivity",
|
|
79376
|
+
family: "device-events",
|
|
79377
|
+
label: "Stream connectivity (offline / back online)",
|
|
79378
|
+
bad: ["stream-offline"],
|
|
79379
|
+
recovery: ["stream-online"],
|
|
79380
|
+
snapshotLabel: "Streams offline now",
|
|
79381
|
+
snapshotSection: "streams"
|
|
79382
|
+
},
|
|
79383
|
+
{
|
|
79384
|
+
id: "battery",
|
|
79385
|
+
family: "device-events",
|
|
79386
|
+
label: "Battery (low / back to normal)",
|
|
79387
|
+
bad: ["device-battery-low"],
|
|
79388
|
+
recovery: ["device-battery-normal"],
|
|
79389
|
+
snapshotLabel: "Batteries low now",
|
|
79390
|
+
snapshotSection: "battery"
|
|
79391
|
+
},
|
|
79392
|
+
{
|
|
79393
|
+
id: "consumables",
|
|
79394
|
+
family: "device-events",
|
|
79395
|
+
label: "Consumables (low / replaced)",
|
|
79396
|
+
bad: ["device-consumable-low"],
|
|
79397
|
+
recovery: ["device-consumable-normal"],
|
|
79398
|
+
snapshotLabel: "Consumables low now",
|
|
79399
|
+
snapshotSection: "consumables"
|
|
79400
|
+
},
|
|
79401
|
+
{
|
|
79402
|
+
id: "tanks",
|
|
79403
|
+
family: "device-events",
|
|
79404
|
+
label: "Tanks (low or full / back to normal)",
|
|
79405
|
+
bad: ["device-tank-low", "device-tank-full"],
|
|
79406
|
+
recovery: ["device-tank-normal"],
|
|
79407
|
+
snapshotLabel: "Tanks low or full now",
|
|
79408
|
+
snapshotSection: "tanks"
|
|
79409
|
+
},
|
|
79410
|
+
{
|
|
79411
|
+
id: "motion-noise",
|
|
79412
|
+
family: "device-events",
|
|
79413
|
+
label: "Motion without a subject (constant / calm again)",
|
|
79414
|
+
bad: ["motion-noisy"],
|
|
79415
|
+
recovery: ["motion-calm"],
|
|
79416
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
79417
|
+
snapshotSection: null
|
|
79418
|
+
},
|
|
79419
|
+
{
|
|
79420
|
+
id: "recording-health",
|
|
79421
|
+
family: "device-events",
|
|
79422
|
+
label: "Recording health (stalled or degraded / recording again)",
|
|
79423
|
+
bad: ["recording-stalled", "recording-degraded"],
|
|
79424
|
+
recovery: ["recording-healthy"],
|
|
79425
|
+
snapshotLabel: "Recordings stalled now",
|
|
79426
|
+
snapshotSection: null
|
|
79427
|
+
},
|
|
79428
|
+
{
|
|
79429
|
+
id: "device-attention",
|
|
79430
|
+
family: "device-events",
|
|
79431
|
+
label: "Device needs attention (raised / resolved)",
|
|
79432
|
+
bad: ["device-attention-required"],
|
|
79433
|
+
recovery: ["device-attention-resolved"],
|
|
79434
|
+
snapshotLabel: "Devices needing attention now",
|
|
79435
|
+
snapshotSection: null
|
|
79436
|
+
},
|
|
79437
|
+
{
|
|
79438
|
+
id: "node-connectivity",
|
|
79439
|
+
family: "system",
|
|
79440
|
+
label: "Node connectivity (offline / back online)",
|
|
79441
|
+
bad: ["node-offline"],
|
|
79442
|
+
recovery: ["node-online"],
|
|
79443
|
+
snapshotLabel: "Nodes offline now",
|
|
79444
|
+
snapshotSection: "nodes"
|
|
79445
|
+
},
|
|
79446
|
+
{
|
|
79447
|
+
id: "storage-space",
|
|
79448
|
+
family: "system",
|
|
79449
|
+
label: "Storage space (low or critical / ok again)",
|
|
79450
|
+
bad: ["storage-location-low", "storage-location-critical"],
|
|
79451
|
+
recovery: ["storage-location-ok"],
|
|
79452
|
+
snapshotLabel: "Storage locations low now",
|
|
79453
|
+
snapshotSection: null
|
|
79454
|
+
},
|
|
79455
|
+
{
|
|
79456
|
+
id: "critical-alerts",
|
|
79457
|
+
family: "system",
|
|
79458
|
+
label: "Critical alerts (raised / resolved)",
|
|
79459
|
+
bad: ["alert-critical"],
|
|
79460
|
+
recovery: ["alert-critical-resolved"],
|
|
79461
|
+
snapshotLabel: "Critical alerts open now",
|
|
79462
|
+
snapshotSection: null
|
|
79463
|
+
},
|
|
79464
|
+
{
|
|
79465
|
+
id: "rule-health",
|
|
79466
|
+
family: "system",
|
|
79467
|
+
label: "Rule health (broken / repaired)",
|
|
79468
|
+
bad: ["rule-broken"],
|
|
79469
|
+
recovery: ["rule-repaired"],
|
|
79470
|
+
snapshotLabel: "Notification rules broken now",
|
|
79471
|
+
snapshotSection: null
|
|
79472
|
+
}
|
|
79473
|
+
].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
|
|
79298
79474
|
new Set([
|
|
79299
79475
|
"disarmed",
|
|
79300
79476
|
"armed_home",
|
|
@@ -83254,7 +83430,7 @@ function buildCreationFormSchema() {
|
|
|
83254
83430
|
id: "p2p",
|
|
83255
83431
|
title: "P2P parameters",
|
|
83256
83432
|
titleKey: "provider-wyze:creation.s_p2p.title",
|
|
83257
|
-
description: "
|
|
83433
|
+
description: "Values from the Wyze cloud device list; discovery fills them in automatically.",
|
|
83258
83434
|
descriptionKey: "provider-wyze:creation.s_p2p.description",
|
|
83259
83435
|
columns: 2,
|
|
83260
83436
|
fields: [
|
|
@@ -83386,7 +83562,7 @@ function buildSettingsSchema() {
|
|
|
83386
83562
|
id: "credentials",
|
|
83387
83563
|
title: "Wyze account",
|
|
83388
83564
|
titleKey: "provider-wyze:settings.s_credentials.title",
|
|
83389
|
-
description: "
|
|
83565
|
+
description: "Needs a developer API Key + Key ID (developer-api-console.wyze.com) besides your login. MFA accounts are not supported.",
|
|
83390
83566
|
descriptionKey: "provider-wyze:settings.s_credentials.description",
|
|
83391
83567
|
columns: 2,
|
|
83392
83568
|
fields: [
|
package/dist/addon.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import { getCACertificates, setDefaultCACertificates } from "node:tls";
|
|
|
10
10
|
//#region \0rolldown/runtime.js
|
|
11
11
|
var __require$1 = /* @__PURE__ */ createRequire(import.meta.url);
|
|
12
12
|
//#endregion
|
|
13
|
-
//#region ../types/dist/event-category-
|
|
13
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
14
14
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
15
15
|
EventCategory["SystemBoot"] = "system.boot";
|
|
16
16
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -327,6 +327,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
327
327
|
*/
|
|
328
328
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
329
329
|
/**
|
|
330
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
331
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
332
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
333
|
+
* {@link PipelineMotionCalm}.
|
|
334
|
+
*/
|
|
335
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
336
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
337
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
338
|
+
/**
|
|
330
339
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
331
340
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
332
341
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -698,6 +707,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
698
707
|
EventCategory["BackupRestored"] = "backup.restored";
|
|
699
708
|
EventCategory["NotificationDispatched"] = "notification.dispatched";
|
|
700
709
|
EventCategory["NotificationFailed"] = "notification.failed";
|
|
710
|
+
/**
|
|
711
|
+
* A notification rule that cannot work (D905): its stored row does not load,
|
|
712
|
+
* or it still names a device / delivery target the prune CONFIRMED deleted.
|
|
713
|
+
* One edge per rule per distinct set of reasons; never on an unanswered read.
|
|
714
|
+
*/
|
|
715
|
+
EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
|
|
716
|
+
/** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
|
|
717
|
+
EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
|
|
701
718
|
EventCategory["DeviceUpdated"] = "device.updated";
|
|
702
719
|
/**
|
|
703
720
|
* Transport-level connectivity. Emitted by the device driver when
|
|
@@ -5425,7 +5442,7 @@ var ZodIssueCode = {
|
|
|
5425
5442
|
var ZodFirstPartyTypeKind;
|
|
5426
5443
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5427
5444
|
//#endregion
|
|
5428
|
-
//#region ../types/dist/sleep-
|
|
5445
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5429
5446
|
/**
|
|
5430
5447
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5431
5448
|
* window to float samples (D455).
|
|
@@ -7954,7 +7971,7 @@ var EntryDescriptorSchema = object({
|
|
|
7954
7971
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7955
7972
|
fields: record(string(), unknown())
|
|
7956
7973
|
}).strict();
|
|
7957
|
-
/** What crosses the wire
|
|
7974
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7958
7975
|
var RecordKindDeclarationSchema = object({
|
|
7959
7976
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7960
7977
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7973,14 +7990,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7973
7990
|
secretPaths: array(string().min(1)).default([]),
|
|
7974
7991
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7975
7992
|
secretArrayKeys: record(string(), string()).default({}),
|
|
7976
|
-
/**
|
|
7977
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
7978
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
7979
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
7980
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
7981
|
-
* removal still sends it. Never set it.
|
|
7982
|
-
*/
|
|
7983
|
-
adoptsFrom: string().min(1).optional(),
|
|
7984
7993
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
7985
7994
|
transactFamily: string().min(1).optional(),
|
|
7986
7995
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12692,17 +12701,6 @@ object({
|
|
|
12692
12701
|
createdAt: number(),
|
|
12693
12702
|
updatedAt: number()
|
|
12694
12703
|
});
|
|
12695
|
-
object({
|
|
12696
|
-
id: string(),
|
|
12697
|
-
label: string(),
|
|
12698
|
-
isAdmin: boolean().default(false),
|
|
12699
|
-
allowedProviders: AllowedProviderSchema,
|
|
12700
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12701
|
-
tokenHash: string(),
|
|
12702
|
-
tokenPrefix: string(),
|
|
12703
|
-
createdAt: number(),
|
|
12704
|
-
lastUsedAt: number().optional()
|
|
12705
|
-
});
|
|
12706
12704
|
object({
|
|
12707
12705
|
id: string(),
|
|
12708
12706
|
userId: string(),
|
|
@@ -16684,16 +16682,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16684
16682
|
var DeclareKindResultSchema = object({
|
|
16685
16683
|
kindId: number().int(),
|
|
16686
16684
|
state: RecordKindStateSchema,
|
|
16687
|
-
createdIndexes: array(string())
|
|
16688
|
-
/**
|
|
16689
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16690
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16691
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16692
|
-
*/
|
|
16693
|
-
adoptionPending: _null()
|
|
16685
|
+
createdIndexes: array(string())
|
|
16694
16686
|
});
|
|
16695
16687
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16696
16688
|
var SecretRefsList = array(string());
|
|
16689
|
+
/**
|
|
16690
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16691
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16692
|
+
*/
|
|
16693
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16694
|
+
object({
|
|
16695
|
+
op: literal("put"),
|
|
16696
|
+
kind: RecordKindNameSchema,
|
|
16697
|
+
record: RecordInputSchema,
|
|
16698
|
+
ifRev: number().int().min(0).optional()
|
|
16699
|
+
}),
|
|
16700
|
+
object({
|
|
16701
|
+
op: literal("patch"),
|
|
16702
|
+
kind: RecordKindNameSchema,
|
|
16703
|
+
id: RecordIdSchema,
|
|
16704
|
+
data: RecordBodySchema,
|
|
16705
|
+
at: number().int().nullable().optional(),
|
|
16706
|
+
expiresAt: number().int().nullable().optional(),
|
|
16707
|
+
ifRev: number().int().min(1).optional()
|
|
16708
|
+
}),
|
|
16709
|
+
object({
|
|
16710
|
+
op: literal("delete"),
|
|
16711
|
+
kind: RecordKindNameSchema,
|
|
16712
|
+
id: RecordIdSchema
|
|
16713
|
+
})
|
|
16714
|
+
]);
|
|
16697
16715
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16698
16716
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16699
16717
|
kind: "mutation",
|
|
@@ -16800,6 +16818,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16800
16818
|
}), {
|
|
16801
16819
|
kind: "mutation",
|
|
16802
16820
|
auth: "admin"
|
|
16821
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16822
|
+
results: array(object({
|
|
16823
|
+
rev: number().int().nullable(),
|
|
16824
|
+
deleted: boolean()
|
|
16825
|
+
})),
|
|
16826
|
+
releasedRefs: SecretRefsList,
|
|
16827
|
+
secretRefs: SecretRefsList
|
|
16828
|
+
}), {
|
|
16829
|
+
kind: "mutation",
|
|
16830
|
+
auth: "admin"
|
|
16803
16831
|
}), method(object({
|
|
16804
16832
|
deviceId: number().int(),
|
|
16805
16833
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42411,9 +42439,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42411
42439
|
"node-updating",
|
|
42412
42440
|
"node-inference-unavailable",
|
|
42413
42441
|
"detection-blind",
|
|
42442
|
+
"motion-noisy",
|
|
42443
|
+
"motion-calm",
|
|
42414
42444
|
"recording-stalled",
|
|
42415
42445
|
"recording-healthy",
|
|
42416
42446
|
"recording-degraded",
|
|
42447
|
+
"device-attention-required",
|
|
42448
|
+
"device-attention-resolved",
|
|
42417
42449
|
"storage-location-low",
|
|
42418
42450
|
"storage-location-critical",
|
|
42419
42451
|
"storage-location-ok",
|
|
@@ -42437,6 +42469,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42437
42469
|
"alert-critical",
|
|
42438
42470
|
"alert-error",
|
|
42439
42471
|
"alert-critical-resolved",
|
|
42472
|
+
"rule-broken",
|
|
42473
|
+
"rule-repaired",
|
|
42440
42474
|
"camera-online",
|
|
42441
42475
|
"camera-offline",
|
|
42442
42476
|
"camera-disabled",
|
|
@@ -55847,6 +55881,16 @@ var DishwasherStatusSchema = object({
|
|
|
55847
55881
|
powerState: string().nullable(),
|
|
55848
55882
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55849
55883
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55884
|
+
/**
|
|
55885
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55886
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
55887
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
55888
|
+
*/
|
|
55889
|
+
filterCleaningDue: boolean().nullable(),
|
|
55890
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
55891
|
+
machineCareDue: boolean().nullable(),
|
|
55892
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
55893
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
55850
55894
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55851
55895
|
halfLoad: boolean().nullable(),
|
|
55852
55896
|
hygienePlus: boolean().nullable(),
|
|
@@ -64497,16 +64541,6 @@ var UpdateUserInputSchema = object({
|
|
|
64497
64541
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64498
64542
|
scopes: array(TokenScopeSchema).optional()
|
|
64499
64543
|
});
|
|
64500
|
-
var ApiKeySummarySchema = object({
|
|
64501
|
-
id: string(),
|
|
64502
|
-
label: string(),
|
|
64503
|
-
isAdmin: boolean().default(false),
|
|
64504
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
64505
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64506
|
-
tokenPrefix: string(),
|
|
64507
|
-
createdAt: number(),
|
|
64508
|
-
lastUsedAt: number().optional()
|
|
64509
|
-
});
|
|
64510
64544
|
var OauthSessionSummarySchema = object({
|
|
64511
64545
|
id: string(),
|
|
64512
64546
|
userId: string(),
|
|
@@ -64528,8 +64562,7 @@ var TotpStatusSchema = object({
|
|
|
64528
64562
|
confirmedAt: number().nullable()
|
|
64529
64563
|
});
|
|
64530
64564
|
/**
|
|
64531
|
-
* user-management — singleton capability for user accounts
|
|
64532
|
-
* legacy API-key rows.
|
|
64565
|
+
* user-management — singleton capability for user accounts.
|
|
64533
64566
|
*
|
|
64534
64567
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64535
64568
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64585,10 +64618,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64585
64618
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64586
64619
|
kind: "mutation",
|
|
64587
64620
|
access: "view"
|
|
64588
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64589
|
-
kind: "mutation",
|
|
64590
|
-
auth: "admin",
|
|
64591
|
-
access: "delete"
|
|
64592
64621
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64593
64622
|
kind: "mutation",
|
|
64594
64623
|
auth: "admin",
|
|
@@ -74044,6 +74073,12 @@ Object.freeze({
|
|
|
74044
74073
|
addonId: null,
|
|
74045
74074
|
access: "view"
|
|
74046
74075
|
},
|
|
74076
|
+
"records.transact": {
|
|
74077
|
+
capName: "records",
|
|
74078
|
+
capScope: "system",
|
|
74079
|
+
addonId: null,
|
|
74080
|
+
access: "create"
|
|
74081
|
+
},
|
|
74047
74082
|
"sceneMonitor.captureReference": {
|
|
74048
74083
|
capName: "scene-monitor",
|
|
74049
74084
|
capScope: "device",
|
|
@@ -75376,12 +75411,6 @@ Object.freeze({
|
|
|
75376
75411
|
addonId: null,
|
|
75377
75412
|
access: "view"
|
|
75378
75413
|
},
|
|
75379
|
-
"userManagement.listApiKeys": {
|
|
75380
|
-
capName: "user-management",
|
|
75381
|
-
capScope: "system",
|
|
75382
|
-
addonId: null,
|
|
75383
|
-
access: "view"
|
|
75384
|
-
},
|
|
75385
75414
|
"userManagement.listExternalIdentities": {
|
|
75386
75415
|
capName: "user-management",
|
|
75387
75416
|
capScope: "system",
|
|
@@ -75436,12 +75465,6 @@ Object.freeze({
|
|
|
75436
75465
|
addonId: null,
|
|
75437
75466
|
access: "create"
|
|
75438
75467
|
},
|
|
75439
|
-
"userManagement.revokeApiKey": {
|
|
75440
|
-
capName: "user-management",
|
|
75441
|
-
capScope: "system",
|
|
75442
|
-
addonId: null,
|
|
75443
|
-
access: "delete"
|
|
75444
|
-
},
|
|
75445
75468
|
"userManagement.revokeOauthSession": {
|
|
75446
75469
|
capName: "user-management",
|
|
75447
75470
|
capScope: "system",
|
|
@@ -78806,9 +78829,13 @@ new Map(Object.entries({
|
|
|
78806
78829
|
"stream-online": "device-events",
|
|
78807
78830
|
"stream-offline": "device-events",
|
|
78808
78831
|
"detection-blind": "device-events",
|
|
78832
|
+
"motion-noisy": "device-events",
|
|
78833
|
+
"motion-calm": "device-events",
|
|
78809
78834
|
"recording-stalled": "device-events",
|
|
78810
78835
|
"recording-healthy": "device-events",
|
|
78811
78836
|
"recording-degraded": "device-events",
|
|
78837
|
+
"device-attention-required": "device-events",
|
|
78838
|
+
"device-attention-resolved": "device-events",
|
|
78812
78839
|
"node-online": "system",
|
|
78813
78840
|
"node-offline": "system",
|
|
78814
78841
|
"node-restarting": "system",
|
|
@@ -78825,6 +78852,8 @@ new Map(Object.entries({
|
|
|
78825
78852
|
"alert-critical": "system",
|
|
78826
78853
|
"alert-error": "system",
|
|
78827
78854
|
"alert-critical-resolved": "system",
|
|
78855
|
+
"rule-broken": "system",
|
|
78856
|
+
"rule-repaired": "system",
|
|
78828
78857
|
"storage-location-low": "system",
|
|
78829
78858
|
"storage-location-critical": "system",
|
|
78830
78859
|
"storage-location-ok": "system",
|
|
@@ -78889,6 +78918,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78889
78918
|
label: "Detecting nothing",
|
|
78890
78919
|
kinds: ["detection-blind"]
|
|
78891
78920
|
},
|
|
78921
|
+
{
|
|
78922
|
+
id: "motion-noise",
|
|
78923
|
+
family: "device-events",
|
|
78924
|
+
label: "Motion without a subject",
|
|
78925
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
78926
|
+
},
|
|
78892
78927
|
{
|
|
78893
78928
|
id: "recording",
|
|
78894
78929
|
family: "device-events",
|
|
@@ -78899,6 +78934,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78899
78934
|
"recording-degraded"
|
|
78900
78935
|
]
|
|
78901
78936
|
},
|
|
78937
|
+
{
|
|
78938
|
+
id: "device-attention",
|
|
78939
|
+
family: "device-events",
|
|
78940
|
+
label: "Needs attention",
|
|
78941
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
78942
|
+
},
|
|
78902
78943
|
{
|
|
78903
78944
|
id: "nodes",
|
|
78904
78945
|
family: "system",
|
|
@@ -78959,6 +79000,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78959
79000
|
"alert-critical-resolved"
|
|
78960
79001
|
]
|
|
78961
79002
|
},
|
|
79003
|
+
{
|
|
79004
|
+
id: "rule-health",
|
|
79005
|
+
family: "system",
|
|
79006
|
+
label: "Notification rules",
|
|
79007
|
+
kinds: ["rule-broken", "rule-repaired"]
|
|
79008
|
+
},
|
|
78962
79009
|
{
|
|
78963
79010
|
id: "alarm",
|
|
78964
79011
|
family: "alarm",
|
|
@@ -79032,6 +79079,7 @@ var ALERT_EPISODE = [
|
|
|
79032
79079
|
"alert-error",
|
|
79033
79080
|
"alert-critical-resolved"
|
|
79034
79081
|
];
|
|
79082
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79035
79083
|
var UPDATES = [
|
|
79036
79084
|
"addon-update-available",
|
|
79037
79085
|
"server-update-available",
|
|
@@ -79061,9 +79109,12 @@ var DEVICE_EVENTS = [
|
|
|
79061
79109
|
"stream-online",
|
|
79062
79110
|
"stream-offline",
|
|
79063
79111
|
"detection-blind",
|
|
79112
|
+
"motion-noisy",
|
|
79113
|
+
"motion-calm",
|
|
79064
79114
|
"recording-stalled",
|
|
79065
79115
|
"recording-healthy",
|
|
79066
79116
|
"recording-degraded",
|
|
79117
|
+
...DEVICE_ATTENTION,
|
|
79067
79118
|
...ALARM
|
|
79068
79119
|
];
|
|
79069
79120
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -79231,7 +79282,13 @@ var STATE_SUMMARY_VARS = [
|
|
|
79231
79282
|
[...RULE_TEXT],
|
|
79232
79283
|
[...RULE_TEXT],
|
|
79233
79284
|
[...RULE_TEXT],
|
|
79234
|
-
|
|
79285
|
+
[...RULE_TEXT],
|
|
79286
|
+
[...RULE_TEXT],
|
|
79287
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79288
|
+
[...RULE_TEXT],
|
|
79289
|
+
[...RULE_TEXT],
|
|
79290
|
+
[...RULE_TEXT],
|
|
79291
|
+
[...RULE_TEXT],
|
|
79235
79292
|
[...RULE_TEXT],
|
|
79236
79293
|
[...RULE_TEXT],
|
|
79237
79294
|
[...RULE_TEXT],
|
|
@@ -79249,11 +79306,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
79249
79306
|
[...RULE_TEXT],
|
|
79250
79307
|
[...RULE_TEXT],
|
|
79251
79308
|
[...RULE_TEXT],
|
|
79309
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79252
79310
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79311
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79253
79312
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79254
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79255
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79256
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79313
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79257
79314
|
[...RULE_TEXT],
|
|
79258
79315
|
[...RULE_TEXT],
|
|
79259
79316
|
[...RULE_TEXT],
|
|
@@ -79274,6 +79331,125 @@ var STATE_SUMMARY_VARS = [
|
|
|
79274
79331
|
[...RULE_TEXT],
|
|
79275
79332
|
...STATE_SUMMARY_VARS
|
|
79276
79333
|
];
|
|
79334
|
+
new Map([
|
|
79335
|
+
{
|
|
79336
|
+
id: "device-connectivity",
|
|
79337
|
+
family: "device-events",
|
|
79338
|
+
label: "Device connectivity (offline / back online)",
|
|
79339
|
+
bad: ["device-offline"],
|
|
79340
|
+
recovery: ["device-online"],
|
|
79341
|
+
snapshotLabel: "Devices offline now",
|
|
79342
|
+
snapshotSection: "device-state"
|
|
79343
|
+
},
|
|
79344
|
+
{
|
|
79345
|
+
id: "device-switch",
|
|
79346
|
+
family: "device-events",
|
|
79347
|
+
label: "Device switched off / back on",
|
|
79348
|
+
bad: ["device-disabled"],
|
|
79349
|
+
recovery: ["device-enabled"],
|
|
79350
|
+
snapshotLabel: "Devices switched off now",
|
|
79351
|
+
snapshotSection: "device-state"
|
|
79352
|
+
},
|
|
79353
|
+
{
|
|
79354
|
+
id: "stream-connectivity",
|
|
79355
|
+
family: "device-events",
|
|
79356
|
+
label: "Stream connectivity (offline / back online)",
|
|
79357
|
+
bad: ["stream-offline"],
|
|
79358
|
+
recovery: ["stream-online"],
|
|
79359
|
+
snapshotLabel: "Streams offline now",
|
|
79360
|
+
snapshotSection: "streams"
|
|
79361
|
+
},
|
|
79362
|
+
{
|
|
79363
|
+
id: "battery",
|
|
79364
|
+
family: "device-events",
|
|
79365
|
+
label: "Battery (low / back to normal)",
|
|
79366
|
+
bad: ["device-battery-low"],
|
|
79367
|
+
recovery: ["device-battery-normal"],
|
|
79368
|
+
snapshotLabel: "Batteries low now",
|
|
79369
|
+
snapshotSection: "battery"
|
|
79370
|
+
},
|
|
79371
|
+
{
|
|
79372
|
+
id: "consumables",
|
|
79373
|
+
family: "device-events",
|
|
79374
|
+
label: "Consumables (low / replaced)",
|
|
79375
|
+
bad: ["device-consumable-low"],
|
|
79376
|
+
recovery: ["device-consumable-normal"],
|
|
79377
|
+
snapshotLabel: "Consumables low now",
|
|
79378
|
+
snapshotSection: "consumables"
|
|
79379
|
+
},
|
|
79380
|
+
{
|
|
79381
|
+
id: "tanks",
|
|
79382
|
+
family: "device-events",
|
|
79383
|
+
label: "Tanks (low or full / back to normal)",
|
|
79384
|
+
bad: ["device-tank-low", "device-tank-full"],
|
|
79385
|
+
recovery: ["device-tank-normal"],
|
|
79386
|
+
snapshotLabel: "Tanks low or full now",
|
|
79387
|
+
snapshotSection: "tanks"
|
|
79388
|
+
},
|
|
79389
|
+
{
|
|
79390
|
+
id: "motion-noise",
|
|
79391
|
+
family: "device-events",
|
|
79392
|
+
label: "Motion without a subject (constant / calm again)",
|
|
79393
|
+
bad: ["motion-noisy"],
|
|
79394
|
+
recovery: ["motion-calm"],
|
|
79395
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
79396
|
+
snapshotSection: null
|
|
79397
|
+
},
|
|
79398
|
+
{
|
|
79399
|
+
id: "recording-health",
|
|
79400
|
+
family: "device-events",
|
|
79401
|
+
label: "Recording health (stalled or degraded / recording again)",
|
|
79402
|
+
bad: ["recording-stalled", "recording-degraded"],
|
|
79403
|
+
recovery: ["recording-healthy"],
|
|
79404
|
+
snapshotLabel: "Recordings stalled now",
|
|
79405
|
+
snapshotSection: null
|
|
79406
|
+
},
|
|
79407
|
+
{
|
|
79408
|
+
id: "device-attention",
|
|
79409
|
+
family: "device-events",
|
|
79410
|
+
label: "Device needs attention (raised / resolved)",
|
|
79411
|
+
bad: ["device-attention-required"],
|
|
79412
|
+
recovery: ["device-attention-resolved"],
|
|
79413
|
+
snapshotLabel: "Devices needing attention now",
|
|
79414
|
+
snapshotSection: null
|
|
79415
|
+
},
|
|
79416
|
+
{
|
|
79417
|
+
id: "node-connectivity",
|
|
79418
|
+
family: "system",
|
|
79419
|
+
label: "Node connectivity (offline / back online)",
|
|
79420
|
+
bad: ["node-offline"],
|
|
79421
|
+
recovery: ["node-online"],
|
|
79422
|
+
snapshotLabel: "Nodes offline now",
|
|
79423
|
+
snapshotSection: "nodes"
|
|
79424
|
+
},
|
|
79425
|
+
{
|
|
79426
|
+
id: "storage-space",
|
|
79427
|
+
family: "system",
|
|
79428
|
+
label: "Storage space (low or critical / ok again)",
|
|
79429
|
+
bad: ["storage-location-low", "storage-location-critical"],
|
|
79430
|
+
recovery: ["storage-location-ok"],
|
|
79431
|
+
snapshotLabel: "Storage locations low now",
|
|
79432
|
+
snapshotSection: null
|
|
79433
|
+
},
|
|
79434
|
+
{
|
|
79435
|
+
id: "critical-alerts",
|
|
79436
|
+
family: "system",
|
|
79437
|
+
label: "Critical alerts (raised / resolved)",
|
|
79438
|
+
bad: ["alert-critical"],
|
|
79439
|
+
recovery: ["alert-critical-resolved"],
|
|
79440
|
+
snapshotLabel: "Critical alerts open now",
|
|
79441
|
+
snapshotSection: null
|
|
79442
|
+
},
|
|
79443
|
+
{
|
|
79444
|
+
id: "rule-health",
|
|
79445
|
+
family: "system",
|
|
79446
|
+
label: "Rule health (broken / repaired)",
|
|
79447
|
+
bad: ["rule-broken"],
|
|
79448
|
+
recovery: ["rule-repaired"],
|
|
79449
|
+
snapshotLabel: "Notification rules broken now",
|
|
79450
|
+
snapshotSection: null
|
|
79451
|
+
}
|
|
79452
|
+
].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
|
|
79277
79453
|
new Set([
|
|
79278
79454
|
"disarmed",
|
|
79279
79455
|
"armed_home",
|
|
@@ -83233,7 +83409,7 @@ function buildCreationFormSchema() {
|
|
|
83233
83409
|
id: "p2p",
|
|
83234
83410
|
title: "P2P parameters",
|
|
83235
83411
|
titleKey: "provider-wyze:creation.s_p2p.title",
|
|
83236
|
-
description: "
|
|
83412
|
+
description: "Values from the Wyze cloud device list; discovery fills them in automatically.",
|
|
83237
83413
|
descriptionKey: "provider-wyze:creation.s_p2p.description",
|
|
83238
83414
|
columns: 2,
|
|
83239
83415
|
fields: [
|
|
@@ -83365,7 +83541,7 @@ function buildSettingsSchema() {
|
|
|
83365
83541
|
id: "credentials",
|
|
83366
83542
|
title: "Wyze account",
|
|
83367
83543
|
titleKey: "provider-wyze:settings.s_credentials.title",
|
|
83368
|
-
description: "
|
|
83544
|
+
description: "Needs a developer API Key + Key ID (developer-api-console.wyze.com) besides your login. MFA accounts are not supported.",
|
|
83369
83545
|
descriptionKey: "provider-wyze:settings.s_credentials.description",
|
|
83370
83546
|
columns: 2,
|
|
83371
83547
|
fields: [
|
package/i18n/en.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"creation.s_identity.title": "Camera",
|
|
3
3
|
"creation.s_identity.name.label": "Name",
|
|
4
4
|
"creation.s_p2p.title": "P2P parameters",
|
|
5
|
-
"creation.s_p2p.description": "
|
|
5
|
+
"creation.s_p2p.description": "Values from the Wyze cloud device list; discovery fills them in automatically.",
|
|
6
6
|
"creation.s_p2p.mac.label": "MAC",
|
|
7
7
|
"creation.s_p2p.p2pId.label": "P2P UID",
|
|
8
8
|
"creation.s_p2p.enr.label": "ENR (encryption key)",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"creation.s_stream.motionSource.o_cloud.label": "Cloud events",
|
|
23
23
|
"creation.s_stream.motionSource.o_boa.label": "On-camera (boa)",
|
|
24
24
|
"settings.s_credentials.title": "Wyze account",
|
|
25
|
-
"settings.s_credentials.description": "
|
|
25
|
+
"settings.s_credentials.description": "Needs a developer API Key + Key ID (developer-api-console.wyze.com) besides your login. MFA accounts are not supported.",
|
|
26
26
|
"settings.s_credentials.email.label": "Email",
|
|
27
27
|
"settings.s_credentials.password.label": "Password",
|
|
28
28
|
"settings.s_credentials.apiKey.label": "API Key",
|
package/i18n/it.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"creation.s_identity.title": "Telecamera",
|
|
3
3
|
"creation.s_identity.name.label": "Nome",
|
|
4
4
|
"creation.s_p2p.title": "Parametri P2P",
|
|
5
|
-
"creation.s_p2p.description": "
|
|
5
|
+
"creation.s_p2p.description": "Valori dall'elenco dispositivi del cloud Wyze; la discovery li compila automaticamente.",
|
|
6
6
|
"creation.s_p2p.mac.label": "MAC",
|
|
7
7
|
"creation.s_p2p.p2pId.label": "UID P2P",
|
|
8
8
|
"creation.s_p2p.enr.label": "ENR (chiave di cifratura)",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"creation.s_stream.motionSource.o_cloud.label": "Eventi cloud",
|
|
23
23
|
"creation.s_stream.motionSource.o_boa.label": "Di bordo (boa)",
|
|
24
24
|
"settings.s_credentials.title": "Account Wyze",
|
|
25
|
-
"settings.s_credentials.description": "
|
|
25
|
+
"settings.s_credentials.description": "Servono una API Key e un Key ID sviluppatore (developer-api-console.wyze.com) oltre al login. Gli account con MFA non sono supportati.",
|
|
26
26
|
"settings.s_credentials.email.label": "Email",
|
|
27
27
|
"settings.s_credentials.password.label": "Password",
|
|
28
28
|
"settings.s_credentials.apiKey.label": "API Key",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-wyze",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.154",
|
|
4
4
|
"description": "Wyze camera device-provider addon for CamStack — wraps the @apocaliss92/wyze-bridge-js P2P/DTLS client, feeding the stream-broker via the pull-rfc4571 lazy-publish path (a structural twin of addon-provider-reolink)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|