@zwave-js/config 14.3.10 → 15.0.0-beta.1

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 (76) hide show
  1. package/build/cjs/ConfigManager.d.ts +9 -3
  2. package/build/cjs/ConfigManager.js +42 -20
  3. package/build/cjs/ConfigManager.js.map +2 -2
  4. package/build/cjs/JsonTemplate.d.ts +2 -1
  5. package/build/cjs/JsonTemplate.js +16 -17
  6. package/build/cjs/JsonTemplate.js.map +3 -3
  7. package/build/cjs/Logger.d.ts +2 -2
  8. package/build/cjs/Logger.js.map +2 -2
  9. package/build/cjs/Manufacturers.d.ts +2 -1
  10. package/build/cjs/Manufacturers.js +8 -9
  11. package/build/cjs/Manufacturers.js.map +3 -3
  12. package/build/cjs/_version.d.ts +1 -1
  13. package/build/cjs/_version.js +1 -1
  14. package/build/cjs/_version.js.map +1 -1
  15. package/build/cjs/devices/DeviceConfig.d.ts +3 -2
  16. package/build/cjs/devices/DeviceConfig.js +34 -35
  17. package/build/cjs/devices/DeviceConfig.js.map +3 -3
  18. package/build/cjs/index.d.ts +1 -0
  19. package/build/cjs/index.js.map +1 -1
  20. package/build/cjs/index_safe.d.ts +1 -0
  21. package/build/cjs/index_safe.js.map +1 -1
  22. package/build/cjs/traits.d.ts +11 -0
  23. package/build/cjs/traits.js +17 -0
  24. package/build/cjs/traits.js.map +7 -0
  25. package/build/cjs/utils.d.ts +2 -1
  26. package/build/cjs/utils.js +13 -14
  27. package/build/cjs/utils.js.map +3 -3
  28. package/build/esm/ConfigManager.d.ts +9 -3
  29. package/build/esm/ConfigManager.d.ts.map +1 -1
  30. package/build/esm/ConfigManager.js +42 -19
  31. package/build/esm/ConfigManager.js.map +1 -1
  32. package/build/esm/JsonTemplate.d.ts +2 -1
  33. package/build/esm/JsonTemplate.d.ts.map +1 -1
  34. package/build/esm/JsonTemplate.js +13 -14
  35. package/build/esm/JsonTemplate.js.map +1 -1
  36. package/build/esm/Logger.d.ts +2 -2
  37. package/build/esm/Logger.d.ts.map +1 -1
  38. package/build/esm/Logger.js.map +1 -1
  39. package/build/esm/Manufacturers.d.ts +2 -1
  40. package/build/esm/Manufacturers.d.ts.map +1 -1
  41. package/build/esm/Manufacturers.js +7 -8
  42. package/build/esm/Manufacturers.js.map +1 -1
  43. package/build/esm/_version.d.ts +1 -1
  44. package/build/esm/_version.d.ts.map +1 -1
  45. package/build/esm/_version.js +1 -1
  46. package/build/esm/_version.js.map +1 -1
  47. package/build/esm/devices/DeviceConfig.d.ts +3 -2
  48. package/build/esm/devices/DeviceConfig.d.ts.map +1 -1
  49. package/build/esm/devices/DeviceConfig.js +25 -26
  50. package/build/esm/devices/DeviceConfig.js.map +1 -1
  51. package/build/esm/index.d.ts +1 -0
  52. package/build/esm/index.d.ts.map +1 -1
  53. package/build/esm/index_safe.d.ts +1 -0
  54. package/build/esm/index_safe.d.ts.map +1 -1
  55. package/build/esm/traits.d.ts +11 -0
  56. package/build/esm/traits.d.ts.map +1 -0
  57. package/build/esm/traits.js +2 -0
  58. package/build/esm/traits.js.map +1 -0
  59. package/build/esm/utils.d.ts +2 -1
  60. package/build/esm/utils.d.ts.map +1 -1
  61. package/build/esm/utils.js +16 -14
  62. package/build/esm/utils.js.map +1 -1
  63. package/config/README.md +1 -1
  64. package/config/devices/0x0005/pe653.json +1 -1
  65. package/config/devices/0x003b/be469zp.json +1 -1
  66. package/config/devices/0x0090/hc620.json +1 -1
  67. package/config/devices/0x0098/ct100.json +2 -2
  68. package/config/devices/0x0098/ct101.json +1 -1
  69. package/config/devices/0x0098/ct200x.json +1 -1
  70. package/config/devices/0x0287/iblindsv3.json +1 -1
  71. package/config/devices/0x031e/vzw31-sn.json +1 -1
  72. package/config/devices/0x0344/he-zw-therm-fl2.json +1 -1
  73. package/config/devices/0x0441/ibt4zwave.json +1 -1
  74. package/config/devices/0x045a/Z-CM-V01.json +1 -1
  75. package/config/devices/templates/master_template.json +1 -1
  76. package/package.json +15 -16
@@ -1,10 +1,9 @@
1
1
  import { ZWaveError, ZWaveErrorCodes } from "@zwave-js/core";
2
2
  import { digest } from "@zwave-js/core";
3
- import { Bytes, enumFilesRecursive, formatId, num2hex, padVersion, pathExists, pick, stringify, } from "@zwave-js/shared";
3
+ import { Bytes, enumFilesRecursive, formatId, getenv, num2hex, padVersion, pathExists, pick, readTextFile, stringify, writeTextFile, } from "@zwave-js/shared";
4
4
  import { isArray, isObject } from "alcalzone-shared/typeguards";
5
5
  import JSON5 from "json5";
6
- import fs from "node:fs/promises";
7
- import path from "node:path";
6
+ import path from "pathe";
8
7
  import semverGt from "semver/functions/gt.js";
9
8
  import { clearTemplateCache, readJsonWithTemplate } from "../JsonTemplate.js";
10
9
  import { configDir } from "../utils.js";
@@ -23,10 +22,10 @@ export function getDevicesPaths(configDir) {
23
22
  const indexPath = path.join(devicesDir, "index.json");
24
23
  return { devicesDir, indexPath };
25
24
  }
26
- async function hasChangedDeviceFiles(devicesRoot, dir, lastChange) {
25
+ async function hasChangedDeviceFiles(fs, devicesRoot, dir, lastChange) {
27
26
  // Check if there are any files BUT index.json that were changed
28
27
  // or directories that were modified
29
- const filesAndDirs = await fs.readdir(dir);
28
+ const filesAndDirs = await fs.readDir(dir);
30
29
  for (const f of filesAndDirs) {
31
30
  const fullPath = path.join(dir, f);
32
31
  const stat = await fs.stat(fullPath);
@@ -37,7 +36,7 @@ async function hasChangedDeviceFiles(devicesRoot, dir, lastChange) {
37
36
  }
38
37
  else if (stat.isDirectory()) {
39
38
  // we need to go deeper!
40
- if (await hasChangedDeviceFiles(devicesRoot, fullPath, lastChange)) {
39
+ if (await hasChangedDeviceFiles(fs, devicesRoot, fullPath, lastChange)) {
41
40
  return true;
42
41
  }
43
42
  }
@@ -48,10 +47,10 @@ async function hasChangedDeviceFiles(devicesRoot, dir, lastChange) {
48
47
  * Read all device config files from a given directory and return them as index entries.
49
48
  * Does not update the index itself.
50
49
  */
51
- async function generateIndex(devicesDir, isEmbedded, extractIndexEntries, logger) {
50
+ async function generateIndex(fs, devicesDir, isEmbedded, extractIndexEntries, logger) {
52
51
  const index = [];
53
52
  clearTemplateCache();
54
- const configFiles = await enumFilesRecursive(devicesDir, (file) => file.endsWith(".json")
53
+ const configFiles = await enumFilesRecursive(fs, devicesDir, (file) => file.endsWith(".json")
55
54
  && !file.endsWith("index.json")
56
55
  && !file.includes("/templates/")
57
56
  && !file.includes("\\templates\\"));
@@ -65,7 +64,7 @@ async function generateIndex(devicesDir, isEmbedded, extractIndexEntries, logger
65
64
  .replaceAll("\\", "/");
66
65
  // Try parsing the file
67
66
  try {
68
- const config = await DeviceConfig.from(file, isEmbedded, {
67
+ const config = await DeviceConfig.from(fs, file, isEmbedded, {
69
68
  rootDir: devicesDir,
70
69
  fallbackDirs,
71
70
  relative: true,
@@ -87,7 +86,7 @@ async function generateIndex(devicesDir, isEmbedded, extractIndexEntries, logger
87
86
  const message = `Error parsing config file ${relativePath}: ${e.message}`;
88
87
  // Crash hard during tests, just print an error when in production systems.
89
88
  // A user could have changed a config file
90
- if (process.env.NODE_ENV === "test" || !!process.env.CI) {
89
+ if (process.env.NODE_ENV === "test" || !!getenv("CI")) {
91
90
  throw new ZWaveError(message, ZWaveErrorCodes.Config_Invalid);
92
91
  }
93
92
  else {
@@ -97,15 +96,15 @@ async function generateIndex(devicesDir, isEmbedded, extractIndexEntries, logger
97
96
  }
98
97
  return index;
99
98
  }
100
- async function loadDeviceIndexShared(devicesDir, indexPath, extractIndexEntries, logger) {
99
+ async function loadDeviceIndexShared(fs, devicesDir, indexPath, extractIndexEntries, logger) {
101
100
  // The index file needs to be regenerated if it does not exist
102
- let needsUpdate = !(await pathExists(indexPath));
101
+ let needsUpdate = !(await pathExists(fs, indexPath));
103
102
  let index;
104
103
  let mtimeIndex;
105
104
  // ...or if cannot be parsed
106
105
  if (!needsUpdate) {
107
106
  try {
108
- const fileContents = await fs.readFile(indexPath, "utf8");
107
+ const fileContents = await readTextFile(fs, indexPath, "utf8");
109
108
  index = JSON5.parse(fileContents);
110
109
  mtimeIndex = (await fs.stat(indexPath)).mtime;
111
110
  }
@@ -122,17 +121,17 @@ async function loadDeviceIndexShared(devicesDir, indexPath, extractIndexEntries,
122
121
  }
123
122
  // ...or if there were any changes in the file system
124
123
  if (!needsUpdate) {
125
- needsUpdate = await hasChangedDeviceFiles(devicesDir, devicesDir, mtimeIndex);
124
+ needsUpdate = await hasChangedDeviceFiles(fs, devicesDir, devicesDir, mtimeIndex);
126
125
  if (needsUpdate) {
127
126
  logger?.print("Device configuration files on disk changed - regenerating index...", "verbose");
128
127
  }
129
128
  }
130
129
  if (needsUpdate) {
131
130
  // Read all files from disk and generate an index
132
- index = await generateIndex(devicesDir, true, extractIndexEntries, logger);
131
+ index = await generateIndex(fs, devicesDir, true, extractIndexEntries, logger);
133
132
  // Save the index to disk
134
133
  try {
135
- await fs.writeFile(path.join(indexPath), `// This file is auto-generated. DO NOT edit it by hand if you don't know what you're doing!"
134
+ await writeTextFile(fs, path.join(indexPath), `// This file is auto-generated. DO NOT edit it by hand if you don't know what you're doing!"
136
135
  ${stringify(index, "\t")}
137
136
  `, "utf8");
138
137
  logger?.print("Device index regenerated", "verbose");
@@ -148,8 +147,8 @@ ${stringify(index, "\t")}
148
147
  * Loads the index file to quickly access the device configs.
149
148
  * Transparently handles updating the index if necessary
150
149
  */
151
- export async function generatePriorityDeviceIndex(deviceConfigPriorityDir, logger) {
152
- return (await generateIndex(deviceConfigPriorityDir, false, (config) => config.devices.map((dev) => ({
150
+ export async function generatePriorityDeviceIndex(fs, deviceConfigPriorityDir, logger) {
151
+ return (await generateIndex(fs, deviceConfigPriorityDir, false, (config) => config.devices.map((dev) => ({
153
152
  manufacturerId: formatId(config.manufacturerId.toString(16)),
154
153
  manufacturer: config.manufacturer,
155
154
  label: config.label,
@@ -170,9 +169,9 @@ export async function generatePriorityDeviceIndex(deviceConfigPriorityDir, logge
170
169
  * Loads the index file to quickly access the device configs.
171
170
  * Transparently handles updating the index if necessary
172
171
  */
173
- export async function loadDeviceIndexInternal(logger, externalConfigDir) {
172
+ export async function loadDeviceIndexInternal(fs, logger, externalConfigDir) {
174
173
  const { devicesDir, indexPath } = getDevicesPaths(externalConfigDir || configDir);
175
- return loadDeviceIndexShared(devicesDir, indexPath, (config) => config.devices.map((dev) => ({
174
+ return loadDeviceIndexShared(fs, devicesDir, indexPath, (config) => config.devices.map((dev) => ({
176
175
  manufacturerId: formatId(config.manufacturerId.toString(16)),
177
176
  manufacturer: config.manufacturer,
178
177
  label: config.label,
@@ -187,9 +186,9 @@ export async function loadDeviceIndexInternal(logger, externalConfigDir) {
187
186
  * Loads the full text index file to quickly search the device configs.
188
187
  * Transparently handles updating the index if necessary
189
188
  */
190
- export async function loadFulltextDeviceIndexInternal(logger) {
189
+ export async function loadFulltextDeviceIndexInternal(fs, logger) {
191
190
  // This method is not meant to operate with the external device index!
192
- return loadDeviceIndexShared(embeddedDevicesDir, fulltextIndexPath, (config) => config.devices.map((dev) => ({
191
+ return loadDeviceIndexShared(fs, embeddedDevicesDir, fulltextIndexPath, (config) => config.devices.map((dev) => ({
193
192
  manufacturerId: formatId(config.manufacturerId.toString(16)),
194
193
  manufacturer: config.manufacturer,
195
194
  label: config.label,
@@ -215,12 +214,12 @@ function isFirmwareVersion(val) {
215
214
  }
216
215
  /** This class represents a device config entry whose conditional settings have not been evaluated yet */
217
216
  export class ConditionalDeviceConfig {
218
- static async from(filename, isEmbedded, options) {
217
+ static async from(fs, filename, isEmbedded, options) {
219
218
  const { relative, rootDir } = options;
220
219
  const relativePath = relative
221
220
  ? path.relative(rootDir, filename).replaceAll("\\", "/")
222
221
  : filename;
223
- const json = await readJsonWithTemplate(filename, [
222
+ const json = await readJsonWithTemplate(fs, filename, [
224
223
  options.rootDir,
225
224
  ...(options.fallbackDirs ?? []),
226
225
  ]);
@@ -363,8 +362,8 @@ metadata is not an object`);
363
362
  }
364
363
  }
365
364
  export class DeviceConfig {
366
- static async from(filename, isEmbedded, options) {
367
- const ret = await ConditionalDeviceConfig.from(filename, isEmbedded, options);
365
+ static async from(fs, filename, isEmbedded, options) {
366
+ const ret = await ConditionalDeviceConfig.from(fs, filename, isEmbedded, options);
368
367
  return ret.evaluate(options.deviceId);
369
368
  }
370
369
  constructor(filename, isEmbedded, manufacturer, manufacturerId, label, description, devices, firmwareVersion, preferred, endpoints, associations, paramInformation, proprietary, compat, metadata) {
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceConfig.js","sourceRoot":"","sources":["../../../src/devices/DeviceConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeviceConfig.js","sourceRoot":"","sources":["../../../src/devices/DeviceConfig.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,5 @@ export * from "./devices/DeviceMetadata.js";
9
9
  export * from "./devices/EndpointConfig.js";
10
10
  export * from "./devices/ParamInformation.js";
11
11
  export * from "./devices/shared.js";
12
+ export type * from "./traits.js";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,mBAAmB,aAAa,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./Logger_safe.js";
2
2
  export { PACKAGE_VERSION } from "./_version.js";
3
+ export type * from "./traits.js";
3
4
  //# sourceMappingURL=index_safe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index_safe.d.ts","sourceRoot":"","sources":["../../src/index_safe.ts"],"names":[],"mappings":"AAEA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index_safe.d.ts","sourceRoot":"","sources":["../../src/index_safe.ts"],"names":[],"mappings":"AAEA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,mBAAmB,aAAa,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type DeviceConfig } from "./devices/DeviceConfig.js";
2
+ /** Allows querying device configuration for a node */
3
+ export interface GetDeviceConfig {
4
+ getDeviceConfig(nodeId: number): DeviceConfig | undefined;
5
+ }
6
+ /** Allows looking up Z-Wave manufacturers by manufacturer ID */
7
+ export interface LookupManufacturer {
8
+ /** Looks up the name of the manufacturer with the given ID in the configuration DB */
9
+ lookupManufacturer(manufacturerId: number): string | undefined;
10
+ }
11
+ //# sourceMappingURL=traits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../src/traits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC/B,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;CAC1D;AAED,gEAAgE;AAChE,MAAM,WAAW,kBAAkB;IAClC,sFAAsF;IACtF,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC/D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=traits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traits.js","sourceRoot":"","sources":["../../src/traits.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+ import { type CopyFile, type ManageDirectory, type ReadFile, type ReadFileSystemInfo, type WriteFile } from "@zwave-js/shared/bindings";
1
2
  import type { ConfigLogger } from "./Logger.js";
2
3
  import type { DeviceConfigIndexEntry } from "./devices/DeviceConfig.js";
3
4
  /** The absolute path of the embedded configuration directory */
@@ -14,6 +15,6 @@ export type SyncExternalConfigDirResult = {
14
15
  /**
15
16
  * Synchronizes or updates the external config directory and returns whether the directory is in a state that can be used
16
17
  */
17
- export declare function syncExternalConfigDir(extConfigDir: string, logger: ConfigLogger): Promise<SyncExternalConfigDirResult>;
18
+ export declare function syncExternalConfigDir(fs: ManageDirectory & ReadFileSystemInfo & ReadFile & CopyFile & WriteFile, extConfigDir: string, logger: ConfigLogger): Promise<SyncExternalConfigDirResult>;
18
19
  export declare function versionInRange(version: string, min: string, max: string): boolean;
19
20
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAIxE,gEAAgE;AAChE,eAAO,MAAM,SAAS,QAGrB,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,+BAA+B,IAAI,MAAM,GAAG,SAAS,CAEpE;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,MAAM,MAAM,2BAA2B,GACpC;IACD,OAAO,EAAE,KAAK,CAAC;CACf,GACC;IACD,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEH;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,YAAY,GAClB,OAAO,CAAC,2BAA2B,CAAC,CAuEtC;AAED,wBAAgB,cAAc,CAC7B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACT,OAAO,CAKT"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,MAAM,2BAA2B,CAAC;AAQnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,gEAAgE;AAChE,eAAO,MAAM,SAAS,QAQW,CAAC;AAElC,0EAA0E;AAC1E,wBAAgB,+BAA+B,IAAI,MAAM,GAAG,SAAS,CAEpE;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,MAAM,MAAM,2BAA2B,GACpC;IACD,OAAO,EAAE,KAAK,CAAC;CACf,GACC;IACD,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEH;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,EAAE,EAAE,eAAe,GAAG,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,EAC1E,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,YAAY,GAClB,OAAO,CAAC,2BAA2B,CAAC,CAiFtC;AAED,wBAAgB,cAAc,CAC7B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACT,OAAO,CAKT"}
@@ -1,19 +1,21 @@
1
- import { copyFilesRecursive, formatId, padVersion } from "@zwave-js/shared";
2
- import fs from "node:fs/promises";
3
- import { createRequire } from "node:module";
4
- import path from "node:path";
1
+ import { copyFilesRecursive, formatId, getenv, padVersion, readTextFile, writeTextFile, } from "@zwave-js/shared";
2
+ import { fileURLToPath } from "node:url";
3
+ import path from "pathe";
5
4
  import semverGte from "semver/functions/gte.js";
6
5
  import semverInc from "semver/functions/inc.js";
7
6
  import semverLte from "semver/functions/lte.js";
8
7
  import semverSatisfies from "semver/functions/satisfies.js";
9
8
  import semverValid from "semver/functions/valid.js";
10
9
  import { PACKAGE_VERSION } from "./_version.js";
11
- const require = createRequire(import.meta.url);
12
10
  /** The absolute path of the embedded configuration directory */
13
- export const configDir = path.resolve(path.dirname(require.resolve("@zwave-js/config/package.json")), "config");
11
+ export const configDir = import.meta.url.startsWith("file:")
12
+ ? path.join(path.dirname(fileURLToPath(import.meta.url)), import.meta.url.endsWith("src/utils.ts")
13
+ ? ".."
14
+ : "../..", "config")
15
+ : import.meta.resolve("/config");
14
16
  /** The (optional) absolute path of an external configuration directory */
15
17
  export function getExternalConfigDirEnvVariable() {
16
- return process.env.ZWAVEJS_EXTERNAL_CONFIG;
18
+ return getenv("ZWAVEJS_EXTERNAL_CONFIG");
17
19
  }
18
20
  export function getDeviceEntryPredicate(manufacturerId, productType, productId, firmwareVersion) {
19
21
  return (entry) => {
@@ -34,12 +36,12 @@ export function getDeviceEntryPredicate(manufacturerId, productType, productId,
34
36
  /**
35
37
  * Synchronizes or updates the external config directory and returns whether the directory is in a state that can be used
36
38
  */
37
- export async function syncExternalConfigDir(extConfigDir, logger) {
39
+ export async function syncExternalConfigDir(fs, extConfigDir, logger) {
38
40
  if (!extConfigDir)
39
41
  return { success: false };
40
42
  // Make sure the config dir exists
41
43
  try {
42
- await fs.mkdir(extConfigDir, { recursive: true });
44
+ await fs.ensureDir(extConfigDir);
43
45
  }
44
46
  catch {
45
47
  logger.print(`Synchronizing external config dir failed - directory could not be created`, "error");
@@ -57,7 +59,7 @@ export async function syncExternalConfigDir(extConfigDir, logger) {
57
59
  let wipe = false;
58
60
  let externalVersion;
59
61
  try {
60
- externalVersion = await fs.readFile(externalVersionFilename, "utf8");
62
+ externalVersion = await readTextFile(fs, externalVersionFilename, "utf8");
61
63
  if (!semverValid(externalVersion)) {
62
64
  wipe = true;
63
65
  }
@@ -76,10 +78,10 @@ export async function syncExternalConfigDir(extConfigDir, logger) {
76
78
  // Wipe and override the external dir
77
79
  try {
78
80
  logger.print(`Synchronizing external config dir ${extConfigDir}...`);
79
- await fs.rm(extConfigDir, { recursive: true, force: true });
80
- await fs.mkdir(extConfigDir, { recursive: true });
81
- await copyFilesRecursive(configDir, extConfigDir, (src) => src.endsWith(".json"));
82
- await fs.writeFile(externalVersionFilename, currentVersion, "utf8");
81
+ await fs.deleteDir(extConfigDir);
82
+ await fs.ensureDir(extConfigDir);
83
+ await copyFilesRecursive(fs, configDir, extConfigDir, (src) => src.endsWith(".json"));
84
+ await writeTextFile(fs, externalVersionFilename, currentVersion, "utf8");
83
85
  externalVersion = currentVersion;
84
86
  }
85
87
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kBAAkB,EAClB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,YAAY,EACZ,aAAa,GACb,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,OAAO,CAAC;AACzB,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,WAAW,MAAM,2BAA2B,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,gEAAgE;AAChE,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;IAC3D,CAAC,CAAC,IAAI,CAAC,IAAI,CACV,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;QACvC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,EACV,QAAQ,CACR;IACD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAElC,0EAA0E;AAC1E,MAAM,UAAU,+BAA+B;IAC9C,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,cAAsB,EACtB,WAAmB,EACnB,SAAiB,EACjB,eAAwB;IAExB,OAAO,CAAC,KAAK,EAAE,EAAE;QAChB,IAAI,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,KAAK,CAAC;QACpE,IAAI,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9D,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1D,IAAI,eAAe,IAAI,SAAS,EAAE,CAAC;YAClC,oFAAoF;YACpF,OAAO,CACN,SAAS,CACR,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EACrC,UAAU,CAAC,eAAe,CAAC,CAC3B;mBACE,SAAS,CACX,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EACrC,UAAU,CAAC,eAAe,CAAC,CAC3B,CACD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;AACH,CAAC;AAWD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,EAA0E,EAC1E,YAAoB,EACpB,MAAoB;IAEpB,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAE7C,kCAAkC;IAClC,IAAI,CAAC;QACJ,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,CAAC,KAAK,CACX,2EAA2E,EAC3E,OAAO,CACP,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,eAAe,CAAC;IACvC,MAAM,cAAc,GAAG,KAAK,cAAc,KACzC,SAAS,CACR,cAAc,EACd,OAAO,CAET,EAAE,CAAC;IAEH,kFAAkF;IAClF,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,gEAAgE;IAChE,+CAA+C;IAC/C,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,eAAmC,CAAC;IACxC,IAAI,CAAC;QACJ,eAAe,GAAG,MAAM,YAAY,CACnC,EAAE,EACF,uBAAuB,EACvB,MAAM,CACN,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,IAAI,GAAG,IAAI,CAAC;QACb,CAAC;aAAM,IACN,CAAC,eAAe,CAAC,eAAe,EAAE,cAAc,EAAE;YACjD,iBAAiB,EAAE,IAAI;SACvB,CAAC,EACD,CAAC;YACF,IAAI,GAAG,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,IAAI,GAAG,IAAI,CAAC;IACb,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,eAAgB,EAAE,CAAC;IAE/D,qCAAqC;IACrC,IAAI,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC,qCAAqC,YAAY,KAAK,CAAC,CAAC;QACrE,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACjC,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACjC,MAAM,kBAAkB,CACvB,EAAE,EACF,SAAS,EACT,YAAY,EACZ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC9B,CAAC;QACF,MAAM,aAAa,CAClB,EAAE,EACF,uBAAuB,EACvB,cAAc,EACd,MAAM,CACN,CAAC;QACF,eAAe,GAAG,cAAc,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACR,uBAAuB;QACvB,MAAM,CAAC,KAAK,CACX,kEAAkE,EAClE,OAAO,CACP,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,OAAe,EACf,GAAW,EACX,GAAW;IAEX,OAAO,CACN,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;WAC5C,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAClD,CAAC;AACH,CAAC"}
package/config/README.md CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  This directory contains configuration files for individual devices known to zwave-js.
4
4
 
5
- Refer to [the documentation](https://zwave-js.github.io/node-zwave-js/#/config-files/overview), for details on the layout of these fields and their schemas.
5
+ Refer to [the documentation](https://zwave-js.github.io/zwave-js/#/config-files/overview), for details on the layout of these fields and their schemas.
@@ -536,7 +536,7 @@
536
536
  }
537
537
  },
538
538
  "overrideQueries": {
539
- // The response to the setpoint query is off by one bit: https://github.com/zwave-js/node-zwave-js/issues/5335
539
+ // The response to the setpoint query is off by one bit: https://github.com/zwave-js/zwave-js/issues/5335
540
540
  "Thermostat Setpoint": [
541
541
  {
542
542
  "method": "getSupportedSetpointTypes",
@@ -235,7 +235,7 @@
235
235
  "compat": {
236
236
  "commandClasses": {
237
237
  "remove": {
238
- // https://github.com/zwave-js/node-zwave-js/issues/5260#issuecomment-1399682117
238
+ // https://github.com/zwave-js/zwave-js/issues/5260#issuecomment-1399682117
239
239
  // The device does not accept all commands using Supervision
240
240
  "Supervision": {
241
241
  "endpoints": "*"
@@ -155,7 +155,7 @@
155
155
  "compat": {
156
156
  "commandClasses": {
157
157
  "remove": {
158
- // https://github.com/zwave-js/node-zwave-js/discussions/5566#discussioncomment-6702982
158
+ // https://github.com/zwave-js/zwave-js/discussions/5566#discussioncomment-6702982
159
159
  // The device gets stuck in a state where it continues spamming Supervision Reports
160
160
  "Supervision": {
161
161
  "endpoints": "*"
@@ -314,8 +314,8 @@
314
314
  }
315
315
  ],
316
316
  "compat": {
317
- // https://github.com/zwave-js/node-zwave-js/issues/6017#issuecomment-1648532422
318
- // https://github.com/zwave-js/node-zwave-js/issues/6184
317
+ // https://github.com/zwave-js/zwave-js/issues/6017#issuecomment-1648532422
318
+ // https://github.com/zwave-js/zwave-js/issues/6184
319
319
 
320
320
  // The device has a weird endpoint setup. Most thermostat functionality is on endpoint 0, but the two additional
321
321
  // endpoints have a thermostat device class:
@@ -304,7 +304,7 @@
304
304
  }
305
305
  ],
306
306
  "compat": {
307
- // https://github.com/zwave-js/node-zwave-js/issues/6017#issuecomment-1648532422
307
+ // https://github.com/zwave-js/zwave-js/issues/6017#issuecomment-1648532422
308
308
 
309
309
  // The device has a weird endpoint setup. Most thermostat functionality is on endpoint 0, but the two additional
310
310
  // endpoints have a thermostat device class:
@@ -270,7 +270,7 @@
270
270
  }
271
271
  ],
272
272
  "compat": {
273
- // https://github.com/zwave-js/node-zwave-js/issues/4228
273
+ // https://github.com/zwave-js/zwave-js/issues/4228
274
274
  // This device doesn't encode the supported sensor scales correctly
275
275
  "disableStrictMeasurementValidation": true
276
276
  }
@@ -167,7 +167,7 @@
167
167
  }
168
168
  ],
169
169
  "compat": {
170
- // https://github.com/zwave-js/node-zwave-js/issues/5686
170
+ // https://github.com/zwave-js/zwave-js/issues/5686
171
171
  // The device supports Binary Switch CC to control the tilt, but it is not linked
172
172
  // to the Window Covering CC values. Remove the Binary Switch CC to avoid confusion.
173
173
  "commandClasses": {
@@ -296,7 +296,7 @@
296
296
  "valueSize": 1,
297
297
  // This parameter is actually writable, but Inovelli asked to have it readonly
298
298
  // to prevent accidental changes that can damage the device:
299
- // https://github.com/zwave-js/node-zwave-js/issues/6273#issuecomment-1714585107
299
+ // https://github.com/zwave-js/zwave-js/issues/6273#issuecomment-1714585107
300
300
  "readOnly": true,
301
301
  "allowManualEntry": false,
302
302
  "options": [
@@ -632,7 +632,7 @@
632
632
  ],
633
633
  "compat": {
634
634
  "overrideQueries": {
635
- // The response to the supported scales query is off by one bit: https://github.com/zwave-js/node-zwave-js/issues/6680
635
+ // The response to the supported scales query is off by one bit: https://github.com/zwave-js/zwave-js/issues/6680
636
636
  "Multilevel Sensor": [
637
637
  {
638
638
  "method": "getSupportedScales",
@@ -276,7 +276,7 @@
276
276
  "commandClasses": {
277
277
  "remove": {
278
278
  // The device does not support Supervision correctly. Starting a level change always fails
279
- // https://github.com/zwave-js/node-zwave-js/issues/6049
279
+ // https://github.com/zwave-js/zwave-js/issues/6049
280
280
  "Supervision": {
281
281
  "endpoints": "*"
282
282
  }
@@ -186,7 +186,7 @@
186
186
  "compat": {
187
187
  "commandClasses": {
188
188
  "remove": {
189
- // The device has a bugged Window Covering CC implementation: https://github.com/zwave-js/node-zwave-js/issues/5975
189
+ // The device has a bugged Window Covering CC implementation: https://github.com/zwave-js/zwave-js/issues/5975
190
190
  "Window Covering": {
191
191
  "endpoints": "*"
192
192
  }
@@ -659,7 +659,7 @@
659
659
  },
660
660
  "7xx_firmware_bug_pre_7_17_2": {
661
661
  "level": "warning",
662
- "text": "Early 700 series firmware revisions had a bug that could cause the mesh to be flooded on some networks and the controller to become unresponsive. It appears that this bug is largely, if not completely, resolved as of SDK version 7.17.2.\nDirections for upgrading the firmware can be found at https://zwave-js.github.io/node-zwave-js/#/troubleshooting/otw-upgrade"
662
+ "text": "Early 700 series firmware revisions had a bug that could cause the mesh to be flooded on some networks and the controller to become unresponsive. It appears that this bug is largely, if not completely, resolved as of SDK version 7.17.2.\nDirections for upgrading the firmware can be found at https://zwave-js.github.io/zwave-js/#/troubleshooting/otw-upgrade"
663
663
  },
664
664
  "7xx_firmware_bug_7_19_to_7_21_3": {
665
665
  "level": "warning",