@zwave-js/config 15.17.0 → 15.18.0
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/build/cjs/_version.d.ts +1 -1
- package/build/cjs/_version.js +1 -1
- package/build/cjs/_version.js.map +1 -1
- package/build/cjs/devices/ParamInformation.d.ts +1 -0
- package/build/cjs/devices/ParamInformation.js +8 -1
- package/build/cjs/devices/ParamInformation.js.map +2 -2
- package/build/esm/_version.d.ts +1 -1
- package/build/esm/_version.js +1 -1
- package/build/esm/devices/ParamInformation.d.ts +1 -0
- package/build/esm/devices/ParamInformation.d.ts.map +1 -1
- package/build/esm/devices/ParamInformation.js +8 -0
- package/build/esm/devices/ParamInformation.js.map +1 -1
- package/config/devices/0x0118/tz55d.json +6 -1
- package/config/devices/0x019b/z-trm6_dc.json +407 -0
- package/package.json +5 -5
package/build/cjs/_version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PACKAGE_VERSION = "15.
|
|
1
|
+
export declare const PACKAGE_VERSION = "15.18.0";
|
|
2
2
|
//# sourceMappingURL=_version.d.ts.map
|
package/build/cjs/_version.js
CHANGED
|
@@ -21,7 +21,7 @@ __export(version_exports, {
|
|
|
21
21
|
PACKAGE_VERSION: () => PACKAGE_VERSION
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(version_exports);
|
|
24
|
-
const PACKAGE_VERSION = "15.
|
|
24
|
+
const PACKAGE_VERSION = "15.18.0";
|
|
25
25
|
// Annotate the CommonJS export names for ESM import in node:
|
|
26
26
|
0 && (module.exports = {
|
|
27
27
|
PACKAGE_VERSION
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/_version.ts"],
|
|
4
|
-
"sourcesContent": ["// This file is auto-generated by the codegen maintenance script\nexport const PACKAGE_VERSION = \"15.
|
|
4
|
+
"sourcesContent": ["// This file is auto-generated by the codegen maintenance script\nexport const PACKAGE_VERSION = \"15.18.0\";\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;AACO,MAAM,kBAAkB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -21,6 +21,7 @@ export declare class ConditionalParamInformation implements ConditionalItem<Para
|
|
|
21
21
|
readonly allowManualEntry: boolean;
|
|
22
22
|
readonly destructive?: boolean;
|
|
23
23
|
readonly options: readonly ConditionalConfigOption[];
|
|
24
|
+
readonly hidden?: boolean;
|
|
24
25
|
readonly condition?: string;
|
|
25
26
|
evaluateCondition(deviceId?: DeviceID): ParamInformation | undefined;
|
|
26
27
|
}
|
|
@@ -113,6 +113,11 @@ Parameter #${parameterNumber} has a non-boolean property destructive`);
|
|
|
113
113
|
Parameter #${parameterNumber}: options is malformed!`);
|
|
114
114
|
}
|
|
115
115
|
this.options = definition.options?.map((opt) => new ConditionalConfigOption(opt.value, opt.label, opt.$if)) ?? [];
|
|
116
|
+
if (definition.hidden != void 0 && typeof definition.hidden !== "boolean") {
|
|
117
|
+
(0, import_utils_safe.throwInvalidConfig)("devices", `packages/config/config/devices/${parent.filename}:
|
|
118
|
+
Parameter #${parameterNumber} has a non-boolean property hidden`);
|
|
119
|
+
}
|
|
120
|
+
this.hidden = definition.hidden === true;
|
|
116
121
|
}
|
|
117
122
|
parent;
|
|
118
123
|
parameterNumber;
|
|
@@ -131,6 +136,7 @@ Parameter #${parameterNumber}: options is malformed!`);
|
|
|
131
136
|
allowManualEntry;
|
|
132
137
|
destructive;
|
|
133
138
|
options;
|
|
139
|
+
hidden;
|
|
134
140
|
condition;
|
|
135
141
|
evaluateCondition(deviceId) {
|
|
136
142
|
if (!(0, import_ConditionalItem.conditionApplies)(this, deviceId))
|
|
@@ -151,7 +157,8 @@ Parameter #${parameterNumber}: options is malformed!`);
|
|
|
151
157
|
"readOnly",
|
|
152
158
|
"writeOnly",
|
|
153
159
|
"allowManualEntry",
|
|
154
|
-
"destructive"
|
|
160
|
+
"destructive",
|
|
161
|
+
"hidden"
|
|
155
162
|
]),
|
|
156
163
|
options: (0, import_ConditionalItem.evaluateDeep)(this.options, deviceId, true)
|
|
157
164
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/devices/ParamInformation.ts"],
|
|
4
|
-
"sourcesContent": ["import { tryParseParamNumber } from \"@zwave-js/core\";\nimport {\n\ttype JSONObject,\n\tObjectKeyMap,\n\ttype ReadonlyObjectKeyMap,\n\tpick,\n} from \"@zwave-js/shared\";\nimport { isArray, isObject } from \"alcalzone-shared/typeguards\";\nimport { throwInvalidConfig } from \"../utils_safe.js\";\nimport {\n\ttype ConditionalItem,\n\tconditionApplies,\n\tevaluateDeep,\n\tvalidateCondition,\n} from \"./ConditionalItem.js\";\nimport type { ConditionalDeviceConfig } from \"./DeviceConfig.js\";\nimport type { DeviceID } from \"./shared.js\";\n\nexport class ConditionalParamInformation\n\timplements ConditionalItem<ParamInformation>\n{\n\tpublic constructor(\n\t\tparent: ConditionalDeviceConfig,\n\t\tparameterNumber: number,\n\t\tvalueBitMask: number | undefined,\n\t\tdefinition: JSONObject,\n\t) {\n\t\tthis.parent = parent;\n\t\tthis.parameterNumber = parameterNumber;\n\t\tthis.valueBitMask = valueBitMask;\n\t\t// No need to validate here, this should be done one level higher\n\t\tthis.condition = definition.$if;\n\n\t\tif (typeof definition.label !== \"string\") {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-string label`,\n\t\t\t);\n\t\t}\n\t\tthis.label = definition.label;\n\n\t\tif (\n\t\t\tdefinition.description != undefined\n\t\t\t&& typeof definition.description !== \"string\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-string description`,\n\t\t\t);\n\t\t}\n\t\tthis.description = definition.description;\n\n\t\tif (\n\t\t\ttypeof definition.valueSize !== \"number\"\n\t\t\t|| definition.valueSize <= 0\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has an invalid value size`,\n\t\t\t);\n\t\t}\n\t\tthis.valueSize = definition.valueSize;\n\n\t\tif (\n\t\t\tdefinition.minValue != undefined\n\t\t\t&& typeof definition.minValue !== \"number\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-numeric property minValue`,\n\t\t\t);\n\t\t}\n\t\tthis.minValue = definition.minValue;\n\n\t\tif (\n\t\t\tdefinition.maxValue != undefined\n\t\t\t&& typeof definition.maxValue !== \"number\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-numeric property maxValue`,\n\t\t\t);\n\t\t}\n\t\tthis.maxValue = definition.maxValue;\n\n\t\tif (\n\t\t\tdefinition.unsigned != undefined\n\t\t\t&& typeof definition.unsigned !== \"boolean\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-boolean property unsigned`,\n\t\t\t);\n\t\t}\n\t\tthis.unsigned = definition.unsigned === true;\n\n\t\tif (\n\t\t\tdefinition.unit != undefined\n\t\t\t&& typeof definition.unit !== \"string\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-string unit`,\n\t\t\t);\n\t\t}\n\t\tthis.unit = definition.unit;\n\n\t\tif (definition.readOnly != undefined && definition.readOnly !== true) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\n\t\tParameter #${parameterNumber}: readOnly must true or omitted!`,\n\t\t\t);\n\t\t}\n\t\tthis.readOnly = definition.readOnly;\n\n\t\tif (\n\t\t\tdefinition.writeOnly != undefined\n\t\t\t&& definition.writeOnly !== true\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\n\t\tParameter #${parameterNumber}: writeOnly must be true or omitted!`,\n\t\t\t);\n\t\t}\n\t\tthis.writeOnly = definition.writeOnly;\n\n\t\tif (definition.defaultValue == undefined) {\n\t\t\tif (!this.readOnly) {\n\t\t\t\tthrowInvalidConfig(\n\t\t\t\t\t\"devices\",\n\t\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} is missing defaultValue, which is required unless the parameter is readOnly`,\n\t\t\t\t);\n\t\t\t}\n\t\t} else if (typeof definition.defaultValue !== \"number\") {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-numeric property defaultValue`,\n\t\t\t);\n\t\t}\n\t\tthis.defaultValue = definition.defaultValue;\n\n\t\tif (\n\t\t\tdefinition.recommendedValue != undefined\n\t\t\t&& typeof definition.recommendedValue !== \"number\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-numeric property recommendedValue`,\n\t\t\t);\n\t\t}\n\t\tthis.recommendedValue = definition.recommendedValue;\n\n\t\tif (\n\t\t\tdefinition.allowManualEntry != undefined\n\t\t\t&& definition.allowManualEntry !== false\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber}: allowManualEntry must be false or omitted!`,\n\t\t\t);\n\t\t}\n\t\t// Default to allowing manual entry, except if the param is readonly\n\t\tthis.allowManualEntry = definition.allowManualEntry ?? !this.readOnly;\n\n\t\tif (\n\t\t\tdefinition.destructive != undefined\n\t\t\t&& typeof definition.destructive !== \"boolean\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-boolean property destructive`,\n\t\t\t);\n\t\t}\n\t\tthis.destructive = definition.destructive;\n\n\t\tif (\n\t\t\tisArray(definition.options)\n\t\t\t&& !definition.options.every(\n\t\t\t\t(opt: unknown) =>\n\t\t\t\t\tisObject(opt)\n\t\t\t\t\t&& typeof opt.label === \"string\"\n\t\t\t\t\t&& typeof opt.value === \"number\",\n\t\t\t)\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber}: options is malformed!`,\n\t\t\t);\n\t\t}\n\n\t\tthis.options = definition.options?.map(\n\t\t\t(opt: any) =>\n\t\t\t\tnew ConditionalConfigOption(opt.value, opt.label, opt.$if),\n\t\t) ?? [];\n\t}\n\n\tprivate parent: ConditionalDeviceConfig;\n\tpublic readonly parameterNumber: number;\n\tpublic readonly valueBitMask?: number;\n\tpublic readonly label: string;\n\tpublic readonly description?: string;\n\tpublic readonly valueSize: number;\n\tpublic readonly minValue?: number;\n\tpublic readonly maxValue?: number;\n\tpublic readonly unsigned?: boolean;\n\tpublic readonly defaultValue: number;\n\tpublic readonly recommendedValue?: number;\n\tpublic readonly unit?: string;\n\tpublic readonly readOnly?: true;\n\tpublic readonly writeOnly?: true;\n\tpublic readonly allowManualEntry: boolean;\n\tpublic readonly destructive?: boolean;\n\tpublic readonly options: readonly ConditionalConfigOption[];\n\n\tpublic readonly condition?: string;\n\n\tpublic evaluateCondition(\n\t\tdeviceId?: DeviceID,\n\t): ParamInformation | undefined {\n\t\tif (!conditionApplies(this, deviceId)) return;\n\n\t\tconst ret = {\n\t\t\t...pick(this, [\n\t\t\t\t\"parameterNumber\",\n\t\t\t\t\"valueBitMask\",\n\t\t\t\t\"label\",\n\t\t\t\t\"description\",\n\t\t\t\t\"valueSize\",\n\t\t\t\t\"minValue\",\n\t\t\t\t\"maxValue\",\n\t\t\t\t\"unsigned\",\n\t\t\t\t\"defaultValue\",\n\t\t\t\t\"recommendedValue\",\n\t\t\t\t\"unit\",\n\t\t\t\t\"readOnly\",\n\t\t\t\t\"writeOnly\",\n\t\t\t\t\"allowManualEntry\",\n\t\t\t\t\"destructive\",\n\t\t\t]),\n\t\t\toptions: evaluateDeep(this.options, deviceId, true),\n\t\t};\n\t\t// Infer minValue from options if possible\n\t\tif (ret.minValue == undefined) {\n\t\t\tif (ret.allowManualEntry === false && ret.options.length > 0) {\n\t\t\t\tret.minValue = Math.min(...ret.options.map((o) => o.value));\n\t\t\t} else {\n\t\t\t\tthrowInvalidConfig(\n\t\t\t\t\t\"devices\",\n\t\t\t\t\t`packages/config/config/devices/${this.parent.filename}:\nParameter #${this.parameterNumber} is missing required property \"minValue\"!`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (ret.maxValue == undefined) {\n\t\t\tif (ret.allowManualEntry === false && ret.options.length > 0) {\n\t\t\t\tret.maxValue = Math.max(...ret.options.map((o) => o.value));\n\t\t\t} else {\n\t\t\t\tthrowInvalidConfig(\n\t\t\t\t\t\"devices\",\n\t\t\t\t\t`packages/config/config/devices/${this.parent.filename}:\nParameter #${this.parameterNumber} is missing required property \"maxValue\"!`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// @ts-expect-error TS doesn't seem to understand that we do set min/maxValue\n\t\treturn ret;\n\t}\n}\n\nexport type ParamInformation =\n\t& Omit<\n\t\tConditionalParamInformation,\n\t\t\"condition\" | \"evaluateCondition\" | \"options\" | \"minValue\" | \"maxValue\"\n\t>\n\t& {\n\t\toptions: readonly ConfigOption[];\n\t\tminValue: NonNullable<ConditionalParamInformation[\"minValue\"]>;\n\t\tmaxValue: NonNullable<ConditionalParamInformation[\"maxValue\"]>;\n\t};\n\nexport class ConditionalConfigOption implements ConditionalItem<ConfigOption> {\n\tpublic constructor(\n\t\tpublic readonly value: number,\n\t\tpublic readonly label: string,\n\t\tpublic readonly condition?: string,\n\t) {}\n\n\tpublic evaluateCondition(deviceId?: DeviceID): ConfigOption | undefined {\n\t\tif (!conditionApplies(this, deviceId)) return;\n\n\t\treturn pick(this, [\"value\", \"label\"]);\n\t}\n}\n\nexport interface ConfigOption {\n\tvalue: number;\n\tlabel: string;\n}\n\nexport type ConditionalParamInfoMap = ReadonlyObjectKeyMap<\n\t{ parameter: number; valueBitMask?: number },\n\tConditionalParamInformation[]\n>;\n\nexport type ParamInfoMap = ReadonlyObjectKeyMap<\n\t{ parameter: number; valueBitMask?: number },\n\tParamInformation\n>;\n\nexport function parseConditionalParamInformationMap(\n\tdefinition: JSONObject,\n\tparent: ConditionalDeviceConfig,\n\terrorPrefix: string = \"\",\n): ConditionalParamInfoMap {\n\tconst paramInformation = new ObjectKeyMap<\n\t\t{ parameter: number; valueBitMask?: number },\n\t\tConditionalParamInformation[]\n\t>();\n\n\tconst filename = parent.filename;\n\n\tif (isArray(definition.paramInformation)) {\n\t\t// Check that every param has a param number\n\t\tif (!definition.paramInformation.every((entry: any) => \"#\" in entry)) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t`device`,\n\t\t\t\t`packages/config/config/devices/${filename}: \n${errorPrefix}required property \"#\" missing in at least one entry of paramInformation`,\n\t\t\t);\n\t\t}\n\n\t\t// And a valid $if condition\n\t\tfor (const entry of definition.paramInformation) {\n\t\t\tvalidateCondition(\n\t\t\t\tfilename,\n\t\t\t\tentry,\n\t\t\t\t`${errorPrefix}At least one entry of paramInformation contains an`,\n\t\t\t);\n\t\t}\n\n\t\tfor (const paramDefinition of definition.paramInformation) {\n\t\t\tconst { [\"#\"]: paramNo, ...defn } = paramDefinition;\n\t\t\tconst key = tryParseParamNumber(paramNo);\n\t\t\tif (!key) {\n\t\t\t\tthrowInvalidConfig(\n\t\t\t\t\t`device`,\n\t\t\t\t\t`packages/config/config/devices/${filename}: \n${errorPrefix}found invalid param number \"${paramNo}\" in paramInformation`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!paramInformation.has(key)) paramInformation.set(key, []);\n\t\t\tparamInformation\n\t\t\t\t.get(key)!\n\t\t\t\t.push(\n\t\t\t\t\tnew ConditionalParamInformation(\n\t\t\t\t\t\tparent,\n\t\t\t\t\t\tkey.parameter,\n\t\t\t\t\t\tkey.valueBitMask,\n\t\t\t\t\t\tdefn,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t}\n\t} else if (isObject(definition.paramInformation)) {\n\t\t// Silently ignore this old format\n\t} else {\n\t\tthrowInvalidConfig(\n\t\t\t`device`,\n\t\t\t`packages/config/config/devices/${filename}:\n${errorPrefix}paramInformation must be an array!`,\n\t\t);\n\t}\n\n\treturn paramInformation;\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;AAAA,kBAAoC;AACpC,oBAKO;AACP,wBAAkC;AAClC,wBAAmC;AACnC,6BAKO;AAID,MAAO,4BAA2B;EAlBxC,OAkBwC;;;EAGvC,YACC,QACA,iBACA,cACA,YAAsB;AAEtB,SAAK,SAAS;AACd,SAAK,kBAAkB;AACvB,SAAK,eAAe;AAEpB,SAAK,YAAY,WAAW;AAE5B,QAAI,OAAO,WAAW,UAAU,UAAU;AACzC,gDACC,WACA,kCAAkC,OAAO,QAAQ;aACxC,eAAe,yBAAyB;IAEnD;AACA,SAAK,QAAQ,WAAW;AAExB,QACC,WAAW,eAAe,UACvB,OAAO,WAAW,gBAAgB,UACpC;AACD,gDACC,WACA,kCAAkC,OAAO,QAAQ;aACxC,eAAe,+BAA+B;IAEzD;AACA,SAAK,cAAc,WAAW;AAE9B,QACC,OAAO,WAAW,cAAc,YAC7B,WAAW,aAAa,GAC1B;AACD,gDACC,WACA,kCAAkC,OAAO,QAAQ;aACxC,eAAe,4BAA4B;IAEtD;AACA,SAAK,YAAY,WAAW;AAE5B,QACC,WAAW,YAAY,UACpB,OAAO,WAAW,aAAa,UACjC;AACD,gDACC,WACA,kCAAkC,OAAO,QAAQ;aACxC,eAAe,sCAAsC;IAEhE;AACA,SAAK,WAAW,WAAW;AAE3B,QACC,WAAW,YAAY,UACpB,OAAO,WAAW,aAAa,UACjC;AACD,gDACC,WACA,kCAAkC,OAAO,QAAQ;aACxC,eAAe,sCAAsC;IAEhE;AACA,SAAK,WAAW,WAAW;AAE3B,QACC,WAAW,YAAY,UACpB,OAAO,WAAW,aAAa,WACjC;AACD,gDACC,WACA,kCAAkC,OAAO,QAAQ;aACxC,eAAe,sCAAsC;IAEhE;AACA,SAAK,WAAW,WAAW,aAAa;AAExC,QACC,WAAW,QAAQ,UAChB,OAAO,WAAW,SAAS,UAC7B;AACD,gDACC,WACA,kCAAkC,OAAO,QAAQ;aACxC,eAAe,wBAAwB;IAElD;AACA,SAAK,OAAO,WAAW;AAEvB,QAAI,WAAW,YAAY,UAAa,WAAW,aAAa,MAAM;AACrE,gDACC,WACA,kCAAkC,OAAO,QAAQ;eACtC,eAAe,kCAAkC;IAE9D;AACA,SAAK,WAAW,WAAW;AAE3B,QACC,WAAW,aAAa,UACrB,WAAW,cAAc,MAC3B;AACD,gDACC,WACA,kCAAkC,OAAO,QAAQ;eACtC,eAAe,sCAAsC;IAElE;AACA,SAAK,YAAY,WAAW;AAE5B,QAAI,WAAW,gBAAgB,QAAW;AACzC,UAAI,CAAC,KAAK,UAAU;AACnB,kDACC,WACA,kCAAkC,OAAO,QAAQ;aACzC,eAAe,8EAA8E;MAEvG;IACD,WAAW,OAAO,WAAW,iBAAiB,UAAU;AACvD,gDACC,WACA,kCAAkC,OAAO,QAAQ;aACxC,eAAe,0CAA0C;IAEpE;AACA,SAAK,eAAe,WAAW;AAE/B,QACC,WAAW,oBAAoB,UAC5B,OAAO,WAAW,qBAAqB,UACzC;AACD,gDACC,WACA,kCAAkC,OAAO,QAAQ;aACxC,eAAe,8CAA8C;IAExE;AACA,SAAK,mBAAmB,WAAW;AAEnC,QACC,WAAW,oBAAoB,UAC5B,WAAW,qBAAqB,OAClC;AACD,gDACC,WACA,kCAAkC,OAAO,QAAQ;aACxC,eAAe,8CAA8C;IAExE;AAEA,SAAK,mBAAmB,WAAW,oBAAoB,CAAC,KAAK;AAE7D,QACC,WAAW,eAAe,UACvB,OAAO,WAAW,gBAAgB,WACpC;AACD,gDACC,WACA,kCAAkC,OAAO,QAAQ;aACxC,eAAe,yCAAyC;IAEnE;AACA,SAAK,cAAc,WAAW;AAE9B,YACC,2BAAQ,WAAW,OAAO,KACvB,CAAC,WAAW,QAAQ,MACtB,CAAC,YACA,4BAAS,GAAG,KACT,OAAO,IAAI,UAAU,YACrB,OAAO,IAAI,UAAU,QAAQ,GAEjC;AACD,gDACC,WACA,kCAAkC,OAAO,QAAQ;aACxC,eAAe,yBAAyB;IAEnD;AAEA,SAAK,UAAU,WAAW,SAAS,IAClC,CAAC,QACA,IAAI,wBAAwB,IAAI,OAAO,IAAI,OAAO,IAAI,GAAG,CAAC,KACvD,CAAA;
|
|
4
|
+
"sourcesContent": ["import { tryParseParamNumber } from \"@zwave-js/core\";\nimport {\n\ttype JSONObject,\n\tObjectKeyMap,\n\ttype ReadonlyObjectKeyMap,\n\tpick,\n} from \"@zwave-js/shared\";\nimport { isArray, isObject } from \"alcalzone-shared/typeguards\";\nimport { throwInvalidConfig } from \"../utils_safe.js\";\nimport {\n\ttype ConditionalItem,\n\tconditionApplies,\n\tevaluateDeep,\n\tvalidateCondition,\n} from \"./ConditionalItem.js\";\nimport type { ConditionalDeviceConfig } from \"./DeviceConfig.js\";\nimport type { DeviceID } from \"./shared.js\";\n\nexport class ConditionalParamInformation\n\timplements ConditionalItem<ParamInformation>\n{\n\tpublic constructor(\n\t\tparent: ConditionalDeviceConfig,\n\t\tparameterNumber: number,\n\t\tvalueBitMask: number | undefined,\n\t\tdefinition: JSONObject,\n\t) {\n\t\tthis.parent = parent;\n\t\tthis.parameterNumber = parameterNumber;\n\t\tthis.valueBitMask = valueBitMask;\n\t\t// No need to validate here, this should be done one level higher\n\t\tthis.condition = definition.$if;\n\n\t\tif (typeof definition.label !== \"string\") {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-string label`,\n\t\t\t);\n\t\t}\n\t\tthis.label = definition.label;\n\n\t\tif (\n\t\t\tdefinition.description != undefined\n\t\t\t&& typeof definition.description !== \"string\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-string description`,\n\t\t\t);\n\t\t}\n\t\tthis.description = definition.description;\n\n\t\tif (\n\t\t\ttypeof definition.valueSize !== \"number\"\n\t\t\t|| definition.valueSize <= 0\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has an invalid value size`,\n\t\t\t);\n\t\t}\n\t\tthis.valueSize = definition.valueSize;\n\n\t\tif (\n\t\t\tdefinition.minValue != undefined\n\t\t\t&& typeof definition.minValue !== \"number\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-numeric property minValue`,\n\t\t\t);\n\t\t}\n\t\tthis.minValue = definition.minValue;\n\n\t\tif (\n\t\t\tdefinition.maxValue != undefined\n\t\t\t&& typeof definition.maxValue !== \"number\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-numeric property maxValue`,\n\t\t\t);\n\t\t}\n\t\tthis.maxValue = definition.maxValue;\n\n\t\tif (\n\t\t\tdefinition.unsigned != undefined\n\t\t\t&& typeof definition.unsigned !== \"boolean\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-boolean property unsigned`,\n\t\t\t);\n\t\t}\n\t\tthis.unsigned = definition.unsigned === true;\n\n\t\tif (\n\t\t\tdefinition.unit != undefined\n\t\t\t&& typeof definition.unit !== \"string\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-string unit`,\n\t\t\t);\n\t\t}\n\t\tthis.unit = definition.unit;\n\n\t\tif (definition.readOnly != undefined && definition.readOnly !== true) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\n\t\tParameter #${parameterNumber}: readOnly must true or omitted!`,\n\t\t\t);\n\t\t}\n\t\tthis.readOnly = definition.readOnly;\n\n\t\tif (\n\t\t\tdefinition.writeOnly != undefined\n\t\t\t&& definition.writeOnly !== true\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\n\t\tParameter #${parameterNumber}: writeOnly must be true or omitted!`,\n\t\t\t);\n\t\t}\n\t\tthis.writeOnly = definition.writeOnly;\n\n\t\tif (definition.defaultValue == undefined) {\n\t\t\tif (!this.readOnly) {\n\t\t\t\tthrowInvalidConfig(\n\t\t\t\t\t\"devices\",\n\t\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} is missing defaultValue, which is required unless the parameter is readOnly`,\n\t\t\t\t);\n\t\t\t}\n\t\t} else if (typeof definition.defaultValue !== \"number\") {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-numeric property defaultValue`,\n\t\t\t);\n\t\t}\n\t\tthis.defaultValue = definition.defaultValue;\n\n\t\tif (\n\t\t\tdefinition.recommendedValue != undefined\n\t\t\t&& typeof definition.recommendedValue !== \"number\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-numeric property recommendedValue`,\n\t\t\t);\n\t\t}\n\t\tthis.recommendedValue = definition.recommendedValue;\n\n\t\tif (\n\t\t\tdefinition.allowManualEntry != undefined\n\t\t\t&& definition.allowManualEntry !== false\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber}: allowManualEntry must be false or omitted!`,\n\t\t\t);\n\t\t}\n\t\t// Default to allowing manual entry, except if the param is readonly\n\t\tthis.allowManualEntry = definition.allowManualEntry ?? !this.readOnly;\n\n\t\tif (\n\t\t\tdefinition.destructive != undefined\n\t\t\t&& typeof definition.destructive !== \"boolean\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-boolean property destructive`,\n\t\t\t);\n\t\t}\n\t\tthis.destructive = definition.destructive;\n\n\t\tif (\n\t\t\tisArray(definition.options)\n\t\t\t&& !definition.options.every(\n\t\t\t\t(opt: unknown) =>\n\t\t\t\t\tisObject(opt)\n\t\t\t\t\t&& typeof opt.label === \"string\"\n\t\t\t\t\t&& typeof opt.value === \"number\",\n\t\t\t)\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber}: options is malformed!`,\n\t\t\t);\n\t\t}\n\n\t\tthis.options = definition.options?.map(\n\t\t\t(opt: any) =>\n\t\t\t\tnew ConditionalConfigOption(opt.value, opt.label, opt.$if),\n\t\t) ?? [];\n\n\t\tif (\n\t\t\tdefinition.hidden != undefined\n\t\t\t&& typeof definition.hidden !== \"boolean\"\n\t\t) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t\"devices\",\n\t\t\t\t`packages/config/config/devices/${parent.filename}:\nParameter #${parameterNumber} has a non-boolean property hidden`,\n\t\t\t);\n\t\t}\n\t\tthis.hidden = definition.hidden === true;\n\t}\n\n\tprivate parent: ConditionalDeviceConfig;\n\tpublic readonly parameterNumber: number;\n\tpublic readonly valueBitMask?: number;\n\tpublic readonly label: string;\n\tpublic readonly description?: string;\n\tpublic readonly valueSize: number;\n\tpublic readonly minValue?: number;\n\tpublic readonly maxValue?: number;\n\tpublic readonly unsigned?: boolean;\n\tpublic readonly defaultValue: number;\n\tpublic readonly recommendedValue?: number;\n\tpublic readonly unit?: string;\n\tpublic readonly readOnly?: true;\n\tpublic readonly writeOnly?: true;\n\tpublic readonly allowManualEntry: boolean;\n\tpublic readonly destructive?: boolean;\n\tpublic readonly options: readonly ConditionalConfigOption[];\n\tpublic readonly hidden?: boolean;\n\n\tpublic readonly condition?: string;\n\n\tpublic evaluateCondition(\n\t\tdeviceId?: DeviceID,\n\t): ParamInformation | undefined {\n\t\tif (!conditionApplies(this, deviceId)) return;\n\n\t\tconst ret = {\n\t\t\t...pick(this, [\n\t\t\t\t\"parameterNumber\",\n\t\t\t\t\"valueBitMask\",\n\t\t\t\t\"label\",\n\t\t\t\t\"description\",\n\t\t\t\t\"valueSize\",\n\t\t\t\t\"minValue\",\n\t\t\t\t\"maxValue\",\n\t\t\t\t\"unsigned\",\n\t\t\t\t\"defaultValue\",\n\t\t\t\t\"recommendedValue\",\n\t\t\t\t\"unit\",\n\t\t\t\t\"readOnly\",\n\t\t\t\t\"writeOnly\",\n\t\t\t\t\"allowManualEntry\",\n\t\t\t\t\"destructive\",\n\t\t\t\t\"hidden\",\n\t\t\t]),\n\t\t\toptions: evaluateDeep(this.options, deviceId, true),\n\t\t};\n\t\t// Infer minValue from options if possible\n\t\tif (ret.minValue == undefined) {\n\t\t\tif (ret.allowManualEntry === false && ret.options.length > 0) {\n\t\t\t\tret.minValue = Math.min(...ret.options.map((o) => o.value));\n\t\t\t} else {\n\t\t\t\tthrowInvalidConfig(\n\t\t\t\t\t\"devices\",\n\t\t\t\t\t`packages/config/config/devices/${this.parent.filename}:\nParameter #${this.parameterNumber} is missing required property \"minValue\"!`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (ret.maxValue == undefined) {\n\t\t\tif (ret.allowManualEntry === false && ret.options.length > 0) {\n\t\t\t\tret.maxValue = Math.max(...ret.options.map((o) => o.value));\n\t\t\t} else {\n\t\t\t\tthrowInvalidConfig(\n\t\t\t\t\t\"devices\",\n\t\t\t\t\t`packages/config/config/devices/${this.parent.filename}:\nParameter #${this.parameterNumber} is missing required property \"maxValue\"!`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// @ts-expect-error TS doesn't seem to understand that we do set min/maxValue\n\t\treturn ret;\n\t}\n}\n\nexport type ParamInformation =\n\t& Omit<\n\t\tConditionalParamInformation,\n\t\t\"condition\" | \"evaluateCondition\" | \"options\" | \"minValue\" | \"maxValue\"\n\t>\n\t& {\n\t\toptions: readonly ConfigOption[];\n\t\tminValue: NonNullable<ConditionalParamInformation[\"minValue\"]>;\n\t\tmaxValue: NonNullable<ConditionalParamInformation[\"maxValue\"]>;\n\t};\n\nexport class ConditionalConfigOption implements ConditionalItem<ConfigOption> {\n\tpublic constructor(\n\t\tpublic readonly value: number,\n\t\tpublic readonly label: string,\n\t\tpublic readonly condition?: string,\n\t) {}\n\n\tpublic evaluateCondition(deviceId?: DeviceID): ConfigOption | undefined {\n\t\tif (!conditionApplies(this, deviceId)) return;\n\n\t\treturn pick(this, [\"value\", \"label\"]);\n\t}\n}\n\nexport interface ConfigOption {\n\tvalue: number;\n\tlabel: string;\n}\n\nexport type ConditionalParamInfoMap = ReadonlyObjectKeyMap<\n\t{ parameter: number; valueBitMask?: number },\n\tConditionalParamInformation[]\n>;\n\nexport type ParamInfoMap = ReadonlyObjectKeyMap<\n\t{ parameter: number; valueBitMask?: number },\n\tParamInformation\n>;\n\nexport function parseConditionalParamInformationMap(\n\tdefinition: JSONObject,\n\tparent: ConditionalDeviceConfig,\n\terrorPrefix: string = \"\",\n): ConditionalParamInfoMap {\n\tconst paramInformation = new ObjectKeyMap<\n\t\t{ parameter: number; valueBitMask?: number },\n\t\tConditionalParamInformation[]\n\t>();\n\n\tconst filename = parent.filename;\n\n\tif (isArray(definition.paramInformation)) {\n\t\t// Check that every param has a param number\n\t\tif (!definition.paramInformation.every((entry: any) => \"#\" in entry)) {\n\t\t\tthrowInvalidConfig(\n\t\t\t\t`device`,\n\t\t\t\t`packages/config/config/devices/${filename}: \n${errorPrefix}required property \"#\" missing in at least one entry of paramInformation`,\n\t\t\t);\n\t\t}\n\n\t\t// And a valid $if condition\n\t\tfor (const entry of definition.paramInformation) {\n\t\t\tvalidateCondition(\n\t\t\t\tfilename,\n\t\t\t\tentry,\n\t\t\t\t`${errorPrefix}At least one entry of paramInformation contains an`,\n\t\t\t);\n\t\t}\n\n\t\tfor (const paramDefinition of definition.paramInformation) {\n\t\t\tconst { [\"#\"]: paramNo, ...defn } = paramDefinition;\n\t\t\tconst key = tryParseParamNumber(paramNo);\n\t\t\tif (!key) {\n\t\t\t\tthrowInvalidConfig(\n\t\t\t\t\t`device`,\n\t\t\t\t\t`packages/config/config/devices/${filename}: \n${errorPrefix}found invalid param number \"${paramNo}\" in paramInformation`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!paramInformation.has(key)) paramInformation.set(key, []);\n\t\t\tparamInformation\n\t\t\t\t.get(key)!\n\t\t\t\t.push(\n\t\t\t\t\tnew ConditionalParamInformation(\n\t\t\t\t\t\tparent,\n\t\t\t\t\t\tkey.parameter,\n\t\t\t\t\t\tkey.valueBitMask,\n\t\t\t\t\t\tdefn,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t}\n\t} else if (isObject(definition.paramInformation)) {\n\t\t// Silently ignore this old format\n\t} else {\n\t\tthrowInvalidConfig(\n\t\t\t`device`,\n\t\t\t`packages/config/config/devices/${filename}:\n${errorPrefix}paramInformation must be an array!`,\n\t\t);\n\t}\n\n\treturn paramInformation;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/esm/_version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PACKAGE_VERSION = "15.
|
|
1
|
+
export declare const PACKAGE_VERSION = "15.18.0";
|
|
2
2
|
//# sourceMappingURL=_version.d.ts.map
|
package/build/esm/_version.js
CHANGED
|
@@ -21,6 +21,7 @@ export declare class ConditionalParamInformation implements ConditionalItem<Para
|
|
|
21
21
|
readonly allowManualEntry: boolean;
|
|
22
22
|
readonly destructive?: boolean;
|
|
23
23
|
readonly options: readonly ConditionalConfigOption[];
|
|
24
|
+
readonly hidden?: boolean;
|
|
24
25
|
readonly condition?: string;
|
|
25
26
|
evaluateCondition(deviceId?: DeviceID): ParamInformation | undefined;
|
|
26
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParamInformation.d.ts","sourceRoot":"","sources":["../../../src/devices/ParamInformation.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,UAAU,EAEf,KAAK,oBAAoB,EAEzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,KAAK,eAAe,EAIpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,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;
|
|
1
|
+
{"version":3,"file":"ParamInformation.d.ts","sourceRoot":"","sources":["../../../src/devices/ParamInformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,6 +100,12 @@ Parameter #${parameterNumber} has a non-boolean property destructive`);
|
|
|
100
100
|
Parameter #${parameterNumber}: options is malformed!`);
|
|
101
101
|
}
|
|
102
102
|
this.options = definition.options?.map((opt) => new ConditionalConfigOption(opt.value, opt.label, opt.$if)) ?? [];
|
|
103
|
+
if (definition.hidden != undefined
|
|
104
|
+
&& typeof definition.hidden !== "boolean") {
|
|
105
|
+
throwInvalidConfig("devices", `packages/config/config/devices/${parent.filename}:
|
|
106
|
+
Parameter #${parameterNumber} has a non-boolean property hidden`);
|
|
107
|
+
}
|
|
108
|
+
this.hidden = definition.hidden === true;
|
|
103
109
|
}
|
|
104
110
|
parent;
|
|
105
111
|
parameterNumber;
|
|
@@ -118,6 +124,7 @@ Parameter #${parameterNumber}: options is malformed!`);
|
|
|
118
124
|
allowManualEntry;
|
|
119
125
|
destructive;
|
|
120
126
|
options;
|
|
127
|
+
hidden;
|
|
121
128
|
condition;
|
|
122
129
|
evaluateCondition(deviceId) {
|
|
123
130
|
if (!conditionApplies(this, deviceId))
|
|
@@ -139,6 +146,7 @@ Parameter #${parameterNumber}: options is malformed!`);
|
|
|
139
146
|
"writeOnly",
|
|
140
147
|
"allowManualEntry",
|
|
141
148
|
"destructive",
|
|
149
|
+
"hidden",
|
|
142
150
|
]),
|
|
143
151
|
options: evaluateDeep(this.options, deviceId, true),
|
|
144
152
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParamInformation.js","sourceRoot":"","sources":["../../../src/devices/ParamInformation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ParamInformation.js","sourceRoot":"","sources":["../../../src/devices/ParamInformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
{
|
|
2
|
+
"manufacturer": "Heatit",
|
|
3
|
+
"manufacturerId": "0x019b",
|
|
4
|
+
"label": "Z-TRM6 DC",
|
|
5
|
+
"description": "Thermostat",
|
|
6
|
+
"devices": [
|
|
7
|
+
{
|
|
8
|
+
"productType": "0x0032",
|
|
9
|
+
"productId": "0x3201"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"firmwareVersion": {
|
|
13
|
+
"min": "0.0",
|
|
14
|
+
"max": "255.255"
|
|
15
|
+
},
|
|
16
|
+
"endpoints": {
|
|
17
|
+
"1": {
|
|
18
|
+
"label": "Thermostat"
|
|
19
|
+
},
|
|
20
|
+
"2": {
|
|
21
|
+
"label": "Internal Sensor"
|
|
22
|
+
},
|
|
23
|
+
"3": {
|
|
24
|
+
"label": "External Sensor"
|
|
25
|
+
},
|
|
26
|
+
"4": {
|
|
27
|
+
"label": "Floor Sensor"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"paramInformation": [
|
|
31
|
+
{
|
|
32
|
+
"#": "1",
|
|
33
|
+
"$import": "~/templates/master_template.json#base_enable_disable_inverted",
|
|
34
|
+
"label": "Local Control",
|
|
35
|
+
"description": "When disabled, can be turned back on locally by holding the center and right button for 30 seconds until the display shows \"UNLK\".",
|
|
36
|
+
"defaultValue": 0
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"#": "2",
|
|
40
|
+
"label": "Sensor Mode",
|
|
41
|
+
"valueSize": 1,
|
|
42
|
+
"defaultValue": 1,
|
|
43
|
+
"allowManualEntry": false,
|
|
44
|
+
"options": [
|
|
45
|
+
{
|
|
46
|
+
"label": "F: Floor sensor",
|
|
47
|
+
"value": 0
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"label": "A: Internal sensor",
|
|
51
|
+
"value": 1
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
// eslint-disable-next-line @zwave-js/consistent-config-string-case
|
|
55
|
+
"label": "AF: Internal sensor with floor sensor limitations",
|
|
56
|
+
"value": 2
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"label": "A2: External sensor",
|
|
60
|
+
"value": 3
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"label": "A2F: External sensor with floor sensor limitations",
|
|
64
|
+
"value": 4
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"#": "3",
|
|
70
|
+
"label": "Sensor Resistance (NTC)",
|
|
71
|
+
"valueSize": 1,
|
|
72
|
+
"defaultValue": 0,
|
|
73
|
+
"allowManualEntry": false,
|
|
74
|
+
"options": [
|
|
75
|
+
{
|
|
76
|
+
"label": "10 kΩ",
|
|
77
|
+
"value": 0
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"label": "12 kΩ",
|
|
81
|
+
"value": 1
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"label": "15 kΩ",
|
|
85
|
+
"value": 2
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"label": "22 kΩ",
|
|
89
|
+
"value": 3
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"label": "33 kΩ",
|
|
93
|
+
"value": 4
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"label": "47 kΩ",
|
|
97
|
+
"value": 5
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"label": "6.8 kΩ",
|
|
101
|
+
"value": 6
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"label": "100 kΩ",
|
|
105
|
+
"value": 7
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"#": "4",
|
|
111
|
+
"label": "Internal Sensor Minimum Temperature Limit",
|
|
112
|
+
"description": "Used in sensor mode A.",
|
|
113
|
+
"valueSize": 2,
|
|
114
|
+
"unit": "0.1 °C",
|
|
115
|
+
"minValue": 50,
|
|
116
|
+
"maxValue": 400,
|
|
117
|
+
"defaultValue": 50
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"#": "5",
|
|
121
|
+
"label": "Floor Sensor Minimum Temperature Limit",
|
|
122
|
+
"description": "Used in sensor mode AF, F, A2F.",
|
|
123
|
+
"valueSize": 2,
|
|
124
|
+
"unit": "0.1 °C",
|
|
125
|
+
"minValue": 50,
|
|
126
|
+
"maxValue": 400,
|
|
127
|
+
"defaultValue": 50
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"#": "6",
|
|
131
|
+
"label": "External Sensor Minimum Temperature Limit",
|
|
132
|
+
"description": "Used in sensor mode A2, A2F.",
|
|
133
|
+
"valueSize": 2,
|
|
134
|
+
"unit": "0.1 °C",
|
|
135
|
+
"minValue": 50,
|
|
136
|
+
"maxValue": 400,
|
|
137
|
+
"defaultValue": 50
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"#": "7",
|
|
141
|
+
"label": "Internal Sensor Maximum Temperature Limit",
|
|
142
|
+
"description": "Used in sensor mode A.",
|
|
143
|
+
"valueSize": 2,
|
|
144
|
+
"unit": "0.1 °C",
|
|
145
|
+
"minValue": 50,
|
|
146
|
+
"maxValue": 400,
|
|
147
|
+
"defaultValue": 400
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"#": "8",
|
|
151
|
+
"label": "Floor Sensor Maximum Temperature Limit",
|
|
152
|
+
"description": "Used in sensor mode AF, F, A2F.",
|
|
153
|
+
"valueSize": 2,
|
|
154
|
+
"unit": "0.1 °C",
|
|
155
|
+
"minValue": 50,
|
|
156
|
+
"maxValue": 400,
|
|
157
|
+
"defaultValue": 400
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"#": "9",
|
|
161
|
+
"label": "External Sensor Maximum Temperature Limit",
|
|
162
|
+
"description": "Used in sensor mode A2.",
|
|
163
|
+
"valueSize": 2,
|
|
164
|
+
"unit": "0.1 °C",
|
|
165
|
+
"minValue": 50,
|
|
166
|
+
"maxValue": 400,
|
|
167
|
+
"defaultValue": 400
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"#": "10",
|
|
171
|
+
"label": "Internal Sensor Calibration",
|
|
172
|
+
"valueSize": 1,
|
|
173
|
+
"unit": "0.1 °C",
|
|
174
|
+
"minValue": -60,
|
|
175
|
+
"maxValue": 60,
|
|
176
|
+
"defaultValue": 0
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"#": "11",
|
|
180
|
+
"label": "Floor Sensor Calibration",
|
|
181
|
+
"valueSize": 1,
|
|
182
|
+
"unit": "0.1 °C",
|
|
183
|
+
"minValue": -60,
|
|
184
|
+
"maxValue": 60,
|
|
185
|
+
"defaultValue": 0
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"#": "12",
|
|
189
|
+
"label": "External Sensor Calibration",
|
|
190
|
+
"valueSize": 1,
|
|
191
|
+
"unit": "0.1 °C",
|
|
192
|
+
"minValue": -60,
|
|
193
|
+
"maxValue": 60,
|
|
194
|
+
"defaultValue": 0
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"#": "13",
|
|
198
|
+
"label": "Regulation Mode",
|
|
199
|
+
"valueSize": 1,
|
|
200
|
+
"defaultValue": 0,
|
|
201
|
+
"allowManualEntry": false,
|
|
202
|
+
"options": [
|
|
203
|
+
{
|
|
204
|
+
"label": "Hysteresis",
|
|
205
|
+
"value": 0
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"label": "PWM",
|
|
209
|
+
"value": 1
|
|
210
|
+
}
|
|
211
|
+
]
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"#": "14",
|
|
215
|
+
"label": "Temperature Control Hysteresis",
|
|
216
|
+
"description": "Used when regulation mode is set to Hysteresis.",
|
|
217
|
+
"valueSize": 1,
|
|
218
|
+
"unit": "0.1 °C",
|
|
219
|
+
"minValue": 3,
|
|
220
|
+
"maxValue": 30,
|
|
221
|
+
"defaultValue": 10
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"#": "15",
|
|
225
|
+
"label": "Temperature Display",
|
|
226
|
+
"description": "Select what is shown on the display during standby state.",
|
|
227
|
+
"valueSize": 1,
|
|
228
|
+
"defaultValue": 0,
|
|
229
|
+
"allowManualEntry": false,
|
|
230
|
+
"options": [
|
|
231
|
+
{
|
|
232
|
+
"label": "Setpoint temperature",
|
|
233
|
+
"value": 0
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"label": "Measured temperature",
|
|
237
|
+
"value": 1
|
|
238
|
+
}
|
|
239
|
+
]
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"#": "16",
|
|
243
|
+
"label": "Active Display Brightness",
|
|
244
|
+
"valueSize": 1,
|
|
245
|
+
"unit": "%",
|
|
246
|
+
"minValue": 1,
|
|
247
|
+
"maxValue": 10,
|
|
248
|
+
"defaultValue": 10
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"#": "17",
|
|
252
|
+
"label": "Standby Display Brightness",
|
|
253
|
+
"valueSize": 1,
|
|
254
|
+
"unit": "%",
|
|
255
|
+
"minValue": 1,
|
|
256
|
+
"maxValue": 10,
|
|
257
|
+
"defaultValue": 5
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"#": "18",
|
|
261
|
+
"label": "Temperature Report Interval",
|
|
262
|
+
"valueSize": 2,
|
|
263
|
+
"unit": "seconds",
|
|
264
|
+
"minValue": 30,
|
|
265
|
+
"maxValue": 65535,
|
|
266
|
+
"defaultValue": 840,
|
|
267
|
+
"unsigned": true
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"#": "19",
|
|
271
|
+
"label": "Temperature Report Threshold",
|
|
272
|
+
"valueSize": 1,
|
|
273
|
+
"unit": "0.1 °C",
|
|
274
|
+
"minValue": 1,
|
|
275
|
+
"maxValue": 100,
|
|
276
|
+
"defaultValue": 10
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"#": "20",
|
|
280
|
+
"label": "Turn On Delay After Overheating",
|
|
281
|
+
"valueSize": 2,
|
|
282
|
+
"unit": "seconds",
|
|
283
|
+
"minValue": 0,
|
|
284
|
+
"maxValue": 65535,
|
|
285
|
+
"defaultValue": 0,
|
|
286
|
+
"unsigned": true,
|
|
287
|
+
"options": [
|
|
288
|
+
{
|
|
289
|
+
"label": "Stay off",
|
|
290
|
+
"value": 0
|
|
291
|
+
}
|
|
292
|
+
]
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"#": "21",
|
|
296
|
+
"label": "Heating Setpoint",
|
|
297
|
+
"valueSize": 2,
|
|
298
|
+
"unit": "0.1 °C",
|
|
299
|
+
"minValue": 50,
|
|
300
|
+
"maxValue": 400,
|
|
301
|
+
"defaultValue": 210
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"#": "22",
|
|
305
|
+
"label": "Cooling Setpoint",
|
|
306
|
+
"valueSize": 2,
|
|
307
|
+
"unit": "0.1 °C",
|
|
308
|
+
"minValue": 50,
|
|
309
|
+
"maxValue": 400,
|
|
310
|
+
"defaultValue": 180
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"#": "23",
|
|
314
|
+
"label": "ECO Setpoint",
|
|
315
|
+
"valueSize": 2,
|
|
316
|
+
"unit": "0.1 °C",
|
|
317
|
+
"minValue": 50,
|
|
318
|
+
"maxValue": 400,
|
|
319
|
+
"defaultValue": 180
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"#": "24",
|
|
323
|
+
"label": "Associated Device Update Interval",
|
|
324
|
+
"description": "How often associated devices are controlled in addition to when the setpoint is changed.",
|
|
325
|
+
"valueSize": 2,
|
|
326
|
+
"unit": "seconds",
|
|
327
|
+
"minValue": 0,
|
|
328
|
+
"maxValue": 65535,
|
|
329
|
+
"defaultValue": 43200,
|
|
330
|
+
"unsigned": true,
|
|
331
|
+
"options": [
|
|
332
|
+
{
|
|
333
|
+
"label": "Only when changed",
|
|
334
|
+
"value": 0
|
|
335
|
+
}
|
|
336
|
+
]
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"#": "25",
|
|
340
|
+
"label": "Operating Mode",
|
|
341
|
+
"valueSize": 1,
|
|
342
|
+
"defaultValue": 1,
|
|
343
|
+
"allowManualEntry": false,
|
|
344
|
+
"options": [
|
|
345
|
+
{
|
|
346
|
+
"label": "Off",
|
|
347
|
+
"value": 0
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"label": "Heating",
|
|
351
|
+
"value": 1
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"label": "Cooling",
|
|
355
|
+
"value": 2
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
// eslint-disable-next-line @zwave-js/consistent-config-string-case
|
|
359
|
+
"label": "ECO",
|
|
360
|
+
"value": 3
|
|
361
|
+
}
|
|
362
|
+
]
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"#": "26",
|
|
366
|
+
"$import": "~/templates/master_template.json#base_enable_disable",
|
|
367
|
+
"label": "Open Window Detection"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"#": "27",
|
|
371
|
+
"label": "Size of Load",
|
|
372
|
+
"description": "Allows the user to set the size of the load in 100 W increments, used when connected to a contactor.",
|
|
373
|
+
"valueSize": 2,
|
|
374
|
+
"unit": "100 W",
|
|
375
|
+
"minValue": 0,
|
|
376
|
+
"maxValue": 99,
|
|
377
|
+
"defaultValue": 0,
|
|
378
|
+
"options": [
|
|
379
|
+
{
|
|
380
|
+
"label": "Measure",
|
|
381
|
+
"value": 0
|
|
382
|
+
}
|
|
383
|
+
]
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"#": "28",
|
|
387
|
+
"$import": "~/templates/master_template.json#base_enable_disable",
|
|
388
|
+
"label": "Inverted Output"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"#": "29",
|
|
392
|
+
"label": "Valve Inactivity Exercise",
|
|
393
|
+
"description": "Relay will turn on to open valves for the selected amount of time after 30 days of relay inactivity.",
|
|
394
|
+
"valueSize": 1,
|
|
395
|
+
"unit": "minutes",
|
|
396
|
+
"minValue": 0,
|
|
397
|
+
"maxValue": 30,
|
|
398
|
+
"defaultValue": 0,
|
|
399
|
+
"options": [
|
|
400
|
+
{
|
|
401
|
+
"label": "Disable",
|
|
402
|
+
"value": 0
|
|
403
|
+
}
|
|
404
|
+
]
|
|
405
|
+
}
|
|
406
|
+
]
|
|
407
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zwave-js/config",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.18.0",
|
|
4
4
|
"description": "zwave-js: configuration files",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"publishConfig": {
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
"test:dirty": "tsx ../maintenance/src/resolveDirtyTests.ts --run"
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|
|
82
|
-
"@zwave-js/core": "15.
|
|
83
|
-
"@zwave-js/shared": "15.
|
|
82
|
+
"@zwave-js/core": "15.18.0",
|
|
83
|
+
"@zwave-js/shared": "15.18.0",
|
|
84
84
|
"alcalzone-shared": "^5.0.0",
|
|
85
85
|
"ansi-colors": "^4.1.3",
|
|
86
86
|
"eslint": "^9.38.0",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
},
|
|
93
93
|
"devDependencies": {
|
|
94
94
|
"@alcalzone/esm2cjs": "^1.4.2",
|
|
95
|
-
"@microsoft/api-extractor": "^7.
|
|
95
|
+
"@microsoft/api-extractor": "^7.55.1",
|
|
96
96
|
"@types/js-levenshtein": "^1.1.3",
|
|
97
97
|
"@types/json-logic-js": "^2.0.8",
|
|
98
98
|
"@types/node": "^20.19.23",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"@types/sinon": "^17.0.4",
|
|
101
101
|
"@types/xml2js": "^0.4.14",
|
|
102
102
|
"@types/yargs": "^17.0.34",
|
|
103
|
-
"@zwave-js/maintenance": "15.
|
|
103
|
+
"@zwave-js/maintenance": "15.18.0",
|
|
104
104
|
"comment-json": "^4.3.0",
|
|
105
105
|
"del-cli": "^6.0.0",
|
|
106
106
|
"es-main": "^1.4.0",
|