@camstack/addon-provider-homematic 1.2.151 → 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 +118 -69
- package/dist/addon.mjs +118 -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
|
|
@@ -5564,7 +5573,7 @@ var ZodIssueCode = {
|
|
|
5564
5573
|
var ZodFirstPartyTypeKind;
|
|
5565
5574
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5566
5575
|
//#endregion
|
|
5567
|
-
//#region ../types/dist/sleep-
|
|
5576
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5568
5577
|
/**
|
|
5569
5578
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5570
5579
|
* window to float samples (D455).
|
|
@@ -8163,7 +8172,7 @@ var EntryDescriptorSchema = object({
|
|
|
8163
8172
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
8164
8173
|
fields: record(string(), unknown())
|
|
8165
8174
|
}).strict();
|
|
8166
|
-
/** What crosses the wire
|
|
8175
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
8167
8176
|
var RecordKindDeclarationSchema = object({
|
|
8168
8177
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
8169
8178
|
class: _enum(RECORD_CLASSES),
|
|
@@ -8182,14 +8191,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
8182
8191
|
secretPaths: array(string().min(1)).default([]),
|
|
8183
8192
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
8184
8193
|
secretArrayKeys: record(string(), string()).default({}),
|
|
8185
|
-
/**
|
|
8186
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
8187
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8188
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8189
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8190
|
-
* removal still sends it. Never set it.
|
|
8191
|
-
*/
|
|
8192
|
-
adoptsFrom: string().min(1).optional(),
|
|
8193
8194
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8194
8195
|
transactFamily: string().min(1).optional(),
|
|
8195
8196
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12985,17 +12986,6 @@ object({
|
|
|
12985
12986
|
createdAt: number(),
|
|
12986
12987
|
updatedAt: number()
|
|
12987
12988
|
});
|
|
12988
|
-
object({
|
|
12989
|
-
id: string(),
|
|
12990
|
-
label: string(),
|
|
12991
|
-
isAdmin: boolean().default(false),
|
|
12992
|
-
allowedProviders: AllowedProviderSchema,
|
|
12993
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12994
|
-
tokenHash: string(),
|
|
12995
|
-
tokenPrefix: string(),
|
|
12996
|
-
createdAt: number(),
|
|
12997
|
-
lastUsedAt: number().optional()
|
|
12998
|
-
});
|
|
12999
12989
|
object({
|
|
13000
12990
|
id: string(),
|
|
13001
12991
|
userId: string(),
|
|
@@ -17026,16 +17016,36 @@ var RecordKindStateSchema = _enum([
|
|
|
17026
17016
|
var DeclareKindResultSchema = object({
|
|
17027
17017
|
kindId: number().int(),
|
|
17028
17018
|
state: RecordKindStateSchema,
|
|
17029
|
-
createdIndexes: array(string())
|
|
17030
|
-
/**
|
|
17031
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
17032
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
17033
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
17034
|
-
*/
|
|
17035
|
-
adoptionPending: _null()
|
|
17019
|
+
createdIndexes: array(string())
|
|
17036
17020
|
});
|
|
17037
17021
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
17038
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
|
+
]);
|
|
17039
17049
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
17040
17050
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
17041
17051
|
kind: "mutation",
|
|
@@ -17142,6 +17152,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
17142
17152
|
}), {
|
|
17143
17153
|
kind: "mutation",
|
|
17144
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"
|
|
17145
17165
|
}), method(object({
|
|
17146
17166
|
deviceId: number().int(),
|
|
17147
17167
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42866,9 +42886,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42866
42886
|
"node-updating",
|
|
42867
42887
|
"node-inference-unavailable",
|
|
42868
42888
|
"detection-blind",
|
|
42889
|
+
"motion-noisy",
|
|
42890
|
+
"motion-calm",
|
|
42869
42891
|
"recording-stalled",
|
|
42870
42892
|
"recording-healthy",
|
|
42871
42893
|
"recording-degraded",
|
|
42894
|
+
"device-attention-required",
|
|
42895
|
+
"device-attention-resolved",
|
|
42872
42896
|
"storage-location-low",
|
|
42873
42897
|
"storage-location-critical",
|
|
42874
42898
|
"storage-location-ok",
|
|
@@ -56192,6 +56216,16 @@ var DishwasherStatusSchema = object({
|
|
|
56192
56216
|
powerState: string().nullable(),
|
|
56193
56217
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56194
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(),
|
|
56195
56229
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
56196
56230
|
halfLoad: boolean().nullable(),
|
|
56197
56231
|
hygienePlus: boolean().nullable(),
|
|
@@ -64842,16 +64876,6 @@ var UpdateUserInputSchema = object({
|
|
|
64842
64876
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64843
64877
|
scopes: array(TokenScopeSchema).optional()
|
|
64844
64878
|
});
|
|
64845
|
-
var ApiKeySummarySchema = object({
|
|
64846
|
-
id: string(),
|
|
64847
|
-
label: string(),
|
|
64848
|
-
isAdmin: boolean().default(false),
|
|
64849
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
64850
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64851
|
-
tokenPrefix: string(),
|
|
64852
|
-
createdAt: number(),
|
|
64853
|
-
lastUsedAt: number().optional()
|
|
64854
|
-
});
|
|
64855
64879
|
var OauthSessionSummarySchema = object({
|
|
64856
64880
|
id: string(),
|
|
64857
64881
|
userId: string(),
|
|
@@ -64873,8 +64897,7 @@ var TotpStatusSchema = object({
|
|
|
64873
64897
|
confirmedAt: number().nullable()
|
|
64874
64898
|
});
|
|
64875
64899
|
/**
|
|
64876
|
-
* user-management — singleton capability for user accounts
|
|
64877
|
-
* legacy API-key rows.
|
|
64900
|
+
* user-management — singleton capability for user accounts.
|
|
64878
64901
|
*
|
|
64879
64902
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64880
64903
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64930,10 +64953,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64930
64953
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64931
64954
|
kind: "mutation",
|
|
64932
64955
|
access: "view"
|
|
64933
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64934
|
-
kind: "mutation",
|
|
64935
|
-
auth: "admin",
|
|
64936
|
-
access: "delete"
|
|
64937
64956
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64938
64957
|
kind: "mutation",
|
|
64939
64958
|
auth: "admin",
|
|
@@ -74389,6 +74408,12 @@ Object.freeze({
|
|
|
74389
74408
|
addonId: null,
|
|
74390
74409
|
access: "view"
|
|
74391
74410
|
},
|
|
74411
|
+
"records.transact": {
|
|
74412
|
+
capName: "records",
|
|
74413
|
+
capScope: "system",
|
|
74414
|
+
addonId: null,
|
|
74415
|
+
access: "create"
|
|
74416
|
+
},
|
|
74392
74417
|
"sceneMonitor.captureReference": {
|
|
74393
74418
|
capName: "scene-monitor",
|
|
74394
74419
|
capScope: "device",
|
|
@@ -75721,12 +75746,6 @@ Object.freeze({
|
|
|
75721
75746
|
addonId: null,
|
|
75722
75747
|
access: "view"
|
|
75723
75748
|
},
|
|
75724
|
-
"userManagement.listApiKeys": {
|
|
75725
|
-
capName: "user-management",
|
|
75726
|
-
capScope: "system",
|
|
75727
|
-
addonId: null,
|
|
75728
|
-
access: "view"
|
|
75729
|
-
},
|
|
75730
75749
|
"userManagement.listExternalIdentities": {
|
|
75731
75750
|
capName: "user-management",
|
|
75732
75751
|
capScope: "system",
|
|
@@ -75781,12 +75800,6 @@ Object.freeze({
|
|
|
75781
75800
|
addonId: null,
|
|
75782
75801
|
access: "create"
|
|
75783
75802
|
},
|
|
75784
|
-
"userManagement.revokeApiKey": {
|
|
75785
|
-
capName: "user-management",
|
|
75786
|
-
capScope: "system",
|
|
75787
|
-
addonId: null,
|
|
75788
|
-
access: "delete"
|
|
75789
|
-
},
|
|
75790
75803
|
"userManagement.revokeOauthSession": {
|
|
75791
75804
|
capName: "user-management",
|
|
75792
75805
|
capScope: "system",
|
|
@@ -79151,9 +79164,13 @@ new Map(Object.entries({
|
|
|
79151
79164
|
"stream-online": "device-events",
|
|
79152
79165
|
"stream-offline": "device-events",
|
|
79153
79166
|
"detection-blind": "device-events",
|
|
79167
|
+
"motion-noisy": "device-events",
|
|
79168
|
+
"motion-calm": "device-events",
|
|
79154
79169
|
"recording-stalled": "device-events",
|
|
79155
79170
|
"recording-healthy": "device-events",
|
|
79156
79171
|
"recording-degraded": "device-events",
|
|
79172
|
+
"device-attention-required": "device-events",
|
|
79173
|
+
"device-attention-resolved": "device-events",
|
|
79157
79174
|
"node-online": "system",
|
|
79158
79175
|
"node-offline": "system",
|
|
79159
79176
|
"node-restarting": "system",
|
|
@@ -79236,6 +79253,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79236
79253
|
label: "Detecting nothing",
|
|
79237
79254
|
kinds: ["detection-blind"]
|
|
79238
79255
|
},
|
|
79256
|
+
{
|
|
79257
|
+
id: "motion-noise",
|
|
79258
|
+
family: "device-events",
|
|
79259
|
+
label: "Motion without a subject",
|
|
79260
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
79261
|
+
},
|
|
79239
79262
|
{
|
|
79240
79263
|
id: "recording",
|
|
79241
79264
|
family: "device-events",
|
|
@@ -79246,6 +79269,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79246
79269
|
"recording-degraded"
|
|
79247
79270
|
]
|
|
79248
79271
|
},
|
|
79272
|
+
{
|
|
79273
|
+
id: "device-attention",
|
|
79274
|
+
family: "device-events",
|
|
79275
|
+
label: "Needs attention",
|
|
79276
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
79277
|
+
},
|
|
79249
79278
|
{
|
|
79250
79279
|
id: "nodes",
|
|
79251
79280
|
family: "system",
|
|
@@ -79385,6 +79414,7 @@ var ALERT_EPISODE = [
|
|
|
79385
79414
|
"alert-error",
|
|
79386
79415
|
"alert-critical-resolved"
|
|
79387
79416
|
];
|
|
79417
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79388
79418
|
var UPDATES = [
|
|
79389
79419
|
"addon-update-available",
|
|
79390
79420
|
"server-update-available",
|
|
@@ -79414,9 +79444,12 @@ var DEVICE_EVENTS = [
|
|
|
79414
79444
|
"stream-online",
|
|
79415
79445
|
"stream-offline",
|
|
79416
79446
|
"detection-blind",
|
|
79447
|
+
"motion-noisy",
|
|
79448
|
+
"motion-calm",
|
|
79417
79449
|
"recording-stalled",
|
|
79418
79450
|
"recording-healthy",
|
|
79419
79451
|
"recording-degraded",
|
|
79452
|
+
...DEVICE_ATTENTION,
|
|
79420
79453
|
...ALARM
|
|
79421
79454
|
];
|
|
79422
79455
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -79584,7 +79617,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
79584
79617
|
[...RULE_TEXT],
|
|
79585
79618
|
[...RULE_TEXT],
|
|
79586
79619
|
[...RULE_TEXT],
|
|
79587
|
-
|
|
79620
|
+
[...RULE_TEXT],
|
|
79621
|
+
[...RULE_TEXT],
|
|
79622
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79588
79623
|
[...RULE_TEXT],
|
|
79589
79624
|
[...RULE_TEXT],
|
|
79590
79625
|
[...RULE_TEXT],
|
|
@@ -79606,11 +79641,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
79606
79641
|
[...RULE_TEXT],
|
|
79607
79642
|
[...RULE_TEXT],
|
|
79608
79643
|
[...RULE_TEXT],
|
|
79644
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79609
79645
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79646
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79610
79647
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79611
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79612
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79613
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79648
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79614
79649
|
[...RULE_TEXT],
|
|
79615
79650
|
[...RULE_TEXT],
|
|
79616
79651
|
[...RULE_TEXT],
|
|
@@ -79686,6 +79721,15 @@ new Map([
|
|
|
79686
79721
|
snapshotLabel: "Tanks low or full now",
|
|
79687
79722
|
snapshotSection: "tanks"
|
|
79688
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
|
+
},
|
|
79689
79733
|
{
|
|
79690
79734
|
id: "recording-health",
|
|
79691
79735
|
family: "device-events",
|
|
@@ -79695,6 +79739,15 @@ new Map([
|
|
|
79695
79739
|
snapshotLabel: "Recordings stalled now",
|
|
79696
79740
|
snapshotSection: null
|
|
79697
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
|
+
},
|
|
79698
79751
|
{
|
|
79699
79752
|
id: "node-connectivity",
|
|
79700
79753
|
family: "system",
|
|
@@ -80459,8 +80512,6 @@ function buildConnectionFormSchema() {
|
|
|
80459
80512
|
id: "connection",
|
|
80460
80513
|
title: "CCU connection",
|
|
80461
80514
|
titleKey: "provider-homematic:connection.s_connection.title",
|
|
80462
|
-
description: "Connect to a Homematic CCU3 or RaspberryMatic hub on your network.",
|
|
80463
|
-
descriptionKey: "provider-homematic:connection.s_connection.description",
|
|
80464
80515
|
columns: 1,
|
|
80465
80516
|
fields: [{
|
|
80466
80517
|
type: "text",
|
|
@@ -80475,7 +80526,7 @@ function buildConnectionFormSchema() {
|
|
|
80475
80526
|
id: "interfaces",
|
|
80476
80527
|
title: "Interfaces",
|
|
80477
80528
|
titleKey: "provider-homematic:connection.s_interfaces.title",
|
|
80478
|
-
description: "
|
|
80529
|
+
description: "CCU-Jack and CUxD are not supported.",
|
|
80479
80530
|
descriptionKey: "provider-homematic:connection.s_interfaces.description",
|
|
80480
80531
|
columns: 1,
|
|
80481
80532
|
fields: [
|
|
@@ -80513,7 +80564,7 @@ function buildConnectionFormSchema() {
|
|
|
80513
80564
|
id: "callback",
|
|
80514
80565
|
title: "Event callback",
|
|
80515
80566
|
titleKey: "provider-homematic:connection.s_callback.title",
|
|
80516
|
-
description: "
|
|
80567
|
+
description: "Optional; must be reachable from the CCU (not 127.0.0.1). Blank auto-infers the hub LAN address.",
|
|
80517
80568
|
descriptionKey: "provider-homematic:connection.s_callback.description",
|
|
80518
80569
|
columns: 2,
|
|
80519
80570
|
fields: [{
|
|
@@ -80536,7 +80587,7 @@ function buildConnectionFormSchema() {
|
|
|
80536
80587
|
id: "credentials",
|
|
80537
80588
|
title: "WebUI credentials",
|
|
80538
80589
|
titleKey: "provider-homematic:connection.s_credentials.title",
|
|
80539
|
-
description: "Optional. Unlocks friendly names, rooms, system variables and programs
|
|
80590
|
+
description: "Optional. Unlocks friendly names, rooms, system variables and programs.",
|
|
80540
80591
|
descriptionKey: "provider-homematic:connection.s_credentials.description",
|
|
80541
80592
|
columns: 2,
|
|
80542
80593
|
fields: [{
|
|
@@ -106762,15 +106813,13 @@ var HomematicProviderAddon = class extends BaseDeviceProvider {
|
|
|
106762
106813
|
id: "hm-broker",
|
|
106763
106814
|
title: "Homematic broker",
|
|
106764
106815
|
titleKey: "provider-homematic:globalSettings.s_hm-broker.title",
|
|
106765
|
-
description: "Homematic CCU brokers are managed in the External systems → Brokers tab.",
|
|
106766
|
-
descriptionKey: "provider-homematic:globalSettings.s_hm-broker.description",
|
|
106767
106816
|
columns: 1,
|
|
106768
106817
|
fields: [{
|
|
106769
106818
|
type: "info",
|
|
106770
106819
|
key: "brokerHelp",
|
|
106771
106820
|
label: "Brokers are managed separately",
|
|
106772
106821
|
labelKey: "provider-homematic:globalSettings.s_hm-broker.brokerHelp.label",
|
|
106773
|
-
content: "This integration links to a Homematic CCU broker
|
|
106822
|
+
content: "This integration links to a Homematic CCU broker managed under External systems → Brokers."
|
|
106774
106823
|
}]
|
|
106775
106824
|
}] });
|
|
106776
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
|
|
@@ -5565,7 +5574,7 @@ var ZodIssueCode = {
|
|
|
5565
5574
|
var ZodFirstPartyTypeKind;
|
|
5566
5575
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5567
5576
|
//#endregion
|
|
5568
|
-
//#region ../types/dist/sleep-
|
|
5577
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5569
5578
|
/**
|
|
5570
5579
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5571
5580
|
* window to float samples (D455).
|
|
@@ -8164,7 +8173,7 @@ var EntryDescriptorSchema = object({
|
|
|
8164
8173
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
8165
8174
|
fields: record(string(), unknown())
|
|
8166
8175
|
}).strict();
|
|
8167
|
-
/** What crosses the wire
|
|
8176
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
8168
8177
|
var RecordKindDeclarationSchema = object({
|
|
8169
8178
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
8170
8179
|
class: _enum(RECORD_CLASSES),
|
|
@@ -8183,14 +8192,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
8183
8192
|
secretPaths: array(string().min(1)).default([]),
|
|
8184
8193
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
8185
8194
|
secretArrayKeys: record(string(), string()).default({}),
|
|
8186
|
-
/**
|
|
8187
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
8188
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8189
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8190
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8191
|
-
* removal still sends it. Never set it.
|
|
8192
|
-
*/
|
|
8193
|
-
adoptsFrom: string().min(1).optional(),
|
|
8194
8195
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8195
8196
|
transactFamily: string().min(1).optional(),
|
|
8196
8197
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12986,17 +12987,6 @@ object({
|
|
|
12986
12987
|
createdAt: number(),
|
|
12987
12988
|
updatedAt: number()
|
|
12988
12989
|
});
|
|
12989
|
-
object({
|
|
12990
|
-
id: string(),
|
|
12991
|
-
label: string(),
|
|
12992
|
-
isAdmin: boolean().default(false),
|
|
12993
|
-
allowedProviders: AllowedProviderSchema,
|
|
12994
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12995
|
-
tokenHash: string(),
|
|
12996
|
-
tokenPrefix: string(),
|
|
12997
|
-
createdAt: number(),
|
|
12998
|
-
lastUsedAt: number().optional()
|
|
12999
|
-
});
|
|
13000
12990
|
object({
|
|
13001
12991
|
id: string(),
|
|
13002
12992
|
userId: string(),
|
|
@@ -17027,16 +17017,36 @@ var RecordKindStateSchema = _enum([
|
|
|
17027
17017
|
var DeclareKindResultSchema = object({
|
|
17028
17018
|
kindId: number().int(),
|
|
17029
17019
|
state: RecordKindStateSchema,
|
|
17030
|
-
createdIndexes: array(string())
|
|
17031
|
-
/**
|
|
17032
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
17033
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
17034
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
17035
|
-
*/
|
|
17036
|
-
adoptionPending: _null()
|
|
17020
|
+
createdIndexes: array(string())
|
|
17037
17021
|
});
|
|
17038
17022
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
17039
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
|
+
]);
|
|
17040
17050
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
17041
17051
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
17042
17052
|
kind: "mutation",
|
|
@@ -17143,6 +17153,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
17143
17153
|
}), {
|
|
17144
17154
|
kind: "mutation",
|
|
17145
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"
|
|
17146
17166
|
}), method(object({
|
|
17147
17167
|
deviceId: number().int(),
|
|
17148
17168
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42867,9 +42887,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42867
42887
|
"node-updating",
|
|
42868
42888
|
"node-inference-unavailable",
|
|
42869
42889
|
"detection-blind",
|
|
42890
|
+
"motion-noisy",
|
|
42891
|
+
"motion-calm",
|
|
42870
42892
|
"recording-stalled",
|
|
42871
42893
|
"recording-healthy",
|
|
42872
42894
|
"recording-degraded",
|
|
42895
|
+
"device-attention-required",
|
|
42896
|
+
"device-attention-resolved",
|
|
42873
42897
|
"storage-location-low",
|
|
42874
42898
|
"storage-location-critical",
|
|
42875
42899
|
"storage-location-ok",
|
|
@@ -56193,6 +56217,16 @@ var DishwasherStatusSchema = object({
|
|
|
56193
56217
|
powerState: string().nullable(),
|
|
56194
56218
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56195
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(),
|
|
56196
56230
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
56197
56231
|
halfLoad: boolean().nullable(),
|
|
56198
56232
|
hygienePlus: boolean().nullable(),
|
|
@@ -64843,16 +64877,6 @@ var UpdateUserInputSchema = object({
|
|
|
64843
64877
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64844
64878
|
scopes: array(TokenScopeSchema).optional()
|
|
64845
64879
|
});
|
|
64846
|
-
var ApiKeySummarySchema = object({
|
|
64847
|
-
id: string(),
|
|
64848
|
-
label: string(),
|
|
64849
|
-
isAdmin: boolean().default(false),
|
|
64850
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
64851
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64852
|
-
tokenPrefix: string(),
|
|
64853
|
-
createdAt: number(),
|
|
64854
|
-
lastUsedAt: number().optional()
|
|
64855
|
-
});
|
|
64856
64880
|
var OauthSessionSummarySchema = object({
|
|
64857
64881
|
id: string(),
|
|
64858
64882
|
userId: string(),
|
|
@@ -64874,8 +64898,7 @@ var TotpStatusSchema = object({
|
|
|
64874
64898
|
confirmedAt: number().nullable()
|
|
64875
64899
|
});
|
|
64876
64900
|
/**
|
|
64877
|
-
* user-management — singleton capability for user accounts
|
|
64878
|
-
* legacy API-key rows.
|
|
64901
|
+
* user-management — singleton capability for user accounts.
|
|
64879
64902
|
*
|
|
64880
64903
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64881
64904
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64931,10 +64954,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64931
64954
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64932
64955
|
kind: "mutation",
|
|
64933
64956
|
access: "view"
|
|
64934
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64935
|
-
kind: "mutation",
|
|
64936
|
-
auth: "admin",
|
|
64937
|
-
access: "delete"
|
|
64938
64957
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64939
64958
|
kind: "mutation",
|
|
64940
64959
|
auth: "admin",
|
|
@@ -74390,6 +74409,12 @@ Object.freeze({
|
|
|
74390
74409
|
addonId: null,
|
|
74391
74410
|
access: "view"
|
|
74392
74411
|
},
|
|
74412
|
+
"records.transact": {
|
|
74413
|
+
capName: "records",
|
|
74414
|
+
capScope: "system",
|
|
74415
|
+
addonId: null,
|
|
74416
|
+
access: "create"
|
|
74417
|
+
},
|
|
74393
74418
|
"sceneMonitor.captureReference": {
|
|
74394
74419
|
capName: "scene-monitor",
|
|
74395
74420
|
capScope: "device",
|
|
@@ -75722,12 +75747,6 @@ Object.freeze({
|
|
|
75722
75747
|
addonId: null,
|
|
75723
75748
|
access: "view"
|
|
75724
75749
|
},
|
|
75725
|
-
"userManagement.listApiKeys": {
|
|
75726
|
-
capName: "user-management",
|
|
75727
|
-
capScope: "system",
|
|
75728
|
-
addonId: null,
|
|
75729
|
-
access: "view"
|
|
75730
|
-
},
|
|
75731
75750
|
"userManagement.listExternalIdentities": {
|
|
75732
75751
|
capName: "user-management",
|
|
75733
75752
|
capScope: "system",
|
|
@@ -75782,12 +75801,6 @@ Object.freeze({
|
|
|
75782
75801
|
addonId: null,
|
|
75783
75802
|
access: "create"
|
|
75784
75803
|
},
|
|
75785
|
-
"userManagement.revokeApiKey": {
|
|
75786
|
-
capName: "user-management",
|
|
75787
|
-
capScope: "system",
|
|
75788
|
-
addonId: null,
|
|
75789
|
-
access: "delete"
|
|
75790
|
-
},
|
|
75791
75804
|
"userManagement.revokeOauthSession": {
|
|
75792
75805
|
capName: "user-management",
|
|
75793
75806
|
capScope: "system",
|
|
@@ -79152,9 +79165,13 @@ new Map(Object.entries({
|
|
|
79152
79165
|
"stream-online": "device-events",
|
|
79153
79166
|
"stream-offline": "device-events",
|
|
79154
79167
|
"detection-blind": "device-events",
|
|
79168
|
+
"motion-noisy": "device-events",
|
|
79169
|
+
"motion-calm": "device-events",
|
|
79155
79170
|
"recording-stalled": "device-events",
|
|
79156
79171
|
"recording-healthy": "device-events",
|
|
79157
79172
|
"recording-degraded": "device-events",
|
|
79173
|
+
"device-attention-required": "device-events",
|
|
79174
|
+
"device-attention-resolved": "device-events",
|
|
79158
79175
|
"node-online": "system",
|
|
79159
79176
|
"node-offline": "system",
|
|
79160
79177
|
"node-restarting": "system",
|
|
@@ -79237,6 +79254,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79237
79254
|
label: "Detecting nothing",
|
|
79238
79255
|
kinds: ["detection-blind"]
|
|
79239
79256
|
},
|
|
79257
|
+
{
|
|
79258
|
+
id: "motion-noise",
|
|
79259
|
+
family: "device-events",
|
|
79260
|
+
label: "Motion without a subject",
|
|
79261
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
79262
|
+
},
|
|
79240
79263
|
{
|
|
79241
79264
|
id: "recording",
|
|
79242
79265
|
family: "device-events",
|
|
@@ -79247,6 +79270,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79247
79270
|
"recording-degraded"
|
|
79248
79271
|
]
|
|
79249
79272
|
},
|
|
79273
|
+
{
|
|
79274
|
+
id: "device-attention",
|
|
79275
|
+
family: "device-events",
|
|
79276
|
+
label: "Needs attention",
|
|
79277
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
79278
|
+
},
|
|
79250
79279
|
{
|
|
79251
79280
|
id: "nodes",
|
|
79252
79281
|
family: "system",
|
|
@@ -79386,6 +79415,7 @@ var ALERT_EPISODE = [
|
|
|
79386
79415
|
"alert-error",
|
|
79387
79416
|
"alert-critical-resolved"
|
|
79388
79417
|
];
|
|
79418
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79389
79419
|
var UPDATES = [
|
|
79390
79420
|
"addon-update-available",
|
|
79391
79421
|
"server-update-available",
|
|
@@ -79415,9 +79445,12 @@ var DEVICE_EVENTS = [
|
|
|
79415
79445
|
"stream-online",
|
|
79416
79446
|
"stream-offline",
|
|
79417
79447
|
"detection-blind",
|
|
79448
|
+
"motion-noisy",
|
|
79449
|
+
"motion-calm",
|
|
79418
79450
|
"recording-stalled",
|
|
79419
79451
|
"recording-healthy",
|
|
79420
79452
|
"recording-degraded",
|
|
79453
|
+
...DEVICE_ATTENTION,
|
|
79421
79454
|
...ALARM
|
|
79422
79455
|
];
|
|
79423
79456
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -79585,7 +79618,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
79585
79618
|
[...RULE_TEXT],
|
|
79586
79619
|
[...RULE_TEXT],
|
|
79587
79620
|
[...RULE_TEXT],
|
|
79588
|
-
|
|
79621
|
+
[...RULE_TEXT],
|
|
79622
|
+
[...RULE_TEXT],
|
|
79623
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79589
79624
|
[...RULE_TEXT],
|
|
79590
79625
|
[...RULE_TEXT],
|
|
79591
79626
|
[...RULE_TEXT],
|
|
@@ -79607,11 +79642,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
79607
79642
|
[...RULE_TEXT],
|
|
79608
79643
|
[...RULE_TEXT],
|
|
79609
79644
|
[...RULE_TEXT],
|
|
79645
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79610
79646
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79647
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79611
79648
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79612
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79613
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79614
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
79649
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
79615
79650
|
[...RULE_TEXT],
|
|
79616
79651
|
[...RULE_TEXT],
|
|
79617
79652
|
[...RULE_TEXT],
|
|
@@ -79687,6 +79722,15 @@ new Map([
|
|
|
79687
79722
|
snapshotLabel: "Tanks low or full now",
|
|
79688
79723
|
snapshotSection: "tanks"
|
|
79689
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
|
+
},
|
|
79690
79734
|
{
|
|
79691
79735
|
id: "recording-health",
|
|
79692
79736
|
family: "device-events",
|
|
@@ -79696,6 +79740,15 @@ new Map([
|
|
|
79696
79740
|
snapshotLabel: "Recordings stalled now",
|
|
79697
79741
|
snapshotSection: null
|
|
79698
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
|
+
},
|
|
79699
79752
|
{
|
|
79700
79753
|
id: "node-connectivity",
|
|
79701
79754
|
family: "system",
|
|
@@ -80460,8 +80513,6 @@ function buildConnectionFormSchema() {
|
|
|
80460
80513
|
id: "connection",
|
|
80461
80514
|
title: "CCU connection",
|
|
80462
80515
|
titleKey: "provider-homematic:connection.s_connection.title",
|
|
80463
|
-
description: "Connect to a Homematic CCU3 or RaspberryMatic hub on your network.",
|
|
80464
|
-
descriptionKey: "provider-homematic:connection.s_connection.description",
|
|
80465
80516
|
columns: 1,
|
|
80466
80517
|
fields: [{
|
|
80467
80518
|
type: "text",
|
|
@@ -80476,7 +80527,7 @@ function buildConnectionFormSchema() {
|
|
|
80476
80527
|
id: "interfaces",
|
|
80477
80528
|
title: "Interfaces",
|
|
80478
80529
|
titleKey: "provider-homematic:connection.s_interfaces.title",
|
|
80479
|
-
description: "
|
|
80530
|
+
description: "CCU-Jack and CUxD are not supported.",
|
|
80480
80531
|
descriptionKey: "provider-homematic:connection.s_interfaces.description",
|
|
80481
80532
|
columns: 1,
|
|
80482
80533
|
fields: [
|
|
@@ -80514,7 +80565,7 @@ function buildConnectionFormSchema() {
|
|
|
80514
80565
|
id: "callback",
|
|
80515
80566
|
title: "Event callback",
|
|
80516
80567
|
titleKey: "provider-homematic:connection.s_callback.title",
|
|
80517
|
-
description: "
|
|
80568
|
+
description: "Optional; must be reachable from the CCU (not 127.0.0.1). Blank auto-infers the hub LAN address.",
|
|
80518
80569
|
descriptionKey: "provider-homematic:connection.s_callback.description",
|
|
80519
80570
|
columns: 2,
|
|
80520
80571
|
fields: [{
|
|
@@ -80537,7 +80588,7 @@ function buildConnectionFormSchema() {
|
|
|
80537
80588
|
id: "credentials",
|
|
80538
80589
|
title: "WebUI credentials",
|
|
80539
80590
|
titleKey: "provider-homematic:connection.s_credentials.title",
|
|
80540
|
-
description: "Optional. Unlocks friendly names, rooms, system variables and programs
|
|
80591
|
+
description: "Optional. Unlocks friendly names, rooms, system variables and programs.",
|
|
80541
80592
|
descriptionKey: "provider-homematic:connection.s_credentials.description",
|
|
80542
80593
|
columns: 2,
|
|
80543
80594
|
fields: [{
|
|
@@ -106763,15 +106814,13 @@ var HomematicProviderAddon = class extends BaseDeviceProvider {
|
|
|
106763
106814
|
id: "hm-broker",
|
|
106764
106815
|
title: "Homematic broker",
|
|
106765
106816
|
titleKey: "provider-homematic:globalSettings.s_hm-broker.title",
|
|
106766
|
-
description: "Homematic CCU brokers are managed in the External systems → Brokers tab.",
|
|
106767
|
-
descriptionKey: "provider-homematic:globalSettings.s_hm-broker.description",
|
|
106768
106817
|
columns: 1,
|
|
106769
106818
|
fields: [{
|
|
106770
106819
|
type: "info",
|
|
106771
106820
|
key: "brokerHelp",
|
|
106772
106821
|
label: "Brokers are managed separately",
|
|
106773
106822
|
labelKey: "provider-homematic:globalSettings.s_hm-broker.brokerHelp.label",
|
|
106774
|
-
content: "This integration links to a Homematic CCU broker
|
|
106823
|
+
content: "This integration links to a Homematic CCU broker managed under External systems → Brokers."
|
|
106775
106824
|
}]
|
|
106776
106825
|
}] });
|
|
106777
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