@camstack/addon-provider-homematic 1.2.150 → 1.2.152
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 +241 -69
- package/dist/addon.mjs +241 -69
- package/i18n/en.json +3 -5
- package/i18n/it.json +3 -5
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -8,7 +8,7 @@ let http = require("http");
|
|
|
8
8
|
let crypto$1 = require("crypto");
|
|
9
9
|
let fs_promises = require("fs/promises");
|
|
10
10
|
let path = require("path");
|
|
11
|
-
//#region ../types/dist/event-category-
|
|
11
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
12
12
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
13
13
|
EventCategory["SystemBoot"] = "system.boot";
|
|
14
14
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -325,6 +325,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
325
325
|
*/
|
|
326
326
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
327
327
|
/**
|
|
328
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
329
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
330
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
331
|
+
* {@link PipelineMotionCalm}.
|
|
332
|
+
*/
|
|
333
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
334
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
335
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
336
|
+
/**
|
|
328
337
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
329
338
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
330
339
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -696,6 +705,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
696
705
|
EventCategory["BackupRestored"] = "backup.restored";
|
|
697
706
|
EventCategory["NotificationDispatched"] = "notification.dispatched";
|
|
698
707
|
EventCategory["NotificationFailed"] = "notification.failed";
|
|
708
|
+
/**
|
|
709
|
+
* A notification rule that cannot work (D905): its stored row does not load,
|
|
710
|
+
* or it still names a device / delivery target the prune CONFIRMED deleted.
|
|
711
|
+
* One edge per rule per distinct set of reasons; never on an unanswered read.
|
|
712
|
+
*/
|
|
713
|
+
EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
|
|
714
|
+
/** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
|
|
715
|
+
EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
|
|
699
716
|
EventCategory["DeviceUpdated"] = "device.updated";
|
|
700
717
|
/**
|
|
701
718
|
* Transport-level connectivity. Emitted by the device driver when
|
|
@@ -5556,7 +5573,7 @@ var ZodIssueCode = {
|
|
|
5556
5573
|
var ZodFirstPartyTypeKind;
|
|
5557
5574
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5558
5575
|
//#endregion
|
|
5559
|
-
//#region ../types/dist/sleep-
|
|
5576
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5560
5577
|
/**
|
|
5561
5578
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5562
5579
|
* window to float samples (D455).
|
|
@@ -8155,7 +8172,7 @@ var EntryDescriptorSchema = object({
|
|
|
8155
8172
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
8156
8173
|
fields: record(string(), unknown())
|
|
8157
8174
|
}).strict();
|
|
8158
|
-
/** What crosses the wire
|
|
8175
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
8159
8176
|
var RecordKindDeclarationSchema = object({
|
|
8160
8177
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
8161
8178
|
class: _enum(RECORD_CLASSES),
|
|
@@ -8174,14 +8191,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
8174
8191
|
secretPaths: array(string().min(1)).default([]),
|
|
8175
8192
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
8176
8193
|
secretArrayKeys: record(string(), string()).default({}),
|
|
8177
|
-
/**
|
|
8178
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
8179
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8180
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8181
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8182
|
-
* removal still sends it. Never set it.
|
|
8183
|
-
*/
|
|
8184
|
-
adoptsFrom: string().min(1).optional(),
|
|
8185
8194
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8186
8195
|
transactFamily: string().min(1).optional(),
|
|
8187
8196
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12977,17 +12986,6 @@ object({
|
|
|
12977
12986
|
createdAt: number(),
|
|
12978
12987
|
updatedAt: number()
|
|
12979
12988
|
});
|
|
12980
|
-
object({
|
|
12981
|
-
id: string(),
|
|
12982
|
-
label: string(),
|
|
12983
|
-
isAdmin: boolean().default(false),
|
|
12984
|
-
allowedProviders: AllowedProviderSchema,
|
|
12985
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12986
|
-
tokenHash: string(),
|
|
12987
|
-
tokenPrefix: string(),
|
|
12988
|
-
createdAt: number(),
|
|
12989
|
-
lastUsedAt: number().optional()
|
|
12990
|
-
});
|
|
12991
12989
|
object({
|
|
12992
12990
|
id: string(),
|
|
12993
12991
|
userId: string(),
|
|
@@ -17018,16 +17016,36 @@ var RecordKindStateSchema = _enum([
|
|
|
17018
17016
|
var DeclareKindResultSchema = object({
|
|
17019
17017
|
kindId: number().int(),
|
|
17020
17018
|
state: RecordKindStateSchema,
|
|
17021
|
-
createdIndexes: array(string())
|
|
17022
|
-
/**
|
|
17023
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
17024
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
17025
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
17026
|
-
*/
|
|
17027
|
-
adoptionPending: _null()
|
|
17019
|
+
createdIndexes: array(string())
|
|
17028
17020
|
});
|
|
17029
17021
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
17030
17022
|
var SecretRefsList = array(string());
|
|
17023
|
+
/**
|
|
17024
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
17025
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
17026
|
+
*/
|
|
17027
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
17028
|
+
object({
|
|
17029
|
+
op: literal("put"),
|
|
17030
|
+
kind: RecordKindNameSchema,
|
|
17031
|
+
record: RecordInputSchema,
|
|
17032
|
+
ifRev: number().int().min(0).optional()
|
|
17033
|
+
}),
|
|
17034
|
+
object({
|
|
17035
|
+
op: literal("patch"),
|
|
17036
|
+
kind: RecordKindNameSchema,
|
|
17037
|
+
id: RecordIdSchema,
|
|
17038
|
+
data: RecordBodySchema,
|
|
17039
|
+
at: number().int().nullable().optional(),
|
|
17040
|
+
expiresAt: number().int().nullable().optional(),
|
|
17041
|
+
ifRev: number().int().min(1).optional()
|
|
17042
|
+
}),
|
|
17043
|
+
object({
|
|
17044
|
+
op: literal("delete"),
|
|
17045
|
+
kind: RecordKindNameSchema,
|
|
17046
|
+
id: RecordIdSchema
|
|
17047
|
+
})
|
|
17048
|
+
]);
|
|
17031
17049
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
17032
17050
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
17033
17051
|
kind: "mutation",
|
|
@@ -17134,6 +17152,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
17134
17152
|
}), {
|
|
17135
17153
|
kind: "mutation",
|
|
17136
17154
|
auth: "admin"
|
|
17155
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
17156
|
+
results: array(object({
|
|
17157
|
+
rev: number().int().nullable(),
|
|
17158
|
+
deleted: boolean()
|
|
17159
|
+
})),
|
|
17160
|
+
releasedRefs: SecretRefsList,
|
|
17161
|
+
secretRefs: SecretRefsList
|
|
17162
|
+
}), {
|
|
17163
|
+
kind: "mutation",
|
|
17164
|
+
auth: "admin"
|
|
17137
17165
|
}), method(object({
|
|
17138
17166
|
deviceId: number().int(),
|
|
17139
17167
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42858,9 +42886,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42858
42886
|
"node-updating",
|
|
42859
42887
|
"node-inference-unavailable",
|
|
42860
42888
|
"detection-blind",
|
|
42889
|
+
"motion-noisy",
|
|
42890
|
+
"motion-calm",
|
|
42861
42891
|
"recording-stalled",
|
|
42862
42892
|
"recording-healthy",
|
|
42863
42893
|
"recording-degraded",
|
|
42894
|
+
"device-attention-required",
|
|
42895
|
+
"device-attention-resolved",
|
|
42864
42896
|
"storage-location-low",
|
|
42865
42897
|
"storage-location-critical",
|
|
42866
42898
|
"storage-location-ok",
|
|
@@ -42884,6 +42916,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42884
42916
|
"alert-critical",
|
|
42885
42917
|
"alert-error",
|
|
42886
42918
|
"alert-critical-resolved",
|
|
42919
|
+
"rule-broken",
|
|
42920
|
+
"rule-repaired",
|
|
42887
42921
|
"camera-online",
|
|
42888
42922
|
"camera-offline",
|
|
42889
42923
|
"camera-disabled",
|
|
@@ -56182,6 +56216,16 @@ var DishwasherStatusSchema = object({
|
|
|
56182
56216
|
powerState: string().nullable(),
|
|
56183
56217
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56184
56218
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56219
|
+
/**
|
|
56220
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
56221
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
56222
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
56223
|
+
*/
|
|
56224
|
+
filterCleaningDue: boolean().nullable(),
|
|
56225
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
56226
|
+
machineCareDue: boolean().nullable(),
|
|
56227
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
56228
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
56185
56229
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
56186
56230
|
halfLoad: boolean().nullable(),
|
|
56187
56231
|
hygienePlus: boolean().nullable(),
|
|
@@ -64832,16 +64876,6 @@ var UpdateUserInputSchema = object({
|
|
|
64832
64876
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64833
64877
|
scopes: array(TokenScopeSchema).optional()
|
|
64834
64878
|
});
|
|
64835
|
-
var ApiKeySummarySchema = object({
|
|
64836
|
-
id: string(),
|
|
64837
|
-
label: string(),
|
|
64838
|
-
isAdmin: boolean().default(false),
|
|
64839
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
64840
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64841
|
-
tokenPrefix: string(),
|
|
64842
|
-
createdAt: number(),
|
|
64843
|
-
lastUsedAt: number().optional()
|
|
64844
|
-
});
|
|
64845
64879
|
var OauthSessionSummarySchema = object({
|
|
64846
64880
|
id: string(),
|
|
64847
64881
|
userId: string(),
|
|
@@ -64863,8 +64897,7 @@ var TotpStatusSchema = object({
|
|
|
64863
64897
|
confirmedAt: number().nullable()
|
|
64864
64898
|
});
|
|
64865
64899
|
/**
|
|
64866
|
-
* user-management — singleton capability for user accounts
|
|
64867
|
-
* legacy API-key rows.
|
|
64900
|
+
* user-management — singleton capability for user accounts.
|
|
64868
64901
|
*
|
|
64869
64902
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64870
64903
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64920,10 +64953,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64920
64953
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64921
64954
|
kind: "mutation",
|
|
64922
64955
|
access: "view"
|
|
64923
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64924
|
-
kind: "mutation",
|
|
64925
|
-
auth: "admin",
|
|
64926
|
-
access: "delete"
|
|
64927
64956
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64928
64957
|
kind: "mutation",
|
|
64929
64958
|
auth: "admin",
|
|
@@ -74379,6 +74408,12 @@ Object.freeze({
|
|
|
74379
74408
|
addonId: null,
|
|
74380
74409
|
access: "view"
|
|
74381
74410
|
},
|
|
74411
|
+
"records.transact": {
|
|
74412
|
+
capName: "records",
|
|
74413
|
+
capScope: "system",
|
|
74414
|
+
addonId: null,
|
|
74415
|
+
access: "create"
|
|
74416
|
+
},
|
|
74382
74417
|
"sceneMonitor.captureReference": {
|
|
74383
74418
|
capName: "scene-monitor",
|
|
74384
74419
|
capScope: "device",
|
|
@@ -75711,12 +75746,6 @@ Object.freeze({
|
|
|
75711
75746
|
addonId: null,
|
|
75712
75747
|
access: "view"
|
|
75713
75748
|
},
|
|
75714
|
-
"userManagement.listApiKeys": {
|
|
75715
|
-
capName: "user-management",
|
|
75716
|
-
capScope: "system",
|
|
75717
|
-
addonId: null,
|
|
75718
|
-
access: "view"
|
|
75719
|
-
},
|
|
75720
75749
|
"userManagement.listExternalIdentities": {
|
|
75721
75750
|
capName: "user-management",
|
|
75722
75751
|
capScope: "system",
|
|
@@ -75771,12 +75800,6 @@ Object.freeze({
|
|
|
75771
75800
|
addonId: null,
|
|
75772
75801
|
access: "create"
|
|
75773
75802
|
},
|
|
75774
|
-
"userManagement.revokeApiKey": {
|
|
75775
|
-
capName: "user-management",
|
|
75776
|
-
capScope: "system",
|
|
75777
|
-
addonId: null,
|
|
75778
|
-
access: "delete"
|
|
75779
|
-
},
|
|
75780
75803
|
"userManagement.revokeOauthSession": {
|
|
75781
75804
|
capName: "user-management",
|
|
75782
75805
|
capScope: "system",
|
|
@@ -79141,9 +79164,13 @@ new Map(Object.entries({
|
|
|
79141
79164
|
"stream-online": "device-events",
|
|
79142
79165
|
"stream-offline": "device-events",
|
|
79143
79166
|
"detection-blind": "device-events",
|
|
79167
|
+
"motion-noisy": "device-events",
|
|
79168
|
+
"motion-calm": "device-events",
|
|
79144
79169
|
"recording-stalled": "device-events",
|
|
79145
79170
|
"recording-healthy": "device-events",
|
|
79146
79171
|
"recording-degraded": "device-events",
|
|
79172
|
+
"device-attention-required": "device-events",
|
|
79173
|
+
"device-attention-resolved": "device-events",
|
|
79147
79174
|
"node-online": "system",
|
|
79148
79175
|
"node-offline": "system",
|
|
79149
79176
|
"node-restarting": "system",
|
|
@@ -79160,6 +79187,8 @@ new Map(Object.entries({
|
|
|
79160
79187
|
"alert-critical": "system",
|
|
79161
79188
|
"alert-error": "system",
|
|
79162
79189
|
"alert-critical-resolved": "system",
|
|
79190
|
+
"rule-broken": "system",
|
|
79191
|
+
"rule-repaired": "system",
|
|
79163
79192
|
"storage-location-low": "system",
|
|
79164
79193
|
"storage-location-critical": "system",
|
|
79165
79194
|
"storage-location-ok": "system",
|
|
@@ -79224,6 +79253,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79224
79253
|
label: "Detecting nothing",
|
|
79225
79254
|
kinds: ["detection-blind"]
|
|
79226
79255
|
},
|
|
79256
|
+
{
|
|
79257
|
+
id: "motion-noise",
|
|
79258
|
+
family: "device-events",
|
|
79259
|
+
label: "Motion without a subject",
|
|
79260
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
79261
|
+
},
|
|
79227
79262
|
{
|
|
79228
79263
|
id: "recording",
|
|
79229
79264
|
family: "device-events",
|
|
@@ -79234,6 +79269,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79234
79269
|
"recording-degraded"
|
|
79235
79270
|
]
|
|
79236
79271
|
},
|
|
79272
|
+
{
|
|
79273
|
+
id: "device-attention",
|
|
79274
|
+
family: "device-events",
|
|
79275
|
+
label: "Needs attention",
|
|
79276
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
79277
|
+
},
|
|
79237
79278
|
{
|
|
79238
79279
|
id: "nodes",
|
|
79239
79280
|
family: "system",
|
|
@@ -79294,6 +79335,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79294
79335
|
"alert-critical-resolved"
|
|
79295
79336
|
]
|
|
79296
79337
|
},
|
|
79338
|
+
{
|
|
79339
|
+
id: "rule-health",
|
|
79340
|
+
family: "system",
|
|
79341
|
+
label: "Notification rules",
|
|
79342
|
+
kinds: ["rule-broken", "rule-repaired"]
|
|
79343
|
+
},
|
|
79297
79344
|
{
|
|
79298
79345
|
id: "alarm",
|
|
79299
79346
|
family: "alarm",
|
|
@@ -79367,6 +79414,7 @@ var ALERT_EPISODE = [
|
|
|
79367
79414
|
"alert-error",
|
|
79368
79415
|
"alert-critical-resolved"
|
|
79369
79416
|
];
|
|
79417
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79370
79418
|
var UPDATES = [
|
|
79371
79419
|
"addon-update-available",
|
|
79372
79420
|
"server-update-available",
|
|
@@ -79396,9 +79444,12 @@ var DEVICE_EVENTS = [
|
|
|
79396
79444
|
"stream-online",
|
|
79397
79445
|
"stream-offline",
|
|
79398
79446
|
"detection-blind",
|
|
79447
|
+
"motion-noisy",
|
|
79448
|
+
"motion-calm",
|
|
79399
79449
|
"recording-stalled",
|
|
79400
79450
|
"recording-healthy",
|
|
79401
79451
|
"recording-degraded",
|
|
79452
|
+
...DEVICE_ATTENTION,
|
|
79402
79453
|
...ALARM
|
|
79403
79454
|
];
|
|
79404
79455
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -79566,7 +79617,13 @@ var STATE_SUMMARY_VARS = [
|
|
|
79566
79617
|
[...RULE_TEXT],
|
|
79567
79618
|
[...RULE_TEXT],
|
|
79568
79619
|
[...RULE_TEXT],
|
|
79569
|
-
|
|
79620
|
+
[...RULE_TEXT],
|
|
79621
|
+
[...RULE_TEXT],
|
|
79622
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79623
|
+
[...RULE_TEXT],
|
|
79624
|
+
[...RULE_TEXT],
|
|
79625
|
+
[...RULE_TEXT],
|
|
79626
|
+
[...RULE_TEXT],
|
|
79570
79627
|
[...RULE_TEXT],
|
|
79571
79628
|
[...RULE_TEXT],
|
|
79572
79629
|
[...RULE_TEXT],
|
|
@@ -79584,11 +79641,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
79584
79641
|
[...RULE_TEXT],
|
|
79585
79642
|
[...RULE_TEXT],
|
|
79586
79643
|
[...RULE_TEXT],
|
|
79644
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79587
79645
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79646
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79588
79647
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79589
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79590
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79591
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79648
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79592
79649
|
[...RULE_TEXT],
|
|
79593
79650
|
[...RULE_TEXT],
|
|
79594
79651
|
[...RULE_TEXT],
|
|
@@ -79609,6 +79666,125 @@ var STATE_SUMMARY_VARS = [
|
|
|
79609
79666
|
[...RULE_TEXT],
|
|
79610
79667
|
...STATE_SUMMARY_VARS
|
|
79611
79668
|
];
|
|
79669
|
+
new Map([
|
|
79670
|
+
{
|
|
79671
|
+
id: "device-connectivity",
|
|
79672
|
+
family: "device-events",
|
|
79673
|
+
label: "Device connectivity (offline / back online)",
|
|
79674
|
+
bad: ["device-offline"],
|
|
79675
|
+
recovery: ["device-online"],
|
|
79676
|
+
snapshotLabel: "Devices offline now",
|
|
79677
|
+
snapshotSection: "device-state"
|
|
79678
|
+
},
|
|
79679
|
+
{
|
|
79680
|
+
id: "device-switch",
|
|
79681
|
+
family: "device-events",
|
|
79682
|
+
label: "Device switched off / back on",
|
|
79683
|
+
bad: ["device-disabled"],
|
|
79684
|
+
recovery: ["device-enabled"],
|
|
79685
|
+
snapshotLabel: "Devices switched off now",
|
|
79686
|
+
snapshotSection: "device-state"
|
|
79687
|
+
},
|
|
79688
|
+
{
|
|
79689
|
+
id: "stream-connectivity",
|
|
79690
|
+
family: "device-events",
|
|
79691
|
+
label: "Stream connectivity (offline / back online)",
|
|
79692
|
+
bad: ["stream-offline"],
|
|
79693
|
+
recovery: ["stream-online"],
|
|
79694
|
+
snapshotLabel: "Streams offline now",
|
|
79695
|
+
snapshotSection: "streams"
|
|
79696
|
+
},
|
|
79697
|
+
{
|
|
79698
|
+
id: "battery",
|
|
79699
|
+
family: "device-events",
|
|
79700
|
+
label: "Battery (low / back to normal)",
|
|
79701
|
+
bad: ["device-battery-low"],
|
|
79702
|
+
recovery: ["device-battery-normal"],
|
|
79703
|
+
snapshotLabel: "Batteries low now",
|
|
79704
|
+
snapshotSection: "battery"
|
|
79705
|
+
},
|
|
79706
|
+
{
|
|
79707
|
+
id: "consumables",
|
|
79708
|
+
family: "device-events",
|
|
79709
|
+
label: "Consumables (low / replaced)",
|
|
79710
|
+
bad: ["device-consumable-low"],
|
|
79711
|
+
recovery: ["device-consumable-normal"],
|
|
79712
|
+
snapshotLabel: "Consumables low now",
|
|
79713
|
+
snapshotSection: "consumables"
|
|
79714
|
+
},
|
|
79715
|
+
{
|
|
79716
|
+
id: "tanks",
|
|
79717
|
+
family: "device-events",
|
|
79718
|
+
label: "Tanks (low or full / back to normal)",
|
|
79719
|
+
bad: ["device-tank-low", "device-tank-full"],
|
|
79720
|
+
recovery: ["device-tank-normal"],
|
|
79721
|
+
snapshotLabel: "Tanks low or full now",
|
|
79722
|
+
snapshotSection: "tanks"
|
|
79723
|
+
},
|
|
79724
|
+
{
|
|
79725
|
+
id: "motion-noise",
|
|
79726
|
+
family: "device-events",
|
|
79727
|
+
label: "Motion without a subject (constant / calm again)",
|
|
79728
|
+
bad: ["motion-noisy"],
|
|
79729
|
+
recovery: ["motion-calm"],
|
|
79730
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
79731
|
+
snapshotSection: null
|
|
79732
|
+
},
|
|
79733
|
+
{
|
|
79734
|
+
id: "recording-health",
|
|
79735
|
+
family: "device-events",
|
|
79736
|
+
label: "Recording health (stalled or degraded / recording again)",
|
|
79737
|
+
bad: ["recording-stalled", "recording-degraded"],
|
|
79738
|
+
recovery: ["recording-healthy"],
|
|
79739
|
+
snapshotLabel: "Recordings stalled now",
|
|
79740
|
+
snapshotSection: null
|
|
79741
|
+
},
|
|
79742
|
+
{
|
|
79743
|
+
id: "device-attention",
|
|
79744
|
+
family: "device-events",
|
|
79745
|
+
label: "Device needs attention (raised / resolved)",
|
|
79746
|
+
bad: ["device-attention-required"],
|
|
79747
|
+
recovery: ["device-attention-resolved"],
|
|
79748
|
+
snapshotLabel: "Devices needing attention now",
|
|
79749
|
+
snapshotSection: null
|
|
79750
|
+
},
|
|
79751
|
+
{
|
|
79752
|
+
id: "node-connectivity",
|
|
79753
|
+
family: "system",
|
|
79754
|
+
label: "Node connectivity (offline / back online)",
|
|
79755
|
+
bad: ["node-offline"],
|
|
79756
|
+
recovery: ["node-online"],
|
|
79757
|
+
snapshotLabel: "Nodes offline now",
|
|
79758
|
+
snapshotSection: "nodes"
|
|
79759
|
+
},
|
|
79760
|
+
{
|
|
79761
|
+
id: "storage-space",
|
|
79762
|
+
family: "system",
|
|
79763
|
+
label: "Storage space (low or critical / ok again)",
|
|
79764
|
+
bad: ["storage-location-low", "storage-location-critical"],
|
|
79765
|
+
recovery: ["storage-location-ok"],
|
|
79766
|
+
snapshotLabel: "Storage locations low now",
|
|
79767
|
+
snapshotSection: null
|
|
79768
|
+
},
|
|
79769
|
+
{
|
|
79770
|
+
id: "critical-alerts",
|
|
79771
|
+
family: "system",
|
|
79772
|
+
label: "Critical alerts (raised / resolved)",
|
|
79773
|
+
bad: ["alert-critical"],
|
|
79774
|
+
recovery: ["alert-critical-resolved"],
|
|
79775
|
+
snapshotLabel: "Critical alerts open now",
|
|
79776
|
+
snapshotSection: null
|
|
79777
|
+
},
|
|
79778
|
+
{
|
|
79779
|
+
id: "rule-health",
|
|
79780
|
+
family: "system",
|
|
79781
|
+
label: "Rule health (broken / repaired)",
|
|
79782
|
+
bad: ["rule-broken"],
|
|
79783
|
+
recovery: ["rule-repaired"],
|
|
79784
|
+
snapshotLabel: "Notification rules broken now",
|
|
79785
|
+
snapshotSection: null
|
|
79786
|
+
}
|
|
79787
|
+
].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
|
|
79612
79788
|
new Set([
|
|
79613
79789
|
"disarmed",
|
|
79614
79790
|
"armed_home",
|
|
@@ -80336,8 +80512,6 @@ function buildConnectionFormSchema() {
|
|
|
80336
80512
|
id: "connection",
|
|
80337
80513
|
title: "CCU connection",
|
|
80338
80514
|
titleKey: "provider-homematic:connection.s_connection.title",
|
|
80339
|
-
description: "Connect to a Homematic CCU3 or RaspberryMatic hub on your network.",
|
|
80340
|
-
descriptionKey: "provider-homematic:connection.s_connection.description",
|
|
80341
80515
|
columns: 1,
|
|
80342
80516
|
fields: [{
|
|
80343
80517
|
type: "text",
|
|
@@ -80352,7 +80526,7 @@ function buildConnectionFormSchema() {
|
|
|
80352
80526
|
id: "interfaces",
|
|
80353
80527
|
title: "Interfaces",
|
|
80354
80528
|
titleKey: "provider-homematic:connection.s_interfaces.title",
|
|
80355
|
-
description: "
|
|
80529
|
+
description: "CCU-Jack and CUxD are not supported.",
|
|
80356
80530
|
descriptionKey: "provider-homematic:connection.s_interfaces.description",
|
|
80357
80531
|
columns: 1,
|
|
80358
80532
|
fields: [
|
|
@@ -80390,7 +80564,7 @@ function buildConnectionFormSchema() {
|
|
|
80390
80564
|
id: "callback",
|
|
80391
80565
|
title: "Event callback",
|
|
80392
80566
|
titleKey: "provider-homematic:connection.s_callback.title",
|
|
80393
|
-
description: "
|
|
80567
|
+
description: "Optional; must be reachable from the CCU (not 127.0.0.1). Blank auto-infers the hub LAN address.",
|
|
80394
80568
|
descriptionKey: "provider-homematic:connection.s_callback.description",
|
|
80395
80569
|
columns: 2,
|
|
80396
80570
|
fields: [{
|
|
@@ -80413,7 +80587,7 @@ function buildConnectionFormSchema() {
|
|
|
80413
80587
|
id: "credentials",
|
|
80414
80588
|
title: "WebUI credentials",
|
|
80415
80589
|
titleKey: "provider-homematic:connection.s_credentials.title",
|
|
80416
|
-
description: "Optional. Unlocks friendly names, rooms, system variables and programs
|
|
80590
|
+
description: "Optional. Unlocks friendly names, rooms, system variables and programs.",
|
|
80417
80591
|
descriptionKey: "provider-homematic:connection.s_credentials.description",
|
|
80418
80592
|
columns: 2,
|
|
80419
80593
|
fields: [{
|
|
@@ -106639,15 +106813,13 @@ var HomematicProviderAddon = class extends BaseDeviceProvider {
|
|
|
106639
106813
|
id: "hm-broker",
|
|
106640
106814
|
title: "Homematic broker",
|
|
106641
106815
|
titleKey: "provider-homematic:globalSettings.s_hm-broker.title",
|
|
106642
|
-
description: "Homematic CCU brokers are managed in the External systems → Brokers tab.",
|
|
106643
|
-
descriptionKey: "provider-homematic:globalSettings.s_hm-broker.description",
|
|
106644
106816
|
columns: 1,
|
|
106645
106817
|
fields: [{
|
|
106646
106818
|
type: "info",
|
|
106647
106819
|
key: "brokerHelp",
|
|
106648
106820
|
label: "Brokers are managed separately",
|
|
106649
106821
|
labelKey: "provider-homematic:globalSettings.s_hm-broker.brokerHelp.label",
|
|
106650
|
-
content: "This integration links to a Homematic CCU broker
|
|
106822
|
+
content: "This integration links to a Homematic CCU broker managed under External systems → Brokers."
|
|
106651
106823
|
}]
|
|
106652
106824
|
}] });
|
|
106653
106825
|
}
|
package/dist/addon.mjs
CHANGED
|
@@ -9,7 +9,7 @@ import { join } from "path";
|
|
|
9
9
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
10
10
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
11
11
|
//#endregion
|
|
12
|
-
//#region ../types/dist/event-category-
|
|
12
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
13
13
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
14
14
|
EventCategory["SystemBoot"] = "system.boot";
|
|
15
15
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -326,6 +326,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
326
326
|
*/
|
|
327
327
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
328
328
|
/**
|
|
329
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
330
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
331
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
332
|
+
* {@link PipelineMotionCalm}.
|
|
333
|
+
*/
|
|
334
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
335
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
336
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
337
|
+
/**
|
|
329
338
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
330
339
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
331
340
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -697,6 +706,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
697
706
|
EventCategory["BackupRestored"] = "backup.restored";
|
|
698
707
|
EventCategory["NotificationDispatched"] = "notification.dispatched";
|
|
699
708
|
EventCategory["NotificationFailed"] = "notification.failed";
|
|
709
|
+
/**
|
|
710
|
+
* A notification rule that cannot work (D905): its stored row does not load,
|
|
711
|
+
* or it still names a device / delivery target the prune CONFIRMED deleted.
|
|
712
|
+
* One edge per rule per distinct set of reasons; never on an unanswered read.
|
|
713
|
+
*/
|
|
714
|
+
EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
|
|
715
|
+
/** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
|
|
716
|
+
EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
|
|
700
717
|
EventCategory["DeviceUpdated"] = "device.updated";
|
|
701
718
|
/**
|
|
702
719
|
* Transport-level connectivity. Emitted by the device driver when
|
|
@@ -5557,7 +5574,7 @@ var ZodIssueCode = {
|
|
|
5557
5574
|
var ZodFirstPartyTypeKind;
|
|
5558
5575
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5559
5576
|
//#endregion
|
|
5560
|
-
//#region ../types/dist/sleep-
|
|
5577
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5561
5578
|
/**
|
|
5562
5579
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5563
5580
|
* window to float samples (D455).
|
|
@@ -8156,7 +8173,7 @@ var EntryDescriptorSchema = object({
|
|
|
8156
8173
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
8157
8174
|
fields: record(string(), unknown())
|
|
8158
8175
|
}).strict();
|
|
8159
|
-
/** What crosses the wire
|
|
8176
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
8160
8177
|
var RecordKindDeclarationSchema = object({
|
|
8161
8178
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
8162
8179
|
class: _enum(RECORD_CLASSES),
|
|
@@ -8175,14 +8192,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
8175
8192
|
secretPaths: array(string().min(1)).default([]),
|
|
8176
8193
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
8177
8194
|
secretArrayKeys: record(string(), string()).default({}),
|
|
8178
|
-
/**
|
|
8179
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
8180
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8181
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8182
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8183
|
-
* removal still sends it. Never set it.
|
|
8184
|
-
*/
|
|
8185
|
-
adoptsFrom: string().min(1).optional(),
|
|
8186
8195
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8187
8196
|
transactFamily: string().min(1).optional(),
|
|
8188
8197
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12978,17 +12987,6 @@ object({
|
|
|
12978
12987
|
createdAt: number(),
|
|
12979
12988
|
updatedAt: number()
|
|
12980
12989
|
});
|
|
12981
|
-
object({
|
|
12982
|
-
id: string(),
|
|
12983
|
-
label: string(),
|
|
12984
|
-
isAdmin: boolean().default(false),
|
|
12985
|
-
allowedProviders: AllowedProviderSchema,
|
|
12986
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12987
|
-
tokenHash: string(),
|
|
12988
|
-
tokenPrefix: string(),
|
|
12989
|
-
createdAt: number(),
|
|
12990
|
-
lastUsedAt: number().optional()
|
|
12991
|
-
});
|
|
12992
12990
|
object({
|
|
12993
12991
|
id: string(),
|
|
12994
12992
|
userId: string(),
|
|
@@ -17019,16 +17017,36 @@ var RecordKindStateSchema = _enum([
|
|
|
17019
17017
|
var DeclareKindResultSchema = object({
|
|
17020
17018
|
kindId: number().int(),
|
|
17021
17019
|
state: RecordKindStateSchema,
|
|
17022
|
-
createdIndexes: array(string())
|
|
17023
|
-
/**
|
|
17024
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
17025
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
17026
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
17027
|
-
*/
|
|
17028
|
-
adoptionPending: _null()
|
|
17020
|
+
createdIndexes: array(string())
|
|
17029
17021
|
});
|
|
17030
17022
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
17031
17023
|
var SecretRefsList = array(string());
|
|
17024
|
+
/**
|
|
17025
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
17026
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
17027
|
+
*/
|
|
17028
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
17029
|
+
object({
|
|
17030
|
+
op: literal("put"),
|
|
17031
|
+
kind: RecordKindNameSchema,
|
|
17032
|
+
record: RecordInputSchema,
|
|
17033
|
+
ifRev: number().int().min(0).optional()
|
|
17034
|
+
}),
|
|
17035
|
+
object({
|
|
17036
|
+
op: literal("patch"),
|
|
17037
|
+
kind: RecordKindNameSchema,
|
|
17038
|
+
id: RecordIdSchema,
|
|
17039
|
+
data: RecordBodySchema,
|
|
17040
|
+
at: number().int().nullable().optional(),
|
|
17041
|
+
expiresAt: number().int().nullable().optional(),
|
|
17042
|
+
ifRev: number().int().min(1).optional()
|
|
17043
|
+
}),
|
|
17044
|
+
object({
|
|
17045
|
+
op: literal("delete"),
|
|
17046
|
+
kind: RecordKindNameSchema,
|
|
17047
|
+
id: RecordIdSchema
|
|
17048
|
+
})
|
|
17049
|
+
]);
|
|
17032
17050
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
17033
17051
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
17034
17052
|
kind: "mutation",
|
|
@@ -17135,6 +17153,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
17135
17153
|
}), {
|
|
17136
17154
|
kind: "mutation",
|
|
17137
17155
|
auth: "admin"
|
|
17156
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
17157
|
+
results: array(object({
|
|
17158
|
+
rev: number().int().nullable(),
|
|
17159
|
+
deleted: boolean()
|
|
17160
|
+
})),
|
|
17161
|
+
releasedRefs: SecretRefsList,
|
|
17162
|
+
secretRefs: SecretRefsList
|
|
17163
|
+
}), {
|
|
17164
|
+
kind: "mutation",
|
|
17165
|
+
auth: "admin"
|
|
17138
17166
|
}), method(object({
|
|
17139
17167
|
deviceId: number().int(),
|
|
17140
17168
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42859,9 +42887,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42859
42887
|
"node-updating",
|
|
42860
42888
|
"node-inference-unavailable",
|
|
42861
42889
|
"detection-blind",
|
|
42890
|
+
"motion-noisy",
|
|
42891
|
+
"motion-calm",
|
|
42862
42892
|
"recording-stalled",
|
|
42863
42893
|
"recording-healthy",
|
|
42864
42894
|
"recording-degraded",
|
|
42895
|
+
"device-attention-required",
|
|
42896
|
+
"device-attention-resolved",
|
|
42865
42897
|
"storage-location-low",
|
|
42866
42898
|
"storage-location-critical",
|
|
42867
42899
|
"storage-location-ok",
|
|
@@ -42885,6 +42917,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42885
42917
|
"alert-critical",
|
|
42886
42918
|
"alert-error",
|
|
42887
42919
|
"alert-critical-resolved",
|
|
42920
|
+
"rule-broken",
|
|
42921
|
+
"rule-repaired",
|
|
42888
42922
|
"camera-online",
|
|
42889
42923
|
"camera-offline",
|
|
42890
42924
|
"camera-disabled",
|
|
@@ -56183,6 +56217,16 @@ var DishwasherStatusSchema = object({
|
|
|
56183
56217
|
powerState: string().nullable(),
|
|
56184
56218
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56185
56219
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56220
|
+
/**
|
|
56221
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
56222
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
56223
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
56224
|
+
*/
|
|
56225
|
+
filterCleaningDue: boolean().nullable(),
|
|
56226
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
56227
|
+
machineCareDue: boolean().nullable(),
|
|
56228
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
56229
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
56186
56230
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
56187
56231
|
halfLoad: boolean().nullable(),
|
|
56188
56232
|
hygienePlus: boolean().nullable(),
|
|
@@ -64833,16 +64877,6 @@ var UpdateUserInputSchema = object({
|
|
|
64833
64877
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64834
64878
|
scopes: array(TokenScopeSchema).optional()
|
|
64835
64879
|
});
|
|
64836
|
-
var ApiKeySummarySchema = object({
|
|
64837
|
-
id: string(),
|
|
64838
|
-
label: string(),
|
|
64839
|
-
isAdmin: boolean().default(false),
|
|
64840
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
64841
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64842
|
-
tokenPrefix: string(),
|
|
64843
|
-
createdAt: number(),
|
|
64844
|
-
lastUsedAt: number().optional()
|
|
64845
|
-
});
|
|
64846
64880
|
var OauthSessionSummarySchema = object({
|
|
64847
64881
|
id: string(),
|
|
64848
64882
|
userId: string(),
|
|
@@ -64864,8 +64898,7 @@ var TotpStatusSchema = object({
|
|
|
64864
64898
|
confirmedAt: number().nullable()
|
|
64865
64899
|
});
|
|
64866
64900
|
/**
|
|
64867
|
-
* user-management — singleton capability for user accounts
|
|
64868
|
-
* legacy API-key rows.
|
|
64901
|
+
* user-management — singleton capability for user accounts.
|
|
64869
64902
|
*
|
|
64870
64903
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64871
64904
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64921,10 +64954,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64921
64954
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64922
64955
|
kind: "mutation",
|
|
64923
64956
|
access: "view"
|
|
64924
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64925
|
-
kind: "mutation",
|
|
64926
|
-
auth: "admin",
|
|
64927
|
-
access: "delete"
|
|
64928
64957
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64929
64958
|
kind: "mutation",
|
|
64930
64959
|
auth: "admin",
|
|
@@ -74380,6 +74409,12 @@ Object.freeze({
|
|
|
74380
74409
|
addonId: null,
|
|
74381
74410
|
access: "view"
|
|
74382
74411
|
},
|
|
74412
|
+
"records.transact": {
|
|
74413
|
+
capName: "records",
|
|
74414
|
+
capScope: "system",
|
|
74415
|
+
addonId: null,
|
|
74416
|
+
access: "create"
|
|
74417
|
+
},
|
|
74383
74418
|
"sceneMonitor.captureReference": {
|
|
74384
74419
|
capName: "scene-monitor",
|
|
74385
74420
|
capScope: "device",
|
|
@@ -75712,12 +75747,6 @@ Object.freeze({
|
|
|
75712
75747
|
addonId: null,
|
|
75713
75748
|
access: "view"
|
|
75714
75749
|
},
|
|
75715
|
-
"userManagement.listApiKeys": {
|
|
75716
|
-
capName: "user-management",
|
|
75717
|
-
capScope: "system",
|
|
75718
|
-
addonId: null,
|
|
75719
|
-
access: "view"
|
|
75720
|
-
},
|
|
75721
75750
|
"userManagement.listExternalIdentities": {
|
|
75722
75751
|
capName: "user-management",
|
|
75723
75752
|
capScope: "system",
|
|
@@ -75772,12 +75801,6 @@ Object.freeze({
|
|
|
75772
75801
|
addonId: null,
|
|
75773
75802
|
access: "create"
|
|
75774
75803
|
},
|
|
75775
|
-
"userManagement.revokeApiKey": {
|
|
75776
|
-
capName: "user-management",
|
|
75777
|
-
capScope: "system",
|
|
75778
|
-
addonId: null,
|
|
75779
|
-
access: "delete"
|
|
75780
|
-
},
|
|
75781
75804
|
"userManagement.revokeOauthSession": {
|
|
75782
75805
|
capName: "user-management",
|
|
75783
75806
|
capScope: "system",
|
|
@@ -79142,9 +79165,13 @@ new Map(Object.entries({
|
|
|
79142
79165
|
"stream-online": "device-events",
|
|
79143
79166
|
"stream-offline": "device-events",
|
|
79144
79167
|
"detection-blind": "device-events",
|
|
79168
|
+
"motion-noisy": "device-events",
|
|
79169
|
+
"motion-calm": "device-events",
|
|
79145
79170
|
"recording-stalled": "device-events",
|
|
79146
79171
|
"recording-healthy": "device-events",
|
|
79147
79172
|
"recording-degraded": "device-events",
|
|
79173
|
+
"device-attention-required": "device-events",
|
|
79174
|
+
"device-attention-resolved": "device-events",
|
|
79148
79175
|
"node-online": "system",
|
|
79149
79176
|
"node-offline": "system",
|
|
79150
79177
|
"node-restarting": "system",
|
|
@@ -79161,6 +79188,8 @@ new Map(Object.entries({
|
|
|
79161
79188
|
"alert-critical": "system",
|
|
79162
79189
|
"alert-error": "system",
|
|
79163
79190
|
"alert-critical-resolved": "system",
|
|
79191
|
+
"rule-broken": "system",
|
|
79192
|
+
"rule-repaired": "system",
|
|
79164
79193
|
"storage-location-low": "system",
|
|
79165
79194
|
"storage-location-critical": "system",
|
|
79166
79195
|
"storage-location-ok": "system",
|
|
@@ -79225,6 +79254,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79225
79254
|
label: "Detecting nothing",
|
|
79226
79255
|
kinds: ["detection-blind"]
|
|
79227
79256
|
},
|
|
79257
|
+
{
|
|
79258
|
+
id: "motion-noise",
|
|
79259
|
+
family: "device-events",
|
|
79260
|
+
label: "Motion without a subject",
|
|
79261
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
79262
|
+
},
|
|
79228
79263
|
{
|
|
79229
79264
|
id: "recording",
|
|
79230
79265
|
family: "device-events",
|
|
@@ -79235,6 +79270,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79235
79270
|
"recording-degraded"
|
|
79236
79271
|
]
|
|
79237
79272
|
},
|
|
79273
|
+
{
|
|
79274
|
+
id: "device-attention",
|
|
79275
|
+
family: "device-events",
|
|
79276
|
+
label: "Needs attention",
|
|
79277
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
79278
|
+
},
|
|
79238
79279
|
{
|
|
79239
79280
|
id: "nodes",
|
|
79240
79281
|
family: "system",
|
|
@@ -79295,6 +79336,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79295
79336
|
"alert-critical-resolved"
|
|
79296
79337
|
]
|
|
79297
79338
|
},
|
|
79339
|
+
{
|
|
79340
|
+
id: "rule-health",
|
|
79341
|
+
family: "system",
|
|
79342
|
+
label: "Notification rules",
|
|
79343
|
+
kinds: ["rule-broken", "rule-repaired"]
|
|
79344
|
+
},
|
|
79298
79345
|
{
|
|
79299
79346
|
id: "alarm",
|
|
79300
79347
|
family: "alarm",
|
|
@@ -79368,6 +79415,7 @@ var ALERT_EPISODE = [
|
|
|
79368
79415
|
"alert-error",
|
|
79369
79416
|
"alert-critical-resolved"
|
|
79370
79417
|
];
|
|
79418
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79371
79419
|
var UPDATES = [
|
|
79372
79420
|
"addon-update-available",
|
|
79373
79421
|
"server-update-available",
|
|
@@ -79397,9 +79445,12 @@ var DEVICE_EVENTS = [
|
|
|
79397
79445
|
"stream-online",
|
|
79398
79446
|
"stream-offline",
|
|
79399
79447
|
"detection-blind",
|
|
79448
|
+
"motion-noisy",
|
|
79449
|
+
"motion-calm",
|
|
79400
79450
|
"recording-stalled",
|
|
79401
79451
|
"recording-healthy",
|
|
79402
79452
|
"recording-degraded",
|
|
79453
|
+
...DEVICE_ATTENTION,
|
|
79403
79454
|
...ALARM
|
|
79404
79455
|
];
|
|
79405
79456
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -79567,7 +79618,13 @@ var STATE_SUMMARY_VARS = [
|
|
|
79567
79618
|
[...RULE_TEXT],
|
|
79568
79619
|
[...RULE_TEXT],
|
|
79569
79620
|
[...RULE_TEXT],
|
|
79570
|
-
|
|
79621
|
+
[...RULE_TEXT],
|
|
79622
|
+
[...RULE_TEXT],
|
|
79623
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79624
|
+
[...RULE_TEXT],
|
|
79625
|
+
[...RULE_TEXT],
|
|
79626
|
+
[...RULE_TEXT],
|
|
79627
|
+
[...RULE_TEXT],
|
|
79571
79628
|
[...RULE_TEXT],
|
|
79572
79629
|
[...RULE_TEXT],
|
|
79573
79630
|
[...RULE_TEXT],
|
|
@@ -79585,11 +79642,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
79585
79642
|
[...RULE_TEXT],
|
|
79586
79643
|
[...RULE_TEXT],
|
|
79587
79644
|
[...RULE_TEXT],
|
|
79645
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79588
79646
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79647
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79589
79648
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79590
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79591
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79592
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79649
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79593
79650
|
[...RULE_TEXT],
|
|
79594
79651
|
[...RULE_TEXT],
|
|
79595
79652
|
[...RULE_TEXT],
|
|
@@ -79610,6 +79667,125 @@ var STATE_SUMMARY_VARS = [
|
|
|
79610
79667
|
[...RULE_TEXT],
|
|
79611
79668
|
...STATE_SUMMARY_VARS
|
|
79612
79669
|
];
|
|
79670
|
+
new Map([
|
|
79671
|
+
{
|
|
79672
|
+
id: "device-connectivity",
|
|
79673
|
+
family: "device-events",
|
|
79674
|
+
label: "Device connectivity (offline / back online)",
|
|
79675
|
+
bad: ["device-offline"],
|
|
79676
|
+
recovery: ["device-online"],
|
|
79677
|
+
snapshotLabel: "Devices offline now",
|
|
79678
|
+
snapshotSection: "device-state"
|
|
79679
|
+
},
|
|
79680
|
+
{
|
|
79681
|
+
id: "device-switch",
|
|
79682
|
+
family: "device-events",
|
|
79683
|
+
label: "Device switched off / back on",
|
|
79684
|
+
bad: ["device-disabled"],
|
|
79685
|
+
recovery: ["device-enabled"],
|
|
79686
|
+
snapshotLabel: "Devices switched off now",
|
|
79687
|
+
snapshotSection: "device-state"
|
|
79688
|
+
},
|
|
79689
|
+
{
|
|
79690
|
+
id: "stream-connectivity",
|
|
79691
|
+
family: "device-events",
|
|
79692
|
+
label: "Stream connectivity (offline / back online)",
|
|
79693
|
+
bad: ["stream-offline"],
|
|
79694
|
+
recovery: ["stream-online"],
|
|
79695
|
+
snapshotLabel: "Streams offline now",
|
|
79696
|
+
snapshotSection: "streams"
|
|
79697
|
+
},
|
|
79698
|
+
{
|
|
79699
|
+
id: "battery",
|
|
79700
|
+
family: "device-events",
|
|
79701
|
+
label: "Battery (low / back to normal)",
|
|
79702
|
+
bad: ["device-battery-low"],
|
|
79703
|
+
recovery: ["device-battery-normal"],
|
|
79704
|
+
snapshotLabel: "Batteries low now",
|
|
79705
|
+
snapshotSection: "battery"
|
|
79706
|
+
},
|
|
79707
|
+
{
|
|
79708
|
+
id: "consumables",
|
|
79709
|
+
family: "device-events",
|
|
79710
|
+
label: "Consumables (low / replaced)",
|
|
79711
|
+
bad: ["device-consumable-low"],
|
|
79712
|
+
recovery: ["device-consumable-normal"],
|
|
79713
|
+
snapshotLabel: "Consumables low now",
|
|
79714
|
+
snapshotSection: "consumables"
|
|
79715
|
+
},
|
|
79716
|
+
{
|
|
79717
|
+
id: "tanks",
|
|
79718
|
+
family: "device-events",
|
|
79719
|
+
label: "Tanks (low or full / back to normal)",
|
|
79720
|
+
bad: ["device-tank-low", "device-tank-full"],
|
|
79721
|
+
recovery: ["device-tank-normal"],
|
|
79722
|
+
snapshotLabel: "Tanks low or full now",
|
|
79723
|
+
snapshotSection: "tanks"
|
|
79724
|
+
},
|
|
79725
|
+
{
|
|
79726
|
+
id: "motion-noise",
|
|
79727
|
+
family: "device-events",
|
|
79728
|
+
label: "Motion without a subject (constant / calm again)",
|
|
79729
|
+
bad: ["motion-noisy"],
|
|
79730
|
+
recovery: ["motion-calm"],
|
|
79731
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
79732
|
+
snapshotSection: null
|
|
79733
|
+
},
|
|
79734
|
+
{
|
|
79735
|
+
id: "recording-health",
|
|
79736
|
+
family: "device-events",
|
|
79737
|
+
label: "Recording health (stalled or degraded / recording again)",
|
|
79738
|
+
bad: ["recording-stalled", "recording-degraded"],
|
|
79739
|
+
recovery: ["recording-healthy"],
|
|
79740
|
+
snapshotLabel: "Recordings stalled now",
|
|
79741
|
+
snapshotSection: null
|
|
79742
|
+
},
|
|
79743
|
+
{
|
|
79744
|
+
id: "device-attention",
|
|
79745
|
+
family: "device-events",
|
|
79746
|
+
label: "Device needs attention (raised / resolved)",
|
|
79747
|
+
bad: ["device-attention-required"],
|
|
79748
|
+
recovery: ["device-attention-resolved"],
|
|
79749
|
+
snapshotLabel: "Devices needing attention now",
|
|
79750
|
+
snapshotSection: null
|
|
79751
|
+
},
|
|
79752
|
+
{
|
|
79753
|
+
id: "node-connectivity",
|
|
79754
|
+
family: "system",
|
|
79755
|
+
label: "Node connectivity (offline / back online)",
|
|
79756
|
+
bad: ["node-offline"],
|
|
79757
|
+
recovery: ["node-online"],
|
|
79758
|
+
snapshotLabel: "Nodes offline now",
|
|
79759
|
+
snapshotSection: "nodes"
|
|
79760
|
+
},
|
|
79761
|
+
{
|
|
79762
|
+
id: "storage-space",
|
|
79763
|
+
family: "system",
|
|
79764
|
+
label: "Storage space (low or critical / ok again)",
|
|
79765
|
+
bad: ["storage-location-low", "storage-location-critical"],
|
|
79766
|
+
recovery: ["storage-location-ok"],
|
|
79767
|
+
snapshotLabel: "Storage locations low now",
|
|
79768
|
+
snapshotSection: null
|
|
79769
|
+
},
|
|
79770
|
+
{
|
|
79771
|
+
id: "critical-alerts",
|
|
79772
|
+
family: "system",
|
|
79773
|
+
label: "Critical alerts (raised / resolved)",
|
|
79774
|
+
bad: ["alert-critical"],
|
|
79775
|
+
recovery: ["alert-critical-resolved"],
|
|
79776
|
+
snapshotLabel: "Critical alerts open now",
|
|
79777
|
+
snapshotSection: null
|
|
79778
|
+
},
|
|
79779
|
+
{
|
|
79780
|
+
id: "rule-health",
|
|
79781
|
+
family: "system",
|
|
79782
|
+
label: "Rule health (broken / repaired)",
|
|
79783
|
+
bad: ["rule-broken"],
|
|
79784
|
+
recovery: ["rule-repaired"],
|
|
79785
|
+
snapshotLabel: "Notification rules broken now",
|
|
79786
|
+
snapshotSection: null
|
|
79787
|
+
}
|
|
79788
|
+
].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
|
|
79613
79789
|
new Set([
|
|
79614
79790
|
"disarmed",
|
|
79615
79791
|
"armed_home",
|
|
@@ -80337,8 +80513,6 @@ function buildConnectionFormSchema() {
|
|
|
80337
80513
|
id: "connection",
|
|
80338
80514
|
title: "CCU connection",
|
|
80339
80515
|
titleKey: "provider-homematic:connection.s_connection.title",
|
|
80340
|
-
description: "Connect to a Homematic CCU3 or RaspberryMatic hub on your network.",
|
|
80341
|
-
descriptionKey: "provider-homematic:connection.s_connection.description",
|
|
80342
80516
|
columns: 1,
|
|
80343
80517
|
fields: [{
|
|
80344
80518
|
type: "text",
|
|
@@ -80353,7 +80527,7 @@ function buildConnectionFormSchema() {
|
|
|
80353
80527
|
id: "interfaces",
|
|
80354
80528
|
title: "Interfaces",
|
|
80355
80529
|
titleKey: "provider-homematic:connection.s_interfaces.title",
|
|
80356
|
-
description: "
|
|
80530
|
+
description: "CCU-Jack and CUxD are not supported.",
|
|
80357
80531
|
descriptionKey: "provider-homematic:connection.s_interfaces.description",
|
|
80358
80532
|
columns: 1,
|
|
80359
80533
|
fields: [
|
|
@@ -80391,7 +80565,7 @@ function buildConnectionFormSchema() {
|
|
|
80391
80565
|
id: "callback",
|
|
80392
80566
|
title: "Event callback",
|
|
80393
80567
|
titleKey: "provider-homematic:connection.s_callback.title",
|
|
80394
|
-
description: "
|
|
80568
|
+
description: "Optional; must be reachable from the CCU (not 127.0.0.1). Blank auto-infers the hub LAN address.",
|
|
80395
80569
|
descriptionKey: "provider-homematic:connection.s_callback.description",
|
|
80396
80570
|
columns: 2,
|
|
80397
80571
|
fields: [{
|
|
@@ -80414,7 +80588,7 @@ function buildConnectionFormSchema() {
|
|
|
80414
80588
|
id: "credentials",
|
|
80415
80589
|
title: "WebUI credentials",
|
|
80416
80590
|
titleKey: "provider-homematic:connection.s_credentials.title",
|
|
80417
|
-
description: "Optional. Unlocks friendly names, rooms, system variables and programs
|
|
80591
|
+
description: "Optional. Unlocks friendly names, rooms, system variables and programs.",
|
|
80418
80592
|
descriptionKey: "provider-homematic:connection.s_credentials.description",
|
|
80419
80593
|
columns: 2,
|
|
80420
80594
|
fields: [{
|
|
@@ -106640,15 +106814,13 @@ var HomematicProviderAddon = class extends BaseDeviceProvider {
|
|
|
106640
106814
|
id: "hm-broker",
|
|
106641
106815
|
title: "Homematic broker",
|
|
106642
106816
|
titleKey: "provider-homematic:globalSettings.s_hm-broker.title",
|
|
106643
|
-
description: "Homematic CCU brokers are managed in the External systems → Brokers tab.",
|
|
106644
|
-
descriptionKey: "provider-homematic:globalSettings.s_hm-broker.description",
|
|
106645
106817
|
columns: 1,
|
|
106646
106818
|
fields: [{
|
|
106647
106819
|
type: "info",
|
|
106648
106820
|
key: "brokerHelp",
|
|
106649
106821
|
label: "Brokers are managed separately",
|
|
106650
106822
|
labelKey: "provider-homematic:globalSettings.s_hm-broker.brokerHelp.label",
|
|
106651
|
-
content: "This integration links to a Homematic CCU broker
|
|
106823
|
+
content: "This integration links to a Homematic CCU broker managed under External systems → Brokers."
|
|
106652
106824
|
}]
|
|
106653
106825
|
}] });
|
|
106654
106826
|
}
|
package/i18n/en.json
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"globalSettings.s_hm-broker.title": "Homematic broker",
|
|
3
|
-
"globalSettings.s_hm-broker.description": "Homematic CCU brokers are managed in the External systems → Brokers tab.",
|
|
4
3
|
"globalSettings.s_hm-broker.brokerHelp.label": "Brokers are managed separately",
|
|
5
4
|
"connection.s_connection.title": "CCU connection",
|
|
6
|
-
"connection.s_connection.description": "Connect to a Homematic CCU3 or RaspberryMatic hub on your network.",
|
|
7
5
|
"connection.s_connection.host.label": "Host / IP",
|
|
8
6
|
"connection.s_interfaces.title": "Interfaces",
|
|
9
|
-
"connection.s_interfaces.description": "
|
|
7
|
+
"connection.s_interfaces.description": "CCU-Jack and CUxD are not supported.",
|
|
10
8
|
"connection.s_interfaces.enableHmipRf.label": "Enable Homematic IP",
|
|
11
9
|
"connection.s_interfaces.enableBidcosRf.label": "Enable Homematic (BidCos-RF)",
|
|
12
10
|
"connection.s_interfaces.enableGroups.label": "Enable groups (heating groups)",
|
|
13
11
|
"connection.s_interfaces.enableBidcosWired.label": "Enable BidCos-Wired (HM-Wired)",
|
|
14
12
|
"connection.s_callback.title": "Event callback",
|
|
15
|
-
"connection.s_callback.description": "
|
|
13
|
+
"connection.s_callback.description": "Optional; must be reachable from the CCU (not 127.0.0.1). Blank auto-infers the hub LAN address.",
|
|
16
14
|
"connection.s_callback.callbackHost.label": "Callback host (optional — auto-inferred when blank)",
|
|
17
15
|
"connection.s_callback.callbackPort.label": "Callback port",
|
|
18
16
|
"connection.s_credentials.title": "WebUI credentials",
|
|
19
|
-
"connection.s_credentials.description": "Optional. Unlocks friendly names, rooms, system variables and programs
|
|
17
|
+
"connection.s_credentials.description": "Optional. Unlocks friendly names, rooms, system variables and programs.",
|
|
20
18
|
"connection.s_credentials.username.label": "Username",
|
|
21
19
|
"connection.s_credentials.password.label": "Password",
|
|
22
20
|
"connection.s_advanced.title": "Advanced",
|
package/i18n/it.json
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"globalSettings.s_hm-broker.title": "Broker Homematic",
|
|
3
|
-
"globalSettings.s_hm-broker.description": "I broker della CCU Homematic si gestiscono nella scheda Sistemi esterni → Broker.",
|
|
4
3
|
"globalSettings.s_hm-broker.brokerHelp.label": "I broker si gestiscono separatamente",
|
|
5
4
|
"connection.s_connection.title": "Connessione alla CCU",
|
|
6
|
-
"connection.s_connection.description": "Collegati a un hub Homematic CCU3 o RaspberryMatic presente in rete.",
|
|
7
5
|
"connection.s_connection.host.label": "Host / IP",
|
|
8
6
|
"connection.s_interfaces.title": "Interfacce",
|
|
9
|
-
"connection.s_interfaces.description": "
|
|
7
|
+
"connection.s_interfaces.description": "CCU-Jack e CUxD non sono supportati.",
|
|
10
8
|
"connection.s_interfaces.enableHmipRf.label": "Attiva Homematic IP",
|
|
11
9
|
"connection.s_interfaces.enableBidcosRf.label": "Attiva Homematic (BidCos-RF)",
|
|
12
10
|
"connection.s_interfaces.enableGroups.label": "Attiva i gruppi (gruppi di riscaldamento)",
|
|
13
11
|
"connection.s_interfaces.enableBidcosWired.label": "Attiva BidCos-Wired (HM-Wired)",
|
|
14
12
|
"connection.s_callback.title": "Callback eventi",
|
|
15
|
-
"connection.s_callback.description": "
|
|
13
|
+
"connection.s_callback.description": "Facoltativo; deve essere raggiungibile dalla CCU (non 127.0.0.1). Se vuoto ricava l'indirizzo LAN dell'hub.",
|
|
16
14
|
"connection.s_callback.callbackHost.label": "Host di callback (facoltativo: rilevato automaticamente se vuoto)",
|
|
17
15
|
"connection.s_callback.callbackPort.label": "Porta di callback",
|
|
18
16
|
"connection.s_credentials.title": "Credenziali dell'interfaccia web",
|
|
19
|
-
"connection.s_credentials.description": "Facoltativo.
|
|
17
|
+
"connection.s_credentials.description": "Facoltativo. Abilita nomi, stanze, variabili di sistema e programmi.",
|
|
20
18
|
"connection.s_credentials.username.label": "Nome utente",
|
|
21
19
|
"connection.s_credentials.password.label": "Password",
|
|
22
20
|
"connection.s_advanced.title": "Avanzate",
|
package/package.json
CHANGED