@camstack/addon-provider-ecowitt 0.2.141 → 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 +116 -63
- package/dist/addon.mjs +116 -63
- package/i18n/en.json +2 -2
- package/i18n/it.json +2 -2
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
let http = require("http");
|
|
3
3
|
let events = require("events");
|
|
4
4
|
let dgram = require("dgram");
|
|
5
|
-
//#region ../types/dist/event-category-
|
|
5
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
6
6
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
7
7
|
EventCategory["SystemBoot"] = "system.boot";
|
|
8
8
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -319,6 +319,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
319
319
|
*/
|
|
320
320
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
321
321
|
/**
|
|
322
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
323
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
324
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
325
|
+
* {@link PipelineMotionCalm}.
|
|
326
|
+
*/
|
|
327
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
328
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
329
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
330
|
+
/**
|
|
322
331
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
323
332
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
324
333
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -5425,7 +5434,7 @@ var ZodIssueCode$1 = {
|
|
|
5425
5434
|
var ZodFirstPartyTypeKind$1;
|
|
5426
5435
|
ZodFirstPartyTypeKind$1 || (ZodFirstPartyTypeKind$1 = {});
|
|
5427
5436
|
//#endregion
|
|
5428
|
-
//#region ../types/dist/sleep-
|
|
5437
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5429
5438
|
/**
|
|
5430
5439
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5431
5440
|
* window to float samples (D455).
|
|
@@ -7954,7 +7963,7 @@ var EntryDescriptorSchema = object({
|
|
|
7954
7963
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7955
7964
|
fields: record(string(), unknown())
|
|
7956
7965
|
}).strict();
|
|
7957
|
-
/** What crosses the wire
|
|
7966
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7958
7967
|
var RecordKindDeclarationSchema = object({
|
|
7959
7968
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7960
7969
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7973,14 +7982,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7973
7982
|
secretPaths: array(string().min(1)).default([]),
|
|
7974
7983
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7975
7984
|
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
7985
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
7985
7986
|
transactFamily: string().min(1).optional(),
|
|
7986
7987
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12672,17 +12673,6 @@ object({
|
|
|
12672
12673
|
createdAt: number(),
|
|
12673
12674
|
updatedAt: number()
|
|
12674
12675
|
});
|
|
12675
|
-
object({
|
|
12676
|
-
id: string(),
|
|
12677
|
-
label: string(),
|
|
12678
|
-
isAdmin: boolean().default(false),
|
|
12679
|
-
allowedProviders: AllowedProviderSchema,
|
|
12680
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12681
|
-
tokenHash: string(),
|
|
12682
|
-
tokenPrefix: string(),
|
|
12683
|
-
createdAt: number(),
|
|
12684
|
-
lastUsedAt: number().optional()
|
|
12685
|
-
});
|
|
12686
12676
|
object({
|
|
12687
12677
|
id: string(),
|
|
12688
12678
|
userId: string(),
|
|
@@ -16664,16 +16654,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16664
16654
|
var DeclareKindResultSchema = object({
|
|
16665
16655
|
kindId: number().int(),
|
|
16666
16656
|
state: RecordKindStateSchema,
|
|
16667
|
-
createdIndexes: array(string())
|
|
16668
|
-
/**
|
|
16669
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16670
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16671
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16672
|
-
*/
|
|
16673
|
-
adoptionPending: _null()
|
|
16657
|
+
createdIndexes: array(string())
|
|
16674
16658
|
});
|
|
16675
16659
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16676
16660
|
var SecretRefsList = array(string());
|
|
16661
|
+
/**
|
|
16662
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16663
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16664
|
+
*/
|
|
16665
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16666
|
+
object({
|
|
16667
|
+
op: literal("put"),
|
|
16668
|
+
kind: RecordKindNameSchema,
|
|
16669
|
+
record: RecordInputSchema,
|
|
16670
|
+
ifRev: number().int().min(0).optional()
|
|
16671
|
+
}),
|
|
16672
|
+
object({
|
|
16673
|
+
op: literal("patch"),
|
|
16674
|
+
kind: RecordKindNameSchema,
|
|
16675
|
+
id: RecordIdSchema,
|
|
16676
|
+
data: RecordBodySchema,
|
|
16677
|
+
at: number().int().nullable().optional(),
|
|
16678
|
+
expiresAt: number().int().nullable().optional(),
|
|
16679
|
+
ifRev: number().int().min(1).optional()
|
|
16680
|
+
}),
|
|
16681
|
+
object({
|
|
16682
|
+
op: literal("delete"),
|
|
16683
|
+
kind: RecordKindNameSchema,
|
|
16684
|
+
id: RecordIdSchema
|
|
16685
|
+
})
|
|
16686
|
+
]);
|
|
16677
16687
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16678
16688
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16679
16689
|
kind: "mutation",
|
|
@@ -16780,6 +16790,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16780
16790
|
}), {
|
|
16781
16791
|
kind: "mutation",
|
|
16782
16792
|
auth: "admin"
|
|
16793
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16794
|
+
results: array(object({
|
|
16795
|
+
rev: number().int().nullable(),
|
|
16796
|
+
deleted: boolean()
|
|
16797
|
+
})),
|
|
16798
|
+
releasedRefs: SecretRefsList,
|
|
16799
|
+
secretRefs: SecretRefsList
|
|
16800
|
+
}), {
|
|
16801
|
+
kind: "mutation",
|
|
16802
|
+
auth: "admin"
|
|
16783
16803
|
}), method(object({
|
|
16784
16804
|
deviceId: number().int(),
|
|
16785
16805
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42487,9 +42507,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42487
42507
|
"node-updating",
|
|
42488
42508
|
"node-inference-unavailable",
|
|
42489
42509
|
"detection-blind",
|
|
42510
|
+
"motion-noisy",
|
|
42511
|
+
"motion-calm",
|
|
42490
42512
|
"recording-stalled",
|
|
42491
42513
|
"recording-healthy",
|
|
42492
42514
|
"recording-degraded",
|
|
42515
|
+
"device-attention-required",
|
|
42516
|
+
"device-attention-resolved",
|
|
42493
42517
|
"storage-location-low",
|
|
42494
42518
|
"storage-location-critical",
|
|
42495
42519
|
"storage-location-ok",
|
|
@@ -55813,6 +55837,16 @@ var DishwasherStatusSchema = object({
|
|
|
55813
55837
|
powerState: string().nullable(),
|
|
55814
55838
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55815
55839
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55840
|
+
/**
|
|
55841
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55842
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
55843
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
55844
|
+
*/
|
|
55845
|
+
filterCleaningDue: boolean().nullable(),
|
|
55846
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
55847
|
+
machineCareDue: boolean().nullable(),
|
|
55848
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
55849
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
55816
55850
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55817
55851
|
halfLoad: boolean().nullable(),
|
|
55818
55852
|
hygienePlus: boolean().nullable(),
|
|
@@ -64463,16 +64497,6 @@ var UpdateUserInputSchema = object({
|
|
|
64463
64497
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64464
64498
|
scopes: array(TokenScopeSchema).optional()
|
|
64465
64499
|
});
|
|
64466
|
-
var ApiKeySummarySchema = object({
|
|
64467
|
-
id: string(),
|
|
64468
|
-
label: string(),
|
|
64469
|
-
isAdmin: boolean().default(false),
|
|
64470
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
64471
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64472
|
-
tokenPrefix: string(),
|
|
64473
|
-
createdAt: number(),
|
|
64474
|
-
lastUsedAt: number().optional()
|
|
64475
|
-
});
|
|
64476
64500
|
var OauthSessionSummarySchema = object({
|
|
64477
64501
|
id: string(),
|
|
64478
64502
|
userId: string(),
|
|
@@ -64494,8 +64518,7 @@ var TotpStatusSchema = object({
|
|
|
64494
64518
|
confirmedAt: number().nullable()
|
|
64495
64519
|
});
|
|
64496
64520
|
/**
|
|
64497
|
-
* user-management — singleton capability for user accounts
|
|
64498
|
-
* legacy API-key rows.
|
|
64521
|
+
* user-management — singleton capability for user accounts.
|
|
64499
64522
|
*
|
|
64500
64523
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64501
64524
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64551,10 +64574,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64551
64574
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64552
64575
|
kind: "mutation",
|
|
64553
64576
|
access: "view"
|
|
64554
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64555
|
-
kind: "mutation",
|
|
64556
|
-
auth: "admin",
|
|
64557
|
-
access: "delete"
|
|
64558
64577
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64559
64578
|
kind: "mutation",
|
|
64560
64579
|
auth: "admin",
|
|
@@ -74010,6 +74029,12 @@ Object.freeze({
|
|
|
74010
74029
|
addonId: null,
|
|
74011
74030
|
access: "view"
|
|
74012
74031
|
},
|
|
74032
|
+
"records.transact": {
|
|
74033
|
+
capName: "records",
|
|
74034
|
+
capScope: "system",
|
|
74035
|
+
addonId: null,
|
|
74036
|
+
access: "create"
|
|
74037
|
+
},
|
|
74013
74038
|
"sceneMonitor.captureReference": {
|
|
74014
74039
|
capName: "scene-monitor",
|
|
74015
74040
|
capScope: "device",
|
|
@@ -75342,12 +75367,6 @@ Object.freeze({
|
|
|
75342
75367
|
addonId: null,
|
|
75343
75368
|
access: "view"
|
|
75344
75369
|
},
|
|
75345
|
-
"userManagement.listApiKeys": {
|
|
75346
|
-
capName: "user-management",
|
|
75347
|
-
capScope: "system",
|
|
75348
|
-
addonId: null,
|
|
75349
|
-
access: "view"
|
|
75350
|
-
},
|
|
75351
75370
|
"userManagement.listExternalIdentities": {
|
|
75352
75371
|
capName: "user-management",
|
|
75353
75372
|
capScope: "system",
|
|
@@ -75402,12 +75421,6 @@ Object.freeze({
|
|
|
75402
75421
|
addonId: null,
|
|
75403
75422
|
access: "create"
|
|
75404
75423
|
},
|
|
75405
|
-
"userManagement.revokeApiKey": {
|
|
75406
|
-
capName: "user-management",
|
|
75407
|
-
capScope: "system",
|
|
75408
|
-
addonId: null,
|
|
75409
|
-
access: "delete"
|
|
75410
|
-
},
|
|
75411
75424
|
"userManagement.revokeOauthSession": {
|
|
75412
75425
|
capName: "user-management",
|
|
75413
75426
|
capScope: "system",
|
|
@@ -78772,9 +78785,13 @@ new Map(Object.entries({
|
|
|
78772
78785
|
"stream-online": "device-events",
|
|
78773
78786
|
"stream-offline": "device-events",
|
|
78774
78787
|
"detection-blind": "device-events",
|
|
78788
|
+
"motion-noisy": "device-events",
|
|
78789
|
+
"motion-calm": "device-events",
|
|
78775
78790
|
"recording-stalled": "device-events",
|
|
78776
78791
|
"recording-healthy": "device-events",
|
|
78777
78792
|
"recording-degraded": "device-events",
|
|
78793
|
+
"device-attention-required": "device-events",
|
|
78794
|
+
"device-attention-resolved": "device-events",
|
|
78778
78795
|
"node-online": "system",
|
|
78779
78796
|
"node-offline": "system",
|
|
78780
78797
|
"node-restarting": "system",
|
|
@@ -78857,6 +78874,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78857
78874
|
label: "Detecting nothing",
|
|
78858
78875
|
kinds: ["detection-blind"]
|
|
78859
78876
|
},
|
|
78877
|
+
{
|
|
78878
|
+
id: "motion-noise",
|
|
78879
|
+
family: "device-events",
|
|
78880
|
+
label: "Motion without a subject",
|
|
78881
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
78882
|
+
},
|
|
78860
78883
|
{
|
|
78861
78884
|
id: "recording",
|
|
78862
78885
|
family: "device-events",
|
|
@@ -78867,6 +78890,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78867
78890
|
"recording-degraded"
|
|
78868
78891
|
]
|
|
78869
78892
|
},
|
|
78893
|
+
{
|
|
78894
|
+
id: "device-attention",
|
|
78895
|
+
family: "device-events",
|
|
78896
|
+
label: "Needs attention",
|
|
78897
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
78898
|
+
},
|
|
78870
78899
|
{
|
|
78871
78900
|
id: "nodes",
|
|
78872
78901
|
family: "system",
|
|
@@ -79006,6 +79035,7 @@ var ALERT_EPISODE = [
|
|
|
79006
79035
|
"alert-error",
|
|
79007
79036
|
"alert-critical-resolved"
|
|
79008
79037
|
];
|
|
79038
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79009
79039
|
var UPDATES = [
|
|
79010
79040
|
"addon-update-available",
|
|
79011
79041
|
"server-update-available",
|
|
@@ -79035,9 +79065,12 @@ var DEVICE_EVENTS = [
|
|
|
79035
79065
|
"stream-online",
|
|
79036
79066
|
"stream-offline",
|
|
79037
79067
|
"detection-blind",
|
|
79068
|
+
"motion-noisy",
|
|
79069
|
+
"motion-calm",
|
|
79038
79070
|
"recording-stalled",
|
|
79039
79071
|
"recording-healthy",
|
|
79040
79072
|
"recording-degraded",
|
|
79073
|
+
...DEVICE_ATTENTION,
|
|
79041
79074
|
...ALARM
|
|
79042
79075
|
];
|
|
79043
79076
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -79205,7 +79238,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
79205
79238
|
[...RULE_TEXT],
|
|
79206
79239
|
[...RULE_TEXT],
|
|
79207
79240
|
[...RULE_TEXT],
|
|
79208
|
-
|
|
79241
|
+
[...RULE_TEXT],
|
|
79242
|
+
[...RULE_TEXT],
|
|
79243
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79209
79244
|
[...RULE_TEXT],
|
|
79210
79245
|
[...RULE_TEXT],
|
|
79211
79246
|
[...RULE_TEXT],
|
|
@@ -79227,11 +79262,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
79227
79262
|
[...RULE_TEXT],
|
|
79228
79263
|
[...RULE_TEXT],
|
|
79229
79264
|
[...RULE_TEXT],
|
|
79265
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79230
79266
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79267
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79231
79268
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79232
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79233
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79234
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79269
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79235
79270
|
[...RULE_TEXT],
|
|
79236
79271
|
[...RULE_TEXT],
|
|
79237
79272
|
[...RULE_TEXT],
|
|
@@ -79307,6 +79342,15 @@ new Map([
|
|
|
79307
79342
|
snapshotLabel: "Tanks low or full now",
|
|
79308
79343
|
snapshotSection: "tanks"
|
|
79309
79344
|
},
|
|
79345
|
+
{
|
|
79346
|
+
id: "motion-noise",
|
|
79347
|
+
family: "device-events",
|
|
79348
|
+
label: "Motion without a subject (constant / calm again)",
|
|
79349
|
+
bad: ["motion-noisy"],
|
|
79350
|
+
recovery: ["motion-calm"],
|
|
79351
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
79352
|
+
snapshotSection: null
|
|
79353
|
+
},
|
|
79310
79354
|
{
|
|
79311
79355
|
id: "recording-health",
|
|
79312
79356
|
family: "device-events",
|
|
@@ -79316,6 +79360,15 @@ new Map([
|
|
|
79316
79360
|
snapshotLabel: "Recordings stalled now",
|
|
79317
79361
|
snapshotSection: null
|
|
79318
79362
|
},
|
|
79363
|
+
{
|
|
79364
|
+
id: "device-attention",
|
|
79365
|
+
family: "device-events",
|
|
79366
|
+
label: "Device needs attention (raised / resolved)",
|
|
79367
|
+
bad: ["device-attention-required"],
|
|
79368
|
+
recovery: ["device-attention-resolved"],
|
|
79369
|
+
snapshotLabel: "Devices needing attention now",
|
|
79370
|
+
snapshotSection: null
|
|
79371
|
+
},
|
|
79319
79372
|
{
|
|
79320
79373
|
id: "node-connectivity",
|
|
79321
79374
|
family: "system",
|
|
@@ -85758,7 +85811,7 @@ function buildConnectionFormSchema() {
|
|
|
85758
85811
|
id: "transport",
|
|
85759
85812
|
title: "Transport",
|
|
85760
85813
|
titleKey: "provider-ecowitt:connection.s_transport.title",
|
|
85761
|
-
description: "
|
|
85814
|
+
description: "Local poll connects out to the gateway (recommended). Push listener needs the gateway \"Customized\" upload pointed at this hub.",
|
|
85762
85815
|
descriptionKey: "provider-ecowitt:connection.s_transport.description",
|
|
85763
85816
|
columns: 1,
|
|
85764
85817
|
fields: [{
|
|
@@ -85885,7 +85938,7 @@ function buildDiscoveryParamsFormSchema() {
|
|
|
85885
85938
|
id: "scan",
|
|
85886
85939
|
title: "Scan options",
|
|
85887
85940
|
titleKey: "provider-ecowitt:discoveryParams.s_scan.title",
|
|
85888
|
-
description: "Leave empty to scan the local subnet
|
|
85941
|
+
description: "Leave empty to scan the local subnet; otherwise list broadcast addresses, gateway IPs or CIDRs, comma or newline separated.",
|
|
85889
85942
|
descriptionKey: "provider-ecowitt:discoveryParams.s_scan.description",
|
|
85890
85943
|
columns: 1,
|
|
85891
85944
|
fields: [{
|
package/dist/addon.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createServer } from "http";
|
|
2
2
|
import { EventEmitter } from "events";
|
|
3
3
|
import { createSocket } from "dgram";
|
|
4
|
-
//#region ../types/dist/event-category-
|
|
4
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
5
5
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
6
6
|
EventCategory["SystemBoot"] = "system.boot";
|
|
7
7
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -318,6 +318,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
318
318
|
*/
|
|
319
319
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
320
320
|
/**
|
|
321
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
322
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
323
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
324
|
+
* {@link PipelineMotionCalm}.
|
|
325
|
+
*/
|
|
326
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
327
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
328
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
329
|
+
/**
|
|
321
330
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
322
331
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
323
332
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -5424,7 +5433,7 @@ var ZodIssueCode$1 = {
|
|
|
5424
5433
|
var ZodFirstPartyTypeKind$1;
|
|
5425
5434
|
ZodFirstPartyTypeKind$1 || (ZodFirstPartyTypeKind$1 = {});
|
|
5426
5435
|
//#endregion
|
|
5427
|
-
//#region ../types/dist/sleep-
|
|
5436
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5428
5437
|
/**
|
|
5429
5438
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5430
5439
|
* window to float samples (D455).
|
|
@@ -7953,7 +7962,7 @@ var EntryDescriptorSchema = object({
|
|
|
7953
7962
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7954
7963
|
fields: record(string(), unknown())
|
|
7955
7964
|
}).strict();
|
|
7956
|
-
/** What crosses the wire
|
|
7965
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7957
7966
|
var RecordKindDeclarationSchema = object({
|
|
7958
7967
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7959
7968
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7972,14 +7981,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7972
7981
|
secretPaths: array(string().min(1)).default([]),
|
|
7973
7982
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7974
7983
|
secretArrayKeys: record(string(), string()).default({}),
|
|
7975
|
-
/**
|
|
7976
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
7977
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
7978
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
7979
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
7980
|
-
* removal still sends it. Never set it.
|
|
7981
|
-
*/
|
|
7982
|
-
adoptsFrom: string().min(1).optional(),
|
|
7983
7984
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
7984
7985
|
transactFamily: string().min(1).optional(),
|
|
7985
7986
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12671,17 +12672,6 @@ object({
|
|
|
12671
12672
|
createdAt: number(),
|
|
12672
12673
|
updatedAt: number()
|
|
12673
12674
|
});
|
|
12674
|
-
object({
|
|
12675
|
-
id: string(),
|
|
12676
|
-
label: string(),
|
|
12677
|
-
isAdmin: boolean().default(false),
|
|
12678
|
-
allowedProviders: AllowedProviderSchema,
|
|
12679
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12680
|
-
tokenHash: string(),
|
|
12681
|
-
tokenPrefix: string(),
|
|
12682
|
-
createdAt: number(),
|
|
12683
|
-
lastUsedAt: number().optional()
|
|
12684
|
-
});
|
|
12685
12675
|
object({
|
|
12686
12676
|
id: string(),
|
|
12687
12677
|
userId: string(),
|
|
@@ -16663,16 +16653,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16663
16653
|
var DeclareKindResultSchema = object({
|
|
16664
16654
|
kindId: number().int(),
|
|
16665
16655
|
state: RecordKindStateSchema,
|
|
16666
|
-
createdIndexes: array(string())
|
|
16667
|
-
/**
|
|
16668
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16669
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16670
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16671
|
-
*/
|
|
16672
|
-
adoptionPending: _null()
|
|
16656
|
+
createdIndexes: array(string())
|
|
16673
16657
|
});
|
|
16674
16658
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16675
16659
|
var SecretRefsList = array(string());
|
|
16660
|
+
/**
|
|
16661
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16662
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16663
|
+
*/
|
|
16664
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16665
|
+
object({
|
|
16666
|
+
op: literal("put"),
|
|
16667
|
+
kind: RecordKindNameSchema,
|
|
16668
|
+
record: RecordInputSchema,
|
|
16669
|
+
ifRev: number().int().min(0).optional()
|
|
16670
|
+
}),
|
|
16671
|
+
object({
|
|
16672
|
+
op: literal("patch"),
|
|
16673
|
+
kind: RecordKindNameSchema,
|
|
16674
|
+
id: RecordIdSchema,
|
|
16675
|
+
data: RecordBodySchema,
|
|
16676
|
+
at: number().int().nullable().optional(),
|
|
16677
|
+
expiresAt: number().int().nullable().optional(),
|
|
16678
|
+
ifRev: number().int().min(1).optional()
|
|
16679
|
+
}),
|
|
16680
|
+
object({
|
|
16681
|
+
op: literal("delete"),
|
|
16682
|
+
kind: RecordKindNameSchema,
|
|
16683
|
+
id: RecordIdSchema
|
|
16684
|
+
})
|
|
16685
|
+
]);
|
|
16676
16686
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16677
16687
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16678
16688
|
kind: "mutation",
|
|
@@ -16779,6 +16789,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16779
16789
|
}), {
|
|
16780
16790
|
kind: "mutation",
|
|
16781
16791
|
auth: "admin"
|
|
16792
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16793
|
+
results: array(object({
|
|
16794
|
+
rev: number().int().nullable(),
|
|
16795
|
+
deleted: boolean()
|
|
16796
|
+
})),
|
|
16797
|
+
releasedRefs: SecretRefsList,
|
|
16798
|
+
secretRefs: SecretRefsList
|
|
16799
|
+
}), {
|
|
16800
|
+
kind: "mutation",
|
|
16801
|
+
auth: "admin"
|
|
16782
16802
|
}), method(object({
|
|
16783
16803
|
deviceId: number().int(),
|
|
16784
16804
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42486,9 +42506,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42486
42506
|
"node-updating",
|
|
42487
42507
|
"node-inference-unavailable",
|
|
42488
42508
|
"detection-blind",
|
|
42509
|
+
"motion-noisy",
|
|
42510
|
+
"motion-calm",
|
|
42489
42511
|
"recording-stalled",
|
|
42490
42512
|
"recording-healthy",
|
|
42491
42513
|
"recording-degraded",
|
|
42514
|
+
"device-attention-required",
|
|
42515
|
+
"device-attention-resolved",
|
|
42492
42516
|
"storage-location-low",
|
|
42493
42517
|
"storage-location-critical",
|
|
42494
42518
|
"storage-location-ok",
|
|
@@ -55812,6 +55836,16 @@ var DishwasherStatusSchema = object({
|
|
|
55812
55836
|
powerState: string().nullable(),
|
|
55813
55837
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55814
55838
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55839
|
+
/**
|
|
55840
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55841
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
55842
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
55843
|
+
*/
|
|
55844
|
+
filterCleaningDue: boolean().nullable(),
|
|
55845
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
55846
|
+
machineCareDue: boolean().nullable(),
|
|
55847
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
55848
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
55815
55849
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55816
55850
|
halfLoad: boolean().nullable(),
|
|
55817
55851
|
hygienePlus: boolean().nullable(),
|
|
@@ -64462,16 +64496,6 @@ var UpdateUserInputSchema = object({
|
|
|
64462
64496
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64463
64497
|
scopes: array(TokenScopeSchema).optional()
|
|
64464
64498
|
});
|
|
64465
|
-
var ApiKeySummarySchema = object({
|
|
64466
|
-
id: string(),
|
|
64467
|
-
label: string(),
|
|
64468
|
-
isAdmin: boolean().default(false),
|
|
64469
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
64470
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64471
|
-
tokenPrefix: string(),
|
|
64472
|
-
createdAt: number(),
|
|
64473
|
-
lastUsedAt: number().optional()
|
|
64474
|
-
});
|
|
64475
64499
|
var OauthSessionSummarySchema = object({
|
|
64476
64500
|
id: string(),
|
|
64477
64501
|
userId: string(),
|
|
@@ -64493,8 +64517,7 @@ var TotpStatusSchema = object({
|
|
|
64493
64517
|
confirmedAt: number().nullable()
|
|
64494
64518
|
});
|
|
64495
64519
|
/**
|
|
64496
|
-
* user-management — singleton capability for user accounts
|
|
64497
|
-
* legacy API-key rows.
|
|
64520
|
+
* user-management — singleton capability for user accounts.
|
|
64498
64521
|
*
|
|
64499
64522
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64500
64523
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64550,10 +64573,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64550
64573
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64551
64574
|
kind: "mutation",
|
|
64552
64575
|
access: "view"
|
|
64553
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64554
|
-
kind: "mutation",
|
|
64555
|
-
auth: "admin",
|
|
64556
|
-
access: "delete"
|
|
64557
64576
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64558
64577
|
kind: "mutation",
|
|
64559
64578
|
auth: "admin",
|
|
@@ -74009,6 +74028,12 @@ Object.freeze({
|
|
|
74009
74028
|
addonId: null,
|
|
74010
74029
|
access: "view"
|
|
74011
74030
|
},
|
|
74031
|
+
"records.transact": {
|
|
74032
|
+
capName: "records",
|
|
74033
|
+
capScope: "system",
|
|
74034
|
+
addonId: null,
|
|
74035
|
+
access: "create"
|
|
74036
|
+
},
|
|
74012
74037
|
"sceneMonitor.captureReference": {
|
|
74013
74038
|
capName: "scene-monitor",
|
|
74014
74039
|
capScope: "device",
|
|
@@ -75341,12 +75366,6 @@ Object.freeze({
|
|
|
75341
75366
|
addonId: null,
|
|
75342
75367
|
access: "view"
|
|
75343
75368
|
},
|
|
75344
|
-
"userManagement.listApiKeys": {
|
|
75345
|
-
capName: "user-management",
|
|
75346
|
-
capScope: "system",
|
|
75347
|
-
addonId: null,
|
|
75348
|
-
access: "view"
|
|
75349
|
-
},
|
|
75350
75369
|
"userManagement.listExternalIdentities": {
|
|
75351
75370
|
capName: "user-management",
|
|
75352
75371
|
capScope: "system",
|
|
@@ -75401,12 +75420,6 @@ Object.freeze({
|
|
|
75401
75420
|
addonId: null,
|
|
75402
75421
|
access: "create"
|
|
75403
75422
|
},
|
|
75404
|
-
"userManagement.revokeApiKey": {
|
|
75405
|
-
capName: "user-management",
|
|
75406
|
-
capScope: "system",
|
|
75407
|
-
addonId: null,
|
|
75408
|
-
access: "delete"
|
|
75409
|
-
},
|
|
75410
75423
|
"userManagement.revokeOauthSession": {
|
|
75411
75424
|
capName: "user-management",
|
|
75412
75425
|
capScope: "system",
|
|
@@ -78771,9 +78784,13 @@ new Map(Object.entries({
|
|
|
78771
78784
|
"stream-online": "device-events",
|
|
78772
78785
|
"stream-offline": "device-events",
|
|
78773
78786
|
"detection-blind": "device-events",
|
|
78787
|
+
"motion-noisy": "device-events",
|
|
78788
|
+
"motion-calm": "device-events",
|
|
78774
78789
|
"recording-stalled": "device-events",
|
|
78775
78790
|
"recording-healthy": "device-events",
|
|
78776
78791
|
"recording-degraded": "device-events",
|
|
78792
|
+
"device-attention-required": "device-events",
|
|
78793
|
+
"device-attention-resolved": "device-events",
|
|
78777
78794
|
"node-online": "system",
|
|
78778
78795
|
"node-offline": "system",
|
|
78779
78796
|
"node-restarting": "system",
|
|
@@ -78856,6 +78873,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78856
78873
|
label: "Detecting nothing",
|
|
78857
78874
|
kinds: ["detection-blind"]
|
|
78858
78875
|
},
|
|
78876
|
+
{
|
|
78877
|
+
id: "motion-noise",
|
|
78878
|
+
family: "device-events",
|
|
78879
|
+
label: "Motion without a subject",
|
|
78880
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
78881
|
+
},
|
|
78859
78882
|
{
|
|
78860
78883
|
id: "recording",
|
|
78861
78884
|
family: "device-events",
|
|
@@ -78866,6 +78889,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78866
78889
|
"recording-degraded"
|
|
78867
78890
|
]
|
|
78868
78891
|
},
|
|
78892
|
+
{
|
|
78893
|
+
id: "device-attention",
|
|
78894
|
+
family: "device-events",
|
|
78895
|
+
label: "Needs attention",
|
|
78896
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
78897
|
+
},
|
|
78869
78898
|
{
|
|
78870
78899
|
id: "nodes",
|
|
78871
78900
|
family: "system",
|
|
@@ -79005,6 +79034,7 @@ var ALERT_EPISODE = [
|
|
|
79005
79034
|
"alert-error",
|
|
79006
79035
|
"alert-critical-resolved"
|
|
79007
79036
|
];
|
|
79037
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79008
79038
|
var UPDATES = [
|
|
79009
79039
|
"addon-update-available",
|
|
79010
79040
|
"server-update-available",
|
|
@@ -79034,9 +79064,12 @@ var DEVICE_EVENTS = [
|
|
|
79034
79064
|
"stream-online",
|
|
79035
79065
|
"stream-offline",
|
|
79036
79066
|
"detection-blind",
|
|
79067
|
+
"motion-noisy",
|
|
79068
|
+
"motion-calm",
|
|
79037
79069
|
"recording-stalled",
|
|
79038
79070
|
"recording-healthy",
|
|
79039
79071
|
"recording-degraded",
|
|
79072
|
+
...DEVICE_ATTENTION,
|
|
79040
79073
|
...ALARM
|
|
79041
79074
|
];
|
|
79042
79075
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -79204,7 +79237,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
79204
79237
|
[...RULE_TEXT],
|
|
79205
79238
|
[...RULE_TEXT],
|
|
79206
79239
|
[...RULE_TEXT],
|
|
79207
|
-
|
|
79240
|
+
[...RULE_TEXT],
|
|
79241
|
+
[...RULE_TEXT],
|
|
79242
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79208
79243
|
[...RULE_TEXT],
|
|
79209
79244
|
[...RULE_TEXT],
|
|
79210
79245
|
[...RULE_TEXT],
|
|
@@ -79226,11 +79261,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
79226
79261
|
[...RULE_TEXT],
|
|
79227
79262
|
[...RULE_TEXT],
|
|
79228
79263
|
[...RULE_TEXT],
|
|
79264
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79229
79265
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79266
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79230
79267
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79231
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79232
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79233
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79268
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79234
79269
|
[...RULE_TEXT],
|
|
79235
79270
|
[...RULE_TEXT],
|
|
79236
79271
|
[...RULE_TEXT],
|
|
@@ -79306,6 +79341,15 @@ new Map([
|
|
|
79306
79341
|
snapshotLabel: "Tanks low or full now",
|
|
79307
79342
|
snapshotSection: "tanks"
|
|
79308
79343
|
},
|
|
79344
|
+
{
|
|
79345
|
+
id: "motion-noise",
|
|
79346
|
+
family: "device-events",
|
|
79347
|
+
label: "Motion without a subject (constant / calm again)",
|
|
79348
|
+
bad: ["motion-noisy"],
|
|
79349
|
+
recovery: ["motion-calm"],
|
|
79350
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
79351
|
+
snapshotSection: null
|
|
79352
|
+
},
|
|
79309
79353
|
{
|
|
79310
79354
|
id: "recording-health",
|
|
79311
79355
|
family: "device-events",
|
|
@@ -79315,6 +79359,15 @@ new Map([
|
|
|
79315
79359
|
snapshotLabel: "Recordings stalled now",
|
|
79316
79360
|
snapshotSection: null
|
|
79317
79361
|
},
|
|
79362
|
+
{
|
|
79363
|
+
id: "device-attention",
|
|
79364
|
+
family: "device-events",
|
|
79365
|
+
label: "Device needs attention (raised / resolved)",
|
|
79366
|
+
bad: ["device-attention-required"],
|
|
79367
|
+
recovery: ["device-attention-resolved"],
|
|
79368
|
+
snapshotLabel: "Devices needing attention now",
|
|
79369
|
+
snapshotSection: null
|
|
79370
|
+
},
|
|
79318
79371
|
{
|
|
79319
79372
|
id: "node-connectivity",
|
|
79320
79373
|
family: "system",
|
|
@@ -85757,7 +85810,7 @@ function buildConnectionFormSchema() {
|
|
|
85757
85810
|
id: "transport",
|
|
85758
85811
|
title: "Transport",
|
|
85759
85812
|
titleKey: "provider-ecowitt:connection.s_transport.title",
|
|
85760
|
-
description: "
|
|
85813
|
+
description: "Local poll connects out to the gateway (recommended). Push listener needs the gateway \"Customized\" upload pointed at this hub.",
|
|
85761
85814
|
descriptionKey: "provider-ecowitt:connection.s_transport.description",
|
|
85762
85815
|
columns: 1,
|
|
85763
85816
|
fields: [{
|
|
@@ -85884,7 +85937,7 @@ function buildDiscoveryParamsFormSchema() {
|
|
|
85884
85937
|
id: "scan",
|
|
85885
85938
|
title: "Scan options",
|
|
85886
85939
|
titleKey: "provider-ecowitt:discoveryParams.s_scan.title",
|
|
85887
|
-
description: "Leave empty to scan the local subnet
|
|
85940
|
+
description: "Leave empty to scan the local subnet; otherwise list broadcast addresses, gateway IPs or CIDRs, comma or newline separated.",
|
|
85888
85941
|
descriptionKey: "provider-ecowitt:discoveryParams.s_scan.description",
|
|
85889
85942
|
columns: 1,
|
|
85890
85943
|
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_transport.title": "Transport",
|
|
5
|
-
"connection.s_transport.description": "
|
|
5
|
+
"connection.s_transport.description": "Local poll connects out to the gateway (recommended). Push listener needs the gateway \"Customized\" upload pointed at this hub.",
|
|
6
6
|
"connection.s_transport.transport.label": "Transport",
|
|
7
7
|
"connection.s_transport.transport.o_local.label": "Local poll (recommended)",
|
|
8
8
|
"connection.s_transport.transport.o_listener.label": "Push listener",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"connection.s_listener.listenPort.label": "Listen port",
|
|
16
16
|
"connection.s_listener.listenHost.label": "Bind host (optional)",
|
|
17
17
|
"discoveryParams.s_scan.title": "Scan options",
|
|
18
|
-
"discoveryParams.s_scan.description": "Leave empty to scan the local subnet
|
|
18
|
+
"discoveryParams.s_scan.description": "Leave empty to scan the local subnet; otherwise list broadcast addresses, gateway IPs or CIDRs, comma or newline separated.",
|
|
19
19
|
"discoveryParams.s_scan.broadcastAddress.label": "Broadcast addresses / gateway IPs / CIDRs",
|
|
20
20
|
"discoveryParams.s_scan.timeoutMs.label": "UDP timeout (ms)"
|
|
21
21
|
}
|
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_transport.title": "Trasporto",
|
|
5
|
-
"connection.s_transport.description": "
|
|
5
|
+
"connection.s_transport.description": "Il polling locale si connette al gateway (consigliato). Il listener push richiede che l'upload \"Customized\" del gateway punti a questo hub.",
|
|
6
6
|
"connection.s_transport.transport.label": "Trasporto",
|
|
7
7
|
"connection.s_transport.transport.o_local.label": "Lettura locale (consigliato)",
|
|
8
8
|
"connection.s_transport.transport.o_listener.label": "Listener push",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"connection.s_listener.listenPort.label": "Porta di ascolto",
|
|
16
16
|
"connection.s_listener.listenHost.label": "Host di ascolto (facoltativo)",
|
|
17
17
|
"discoveryParams.s_scan.title": "Opzioni di scansione",
|
|
18
|
-
"discoveryParams.s_scan.description": "Lascia vuoto per scansionare la
|
|
18
|
+
"discoveryParams.s_scan.description": "Lascia vuoto per scansionare la subnet locale; altrimenti elenca indirizzi broadcast, IP dei gateway o CIDR, separati da virgola o a capo.",
|
|
19
19
|
"discoveryParams.s_scan.broadcastAddress.label": "Indirizzi di broadcast / IP dei gateway / CIDR",
|
|
20
20
|
"discoveryParams.s_scan.timeoutMs.label": "Timeout UDP (ms)"
|
|
21
21
|
}
|
package/package.json
CHANGED