@camstack/addon-provider-ecowitt 0.2.141 → 0.2.143
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 -69
- package/dist/addon.mjs +116 -69
- 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",
|
|
@@ -48050,7 +48074,6 @@ var RecommendationReasonSchema = discriminatedUnion("kind", [
|
|
|
48050
48074
|
modelId: string()
|
|
48051
48075
|
}),
|
|
48052
48076
|
object({ kind: literal("cpu-device") }),
|
|
48053
|
-
object({ kind: literal("coral-untouched") }),
|
|
48054
48077
|
object({ kind: literal("device-disabled") }),
|
|
48055
48078
|
object({ kind: literal("device-unavailable") }),
|
|
48056
48079
|
object({ kind: literal("node-offline") }),
|
|
@@ -48148,11 +48171,6 @@ var AutoTuneWarningSchema = discriminatedUnion("kind", [
|
|
|
48148
48171
|
kind: literal("detector-store-unreadable"),
|
|
48149
48172
|
error: string()
|
|
48150
48173
|
}),
|
|
48151
|
-
object({
|
|
48152
|
-
kind: literal("coral-enabled"),
|
|
48153
|
-
nodeId: string(),
|
|
48154
|
-
deviceKey: string()
|
|
48155
|
-
}),
|
|
48156
48174
|
object({
|
|
48157
48175
|
kind: literal("custom-pin-kept"),
|
|
48158
48176
|
nodeId: string(),
|
|
@@ -55813,6 +55831,16 @@ var DishwasherStatusSchema = object({
|
|
|
55813
55831
|
powerState: string().nullable(),
|
|
55814
55832
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55815
55833
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55834
|
+
/**
|
|
55835
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55836
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
55837
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
55838
|
+
*/
|
|
55839
|
+
filterCleaningDue: boolean().nullable(),
|
|
55840
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
55841
|
+
machineCareDue: boolean().nullable(),
|
|
55842
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
55843
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
55816
55844
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55817
55845
|
halfLoad: boolean().nullable(),
|
|
55818
55846
|
hygienePlus: boolean().nullable(),
|
|
@@ -64463,16 +64491,6 @@ var UpdateUserInputSchema = object({
|
|
|
64463
64491
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64464
64492
|
scopes: array(TokenScopeSchema).optional()
|
|
64465
64493
|
});
|
|
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
64494
|
var OauthSessionSummarySchema = object({
|
|
64477
64495
|
id: string(),
|
|
64478
64496
|
userId: string(),
|
|
@@ -64494,8 +64512,7 @@ var TotpStatusSchema = object({
|
|
|
64494
64512
|
confirmedAt: number().nullable()
|
|
64495
64513
|
});
|
|
64496
64514
|
/**
|
|
64497
|
-
* user-management — singleton capability for user accounts
|
|
64498
|
-
* legacy API-key rows.
|
|
64515
|
+
* user-management — singleton capability for user accounts.
|
|
64499
64516
|
*
|
|
64500
64517
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64501
64518
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64551,10 +64568,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64551
64568
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64552
64569
|
kind: "mutation",
|
|
64553
64570
|
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
64571
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64559
64572
|
kind: "mutation",
|
|
64560
64573
|
auth: "admin",
|
|
@@ -74010,6 +74023,12 @@ Object.freeze({
|
|
|
74010
74023
|
addonId: null,
|
|
74011
74024
|
access: "view"
|
|
74012
74025
|
},
|
|
74026
|
+
"records.transact": {
|
|
74027
|
+
capName: "records",
|
|
74028
|
+
capScope: "system",
|
|
74029
|
+
addonId: null,
|
|
74030
|
+
access: "create"
|
|
74031
|
+
},
|
|
74013
74032
|
"sceneMonitor.captureReference": {
|
|
74014
74033
|
capName: "scene-monitor",
|
|
74015
74034
|
capScope: "device",
|
|
@@ -75342,12 +75361,6 @@ Object.freeze({
|
|
|
75342
75361
|
addonId: null,
|
|
75343
75362
|
access: "view"
|
|
75344
75363
|
},
|
|
75345
|
-
"userManagement.listApiKeys": {
|
|
75346
|
-
capName: "user-management",
|
|
75347
|
-
capScope: "system",
|
|
75348
|
-
addonId: null,
|
|
75349
|
-
access: "view"
|
|
75350
|
-
},
|
|
75351
75364
|
"userManagement.listExternalIdentities": {
|
|
75352
75365
|
capName: "user-management",
|
|
75353
75366
|
capScope: "system",
|
|
@@ -75402,12 +75415,6 @@ Object.freeze({
|
|
|
75402
75415
|
addonId: null,
|
|
75403
75416
|
access: "create"
|
|
75404
75417
|
},
|
|
75405
|
-
"userManagement.revokeApiKey": {
|
|
75406
|
-
capName: "user-management",
|
|
75407
|
-
capScope: "system",
|
|
75408
|
-
addonId: null,
|
|
75409
|
-
access: "delete"
|
|
75410
|
-
},
|
|
75411
75418
|
"userManagement.revokeOauthSession": {
|
|
75412
75419
|
capName: "user-management",
|
|
75413
75420
|
capScope: "system",
|
|
@@ -78772,9 +78779,13 @@ new Map(Object.entries({
|
|
|
78772
78779
|
"stream-online": "device-events",
|
|
78773
78780
|
"stream-offline": "device-events",
|
|
78774
78781
|
"detection-blind": "device-events",
|
|
78782
|
+
"motion-noisy": "device-events",
|
|
78783
|
+
"motion-calm": "device-events",
|
|
78775
78784
|
"recording-stalled": "device-events",
|
|
78776
78785
|
"recording-healthy": "device-events",
|
|
78777
78786
|
"recording-degraded": "device-events",
|
|
78787
|
+
"device-attention-required": "device-events",
|
|
78788
|
+
"device-attention-resolved": "device-events",
|
|
78778
78789
|
"node-online": "system",
|
|
78779
78790
|
"node-offline": "system",
|
|
78780
78791
|
"node-restarting": "system",
|
|
@@ -78857,6 +78868,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78857
78868
|
label: "Detecting nothing",
|
|
78858
78869
|
kinds: ["detection-blind"]
|
|
78859
78870
|
},
|
|
78871
|
+
{
|
|
78872
|
+
id: "motion-noise",
|
|
78873
|
+
family: "device-events",
|
|
78874
|
+
label: "Motion without a subject",
|
|
78875
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
78876
|
+
},
|
|
78860
78877
|
{
|
|
78861
78878
|
id: "recording",
|
|
78862
78879
|
family: "device-events",
|
|
@@ -78867,6 +78884,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78867
78884
|
"recording-degraded"
|
|
78868
78885
|
]
|
|
78869
78886
|
},
|
|
78887
|
+
{
|
|
78888
|
+
id: "device-attention",
|
|
78889
|
+
family: "device-events",
|
|
78890
|
+
label: "Needs attention",
|
|
78891
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
78892
|
+
},
|
|
78870
78893
|
{
|
|
78871
78894
|
id: "nodes",
|
|
78872
78895
|
family: "system",
|
|
@@ -79006,6 +79029,7 @@ var ALERT_EPISODE = [
|
|
|
79006
79029
|
"alert-error",
|
|
79007
79030
|
"alert-critical-resolved"
|
|
79008
79031
|
];
|
|
79032
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79009
79033
|
var UPDATES = [
|
|
79010
79034
|
"addon-update-available",
|
|
79011
79035
|
"server-update-available",
|
|
@@ -79035,9 +79059,12 @@ var DEVICE_EVENTS = [
|
|
|
79035
79059
|
"stream-online",
|
|
79036
79060
|
"stream-offline",
|
|
79037
79061
|
"detection-blind",
|
|
79062
|
+
"motion-noisy",
|
|
79063
|
+
"motion-calm",
|
|
79038
79064
|
"recording-stalled",
|
|
79039
79065
|
"recording-healthy",
|
|
79040
79066
|
"recording-degraded",
|
|
79067
|
+
...DEVICE_ATTENTION,
|
|
79041
79068
|
...ALARM
|
|
79042
79069
|
];
|
|
79043
79070
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -79205,7 +79232,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
79205
79232
|
[...RULE_TEXT],
|
|
79206
79233
|
[...RULE_TEXT],
|
|
79207
79234
|
[...RULE_TEXT],
|
|
79208
|
-
|
|
79235
|
+
[...RULE_TEXT],
|
|
79236
|
+
[...RULE_TEXT],
|
|
79237
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79209
79238
|
[...RULE_TEXT],
|
|
79210
79239
|
[...RULE_TEXT],
|
|
79211
79240
|
[...RULE_TEXT],
|
|
@@ -79227,11 +79256,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
79227
79256
|
[...RULE_TEXT],
|
|
79228
79257
|
[...RULE_TEXT],
|
|
79229
79258
|
[...RULE_TEXT],
|
|
79259
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79230
79260
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79261
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79231
79262
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79232
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79233
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79234
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79263
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79235
79264
|
[...RULE_TEXT],
|
|
79236
79265
|
[...RULE_TEXT],
|
|
79237
79266
|
[...RULE_TEXT],
|
|
@@ -79307,6 +79336,15 @@ new Map([
|
|
|
79307
79336
|
snapshotLabel: "Tanks low or full now",
|
|
79308
79337
|
snapshotSection: "tanks"
|
|
79309
79338
|
},
|
|
79339
|
+
{
|
|
79340
|
+
id: "motion-noise",
|
|
79341
|
+
family: "device-events",
|
|
79342
|
+
label: "Motion without a subject (constant / calm again)",
|
|
79343
|
+
bad: ["motion-noisy"],
|
|
79344
|
+
recovery: ["motion-calm"],
|
|
79345
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
79346
|
+
snapshotSection: null
|
|
79347
|
+
},
|
|
79310
79348
|
{
|
|
79311
79349
|
id: "recording-health",
|
|
79312
79350
|
family: "device-events",
|
|
@@ -79316,6 +79354,15 @@ new Map([
|
|
|
79316
79354
|
snapshotLabel: "Recordings stalled now",
|
|
79317
79355
|
snapshotSection: null
|
|
79318
79356
|
},
|
|
79357
|
+
{
|
|
79358
|
+
id: "device-attention",
|
|
79359
|
+
family: "device-events",
|
|
79360
|
+
label: "Device needs attention (raised / resolved)",
|
|
79361
|
+
bad: ["device-attention-required"],
|
|
79362
|
+
recovery: ["device-attention-resolved"],
|
|
79363
|
+
snapshotLabel: "Devices needing attention now",
|
|
79364
|
+
snapshotSection: null
|
|
79365
|
+
},
|
|
79319
79366
|
{
|
|
79320
79367
|
id: "node-connectivity",
|
|
79321
79368
|
family: "system",
|
|
@@ -85758,7 +85805,7 @@ function buildConnectionFormSchema() {
|
|
|
85758
85805
|
id: "transport",
|
|
85759
85806
|
title: "Transport",
|
|
85760
85807
|
titleKey: "provider-ecowitt:connection.s_transport.title",
|
|
85761
|
-
description: "
|
|
85808
|
+
description: "Local poll connects out to the gateway (recommended). Push listener needs the gateway \"Customized\" upload pointed at this hub.",
|
|
85762
85809
|
descriptionKey: "provider-ecowitt:connection.s_transport.description",
|
|
85763
85810
|
columns: 1,
|
|
85764
85811
|
fields: [{
|
|
@@ -85885,7 +85932,7 @@ function buildDiscoveryParamsFormSchema() {
|
|
|
85885
85932
|
id: "scan",
|
|
85886
85933
|
title: "Scan options",
|
|
85887
85934
|
titleKey: "provider-ecowitt:discoveryParams.s_scan.title",
|
|
85888
|
-
description: "Leave empty to scan the local subnet
|
|
85935
|
+
description: "Leave empty to scan the local subnet; otherwise list broadcast addresses, gateway IPs or CIDRs, comma or newline separated.",
|
|
85889
85936
|
descriptionKey: "provider-ecowitt:discoveryParams.s_scan.description",
|
|
85890
85937
|
columns: 1,
|
|
85891
85938
|
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",
|
|
@@ -48049,7 +48073,6 @@ var RecommendationReasonSchema = discriminatedUnion("kind", [
|
|
|
48049
48073
|
modelId: string()
|
|
48050
48074
|
}),
|
|
48051
48075
|
object({ kind: literal("cpu-device") }),
|
|
48052
|
-
object({ kind: literal("coral-untouched") }),
|
|
48053
48076
|
object({ kind: literal("device-disabled") }),
|
|
48054
48077
|
object({ kind: literal("device-unavailable") }),
|
|
48055
48078
|
object({ kind: literal("node-offline") }),
|
|
@@ -48147,11 +48170,6 @@ var AutoTuneWarningSchema = discriminatedUnion("kind", [
|
|
|
48147
48170
|
kind: literal("detector-store-unreadable"),
|
|
48148
48171
|
error: string()
|
|
48149
48172
|
}),
|
|
48150
|
-
object({
|
|
48151
|
-
kind: literal("coral-enabled"),
|
|
48152
|
-
nodeId: string(),
|
|
48153
|
-
deviceKey: string()
|
|
48154
|
-
}),
|
|
48155
48173
|
object({
|
|
48156
48174
|
kind: literal("custom-pin-kept"),
|
|
48157
48175
|
nodeId: string(),
|
|
@@ -55812,6 +55830,16 @@ var DishwasherStatusSchema = object({
|
|
|
55812
55830
|
powerState: string().nullable(),
|
|
55813
55831
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55814
55832
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55833
|
+
/**
|
|
55834
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55835
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
55836
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
55837
|
+
*/
|
|
55838
|
+
filterCleaningDue: boolean().nullable(),
|
|
55839
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
55840
|
+
machineCareDue: boolean().nullable(),
|
|
55841
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
55842
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
55815
55843
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55816
55844
|
halfLoad: boolean().nullable(),
|
|
55817
55845
|
hygienePlus: boolean().nullable(),
|
|
@@ -64462,16 +64490,6 @@ var UpdateUserInputSchema = object({
|
|
|
64462
64490
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64463
64491
|
scopes: array(TokenScopeSchema).optional()
|
|
64464
64492
|
});
|
|
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
64493
|
var OauthSessionSummarySchema = object({
|
|
64476
64494
|
id: string(),
|
|
64477
64495
|
userId: string(),
|
|
@@ -64493,8 +64511,7 @@ var TotpStatusSchema = object({
|
|
|
64493
64511
|
confirmedAt: number().nullable()
|
|
64494
64512
|
});
|
|
64495
64513
|
/**
|
|
64496
|
-
* user-management — singleton capability for user accounts
|
|
64497
|
-
* legacy API-key rows.
|
|
64514
|
+
* user-management — singleton capability for user accounts.
|
|
64498
64515
|
*
|
|
64499
64516
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64500
64517
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64550,10 +64567,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64550
64567
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64551
64568
|
kind: "mutation",
|
|
64552
64569
|
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
64570
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64558
64571
|
kind: "mutation",
|
|
64559
64572
|
auth: "admin",
|
|
@@ -74009,6 +74022,12 @@ Object.freeze({
|
|
|
74009
74022
|
addonId: null,
|
|
74010
74023
|
access: "view"
|
|
74011
74024
|
},
|
|
74025
|
+
"records.transact": {
|
|
74026
|
+
capName: "records",
|
|
74027
|
+
capScope: "system",
|
|
74028
|
+
addonId: null,
|
|
74029
|
+
access: "create"
|
|
74030
|
+
},
|
|
74012
74031
|
"sceneMonitor.captureReference": {
|
|
74013
74032
|
capName: "scene-monitor",
|
|
74014
74033
|
capScope: "device",
|
|
@@ -75341,12 +75360,6 @@ Object.freeze({
|
|
|
75341
75360
|
addonId: null,
|
|
75342
75361
|
access: "view"
|
|
75343
75362
|
},
|
|
75344
|
-
"userManagement.listApiKeys": {
|
|
75345
|
-
capName: "user-management",
|
|
75346
|
-
capScope: "system",
|
|
75347
|
-
addonId: null,
|
|
75348
|
-
access: "view"
|
|
75349
|
-
},
|
|
75350
75363
|
"userManagement.listExternalIdentities": {
|
|
75351
75364
|
capName: "user-management",
|
|
75352
75365
|
capScope: "system",
|
|
@@ -75401,12 +75414,6 @@ Object.freeze({
|
|
|
75401
75414
|
addonId: null,
|
|
75402
75415
|
access: "create"
|
|
75403
75416
|
},
|
|
75404
|
-
"userManagement.revokeApiKey": {
|
|
75405
|
-
capName: "user-management",
|
|
75406
|
-
capScope: "system",
|
|
75407
|
-
addonId: null,
|
|
75408
|
-
access: "delete"
|
|
75409
|
-
},
|
|
75410
75417
|
"userManagement.revokeOauthSession": {
|
|
75411
75418
|
capName: "user-management",
|
|
75412
75419
|
capScope: "system",
|
|
@@ -78771,9 +78778,13 @@ new Map(Object.entries({
|
|
|
78771
78778
|
"stream-online": "device-events",
|
|
78772
78779
|
"stream-offline": "device-events",
|
|
78773
78780
|
"detection-blind": "device-events",
|
|
78781
|
+
"motion-noisy": "device-events",
|
|
78782
|
+
"motion-calm": "device-events",
|
|
78774
78783
|
"recording-stalled": "device-events",
|
|
78775
78784
|
"recording-healthy": "device-events",
|
|
78776
78785
|
"recording-degraded": "device-events",
|
|
78786
|
+
"device-attention-required": "device-events",
|
|
78787
|
+
"device-attention-resolved": "device-events",
|
|
78777
78788
|
"node-online": "system",
|
|
78778
78789
|
"node-offline": "system",
|
|
78779
78790
|
"node-restarting": "system",
|
|
@@ -78856,6 +78867,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78856
78867
|
label: "Detecting nothing",
|
|
78857
78868
|
kinds: ["detection-blind"]
|
|
78858
78869
|
},
|
|
78870
|
+
{
|
|
78871
|
+
id: "motion-noise",
|
|
78872
|
+
family: "device-events",
|
|
78873
|
+
label: "Motion without a subject",
|
|
78874
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
78875
|
+
},
|
|
78859
78876
|
{
|
|
78860
78877
|
id: "recording",
|
|
78861
78878
|
family: "device-events",
|
|
@@ -78866,6 +78883,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78866
78883
|
"recording-degraded"
|
|
78867
78884
|
]
|
|
78868
78885
|
},
|
|
78886
|
+
{
|
|
78887
|
+
id: "device-attention",
|
|
78888
|
+
family: "device-events",
|
|
78889
|
+
label: "Needs attention",
|
|
78890
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
78891
|
+
},
|
|
78869
78892
|
{
|
|
78870
78893
|
id: "nodes",
|
|
78871
78894
|
family: "system",
|
|
@@ -79005,6 +79028,7 @@ var ALERT_EPISODE = [
|
|
|
79005
79028
|
"alert-error",
|
|
79006
79029
|
"alert-critical-resolved"
|
|
79007
79030
|
];
|
|
79031
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79008
79032
|
var UPDATES = [
|
|
79009
79033
|
"addon-update-available",
|
|
79010
79034
|
"server-update-available",
|
|
@@ -79034,9 +79058,12 @@ var DEVICE_EVENTS = [
|
|
|
79034
79058
|
"stream-online",
|
|
79035
79059
|
"stream-offline",
|
|
79036
79060
|
"detection-blind",
|
|
79061
|
+
"motion-noisy",
|
|
79062
|
+
"motion-calm",
|
|
79037
79063
|
"recording-stalled",
|
|
79038
79064
|
"recording-healthy",
|
|
79039
79065
|
"recording-degraded",
|
|
79066
|
+
...DEVICE_ATTENTION,
|
|
79040
79067
|
...ALARM
|
|
79041
79068
|
];
|
|
79042
79069
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -79204,7 +79231,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
79204
79231
|
[...RULE_TEXT],
|
|
79205
79232
|
[...RULE_TEXT],
|
|
79206
79233
|
[...RULE_TEXT],
|
|
79207
|
-
|
|
79234
|
+
[...RULE_TEXT],
|
|
79235
|
+
[...RULE_TEXT],
|
|
79236
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79208
79237
|
[...RULE_TEXT],
|
|
79209
79238
|
[...RULE_TEXT],
|
|
79210
79239
|
[...RULE_TEXT],
|
|
@@ -79226,11 +79255,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
79226
79255
|
[...RULE_TEXT],
|
|
79227
79256
|
[...RULE_TEXT],
|
|
79228
79257
|
[...RULE_TEXT],
|
|
79258
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79229
79259
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79260
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79230
79261
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79231
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79232
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79233
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79262
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79234
79263
|
[...RULE_TEXT],
|
|
79235
79264
|
[...RULE_TEXT],
|
|
79236
79265
|
[...RULE_TEXT],
|
|
@@ -79306,6 +79335,15 @@ new Map([
|
|
|
79306
79335
|
snapshotLabel: "Tanks low or full now",
|
|
79307
79336
|
snapshotSection: "tanks"
|
|
79308
79337
|
},
|
|
79338
|
+
{
|
|
79339
|
+
id: "motion-noise",
|
|
79340
|
+
family: "device-events",
|
|
79341
|
+
label: "Motion without a subject (constant / calm again)",
|
|
79342
|
+
bad: ["motion-noisy"],
|
|
79343
|
+
recovery: ["motion-calm"],
|
|
79344
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
79345
|
+
snapshotSection: null
|
|
79346
|
+
},
|
|
79309
79347
|
{
|
|
79310
79348
|
id: "recording-health",
|
|
79311
79349
|
family: "device-events",
|
|
@@ -79315,6 +79353,15 @@ new Map([
|
|
|
79315
79353
|
snapshotLabel: "Recordings stalled now",
|
|
79316
79354
|
snapshotSection: null
|
|
79317
79355
|
},
|
|
79356
|
+
{
|
|
79357
|
+
id: "device-attention",
|
|
79358
|
+
family: "device-events",
|
|
79359
|
+
label: "Device needs attention (raised / resolved)",
|
|
79360
|
+
bad: ["device-attention-required"],
|
|
79361
|
+
recovery: ["device-attention-resolved"],
|
|
79362
|
+
snapshotLabel: "Devices needing attention now",
|
|
79363
|
+
snapshotSection: null
|
|
79364
|
+
},
|
|
79318
79365
|
{
|
|
79319
79366
|
id: "node-connectivity",
|
|
79320
79367
|
family: "system",
|
|
@@ -85757,7 +85804,7 @@ function buildConnectionFormSchema() {
|
|
|
85757
85804
|
id: "transport",
|
|
85758
85805
|
title: "Transport",
|
|
85759
85806
|
titleKey: "provider-ecowitt:connection.s_transport.title",
|
|
85760
|
-
description: "
|
|
85807
|
+
description: "Local poll connects out to the gateway (recommended). Push listener needs the gateway \"Customized\" upload pointed at this hub.",
|
|
85761
85808
|
descriptionKey: "provider-ecowitt:connection.s_transport.description",
|
|
85762
85809
|
columns: 1,
|
|
85763
85810
|
fields: [{
|
|
@@ -85884,7 +85931,7 @@ function buildDiscoveryParamsFormSchema() {
|
|
|
85884
85931
|
id: "scan",
|
|
85885
85932
|
title: "Scan options",
|
|
85886
85933
|
titleKey: "provider-ecowitt:discoveryParams.s_scan.title",
|
|
85887
|
-
description: "Leave empty to scan the local subnet
|
|
85934
|
+
description: "Leave empty to scan the local subnet; otherwise list broadcast addresses, gateway IPs or CIDRs, comma or newline separated.",
|
|
85888
85935
|
descriptionKey: "provider-ecowitt:discoveryParams.s_scan.description",
|
|
85889
85936
|
columns: 1,
|
|
85890
85937
|
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