UNPKG

zwave-js

Version:

Z-Wave driver written entirely in JavaScript/TypeScript

357 lines 8.44 kB
// Based on INS13954-13, chapter 7 const versions = Object.freeze([ // Z-Wave 700 uses 7.x SDK versions but also a different NVM format, // so they don't appear here. The entries below this line are for the 500 series // sdkVersion is formatted in a way that it is parsable by semver // protocolVersion comes from the Z-Wave SDK and must not be reformatted { sdkVersion: "6.84.0", protocolVersion: "6.10", serialAPIVersion: "8", }, { sdkVersion: "6.82.1", protocolVersion: "6.09", serialAPIVersion: "8", }, { sdkVersion: "6.82.0", protocolVersion: "6.08", serialAPIVersion: "8", }, { sdkVersion: "6.81.6", protocolVersion: "6.07", serialAPIVersion: "8", }, { sdkVersion: "6.81.5", protocolVersion: "6.06", serialAPIVersion: "8", }, { sdkVersion: "6.81.4", protocolVersion: "6.05", serialAPIVersion: "8", }, { sdkVersion: "6.81.3", protocolVersion: "6.04", serialAPIVersion: "8", }, { sdkVersion: "6.81.2", protocolVersion: "6.03", serialAPIVersion: "8", }, { sdkVersion: "6.81.1", protocolVersion: "6.02", serialAPIVersion: "8", }, { sdkVersion: "6.81.0", protocolVersion: "6.01", serialAPIVersion: "8", }, { sdkVersion: "6.80.0-beta", protocolVersion: "6.01", serialAPIVersion: "8", }, { sdkVersion: "6.71.3", protocolVersion: "5.03", serialAPIVersion: "7", }, { sdkVersion: "6.71.2", protocolVersion: "5.02", serialAPIVersion: "7", }, { sdkVersion: "6.71.1", protocolVersion: "4.61", serialAPIVersion: "7", }, { sdkVersion: "6.71.0", protocolVersion: "4.60", serialAPIVersion: "7", }, { sdkVersion: "6.70.1-beta", protocolVersion: "4.45", serialAPIVersion: "6", }, { sdkVersion: "6.70.0-beta", protocolVersion: "4.28", serialAPIVersion: "6", }, { sdkVersion: "6.61.1", protocolVersion: "4.62", serialAPIVersion: "6", }, { sdkVersion: "6.61.0", protocolVersion: "4.33", serialAPIVersion: "6", }, { sdkVersion: "6.60.0-beta", protocolVersion: "4.12", serialAPIVersion: "6", }, { sdkVersion: "6.51.10", protocolVersion: "4.54", serialAPIVersion: "5", }, { sdkVersion: "6.51.9", protocolVersion: "4.38", serialAPIVersion: "5", }, { sdkVersion: "6.51.8", protocolVersion: "4.34", serialAPIVersion: "5", }, { sdkVersion: "6.51.7", protocolVersion: "4.24", serialAPIVersion: "5", }, { sdkVersion: "6.51.6", protocolVersion: "4.05", serialAPIVersion: "5", }, { sdkVersion: "6.51.4", protocolVersion: "4.01", serialAPIVersion: "5", }, { sdkVersion: "6.51.3", protocolVersion: "3.99", serialAPIVersion: "5", }, { sdkVersion: "6.51.2", protocolVersion: "3.95", serialAPIVersion: "5", }, { sdkVersion: "6.51.1", protocolVersion: "3.92", serialAPIVersion: "5", }, { sdkVersion: "6.51.0", protocolVersion: "3.83", serialAPIVersion: "5", }, { sdkVersion: "6.50.1", protocolVersion: "3.79", serialAPIVersion: "5", }, { sdkVersion: "6.50.0", protocolVersion: "3.71", serialAPIVersion: "5", }, // The entries below this line are for the 300 or 400 series { sdkVersion: "6.11.1", // JP only protocolVersion: "3.53", serialAPIVersion: "5", }, { sdkVersion: "6.11.0", // JP only protocolVersion: "3.45", serialAPIVersion: "5", }, { sdkVersion: "6.10.1", // JP only protocolVersion: "3.38", serialAPIVersion: "5", }, { sdkVersion: "6.10.0", protocolVersion: "3.35", serialAPIVersion: "5", }, { sdkVersion: "6.2.0", protocolVersion: "3.41", serialAPIVersion: "5", }, { sdkVersion: "6.1.3", protocolVersion: "3.37", serialAPIVersion: "5", }, { sdkVersion: "6.1.2", protocolVersion: "3.33", serialAPIVersion: "5", }, { sdkVersion: "6.1.1", // 2-ch protocolVersion: "3.26", serialAPIVersion: "5", }, { sdkVersion: "6.1.0", protocolVersion: "3.10", serialAPIVersion: "5", }, { sdkVersion: "6.0.5-beta", protocolVersion: "3.07", serialAPIVersion: "5", }, { sdkVersion: "6.0.4-beta", protocolVersion: "3.06", serialAPIVersion: "5", }, { sdkVersion: "6.0.3-beta", protocolVersion: "3.04", serialAPIVersion: "5", }, { sdkVersion: "6.0.2-beta", protocolVersion: "3.03", serialAPIVersion: "5", }, { sdkVersion: "6.0.1-beta", protocolVersion: "2.99", serialAPIVersion: "5", }, { sdkVersion: "6.0.0-beta", protocolVersion: "2.96", serialAPIVersion: "5", }, { sdkVersion: "5.3.0", protocolVersion: "3.28", serialAPIVersion: "5", }, { sdkVersion: "5.2.3", protocolVersion: "2.78", serialAPIVersion: "5", }, { sdkVersion: "5.2.2", protocolVersion: "2.64", serialAPIVersion: "5", }, { sdkVersion: "5.2.1", protocolVersion: "2.51", serialAPIVersion: "5", }, { sdkVersion: "5.2.0", protocolVersion: "2.48", serialAPIVersion: "5", }, { sdkVersion: "5.1.0", protocolVersion: "2.36", serialAPIVersion: "5", }, { sdkVersion: "5.0.1-beta", protocolVersion: "2.22", serialAPIVersion: "5", }, { sdkVersion: "5.0.0-beta", protocolVersion: "2.16", serialAPIVersion: "5", }, { sdkVersion: "4.55.0", protocolVersion: "3.67", serialAPIVersion: "5", }, { sdkVersion: "4.54.2", protocolVersion: "3.52", serialAPIVersion: "5", }, { sdkVersion: "4.54.1", protocolVersion: "3.42", serialAPIVersion: "5", }, { sdkVersion: "4.54.0", protocolVersion: "3.40", serialAPIVersion: "5", }, { sdkVersion: "4.53.1", protocolVersion: "3.36", serialAPIVersion: "5", }, { sdkVersion: "4.53.0", protocolVersion: "3.34", serialAPIVersion: "5", }, { sdkVersion: "4.52.1", protocolVersion: "3.22", serialAPIVersion: "5", }, { sdkVersion: "4.52.0", protocolVersion: "3.20", serialAPIVersion: "5", }, { sdkVersion: "4.51.0", protocolVersion: "2.97", serialAPIVersion: "5", }, ]); /** * Converts versions determined using GetProtocolVersion (x.y.z) into the legacy format * so they can be used to look up the SDK version. */ function semverToLegacy(version) { // oxlint-disable-next-line no-unused-vars const [major, minor, _patch] = version.split(".", 3); return `${major}.${minor.toString().padStart(2, "0")}`; } /** * Looks up which SDK version is being used for a given protocol version. * Defaults to the protocol version itself, which is the case for v7+ */ export function protocolVersionToSDKVersion(protocolVersion) { if (protocolVersion.startsWith("Z-Wave ")) { protocolVersion = protocolVersion.slice(7); } const normalizedVersion = semverToLegacy(protocolVersion); let ret = versions.find((v) => v.protocolVersion === normalizedVersion)?.sdkVersion; if (!ret) { // Remove leading zeroes and stuff ret = protocolVersion .split(".") .map((part) => parseInt(part)) .join("."); } return ret; } //# sourceMappingURL=ZWaveSDKVersions.js.map