@zwave-js/config 9.0.4 → 9.0.5

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.
Files changed (61) hide show
  1. package/build/ConfigManager.d.ts +1 -1
  2. package/build/ConfigManager.d.ts.map +1 -1
  3. package/build/ConfigManager.js +6 -6
  4. package/build/ConfigManager.js.map +1 -1
  5. package/build/devices/AssociationConfig.d.ts +27 -0
  6. package/build/devices/AssociationConfig.d.ts.map +1 -0
  7. package/build/devices/AssociationConfig.js +57 -0
  8. package/build/devices/AssociationConfig.js.map +1 -0
  9. package/build/{CompatConfig.d.ts → devices/CompatConfig.d.ts} +6 -1
  10. package/build/devices/CompatConfig.d.ts.map +1 -0
  11. package/build/{CompatConfig.js → devices/CompatConfig.js} +30 -4
  12. package/build/devices/CompatConfig.js.map +1 -0
  13. package/build/devices/ConditionalItem.d.ts +14 -0
  14. package/build/devices/ConditionalItem.d.ts.map +1 -0
  15. package/build/devices/ConditionalItem.js +106 -0
  16. package/build/devices/ConditionalItem.js.map +1 -0
  17. package/build/devices/ConditionalPrimitive.d.ts +13 -0
  18. package/build/devices/ConditionalPrimitive.d.ts.map +1 -0
  19. package/build/devices/ConditionalPrimitive.js +38 -0
  20. package/build/devices/ConditionalPrimitive.js.map +1 -0
  21. package/build/{Devices.d.ts → devices/DeviceConfig.d.ts} +14 -106
  22. package/build/devices/DeviceConfig.d.ts.map +1 -0
  23. package/build/{Devices.js → devices/DeviceConfig.js} +35 -348
  24. package/build/devices/DeviceConfig.js.map +1 -0
  25. package/build/devices/DeviceConfig.unit._test.d.ts +1 -0
  26. package/build/devices/DeviceConfig.unit._test.d.ts.map +1 -0
  27. package/build/{Devices.unit._test.js → devices/DeviceConfig.unit._test.js} +1 -1
  28. package/build/devices/DeviceConfig.unit._test.js.map +1 -0
  29. package/build/devices/DeviceMetadata.d.ts +41 -0
  30. package/build/devices/DeviceMetadata.d.ts.map +1 -0
  31. package/build/devices/DeviceMetadata.js +76 -0
  32. package/build/devices/DeviceMetadata.js.map +1 -0
  33. package/build/devices/EndpointConfig.d.ts +15 -0
  34. package/build/devices/EndpointConfig.d.ts.map +1 -0
  35. package/build/devices/EndpointConfig.js +44 -0
  36. package/build/devices/EndpointConfig.js.map +1 -0
  37. package/build/devices/ParamInformation.d.ts +41 -0
  38. package/build/devices/ParamInformation.d.ts.map +1 -0
  39. package/build/devices/ParamInformation.js +155 -0
  40. package/build/devices/ParamInformation.js.map +1 -0
  41. package/build/devices/shared.d.ts +11 -0
  42. package/build/devices/shared.d.ts.map +1 -0
  43. package/build/devices/shared.js +3 -0
  44. package/build/devices/shared.js.map +1 -0
  45. package/build/index.d.ts +6 -1
  46. package/build/index.d.ts.map +1 -1
  47. package/build/index.js +6 -1
  48. package/build/index.js.map +1 -1
  49. package/build/utils.d.ts +1 -1
  50. package/build/utils.d.ts.map +1 -1
  51. package/config/devices/0x001a/rf9542.json +4 -1
  52. package/config/devices/0x001d/vrcs2.json +4 -0
  53. package/config/devices/0x0403/shlm10000.json +16 -0
  54. package/package.json +2 -2
  55. package/build/CompatConfig.d.ts.map +0 -1
  56. package/build/CompatConfig.js.map +0 -1
  57. package/build/Devices.d.ts.map +0 -1
  58. package/build/Devices.js.map +0 -1
  59. package/build/Devices.unit._test.d.ts +0 -1
  60. package/build/Devices.unit._test.d.ts.map +0 -1
  61. package/build/Devices.unit._test.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceConfig.unit._test.d.ts","sourceRoot":"","sources":["../../src/devices/DeviceConfig.unit._test.ts"],"names":[],"mappings":""}
@@ -203,4 +203,4 @@
203
203
  // });
204
204
  // });
205
205
  // });
206
- //# sourceMappingURL=Devices.unit._test.js.map
206
+ //# sourceMappingURL=DeviceConfig.unit._test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceConfig.unit._test.js","sourceRoot":"","sources":["../../src/devices/DeviceConfig.unit._test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { type JSONObject } from "@zwave-js/shared/safe";
2
+ import { ConditionalItem } from "./ConditionalItem";
3
+ import { ConditionalPrimitive } from "./ConditionalPrimitive";
4
+ import type { DeviceID } from "./shared";
5
+ export declare class ConditionalDeviceMetadata implements ConditionalItem<DeviceMetadata> {
6
+ constructor(filename: string, definition: JSONObject);
7
+ readonly condition?: string;
8
+ evaluateCondition(deviceId?: DeviceID): DeviceMetadata | undefined;
9
+ /** How to wake up the device manually */
10
+ readonly wakeup?: ConditionalPrimitive<string>;
11
+ /** Inclusion instructions */
12
+ readonly inclusion?: ConditionalPrimitive<string>;
13
+ /** Exclusion instructions */
14
+ readonly exclusion?: ConditionalPrimitive<string>;
15
+ /** Instructions for resetting the device to factory defaults */
16
+ readonly reset?: ConditionalPrimitive<string>;
17
+ /** A link to the device manual */
18
+ readonly manual?: ConditionalPrimitive<string>;
19
+ /** Comments for this device */
20
+ readonly comments?: ConditionalDeviceComment | ConditionalDeviceComment[];
21
+ }
22
+ export interface DeviceMetadata {
23
+ wakeup?: string;
24
+ inclusion?: string;
25
+ exclusion?: string;
26
+ reset?: string;
27
+ manual?: string;
28
+ comments?: DeviceComment | DeviceComment[];
29
+ }
30
+ export declare class ConditionalDeviceComment implements ConditionalItem<DeviceComment> {
31
+ readonly level: DeviceComment["level"];
32
+ readonly text: string;
33
+ readonly condition?: string | undefined;
34
+ constructor(level: DeviceComment["level"], text: string, condition?: string | undefined);
35
+ evaluateCondition(deviceId?: DeviceID): DeviceComment | undefined;
36
+ }
37
+ export interface DeviceComment {
38
+ level: "info" | "warning" | "error";
39
+ text: string;
40
+ }
41
+ //# sourceMappingURL=DeviceMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceMetadata.d.ts","sourceRoot":"","sources":["../../src/devices/DeviceMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAG9D,OAAO,EACN,eAAe,EAGf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,oBAAoB,EAEpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,qBAAa,yBACZ,YAAW,eAAe,CAAC,cAAc,CAAC;gBAEvB,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IA+C3D,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,SAAS;IAqBzE,yCAAyC;IACzC,SAAgB,MAAM,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACtD,6BAA6B;IAC7B,SAAgB,SAAS,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACzD,6BAA6B;IAC7B,SAAgB,SAAS,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACzD,gEAAgE;IAChE,SAAgB,KAAK,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACrD,kCAAkC;IAClC,SAAgB,MAAM,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACtD,+BAA+B;IAC/B,SAAgB,QAAQ,CAAC,EACtB,wBAAwB,GACxB,wBAAwB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC;CAC3C;AAED,qBAAa,wBACZ,YAAW,eAAe,CAAC,aAAa,CAAC;aAGxB,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC;aAC7B,IAAI,EAAE,MAAM;aACZ,SAAS,CAAC;gBAFV,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,EAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,oBAAQ;IAG5B,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS;CAIxE;AAED,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;CACb"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConditionalDeviceComment = exports.ConditionalDeviceMetadata = void 0;
4
+ const safe_1 = require("@zwave-js/shared/safe");
5
+ const typeguards_1 = require("alcalzone-shared/typeguards");
6
+ const utils_safe_1 = require("../utils_safe");
7
+ const ConditionalItem_1 = require("./ConditionalItem");
8
+ const ConditionalPrimitive_1 = require("./ConditionalPrimitive");
9
+ class ConditionalDeviceMetadata {
10
+ constructor(filename, definition) {
11
+ for (const prop of [
12
+ "wakeup",
13
+ "inclusion",
14
+ "exclusion",
15
+ "reset",
16
+ "manual",
17
+ ]) {
18
+ if (prop in definition) {
19
+ this[prop] = (0, ConditionalPrimitive_1.parseConditionalPrimitive)(filename, "string", prop, definition[prop], "The metadata entry ");
20
+ }
21
+ }
22
+ if ("comments" in definition) {
23
+ const value = definition.comments;
24
+ const isComment = (opt) => (0, typeguards_1.isObject)(opt) &&
25
+ typeof opt.level === "string" &&
26
+ typeof opt.text === "string";
27
+ if (isComment(value)) {
28
+ this.comments = new ConditionalDeviceComment(value.level, value.text, value.$if);
29
+ }
30
+ else if ((0, typeguards_1.isArray)(value) && value.every(isComment)) {
31
+ this.comments = value.map((c) => new ConditionalDeviceComment(c.level, c.text, c.$if));
32
+ }
33
+ else {
34
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${filename}:
35
+ The metadata entry comments is invalid!`);
36
+ }
37
+ }
38
+ }
39
+ evaluateCondition(deviceId) {
40
+ if (!(0, ConditionalItem_1.conditionApplies)(this, deviceId))
41
+ return;
42
+ const ret = {};
43
+ for (const prop of [
44
+ "wakeup",
45
+ "inclusion",
46
+ "exclusion",
47
+ "reset",
48
+ "manual",
49
+ ]) {
50
+ if (this[prop]) {
51
+ const evaluated = (0, ConditionalItem_1.evaluateDeep)(this[prop], deviceId);
52
+ if (evaluated)
53
+ ret[prop] = evaluated;
54
+ }
55
+ }
56
+ const comments = (0, ConditionalItem_1.evaluateDeep)(this.comments, deviceId, true);
57
+ if (comments)
58
+ ret.comments = comments;
59
+ return ret;
60
+ }
61
+ }
62
+ exports.ConditionalDeviceMetadata = ConditionalDeviceMetadata;
63
+ class ConditionalDeviceComment {
64
+ constructor(level, text, condition) {
65
+ this.level = level;
66
+ this.text = text;
67
+ this.condition = condition;
68
+ }
69
+ evaluateCondition(deviceId) {
70
+ if (!(0, ConditionalItem_1.conditionApplies)(this, deviceId))
71
+ return;
72
+ return (0, safe_1.pick)(this, ["level", "text"]);
73
+ }
74
+ }
75
+ exports.ConditionalDeviceComment = ConditionalDeviceComment;
76
+ //# sourceMappingURL=DeviceMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceMetadata.js","sourceRoot":"","sources":["../../src/devices/DeviceMetadata.ts"],"names":[],"mappings":";;;AAAA,gDAA8D;AAC9D,4DAAgE;AAChE,8CAAmD;AACnD,uDAI2B;AAC3B,iEAGgC;AAGhC,MAAa,yBAAyB;IAGrC,YAAmB,QAAgB,EAAE,UAAsB;QAC1D,KAAK,MAAM,IAAI,IAAI;YAClB,QAAQ;YACR,WAAW;YACX,WAAW;YACX,OAAO;YACP,QAAQ;SACC,EAAE;YACX,IAAI,IAAI,IAAI,UAAU,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAA,gDAAyB,EACrC,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,UAAU,CAAC,IAAI,CAAC,EAChB,qBAAqB,CACrB,CAAC;aACF;SACD;QAED,IAAI,UAAU,IAAI,UAAU,EAAE;YAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC;YAClC,MAAM,SAAS,GAAG,CAAC,GAAY,EAAE,EAAE,CAClC,IAAA,qBAAQ,EAAC,GAAG,CAAC;gBACb,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAC7B,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;YAE9B,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;gBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAwB,CAC3C,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,GAAG,CACT,CAAC;aACF;iBAAM,IAAI,IAAA,oBAAO,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;gBACpD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CACxB,CAAC,CAAM,EAAE,EAAE,CACV,IAAI,wBAAwB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CACrD,CAAC;aACF;iBAAM;gBACN,IAAA,+BAAkB,EACjB,SAAS,EACT,kCAAkC,QAAQ;wCACP,CACnC,CAAC;aACF;SACD;IACF,CAAC;IAIM,iBAAiB,CAAC,QAAmB;QAC3C,IAAI,CAAC,IAAA,kCAAgB,EAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO;QAC9C,MAAM,GAAG,GAAmB,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI;YAClB,QAAQ;YACR,WAAW;YACX,WAAW;YACX,OAAO;YACP,QAAQ;SACC,EAAE;YACX,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;gBACf,MAAM,SAAS,GAAG,IAAA,8BAAY,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACrD,IAAI,SAAS;oBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;aACrC;SACD;QACD,MAAM,QAAQ,GAAG,IAAA,8BAAY,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,QAAQ;YAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEtC,OAAO,GAAG,CAAC;IACZ,CAAC;CAgBD;AAvFD,8DAuFC;AAWD,MAAa,wBAAwB;IAGpC,YACiB,KAA6B,EAC7B,IAAY,EACZ,SAAkB;QAFlB,UAAK,GAAL,KAAK,CAAwB;QAC7B,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAAS;IAChC,CAAC;IAEG,iBAAiB,CAAC,QAAmB;QAC3C,IAAI,CAAC,IAAA,kCAAgB,EAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO;QAC9C,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;CACD;AAbD,4DAaC"}
@@ -0,0 +1,15 @@
1
+ import type { JSONObject } from "@zwave-js/shared/safe";
2
+ import { ConditionalAssociationConfig, type AssociationConfig } from "./AssociationConfig";
3
+ import { ConditionalItem } from "./ConditionalItem";
4
+ import type { DeviceID } from "./shared";
5
+ export declare class ConditionalEndpointConfig implements ConditionalItem<EndpointConfig> {
6
+ constructor(filename: string, index: number, definition: JSONObject);
7
+ readonly index: number;
8
+ readonly associations?: ReadonlyMap<number, ConditionalAssociationConfig>;
9
+ readonly condition?: string;
10
+ evaluateCondition(deviceId?: DeviceID): EndpointConfig | undefined;
11
+ }
12
+ export declare type EndpointConfig = Omit<ConditionalEndpointConfig, "condition" | "evaluateCondition" | "associations"> & {
13
+ associations?: Map<number, AssociationConfig> | undefined;
14
+ };
15
+ //# sourceMappingURL=EndpointConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointConfig.d.ts","sourceRoot":"","sources":["../../src/devices/EndpointConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD,OAAO,EACN,4BAA4B,EAC5B,KAAK,iBAAiB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,eAAe,EAIf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,qBAAa,yBACZ,YAAW,eAAe,CAAC,cAAc,CAAC;gBAGzC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU;IAgDvB,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,YAAY,CAAC,EAAE,WAAW,CACzC,MAAM,EACN,4BAA4B,CAC5B,CAAC;IAEF,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,SAAS;CAUzE;AAED,oBAAY,cAAc,GAAG,IAAI,CAChC,yBAAyB,EACzB,WAAW,GAAG,mBAAmB,GAAG,cAAc,CAClD,GAAG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,SAAS,CAAC;CAC1D,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConditionalEndpointConfig = void 0;
4
+ const objects_1 = require("alcalzone-shared/objects");
5
+ const typeguards_1 = require("alcalzone-shared/typeguards");
6
+ const utils_safe_1 = require("../utils_safe");
7
+ const AssociationConfig_1 = require("./AssociationConfig");
8
+ const ConditionalItem_1 = require("./ConditionalItem");
9
+ class ConditionalEndpointConfig {
10
+ constructor(filename, index, definition) {
11
+ this.index = index;
12
+ (0, ConditionalItem_1.validateCondition)(filename, definition, `Endpoint ${index} contains an`);
13
+ this.condition = definition.$if;
14
+ if (definition.associations != undefined) {
15
+ const associations = new Map();
16
+ if (!(0, typeguards_1.isObject)(definition.associations)) {
17
+ (0, utils_safe_1.throwInvalidConfig)(`device`, `packages/config/config/devices/${filename}:
18
+ Endpoint ${index}: associations is not an object`);
19
+ }
20
+ for (const [key, assocDefinition] of (0, objects_1.entries)(definition.associations)) {
21
+ if (!/^[1-9][0-9]*$/.test(key)) {
22
+ (0, utils_safe_1.throwInvalidConfig)(`device`, `packages/config/config/devices/${filename}:
23
+ Endpoint ${index}: found non-numeric group id "${key}" in associations`);
24
+ }
25
+ const keyNum = parseInt(key, 10);
26
+ associations.set(keyNum, new AssociationConfig_1.ConditionalAssociationConfig(filename, keyNum, assocDefinition));
27
+ }
28
+ this.associations = associations;
29
+ }
30
+ }
31
+ evaluateCondition(deviceId) {
32
+ if (!(0, ConditionalItem_1.conditionApplies)(this, deviceId))
33
+ return;
34
+ const ret = {
35
+ index: this.index,
36
+ };
37
+ const associations = (0, ConditionalItem_1.evaluateDeep)(this.associations, deviceId);
38
+ if (associations)
39
+ ret.associations = associations;
40
+ return ret;
41
+ }
42
+ }
43
+ exports.ConditionalEndpointConfig = ConditionalEndpointConfig;
44
+ //# sourceMappingURL=EndpointConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointConfig.js","sourceRoot":"","sources":["../../src/devices/EndpointConfig.ts"],"names":[],"mappings":";;;AACA,sDAAmD;AACnD,4DAAuD;AACvD,8CAAmD;AACnD,2DAG6B;AAC7B,uDAK2B;AAG3B,MAAa,yBAAyB;IAGrC,YACC,QAAgB,EAChB,KAAa,EACb,UAAsB;QAEtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAA,mCAAiB,EAChB,QAAQ,EACR,UAAU,EACV,YAAY,KAAK,cAAc,CAC/B,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC;QAEhC,IAAI,UAAU,CAAC,YAAY,IAAI,SAAS,EAAE;YACzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAGzB,CAAC;YACJ,IAAI,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,YAAY,CAAC,EAAE;gBACvC,IAAA,+BAAkB,EACjB,QAAQ,EACR,kCAAkC,QAAQ;WACpC,KAAK,iCAAiC,CAC5C,CAAC;aACF;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,IAAA,iBAAO,EAC3C,UAAU,CAAC,YAAY,CACvB,EAAE;gBACF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBAC/B,IAAA,+BAAkB,EACjB,QAAQ,EACR,kCAAkC,QAAQ;WACrC,KAAK,iCAAiC,GAAG,mBAAmB,CACjE,CAAC;iBACF;gBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACjC,YAAY,CAAC,GAAG,CACf,MAAM,EACN,IAAI,gDAA4B,CAC/B,QAAQ,EACR,MAAM,EACN,eAAe,CACf,CACD,CAAC;aACF;YACD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;SACjC;IACF,CAAC;IAUM,iBAAiB,CAAC,QAAmB;QAC3C,IAAI,CAAC,IAAA,kCAAgB,EAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO;QAC9C,MAAM,GAAG,GAAmB;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;QACF,MAAM,YAAY,GAAG,IAAA,8BAAY,EAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,YAAY;YAAE,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;QAElD,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAxED,8DAwEC"}
@@ -0,0 +1,41 @@
1
+ import { type JSONObject } from "@zwave-js/shared/safe";
2
+ import { ConditionalItem } from "./ConditionalItem";
3
+ import type { ConditionalDeviceConfig } from "./DeviceConfig";
4
+ import type { DeviceID } from "./shared";
5
+ export declare class ConditionalParamInformation implements ConditionalItem<ParamInformation> {
6
+ constructor(parent: ConditionalDeviceConfig, parameterNumber: number, valueBitMask: number | undefined, definition: JSONObject);
7
+ private parent;
8
+ readonly parameterNumber: number;
9
+ readonly valueBitMask?: number;
10
+ readonly label: string;
11
+ readonly description?: string;
12
+ readonly valueSize: number;
13
+ readonly minValue?: number;
14
+ readonly maxValue?: number;
15
+ readonly unsigned?: boolean;
16
+ readonly defaultValue: number;
17
+ readonly unit?: string;
18
+ readonly readOnly?: true;
19
+ readonly writeOnly?: true;
20
+ readonly allowManualEntry: boolean;
21
+ readonly options: readonly ConditionalConfigOption[];
22
+ readonly condition?: string;
23
+ evaluateCondition(deviceId?: DeviceID): ParamInformation | undefined;
24
+ }
25
+ export declare type ParamInformation = Omit<ConditionalParamInformation, "condition" | "evaluateCondition" | "options" | "minValue" | "maxValue"> & {
26
+ options: readonly ConfigOption[];
27
+ minValue: NonNullable<ConditionalParamInformation["minValue"]>;
28
+ maxValue: NonNullable<ConditionalParamInformation["maxValue"]>;
29
+ };
30
+ export declare class ConditionalConfigOption implements ConditionalItem<ConfigOption> {
31
+ readonly value: number;
32
+ readonly label: string;
33
+ readonly condition?: string | undefined;
34
+ constructor(value: number, label: string, condition?: string | undefined);
35
+ evaluateCondition(deviceId?: DeviceID): ConfigOption | undefined;
36
+ }
37
+ export interface ConfigOption {
38
+ value: number;
39
+ label: string;
40
+ }
41
+ //# sourceMappingURL=ParamInformation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParamInformation.d.ts","sourceRoot":"","sources":["../../src/devices/ParamInformation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAG9D,OAAO,EACN,eAAe,EAGf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,qBAAa,2BACZ,YAAW,eAAe,CAAC,gBAAgB,CAAC;gBAG3C,MAAM,EAAE,uBAAuB,EAC/B,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU;IAoKvB,OAAO,CAAC,MAAM,CAA0B;IACxC,SAAgB,eAAe,EAAE,MAAM,CAAC;IACxC,SAAgB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAgB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChC,SAAgB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjC,SAAgB,gBAAgB,EAAE,OAAO,CAAC;IAC1C,SAAgB,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAE5D,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,iBAAiB,CACvB,QAAQ,CAAC,EAAE,QAAQ,GACjB,gBAAgB,GAAG,SAAS;CAgD/B;AAED,oBAAY,gBAAgB,GAAG,IAAI,CAClC,2BAA2B,EAC3B,WAAW,GAAG,mBAAmB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CACvE,GAAG;IACH,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IACjC,QAAQ,EAAE,WAAW,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/D,QAAQ,EAAE,WAAW,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC;CAC/D,CAAC;AAEF,qBAAa,uBAAwB,YAAW,eAAe,CAAC,YAAY,CAAC;aAE3D,KAAK,EAAE,MAAM;aACb,KAAK,EAAE,MAAM;aACb,SAAS,CAAC;gBAFV,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,oBAAQ;IAG5B,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS;CAKvE;AAED,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConditionalConfigOption = exports.ConditionalParamInformation = void 0;
4
+ const safe_1 = require("@zwave-js/shared/safe");
5
+ const typeguards_1 = require("alcalzone-shared/typeguards");
6
+ const utils_safe_1 = require("../utils_safe");
7
+ const ConditionalItem_1 = require("./ConditionalItem");
8
+ class ConditionalParamInformation {
9
+ constructor(parent, parameterNumber, valueBitMask, definition) {
10
+ var _a, _b, _c;
11
+ this.parent = parent;
12
+ this.parameterNumber = parameterNumber;
13
+ this.valueBitMask = valueBitMask;
14
+ // No need to validate here, this should be done one level higher
15
+ this.condition = definition.$if;
16
+ if (typeof definition.label !== "string") {
17
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
18
+ Parameter #${parameterNumber} has a non-string label`);
19
+ }
20
+ this.label = definition.label;
21
+ if (definition.description != undefined &&
22
+ typeof definition.description !== "string") {
23
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
24
+ Parameter #${parameterNumber} has a non-string description`);
25
+ }
26
+ this.description = definition.description;
27
+ if (typeof definition.valueSize !== "number" ||
28
+ definition.valueSize <= 0) {
29
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
30
+ Parameter #${parameterNumber} has an invalid value size`);
31
+ }
32
+ this.valueSize = definition.valueSize;
33
+ if (definition.minValue != undefined &&
34
+ typeof definition.minValue !== "number") {
35
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
36
+ Parameter #${parameterNumber} has a non-numeric property minValue`);
37
+ }
38
+ this.minValue = definition.minValue;
39
+ if (definition.maxValue != undefined &&
40
+ typeof definition.maxValue !== "number") {
41
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
42
+ Parameter #${parameterNumber} has a non-numeric property maxValue`);
43
+ }
44
+ this.maxValue = definition.maxValue;
45
+ if (definition.unsigned != undefined &&
46
+ typeof definition.unsigned !== "boolean") {
47
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
48
+ Parameter #${parameterNumber} has a non-boolean property unsigned`);
49
+ }
50
+ this.unsigned = definition.unsigned === true;
51
+ if (definition.unit != undefined &&
52
+ typeof definition.unit !== "string") {
53
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
54
+ Parameter #${parameterNumber} has a non-string unit`);
55
+ }
56
+ this.unit = definition.unit;
57
+ if (definition.readOnly != undefined && definition.readOnly !== true) {
58
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
59
+ Parameter #${parameterNumber}: readOnly must true or omitted!`);
60
+ }
61
+ this.readOnly = definition.readOnly;
62
+ if (definition.writeOnly != undefined &&
63
+ definition.writeOnly !== true) {
64
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
65
+ Parameter #${parameterNumber}: writeOnly must be true or omitted!`);
66
+ }
67
+ this.writeOnly = definition.writeOnly;
68
+ if (definition.defaultValue == undefined) {
69
+ if (!this.readOnly) {
70
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
71
+ Parameter #${parameterNumber} is missing defaultValue, which is required unless the parameter is readOnly`);
72
+ }
73
+ }
74
+ else if (typeof definition.defaultValue !== "number") {
75
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
76
+ Parameter #${parameterNumber} has a non-numeric property defaultValue`);
77
+ }
78
+ this.defaultValue = definition.defaultValue;
79
+ if (definition.allowManualEntry != undefined &&
80
+ definition.allowManualEntry !== false) {
81
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
82
+ Parameter #${parameterNumber}: allowManualEntry must be false or omitted!`);
83
+ }
84
+ // Default to allowing manual entry, except if the param is readonly
85
+ this.allowManualEntry =
86
+ (_a = definition.allowManualEntry) !== null && _a !== void 0 ? _a : (this.readOnly ? false : true);
87
+ if ((0, typeguards_1.isArray)(definition.options) &&
88
+ !definition.options.every((opt) => (0, typeguards_1.isObject)(opt) &&
89
+ typeof opt.label === "string" &&
90
+ typeof opt.value === "number")) {
91
+ (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
92
+ Parameter #${parameterNumber}: options is malformed!`);
93
+ }
94
+ this.options =
95
+ (_c = (_b = definition.options) === null || _b === void 0 ? void 0 : _b.map((opt) => new ConditionalConfigOption(opt.value, opt.label, opt.$if))) !== null && _c !== void 0 ? _c : [];
96
+ }
97
+ evaluateCondition(deviceId) {
98
+ if (!(0, ConditionalItem_1.conditionApplies)(this, deviceId))
99
+ return;
100
+ const ret = {
101
+ ...(0, safe_1.pick)(this, [
102
+ "parameterNumber",
103
+ "valueBitMask",
104
+ "label",
105
+ "description",
106
+ "valueSize",
107
+ "minValue",
108
+ "maxValue",
109
+ "unsigned",
110
+ "defaultValue",
111
+ "unit",
112
+ "readOnly",
113
+ "writeOnly",
114
+ "allowManualEntry",
115
+ ]),
116
+ options: (0, ConditionalItem_1.evaluateDeep)(this.options, deviceId, true),
117
+ };
118
+ // Infer minValue from options if possible
119
+ if (ret.minValue == undefined) {
120
+ if (ret.allowManualEntry === false && ret.options.length > 0) {
121
+ ret.minValue = Math.min(...ret.options.map((o) => o.value));
122
+ }
123
+ else {
124
+ throw (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${this.parent.filename}:
125
+ Parameter #${this.parameterNumber} is missing required property "minValue"!`);
126
+ }
127
+ }
128
+ if (ret.maxValue == undefined) {
129
+ if (ret.allowManualEntry === false && ret.options.length > 0) {
130
+ ret.maxValue = Math.max(...ret.options.map((o) => o.value));
131
+ }
132
+ else {
133
+ throw (0, utils_safe_1.throwInvalidConfig)("devices", `packages/config/config/devices/${this.parent.filename}:
134
+ Parameter #${this.parameterNumber} is missing required property "maxValue"!`);
135
+ }
136
+ }
137
+ // @ts-expect-error TS doesn't seem to understand that we do set min/maxValue
138
+ return ret;
139
+ }
140
+ }
141
+ exports.ConditionalParamInformation = ConditionalParamInformation;
142
+ class ConditionalConfigOption {
143
+ constructor(value, label, condition) {
144
+ this.value = value;
145
+ this.label = label;
146
+ this.condition = condition;
147
+ }
148
+ evaluateCondition(deviceId) {
149
+ if (!(0, ConditionalItem_1.conditionApplies)(this, deviceId))
150
+ return;
151
+ return (0, safe_1.pick)(this, ["value", "label"]);
152
+ }
153
+ }
154
+ exports.ConditionalConfigOption = ConditionalConfigOption;
155
+ //# sourceMappingURL=ParamInformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParamInformation.js","sourceRoot":"","sources":["../../src/devices/ParamInformation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface FirmwareVersionRange {
2
+ min: string;
3
+ max: string;
4
+ }
5
+ export interface DeviceID {
6
+ manufacturerId: number;
7
+ productType: number;
8
+ productId: number;
9
+ firmwareVersion?: string;
10
+ }
11
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/devices/shared.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,QAAQ;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/devices/shared.ts"],"names":[],"mappings":""}
package/build/index.d.ts CHANGED
@@ -1,6 +1,11 @@
1
1
  export * from "./ConfigManager";
2
2
  export * from "./DeviceClasses";
3
- export * from "./Devices";
3
+ export * from "./devices/AssociationConfig";
4
+ export * from "./devices/DeviceConfig";
5
+ export * from "./devices/DeviceMetadata";
6
+ export * from "./devices/EndpointConfig";
7
+ export * from "./devices/ParamInformation";
8
+ export * from "./devices/shared";
4
9
  export * from "./Indicators";
5
10
  export * from "./Logger_safe";
6
11
  export * from "./Manufacturers";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC"}
package/build/index.js CHANGED
@@ -17,7 +17,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.externalConfigDir = void 0;
18
18
  __exportStar(require("./ConfigManager"), exports);
19
19
  __exportStar(require("./DeviceClasses"), exports);
20
- __exportStar(require("./Devices"), exports);
20
+ __exportStar(require("./devices/AssociationConfig"), exports);
21
+ __exportStar(require("./devices/DeviceConfig"), exports);
22
+ __exportStar(require("./devices/DeviceMetadata"), exports);
23
+ __exportStar(require("./devices/EndpointConfig"), exports);
24
+ __exportStar(require("./devices/ParamInformation"), exports);
25
+ __exportStar(require("./devices/shared"), exports);
21
26
  __exportStar(require("./Indicators"), exports);
22
27
  __exportStar(require("./Logger_safe"), exports);
23
28
  __exportStar(require("./Manufacturers"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,kDAAgC;AAChC,4CAA0B;AAC1B,+CAA6B;AAC7B,gDAA8B;AAC9B,kDAAgC;AAChC,2CAAyB;AACzB,kDAAgC;AAChC,2CAAyB;AACzB,gDAA8B;AAC9B,iCAA4C;AAAnC,0GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,kDAAgC;AAChC,8DAA4C;AAC5C,yDAAuC;AACvC,2DAAyC;AACzC,2DAAyC;AACzC,6DAA2C;AAC3C,mDAAiC;AACjC,+CAA6B;AAC7B,gDAA8B;AAC9B,kDAAgC;AAChC,2CAAyB;AACzB,kDAAgC;AAChC,2CAAyB;AACzB,gDAA8B;AAC9B,iCAA4C;AAAnC,0GAAA,iBAAiB,OAAA"}
package/build/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { DeviceConfigIndexEntry } from "./Devices";
1
+ import type { DeviceConfigIndexEntry } from "./devices/DeviceConfig";
2
2
  import type { ConfigLogger } from "./Logger";
3
3
  /** The absolute path of the embedded configuration directory */
4
4
  export declare const configDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,gEAAgE;AAChE,eAAO,MAAM,SAAS,QAAuC,CAAC;AAC9D,0EAA0E;AAC1E,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAEtD;AAED,wBAAgB,uBAAuB,CACtC,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GACtB,CAAC,KAAK,EAAE,sBAAsB,KAAK,OAAO,CAoB5C;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEhE;AAED,oBAAY,2BAA2B,GACpC;IACA,OAAO,EAAE,KAAK,CAAC;CACd,GACD;IACA,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACf,CAAC;AAEL;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,MAAM,EAAE,YAAY,GAClB,OAAO,CAAC,2BAA2B,CAAC,CAsEtC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,gEAAgE;AAChE,eAAO,MAAM,SAAS,QAAuC,CAAC;AAC9D,0EAA0E;AAC1E,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAEtD;AAED,wBAAgB,uBAAuB,CACtC,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GACtB,CAAC,KAAK,EAAE,sBAAsB,KAAK,OAAO,CAoB5C;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEhE;AAED,oBAAY,2BAA2B,GACpC;IACA,OAAO,EAAE,KAAK,CAAC;CACd,GACD;IACA,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACf,CAAC;AAEL;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,MAAM,EAAE,YAAY,GAClB,OAAO,CAAC,2BAA2B,CAAC,CAsEtC"}
@@ -122,5 +122,8 @@
122
122
  "defaultValue": 0,
123
123
  "unsigned": true
124
124
  }
125
- ]
125
+ ],
126
+ "compat": {
127
+ "enableBasicSetMapping": true
128
+ }
126
129
  }
@@ -20,5 +20,9 @@
20
20
  "firmwareVersion": {
21
21
  "min": "0.0",
22
22
  "max": "255.255"
23
+ },
24
+ "compat": {
25
+ // This device has 2 association groups, but 4 scenes
26
+ "forceSceneControllerGroupCount": 4
23
27
  }
24
28
  }
@@ -0,0 +1,16 @@
1
+ {
2
+ "manufacturer": "ABUS Security-Center GmbH & Co. KG",
3
+ "manufacturerId": "0x0403",
4
+ "label": "SHLM10000",
5
+ "description": "ABUS Security Center Bulb",
6
+ "devices": [
7
+ {
8
+ "productType": "0x0003",
9
+ "productId": "0x0001"
10
+ }
11
+ ],
12
+ "firmwareVersion": {
13
+ "min": "0.0",
14
+ "max": "255.255"
15
+ }
16
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zwave-js/config",
3
- "version": "9.0.4",
3
+ "version": "9.0.5",
4
4
  "description": "zwave-js: configuration files",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -72,7 +72,7 @@
72
72
  "@types/semver": "^7.3.9",
73
73
  "@types/xml2json": "^0.11.4",
74
74
  "@types/yargs": "^17.0.10",
75
- "@zwave-js/maintenance": "9.0.4",
75
+ "@zwave-js/maintenance": "9.0.5",
76
76
  "axios": "^0.26.1",
77
77
  "comment-json": "^4.2.2",
78
78
  "esbuild": "0.14.29",
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompatConfig.d.ts","sourceRoot":"","sources":["../src/CompatConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAQ,MAAM,uBAAuB,CAAC;AAIzD,qBAAa,YAAY;IACxB,OAAO,CAAC,YAAY,CAAuB;gBAExB,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IA6b3D,SAAgB,YAAY,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACzD,SAAgB,MAAM,CAAC,EAAE,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAClE,SAAgB,SAAS,CAAC,EAAE,WAAW,CACtC,cAAc,EACd,GAAG,GAAG,SAAS,MAAM,EAAE,CACvB,CAAC;IACF,SAAgB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9C,SAAgB,uCAAuC,CAAC,EAAE,OAAO,CAAC;IAClE,SAAgB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChD,SAAgB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrD,SAAgB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxD,SAAgB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnD,SAAgB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClD,SAAgB,qBAAqB,CAAC,EAAE;QACvC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAgB,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5D,SAAgB,iBAAiB,CAAC,EAAE,GAAG,GAAG,SAAS,MAAM,EAAE,CAAC;IAC5D,SAAgB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrD,SAAgB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/C,SAAgB,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1D,SAAgB,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3D,SAAgB,aAAa,CAAC,EAAE,SAAS;QACxC,MAAM;QACN,MAAM;QACN,GAAG,CACA,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,aAAa,CAAC,CAC3C,EAAE;KACH,EAAE,CAAC;CACJ;AAED,qBAAa,WAAW;gBACJ,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IA+E3D,SAAgB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC;CACxD;AAED,qBAAa,cAAc;gBAEzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM;IAgFd,SAAgB,IAAI,EAAE,kBAAkB,CAAC;IACzC,SAAgB,EAAE,EAAE,gBAAgB,CAAC;CACrC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompatConfig.js","sourceRoot":"","sources":["../src/CompatConfig.ts"],"names":[],"mappings":"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"}