@zwave-js/cc 15.3.2 → 15.5.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.
Files changed (72) hide show
  1. package/build/cjs/cc/DoorLockCC.d.ts +30 -0
  2. package/build/cjs/cc/DoorLockCC.js +42 -0
  3. package/build/cjs/cc/DoorLockCC.js.map +2 -2
  4. package/build/cjs/cc/VersionCC._validateArgs.js +3 -3
  5. package/build/cjs/cc/VersionCC._validateArgs.js.map +1 -1
  6. package/build/cjs/cc/VersionCC.d.ts +1 -1
  7. package/build/cjs/cc/VersionCC.js +2 -2
  8. package/build/cjs/cc/VersionCC.js.map +2 -2
  9. package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts.map +1 -1
  10. package/build/esm/cc/AssociationCC._validateArgs.d.ts.map +1 -1
  11. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts.map +1 -1
  12. package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts.map +1 -1
  13. package/build/esm/cc/BasicCC._validateArgs.d.ts.map +1 -1
  14. package/build/esm/cc/BasicWindowCoveringCC._validateArgs.d.ts.map +1 -1
  15. package/build/esm/cc/BinarySensorCC._validateArgs.d.ts.map +1 -1
  16. package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts.map +1 -1
  17. package/build/esm/cc/CentralSceneCC._validateArgs.d.ts.map +1 -1
  18. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts.map +1 -1
  19. package/build/esm/cc/ClockCC._validateArgs.d.ts.map +1 -1
  20. package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts.map +1 -1
  21. package/build/esm/cc/ConfigurationCC._validateArgs.d.ts.map +1 -1
  22. package/build/esm/cc/DoorLockCC._validateArgs.d.ts.map +1 -1
  23. package/build/esm/cc/DoorLockCC.d.ts +30 -0
  24. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  25. package/build/esm/cc/DoorLockCC.js +54 -0
  26. package/build/esm/cc/DoorLockCC.js.map +1 -1
  27. package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts.map +1 -1
  28. package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts.map +1 -1
  29. package/build/esm/cc/EntryControlCC._validateArgs.d.ts.map +1 -1
  30. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -1
  31. package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts.map +1 -1
  32. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts.map +1 -1
  33. package/build/esm/cc/IndicatorCC._validateArgs.d.ts.map +1 -1
  34. package/build/esm/cc/IrrigationCC._validateArgs.d.ts.map +1 -1
  35. package/build/esm/cc/LanguageCC._validateArgs.d.ts.map +1 -1
  36. package/build/esm/cc/LockCC._validateArgs.d.ts.map +1 -1
  37. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts.map +1 -1
  38. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts.map +1 -1
  39. package/build/esm/cc/MeterCC._validateArgs.d.ts.map +1 -1
  40. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts.map +1 -1
  41. package/build/esm/cc/MultiChannelCC._validateArgs.d.ts.map +1 -1
  42. package/build/esm/cc/MultiCommandCC._validateArgs.d.ts.map +1 -1
  43. package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts.map +1 -1
  44. package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts.map +1 -1
  45. package/build/esm/cc/NodeNamingCC._validateArgs.d.ts.map +1 -1
  46. package/build/esm/cc/NotificationCC._validateArgs.d.ts.map +1 -1
  47. package/build/esm/cc/PowerlevelCC._validateArgs.d.ts.map +1 -1
  48. package/build/esm/cc/ProtectionCC._validateArgs.d.ts.map +1 -1
  49. package/build/esm/cc/SceneActivationCC._validateArgs.d.ts.map +1 -1
  50. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts.map +1 -1
  51. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts.map +1 -1
  52. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts.map +1 -1
  53. package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts.map +1 -1
  54. package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts.map +1 -1
  55. package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts.map +1 -1
  56. package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts.map +1 -1
  57. package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts.map +1 -1
  58. package/build/esm/cc/TimeCC._validateArgs.d.ts.map +1 -1
  59. package/build/esm/cc/TimeParametersCC._validateArgs.d.ts.map +1 -1
  60. package/build/esm/cc/UserCodeCC._validateArgs.d.ts.map +1 -1
  61. package/build/esm/cc/VersionCC._validateArgs.d.ts.map +1 -1
  62. package/build/esm/cc/VersionCC._validateArgs.js +3 -3
  63. package/build/esm/cc/VersionCC._validateArgs.js.map +1 -1
  64. package/build/esm/cc/VersionCC.d.ts +1 -1
  65. package/build/esm/cc/VersionCC.d.ts.map +1 -1
  66. package/build/esm/cc/VersionCC.js +2 -2
  67. package/build/esm/cc/VersionCC.js.map +1 -1
  68. package/build/esm/cc/WakeUpCC._validateArgs.d.ts.map +1 -1
  69. package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts.map +1 -1
  70. package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts.map +1 -1
  71. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts.map +1 -1
  72. package/package.json +9 -9
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cc/VersionCC.ts"],
4
- "sourcesContent": ["import type { CCEncodingContext, CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCommandClasses,\n\ttype GetValueDB,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\tSecurityClass,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tZWaveLibraryTypes,\n\tenumValuesToMetadataStates,\n\tgetCCName,\n\tsecurityClassIsS2,\n\tsecurityClassOrder,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, num2hex, pick } from \"@zwave-js/shared\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { CCAPI, PhysicalCCAPI } from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\tgetImplementedVersion,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { VersionCommand } from \"../lib/_Types.js\";\n\nexport const VersionCCValues = V.defineCCValues(CommandClasses.Version, {\n\t...V.staticProperty(\n\t\t\"firmwareVersions\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnly,\n\t\t\ttype: \"string[]\",\n\t\t\tlabel: \"Z-Wave chip firmware versions\",\n\t\t} as const,\n\t\t{ supportsEndpoints: false },\n\t),\n\t...V.staticProperty(\n\t\t\"libraryType\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\tlabel: \"Library type\",\n\t\t\tstates: enumValuesToMetadataStates(ZWaveLibraryTypes),\n\t\t} as const,\n\t\t{ supportsEndpoints: false },\n\t),\n\t...V.staticProperty(\n\t\t\"protocolVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Z-Wave protocol version\",\n\t\t} as const,\n\t\t{ supportsEndpoints: false },\n\t),\n\t...V.staticProperty(\n\t\t\"hardwareVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\tlabel: \"Z-Wave chip hardware version\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 2,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"supportsZWaveSoftwareGet\",\n\t\tundefined,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tinternal: true,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"sdkVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"SDK version\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"applicationFrameworkAPIVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Z-Wave application framework API version\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"applicationFrameworkBuildNumber\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Z-Wave application framework API build number\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticPropertyWithName(\n\t\t\"serialAPIVersion\",\n\t\t\"hostInterfaceVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Serial API version\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticPropertyWithName(\n\t\t\"serialAPIBuildNumber\",\n\t\t\"hostInterfaceBuildNumber\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Serial API build number\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"zWaveProtocolVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Z-Wave protocol version\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"zWaveProtocolBuildNumber\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Z-Wave protocol build number\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"applicationVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Application version\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"applicationBuildNumber\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Application build number\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n});\n\nfunction parseVersion(buffer: Uint8Array): string {\n\tif (buffer[0] === 0 && buffer[1] === 0 && buffer[2] === 0) return \"unused\";\n\treturn `${buffer[0]}.${buffer[1]}.${buffer[2]}`;\n}\n\n// @noSetValueAPI This CC is read-only\n\n@API(CommandClasses.Version)\nexport class VersionCCAPI extends PhysicalCCAPI {\n\tpublic supportsCommand(cmd: VersionCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase VersionCommand.Get:\n\t\t\tcase VersionCommand.Report:\n\t\t\tcase VersionCommand.CommandClassGet:\n\t\t\tcase VersionCommand.CommandClassReport:\n\t\t\t\treturn true; // This is mandatory\n\n\t\t\tcase VersionCommand.CapabilitiesGet:\n\t\t\tcase VersionCommand.CapabilitiesReport:\n\t\t\tcase VersionCommand.ZWaveSoftwareReport:\n\t\t\t\treturn this.version >= 3;\n\n\t\t\tcase VersionCommand.ZWaveSoftwareGet: {\n\t\t\t\treturn this.getValueDB().getValue<boolean>(\n\t\t\t\t\tVersionCCValues.supportsZWaveSoftwareGet.endpoint(\n\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async get() {\n\t\tthis.assertSupportsCommand(VersionCommand, VersionCommand.Get);\n\n\t\tconst cc = new VersionCCGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<VersionCCReport>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"libraryType\",\n\t\t\t\t\"protocolVersion\",\n\t\t\t\t\"firmwareVersions\",\n\t\t\t\t\"hardwareVersion\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async sendReport(options: VersionCCReportOptions): Promise<void> {\n\t\tthis.assertSupportsCommand(VersionCommand, VersionCommand.Report);\n\n\t\tconst cc = new VersionCCReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t...options,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\tpublic async getCCVersion(\n\t\trequestedCC: CommandClasses,\n\t): Promise<MaybeNotKnown<number>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tVersionCommand,\n\t\t\tVersionCommand.CommandClassGet,\n\t\t);\n\n\t\tconst cc = new VersionCCCommandClassGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\trequestedCC,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tVersionCCCommandClassReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.ccVersion;\n\t}\n\n\t@validateArgs()\n\tpublic async reportCCVersion(requestedCC: CommandClasses): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tVersionCommand,\n\t\t\tVersionCommand.CommandClassReport,\n\t\t);\n\n\t\tlet ccVersion: number;\n\t\tswitch (requestedCC) {\n\t\t\tcase CommandClasses[\"Z-Wave Protocol\"]:\n\t\t\tcase CommandClasses[\"Z-Wave Long Range\"]:\n\t\t\t\t// These two are only for internal use\n\t\t\t\tccVersion = 0;\n\t\t\t\tbreak;\n\t\t\tcase CommandClasses.Hail:\n\t\t\tcase CommandClasses[\"Manufacturer Proprietary\"]:\n\t\t\t\t// These CCs are obsolete, we cannot enter them in the certification portal\n\t\t\t\t// but not doing so fails a certification test. Just respond that they\n\t\t\t\t// are not supported or controlled\n\t\t\t\tccVersion = 0;\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tccVersion = getImplementedVersion(requestedCC);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst cc = new VersionCCCommandClassReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\trequestedCC,\n\t\t\tccVersion,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getCapabilities() {\n\t\tthis.assertSupportsCommand(\n\t\t\tVersionCommand,\n\t\t\tVersionCommand.CapabilitiesGet,\n\t\t);\n\n\t\tconst cc = new VersionCCCapabilitiesGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tVersionCCCapabilitiesReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"supportsZWaveSoftwareGet\"]);\n\t\t}\n\t}\n\n\tpublic async reportCapabilities(): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tVersionCommand,\n\t\t\tVersionCommand.CapabilitiesReport,\n\t\t);\n\n\t\tconst cc = new VersionCCCapabilitiesReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t// At this time, we do not support responding to Z-Wave Software Get\n\t\t\tsupportsZWaveSoftwareGet: false,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getZWaveSoftware() {\n\t\tthis.assertSupportsCommand(\n\t\t\tVersionCommand,\n\t\t\tVersionCommand.ZWaveSoftwareGet,\n\t\t);\n\n\t\tconst cc = new VersionCCZWaveSoftwareGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tVersionCCZWaveSoftwareReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"sdkVersion\",\n\t\t\t\t\"applicationFrameworkAPIVersion\",\n\t\t\t\t\"applicationFrameworkBuildNumber\",\n\t\t\t\t\"hostInterfaceVersion\",\n\t\t\t\t\"hostInterfaceBuildNumber\",\n\t\t\t\t\"zWaveProtocolVersion\",\n\t\t\t\t\"zWaveProtocolBuildNumber\",\n\t\t\t\t\"applicationVersion\",\n\t\t\t\t\"applicationBuildNumber\",\n\t\t\t]);\n\t\t}\n\t}\n}\n\n@commandClass(CommandClasses.Version)\n@implementedVersion(3)\n@ccValues(VersionCCValues)\nexport class VersionCC extends CommandClass {\n\tdeclare ccCommand: VersionCommand;\n\n\tpublic determineRequiredCCInterviews(): readonly CommandClasses[] {\n\t\t// VersionCC must be the 2nd CC after ManufacturerSpecificCC\n\t\treturn [CommandClasses[\"Manufacturer Specific\"]];\n\t}\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\n\t\t// SDS13782: In a Multi Channel device, the Version Command Class MUST be supported by the Root Device, while\n\t\t// the Version Command Class SHOULD NOT be supported by individual End Points.\n\t\t//\n\t\t// There may be cases where a given Command Class is not implemented by the Root Device of a Multi\n\t\t// Channel device. However, the Root Device MUST respond to Version requests for any Command Class\n\t\t// implemented by the Multi Channel device; also in cases where the actual Command Class is only\n\t\t// provided by an End Point.\n\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\n\t\t// Use the CC API of the root device for all queries\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Version,\n\t\t\tctx,\n\t\t\tnode,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\tconst queryCCVersion = async (cc: CommandClasses): Promise<void> => {\n\t\t\t// Only query CCs we support. Theoretically we could skip queries where we support only V1,\n\t\t\t// but there are Z-Wave certification tests that require us to query all CCs\n\t\t\tconst maxImplemented = getImplementedVersion(cc);\n\t\t\tif (maxImplemented === 0) {\n\t\t\t\tctx.logNode(\n\t\t\t\t\tnode.id,\n\t\t\t\t\t` skipping query for ${CommandClasses[cc]} (${\n\t\t\t\t\t\tnum2hex(\n\t\t\t\t\t\t\tcc,\n\t\t\t\t\t\t)\n\t\t\t\t\t}) because max implemented version is ${maxImplemented}`,\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: ` querying the CC version for ${getCCName(cc)}...`,\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\t// query the CC version\n\t\t\tconst supportedVersion = await api.getCCVersion(cc);\n\t\t\tif (supportedVersion != undefined) {\n\t\t\t\t// Remember which CC version this endpoint supports\n\t\t\t\tlet logMessage: string;\n\t\t\t\tif (supportedVersion > 0) {\n\t\t\t\t\t// Basic CC has special rules for when it is considered supported\n\t\t\t\t\t// Therefore we mark all other CCs as supported, but not Basic CC,\n\t\t\t\t\t// for which support is determined later.\n\t\t\t\t\tif (cc === CommandClasses.Basic) {\n\t\t\t\t\t\tendpoint.addCC(cc, { version: supportedVersion });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tendpoint.addCC(cc, {\n\t\t\t\t\t\t\tisSupported: true,\n\t\t\t\t\t\t\tversion: supportedVersion,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tlogMessage = ` supports CC ${CommandClasses[cc]} (${\n\t\t\t\t\t\tnum2hex(cc)\n\t\t\t\t\t}) in version ${supportedVersion}`;\n\t\t\t\t} else {\n\t\t\t\t\t// We were lied to - the NIF said this CC is supported, now the node claims it isn't\n\t\t\t\t\t// Make sure this is not a critical CC, which must be supported though\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tcc === CommandClasses.Version\n\t\t\t\t\t\t|| cc === CommandClasses[\"Manufacturer Specific\"]\n\t\t\t\t\t) {\n\t\t\t\t\t\tlogMessage = ` claims NOT to support CC ${\n\t\t\t\t\t\t\tCommandClasses[cc]\n\t\t\t\t\t\t} (${num2hex(cc)}), but it must. Assuming the ${\n\t\t\t\t\t\t\tthis.endpointIndex === 0 ? \"node\" : \"endpoint\"\n\t\t\t\t\t\t} supports version 1...`;\n\t\t\t\t\t\tendpoint.addCC(cc, { version: 1 });\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t(cc === CommandClasses.Security\n\t\t\t\t\t\t\t&& node.hasSecurityClass(SecurityClass.S0_Legacy))\n\t\t\t\t\t\t|| (cc === CommandClasses[\"Security 2\"]\n\t\t\t\t\t\t\t&& securityClassOrder.some((sc) =>\n\t\t\t\t\t\t\t\tsecurityClassIsS2(sc)\n\t\t\t\t\t\t\t\t&& node.hasSecurityClass(sc)\n\t\t\t\t\t\t\t))\n\t\t\t\t\t) {\n\t\t\t\t\t\tlogMessage = ` claims NOT to support CC ${\n\t\t\t\t\t\t\tCommandClasses[cc]\n\t\t\t\t\t\t} (${\n\t\t\t\t\t\t\tnum2hex(cc)\n\t\t\t\t\t\t}), but it is known to support it. Assuming the ${\n\t\t\t\t\t\t\tthis.endpointIndex === 0 ? \"node\" : \"endpoint\"\n\t\t\t\t\t\t} supports version 1...`;\n\t\t\t\t\t\tendpoint.addCC(cc, { version: 1 });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlogMessage = ` does NOT support CC ${\n\t\t\t\t\t\t\tCommandClasses[cc]\n\t\t\t\t\t\t} (${num2hex(cc)})`;\n\t\t\t\t\t\tendpoint.removeCC(cc);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: `CC version query for ${\n\t\t\t\t\t\tgetCCName(\n\t\t\t\t\t\t\tcc,\n\t\t\t\t\t\t)\n\t\t\t\t\t} timed out - assuming the ${\n\t\t\t\t\t\tthis.endpointIndex === 0 ? \"node\" : \"endpoint\"\n\t\t\t\t\t} supports version 1...`,\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\tendpoint.addCC(cc, { version: 1 });\n\t\t\t}\n\t\t};\n\n\t\t// Version information should not change (except for firmware updates)\n\t\t// And it is only relevant on the root endpoint (the node)\n\t\tif (this.endpointIndex === 0) {\n\t\t\t// Step 1: Query Version CC version\n\t\t\tawait queryCCVersion(CommandClasses.Version);\n\n\t\t\t// Step 2: Query node versions\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"querying node versions...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst versionGetResponse = await api.get();\n\t\t\tif (versionGetResponse) {\n\t\t\t\tlet logMessage = `received response for node versions:\n library type: ${ZWaveLibraryTypes[versionGetResponse.libraryType]} (${\n\t\t\t\t\tnum2hex(versionGetResponse.libraryType)\n\t\t\t\t})\n protocol version: ${versionGetResponse.protocolVersion}\n firmware versions: ${versionGetResponse.firmwareVersions.join(\", \")}`;\n\t\t\t\tif (versionGetResponse.hardwareVersion != undefined) {\n\t\t\t\t\tlogMessage +=\n\t\t\t\t\t\t`\\n hardware version: ${versionGetResponse.hardwareVersion}`;\n\t\t\t\t}\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// Step 3: Query all other CC versions\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"querying CC versions...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\t// Basic CC is not included in the NIF, so it won't be returned by endpoint.getCCs() at this point\n\t\t{\n\t\t\tconst cc = CommandClasses.Basic;\n\t\t\t// Skip the query of endpoint CCs that are also supported by the root device\n\t\t\tif (this.endpointIndex === 0 || node.getCCVersion(cc) === 0) {\n\t\t\t\tawait queryCCVersion(cc);\n\t\t\t}\n\t\t}\n\t\tfor (const [cc] of endpoint.getCCs()) {\n\t\t\t// We already queried the Version CC version at the start of this interview\n\t\t\tif (cc === CommandClasses.Version) continue;\n\t\t\t// And we queried Basic CC just before this\n\t\t\tif (cc === CommandClasses.Basic) continue;\n\t\t\t// Skip the query of endpoint CCs that are also supported by the root device\n\t\t\tif (this.endpointIndex > 0 && node.getCCVersion(cc) > 0) continue;\n\t\t\tawait queryCCVersion(cc);\n\t\t}\n\n\t\t// Step 4: Query VersionCC capabilities (root device only)\n\t\tif (this.endpointIndex === 0 && api.version >= 3) {\n\t\t\t// Step 4a: Support for SoftwareGet\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"querying if Z-Wave Software Get is supported...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst capsResponse = await api.getCapabilities();\n\t\t\tif (capsResponse) {\n\t\t\t\tconst { supportsZWaveSoftwareGet } = capsResponse;\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: `Z-Wave Software Get is${\n\t\t\t\t\t\tsupportsZWaveSoftwareGet ? \"\" : \" not\"\n\t\t\t\t\t} supported`,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\n\t\t\t\tif (supportsZWaveSoftwareGet) {\n\t\t\t\t\t// Step 4b: Query Z-Wave Software versions\n\t\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\t\tmessage: \"querying Z-Wave software versions...\",\n\t\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t\t});\n\t\t\t\t\tawait api.getZWaveSoftware();\n\t\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\t\tmessage: \"received Z-Wave software versions\",\n\t\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n}\n\n// @publicAPI\nexport interface VersionCCReportOptions {\n\tlibraryType: ZWaveLibraryTypes;\n\tprotocolVersion: string;\n\tfirmwareVersions: string[];\n\thardwareVersion?: number;\n}\n\n@CCCommand(VersionCommand.Report)\n@ccValueProperty(\"libraryType\", VersionCCValues.libraryType)\n@ccValueProperty(\"protocolVersion\", VersionCCValues.protocolVersion)\n@ccValueProperty(\"firmwareVersions\", VersionCCValues.firmwareVersions)\n@ccValueProperty(\"hardwareVersion\", VersionCCValues.hardwareVersion)\nexport class VersionCCReport extends VersionCC {\n\tpublic constructor(\n\t\toptions: WithAddress<VersionCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tif (!/^\\d+\\.\\d+(\\.\\d+)?$/.test(options.protocolVersion)) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`protocolVersion must be a string in the format \"major.minor\" or \"major.minor.patch\", received \"${options.protocolVersion}\"`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t} else if (\n\t\t\t!options.firmwareVersions.every((fw) =>\n\t\t\t\t/^\\d+\\.\\d+(\\.\\d+)?$/.test(fw)\n\t\t\t)\n\t\t) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`firmwareVersions must be an array of strings in the format \"major.minor\" or \"major.minor.patch\", received \"${\n\t\t\t\t\tJSON.stringify(\n\t\t\t\t\t\toptions.firmwareVersions,\n\t\t\t\t\t)\n\t\t\t\t}\"`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.libraryType = options.libraryType;\n\t\tthis.protocolVersion = options.protocolVersion;\n\t\tthis.firmwareVersions = options.firmwareVersions;\n\t\tthis.hardwareVersion = options.hardwareVersion;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): VersionCCReport {\n\t\tvalidatePayload(raw.payload.length >= 5);\n\t\tconst libraryType: ZWaveLibraryTypes = raw.payload[0];\n\t\tconst protocolVersion = `${raw.payload[1]}.${raw.payload[2]}`;\n\t\tconst firmwareVersions = [`${raw.payload[3]}.${raw.payload[4]}`];\n\n\t\tlet hardwareVersion: number | undefined;\n\t\tif (raw.payload.length >= 7) {\n\t\t\t// V2+\n\t\t\thardwareVersion = raw.payload[5];\n\t\t\tconst additionalFirmwares = raw.payload[6];\n\t\t\tvalidatePayload(\n\t\t\t\traw.payload.length >= 7 + 2 * additionalFirmwares,\n\t\t\t);\n\t\t\tfor (let i = 0; i < additionalFirmwares; i++) {\n\t\t\t\tfirmwareVersions.push(\n\t\t\t\t\t`${raw.payload[7 + 2 * i]}.${raw.payload[7 + 2 * i + 1]}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tlibraryType,\n\t\t\tprotocolVersion,\n\t\t\tfirmwareVersions,\n\t\t\thardwareVersion,\n\t\t});\n\t}\n\n\tpublic readonly libraryType: ZWaveLibraryTypes;\n\n\tpublic readonly protocolVersion: string;\n\n\tpublic readonly firmwareVersions: string[];\n\n\tpublic readonly hardwareVersion: number | undefined;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.libraryType,\n\t\t\t...this.protocolVersion\n\t\t\t\t.split(\".\")\n\t\t\t\t.map((n) => parseInt(n))\n\t\t\t\t.slice(0, 2),\n\t\t\t...this.firmwareVersions[0]\n\t\t\t\t.split(\".\")\n\t\t\t\t.map((n) => parseInt(n))\n\t\t\t\t.slice(0, 2),\n\t\t\tthis.hardwareVersion ?? 0x00,\n\t\t\tthis.firmwareVersions.length - 1,\n\t\t]);\n\n\t\tif (this.firmwareVersions.length > 1) {\n\t\t\tconst firmwaresBuffer = new Bytes(\n\t\t\t\t(this.firmwareVersions.length - 1) * 2,\n\t\t\t);\n\t\t\tfor (let i = 1; i < this.firmwareVersions.length; i++) {\n\t\t\t\tconst [major, minor] = this.firmwareVersions[i]\n\t\t\t\t\t.split(\".\")\n\t\t\t\t\t.map((n) => parseInt(n));\n\t\t\t\tfirmwaresBuffer[2 * (i - 1)] = major;\n\t\t\t\tfirmwaresBuffer[2 * (i - 1) + 1] = minor;\n\t\t\t}\n\t\t\tthis.payload = Bytes.concat([this.payload, firmwaresBuffer]);\n\t\t}\n\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"library type\": getEnumMemberName(\n\t\t\t\tZWaveLibraryTypes,\n\t\t\t\tthis.libraryType,\n\t\t\t),\n\t\t\t\"protocol version\": this.protocolVersion,\n\t\t\t\"firmware versions\": this.firmwareVersions.join(\", \"),\n\t\t};\n\t\tif (this.hardwareVersion != undefined) {\n\t\t\tmessage[\"hardware version\"] = this.hardwareVersion;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(VersionCommand.Get)\n@expectedCCResponse(VersionCCReport)\nexport class VersionCCGet extends VersionCC {}\n\n// @publicAPI\nexport interface VersionCCCommandClassReportOptions {\n\trequestedCC: CommandClasses;\n\tccVersion: number;\n}\n\n@CCCommand(VersionCommand.CommandClassReport)\nexport class VersionCCCommandClassReport extends VersionCC {\n\tpublic constructor(\n\t\toptions: WithAddress<VersionCCCommandClassReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.requestedCC = options.requestedCC;\n\t\tthis.ccVersion = options.ccVersion;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): VersionCCCommandClassReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst requestedCC: CommandClasses = raw.payload[0];\n\t\tconst ccVersion = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\trequestedCC,\n\t\t\tccVersion,\n\t\t});\n\t}\n\n\tpublic ccVersion: number;\n\tpublic requestedCC: CommandClasses;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.requestedCC, this.ccVersion]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\tCC: getCCName(this.requestedCC),\n\t\t\t\tversion: this.ccVersion,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface VersionCCCommandClassGetOptions {\n\trequestedCC: CommandClasses;\n}\n\nfunction testResponseForVersionCommandClassGet(\n\tsent: VersionCCCommandClassGet,\n\treceived: VersionCCCommandClassReport,\n) {\n\t// We expect a Version CommandClass Report that matches the requested CC\n\treturn sent.requestedCC === received.requestedCC;\n}\n\n@CCCommand(VersionCommand.CommandClassGet)\n@expectedCCResponse(\n\tVersionCCCommandClassReport,\n\ttestResponseForVersionCommandClassGet,\n)\nexport class VersionCCCommandClassGet extends VersionCC {\n\tpublic constructor(\n\t\toptions: WithAddress<VersionCCCommandClassGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.requestedCC = options.requestedCC;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): VersionCCCommandClassGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst requestedCC: CommandClasses = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\trequestedCC,\n\t\t});\n\t}\n\n\tpublic requestedCC: CommandClasses;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.requestedCC]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { CC: getCCName(this.requestedCC) },\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface VersionCCCapabilitiesReportOptions {\n\tsupportsZWaveSoftwareGet: boolean;\n}\n\n@CCCommand(VersionCommand.CapabilitiesReport)\n@ccValueProperty(\n\t\"supportsZWaveSoftwareGet\",\n\tVersionCCValues.supportsZWaveSoftwareGet,\n)\nexport class VersionCCCapabilitiesReport extends VersionCC {\n\tpublic constructor(\n\t\toptions: WithAddress<VersionCCCapabilitiesReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.supportsZWaveSoftwareGet = options.supportsZWaveSoftwareGet;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): VersionCCCapabilitiesReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst capabilities = raw.payload[0];\n\t\tconst supportsZWaveSoftwareGet = !!(capabilities & 0b100);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportsZWaveSoftwareGet,\n\t\t});\n\t}\n\n\tpublic supportsZWaveSoftwareGet: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\t(this.supportsZWaveSoftwareGet ? 0b100 : 0) | 0b11,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"supports Z-Wave Software Get command\":\n\t\t\t\t\tthis.supportsZWaveSoftwareGet,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(VersionCommand.CapabilitiesGet)\n@expectedCCResponse(VersionCCCapabilitiesReport)\nexport class VersionCCCapabilitiesGet extends VersionCC {}\n\n// @publicAPI\nexport interface VersionCCZWaveSoftwareReportOptions {\n\tsdkVersion: string;\n\tapplicationFrameworkAPIVersion: string;\n\tapplicationFrameworkBuildNumber: number;\n\thostInterfaceVersion: string;\n\thostInterfaceBuildNumber: number;\n\tzWaveProtocolVersion: string;\n\tzWaveProtocolBuildNumber: number;\n\tapplicationVersion: string;\n\tapplicationBuildNumber: number;\n}\n\n@CCCommand(VersionCommand.ZWaveSoftwareReport)\n@ccValueProperty(\"sdkVersion\", VersionCCValues.sdkVersion)\n@ccValueProperty(\n\t\"applicationFrameworkAPIVersion\",\n\tVersionCCValues.applicationFrameworkAPIVersion,\n)\n@ccValueProperty(\n\t\"applicationFrameworkBuildNumber\",\n\tVersionCCValues.applicationFrameworkBuildNumber,\n)\n@ccValueProperty(\"hostInterfaceVersion\", VersionCCValues.serialAPIVersion)\n@ccValueProperty(\n\t\"hostInterfaceBuildNumber\",\n\tVersionCCValues.serialAPIBuildNumber,\n)\n@ccValueProperty(\"zWaveProtocolVersion\", VersionCCValues.zWaveProtocolVersion)\n@ccValueProperty(\n\t\"zWaveProtocolBuildNumber\",\n\tVersionCCValues.zWaveProtocolBuildNumber,\n)\n@ccValueProperty(\"applicationVersion\", VersionCCValues.applicationVersion)\n@ccValueProperty(\n\t\"applicationBuildNumber\",\n\tVersionCCValues.applicationBuildNumber,\n)\nexport class VersionCCZWaveSoftwareReport extends VersionCC {\n\tpublic constructor(\n\t\toptions: WithAddress<VersionCCZWaveSoftwareReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.sdkVersion = options.sdkVersion;\n\t\tthis.applicationFrameworkAPIVersion =\n\t\t\toptions.applicationFrameworkAPIVersion;\n\t\tthis.applicationFrameworkBuildNumber =\n\t\t\toptions.applicationFrameworkBuildNumber;\n\t\tthis.hostInterfaceVersion = options.hostInterfaceVersion;\n\t\tthis.hostInterfaceBuildNumber = options.hostInterfaceBuildNumber;\n\t\tthis.zWaveProtocolVersion = options.zWaveProtocolVersion;\n\t\tthis.zWaveProtocolBuildNumber = options.zWaveProtocolBuildNumber;\n\t\tthis.applicationVersion = options.applicationVersion;\n\t\tthis.applicationBuildNumber = options.applicationBuildNumber;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): VersionCCZWaveSoftwareReport {\n\t\tvalidatePayload(raw.payload.length >= 23);\n\t\tconst sdkVersion = parseVersion(raw.payload);\n\t\tconst applicationFrameworkAPIVersion = parseVersion(\n\t\t\traw.payload.subarray(3),\n\t\t);\n\t\tlet applicationFrameworkBuildNumber;\n\t\tif (applicationFrameworkAPIVersion !== \"unused\") {\n\t\t\tapplicationFrameworkBuildNumber = raw.payload.readUInt16BE(6);\n\t\t} else {\n\t\t\tapplicationFrameworkBuildNumber = 0;\n\t\t}\n\n\t\tconst hostInterfaceVersion = parseVersion(raw.payload.subarray(8));\n\t\tlet hostInterfaceBuildNumber;\n\t\tif (hostInterfaceVersion !== \"unused\") {\n\t\t\thostInterfaceBuildNumber = raw.payload.readUInt16BE(11);\n\t\t} else {\n\t\t\thostInterfaceBuildNumber = 0;\n\t\t}\n\n\t\tconst zWaveProtocolVersion = parseVersion(raw.payload.subarray(13));\n\t\tlet zWaveProtocolBuildNumber;\n\t\tif (zWaveProtocolVersion !== \"unused\") {\n\t\t\tzWaveProtocolBuildNumber = raw.payload.readUInt16BE(16);\n\t\t} else {\n\t\t\tzWaveProtocolBuildNumber = 0;\n\t\t}\n\n\t\tconst applicationVersion = parseVersion(raw.payload.subarray(18));\n\t\tlet applicationBuildNumber;\n\t\tif (applicationVersion !== \"unused\") {\n\t\t\tapplicationBuildNumber = raw.payload.readUInt16BE(21);\n\t\t} else {\n\t\t\tapplicationBuildNumber = 0;\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsdkVersion,\n\t\t\tapplicationFrameworkAPIVersion,\n\t\t\tapplicationFrameworkBuildNumber,\n\t\t\thostInterfaceVersion,\n\t\t\thostInterfaceBuildNumber,\n\t\t\tzWaveProtocolVersion,\n\t\t\tzWaveProtocolBuildNumber,\n\t\t\tapplicationVersion,\n\t\t\tapplicationBuildNumber,\n\t\t});\n\t}\n\n\tpublic readonly sdkVersion: string;\n\n\tpublic readonly applicationFrameworkAPIVersion: string;\n\n\tpublic readonly applicationFrameworkBuildNumber: number;\n\n\tpublic readonly hostInterfaceVersion: string;\n\n\tpublic readonly hostInterfaceBuildNumber: number;\n\n\tpublic readonly zWaveProtocolVersion: string;\n\n\tpublic readonly zWaveProtocolBuildNumber: number;\n\n\tpublic readonly applicationVersion: string;\n\n\tpublic readonly applicationBuildNumber: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"SDK version\": this.sdkVersion,\n\t\t};\n\t\tmessage[\"appl. framework API version\"] =\n\t\t\tthis.applicationFrameworkAPIVersion;\n\t\tif (this.applicationFrameworkAPIVersion !== \"unused\") {\n\t\t\tmessage[\"appl. framework build number\"] =\n\t\t\t\tthis.applicationFrameworkBuildNumber;\n\t\t}\n\t\tmessage[\"host interface version\"] = this.hostInterfaceVersion;\n\t\tif (this.hostInterfaceVersion !== \"unused\") {\n\t\t\tmessage[\"host interface build number\"] =\n\t\t\t\tthis.hostInterfaceBuildNumber;\n\t\t}\n\t\tmessage[\"Z-Wave protocol version\"] = this.zWaveProtocolVersion;\n\t\tif (this.zWaveProtocolVersion !== \"unused\") {\n\t\t\tmessage[\"Z-Wave protocol build number\"] =\n\t\t\t\tthis.zWaveProtocolBuildNumber;\n\t\t}\n\t\tmessage[\"application version\"] = this.applicationVersion;\n\t\tif (this.applicationVersion !== \"unused\") {\n\t\t\tmessage[\"application build number\"] = this.applicationBuildNumber;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(VersionCommand.ZWaveSoftwareGet)\n@expectedCCResponse(VersionCCZWaveSoftwareReport)\nexport class VersionCCZWaveSoftwareGet extends VersionCC {}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { CCEncodingContext, CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCommandClasses,\n\ttype GetValueDB,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\tSecurityClass,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tZWaveLibraryTypes,\n\tenumValuesToMetadataStates,\n\tgetCCName,\n\tsecurityClassIsS2,\n\tsecurityClassOrder,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, num2hex, pick } from \"@zwave-js/shared\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { CCAPI, PhysicalCCAPI } from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\tgetImplementedVersion,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { VersionCommand } from \"../lib/_Types.js\";\n\nexport const VersionCCValues = V.defineCCValues(CommandClasses.Version, {\n\t...V.staticProperty(\n\t\t\"firmwareVersions\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnly,\n\t\t\ttype: \"string[]\",\n\t\t\tlabel: \"Z-Wave chip firmware versions\",\n\t\t} as const,\n\t\t{ supportsEndpoints: false },\n\t),\n\t...V.staticProperty(\n\t\t\"libraryType\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\tlabel: \"Library type\",\n\t\t\tstates: enumValuesToMetadataStates(ZWaveLibraryTypes),\n\t\t} as const,\n\t\t{ supportsEndpoints: false },\n\t),\n\t...V.staticProperty(\n\t\t\"protocolVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Z-Wave protocol version\",\n\t\t} as const,\n\t\t{ supportsEndpoints: false },\n\t),\n\t...V.staticProperty(\n\t\t\"hardwareVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\tlabel: \"Z-Wave chip hardware version\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 2,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"supportsZWaveSoftwareGet\",\n\t\tundefined,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tinternal: true,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"sdkVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"SDK version\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"applicationFrameworkAPIVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Z-Wave application framework API version\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"applicationFrameworkBuildNumber\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Z-Wave application framework API build number\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticPropertyWithName(\n\t\t\"serialAPIVersion\",\n\t\t\"hostInterfaceVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Serial API version\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticPropertyWithName(\n\t\t\"serialAPIBuildNumber\",\n\t\t\"hostInterfaceBuildNumber\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Serial API build number\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"zWaveProtocolVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Z-Wave protocol version\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"zWaveProtocolBuildNumber\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Z-Wave protocol build number\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"applicationVersion\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Application version\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"applicationBuildNumber\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Application build number\",\n\t\t} as const,\n\t\t{\n\t\t\tminVersion: 3,\n\t\t\tsupportsEndpoints: false,\n\t\t} as const,\n\t),\n});\n\nfunction parseVersion(buffer: Uint8Array): string {\n\tif (buffer[0] === 0 && buffer[1] === 0 && buffer[2] === 0) return \"unused\";\n\treturn `${buffer[0]}.${buffer[1]}.${buffer[2]}`;\n}\n\n// @noSetValueAPI This CC is read-only\n\n@API(CommandClasses.Version)\nexport class VersionCCAPI extends PhysicalCCAPI {\n\tpublic supportsCommand(cmd: VersionCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase VersionCommand.Get:\n\t\t\tcase VersionCommand.Report:\n\t\t\tcase VersionCommand.CommandClassGet:\n\t\t\tcase VersionCommand.CommandClassReport:\n\t\t\t\treturn true; // This is mandatory\n\n\t\t\tcase VersionCommand.CapabilitiesGet:\n\t\t\tcase VersionCommand.CapabilitiesReport:\n\t\t\tcase VersionCommand.ZWaveSoftwareReport:\n\t\t\t\treturn this.version >= 3;\n\n\t\t\tcase VersionCommand.ZWaveSoftwareGet: {\n\t\t\t\treturn this.getValueDB().getValue<boolean>(\n\t\t\t\t\tVersionCCValues.supportsZWaveSoftwareGet.endpoint(\n\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async get() {\n\t\tthis.assertSupportsCommand(VersionCommand, VersionCommand.Get);\n\n\t\tconst cc = new VersionCCGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<VersionCCReport>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"libraryType\",\n\t\t\t\t\"protocolVersion\",\n\t\t\t\t\"firmwareVersions\",\n\t\t\t\t\"hardwareVersion\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async sendReport(options: VersionCCReportOptions): Promise<void> {\n\t\tthis.assertSupportsCommand(VersionCommand, VersionCommand.Report);\n\n\t\tconst cc = new VersionCCReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t...options,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\tpublic async getCCVersion(\n\t\trequestedCC: CommandClasses,\n\t): Promise<MaybeNotKnown<number>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tVersionCommand,\n\t\t\tVersionCommand.CommandClassGet,\n\t\t);\n\n\t\tconst cc = new VersionCCCommandClassGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\trequestedCC,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tVersionCCCommandClassReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.ccVersion;\n\t}\n\n\t@validateArgs()\n\t/**\n\t * @param version The version to report. If not given, the implemented version will be used for the report.\n\t */\n\tpublic async reportCCVersion(\n\t\trequestedCC: CommandClasses,\n\t\tversion?: number,\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tVersionCommand,\n\t\t\tVersionCommand.CommandClassReport,\n\t\t);\n\n\t\tlet ccVersion: number;\n\t\tswitch (requestedCC) {\n\t\t\tcase CommandClasses[\"Z-Wave Protocol\"]:\n\t\t\tcase CommandClasses[\"Z-Wave Long Range\"]:\n\t\t\t\t// These two are only for internal use\n\t\t\t\tccVersion = 0;\n\t\t\t\tbreak;\n\t\t\tcase CommandClasses.Hail:\n\t\t\tcase CommandClasses[\"Manufacturer Proprietary\"]:\n\t\t\t\t// These CCs are obsolete, we cannot enter them in the certification portal\n\t\t\t\t// but not doing so fails a certification test. Just respond that they\n\t\t\t\t// are not supported or controlled\n\t\t\t\tccVersion = 0;\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tccVersion = version ?? getImplementedVersion(requestedCC);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst cc = new VersionCCCommandClassReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\trequestedCC,\n\t\t\tccVersion,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getCapabilities() {\n\t\tthis.assertSupportsCommand(\n\t\t\tVersionCommand,\n\t\t\tVersionCommand.CapabilitiesGet,\n\t\t);\n\n\t\tconst cc = new VersionCCCapabilitiesGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tVersionCCCapabilitiesReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"supportsZWaveSoftwareGet\"]);\n\t\t}\n\t}\n\n\tpublic async reportCapabilities(): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tVersionCommand,\n\t\t\tVersionCommand.CapabilitiesReport,\n\t\t);\n\n\t\tconst cc = new VersionCCCapabilitiesReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t// At this time, we do not support responding to Z-Wave Software Get\n\t\t\tsupportsZWaveSoftwareGet: false,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getZWaveSoftware() {\n\t\tthis.assertSupportsCommand(\n\t\t\tVersionCommand,\n\t\t\tVersionCommand.ZWaveSoftwareGet,\n\t\t);\n\n\t\tconst cc = new VersionCCZWaveSoftwareGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tVersionCCZWaveSoftwareReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"sdkVersion\",\n\t\t\t\t\"applicationFrameworkAPIVersion\",\n\t\t\t\t\"applicationFrameworkBuildNumber\",\n\t\t\t\t\"hostInterfaceVersion\",\n\t\t\t\t\"hostInterfaceBuildNumber\",\n\t\t\t\t\"zWaveProtocolVersion\",\n\t\t\t\t\"zWaveProtocolBuildNumber\",\n\t\t\t\t\"applicationVersion\",\n\t\t\t\t\"applicationBuildNumber\",\n\t\t\t]);\n\t\t}\n\t}\n}\n\n@commandClass(CommandClasses.Version)\n@implementedVersion(3)\n@ccValues(VersionCCValues)\nexport class VersionCC extends CommandClass {\n\tdeclare ccCommand: VersionCommand;\n\n\tpublic determineRequiredCCInterviews(): readonly CommandClasses[] {\n\t\t// VersionCC must be the 2nd CC after ManufacturerSpecificCC\n\t\treturn [CommandClasses[\"Manufacturer Specific\"]];\n\t}\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\n\t\t// SDS13782: In a Multi Channel device, the Version Command Class MUST be supported by the Root Device, while\n\t\t// the Version Command Class SHOULD NOT be supported by individual End Points.\n\t\t//\n\t\t// There may be cases where a given Command Class is not implemented by the Root Device of a Multi\n\t\t// Channel device. However, the Root Device MUST respond to Version requests for any Command Class\n\t\t// implemented by the Multi Channel device; also in cases where the actual Command Class is only\n\t\t// provided by an End Point.\n\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\n\t\t// Use the CC API of the root device for all queries\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Version,\n\t\t\tctx,\n\t\t\tnode,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\tconst queryCCVersion = async (cc: CommandClasses): Promise<void> => {\n\t\t\t// Only query CCs we support. Theoretically we could skip queries where we support only V1,\n\t\t\t// but there are Z-Wave certification tests that require us to query all CCs\n\t\t\tconst maxImplemented = getImplementedVersion(cc);\n\t\t\tif (maxImplemented === 0) {\n\t\t\t\tctx.logNode(\n\t\t\t\t\tnode.id,\n\t\t\t\t\t` skipping query for ${CommandClasses[cc]} (${\n\t\t\t\t\t\tnum2hex(\n\t\t\t\t\t\t\tcc,\n\t\t\t\t\t\t)\n\t\t\t\t\t}) because max implemented version is ${maxImplemented}`,\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: ` querying the CC version for ${getCCName(cc)}...`,\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\t// query the CC version\n\t\t\tconst supportedVersion = await api.getCCVersion(cc);\n\t\t\tif (supportedVersion != undefined) {\n\t\t\t\t// Remember which CC version this endpoint supports\n\t\t\t\tlet logMessage: string;\n\t\t\t\tif (supportedVersion > 0) {\n\t\t\t\t\t// Basic CC has special rules for when it is considered supported\n\t\t\t\t\t// Therefore we mark all other CCs as supported, but not Basic CC,\n\t\t\t\t\t// for which support is determined later.\n\t\t\t\t\tif (cc === CommandClasses.Basic) {\n\t\t\t\t\t\tendpoint.addCC(cc, { version: supportedVersion });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tendpoint.addCC(cc, {\n\t\t\t\t\t\t\tisSupported: true,\n\t\t\t\t\t\t\tversion: supportedVersion,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tlogMessage = ` supports CC ${CommandClasses[cc]} (${\n\t\t\t\t\t\tnum2hex(cc)\n\t\t\t\t\t}) in version ${supportedVersion}`;\n\t\t\t\t} else {\n\t\t\t\t\t// We were lied to - the NIF said this CC is supported, now the node claims it isn't\n\t\t\t\t\t// Make sure this is not a critical CC, which must be supported though\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tcc === CommandClasses.Version\n\t\t\t\t\t\t|| cc === CommandClasses[\"Manufacturer Specific\"]\n\t\t\t\t\t) {\n\t\t\t\t\t\tlogMessage = ` claims NOT to support CC ${\n\t\t\t\t\t\t\tCommandClasses[cc]\n\t\t\t\t\t\t} (${num2hex(cc)}), but it must. Assuming the ${\n\t\t\t\t\t\t\tthis.endpointIndex === 0 ? \"node\" : \"endpoint\"\n\t\t\t\t\t\t} supports version 1...`;\n\t\t\t\t\t\tendpoint.addCC(cc, { version: 1 });\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t(cc === CommandClasses.Security\n\t\t\t\t\t\t\t&& node.hasSecurityClass(SecurityClass.S0_Legacy))\n\t\t\t\t\t\t|| (cc === CommandClasses[\"Security 2\"]\n\t\t\t\t\t\t\t&& securityClassOrder.some((sc) =>\n\t\t\t\t\t\t\t\tsecurityClassIsS2(sc)\n\t\t\t\t\t\t\t\t&& node.hasSecurityClass(sc)\n\t\t\t\t\t\t\t))\n\t\t\t\t\t) {\n\t\t\t\t\t\tlogMessage = ` claims NOT to support CC ${\n\t\t\t\t\t\t\tCommandClasses[cc]\n\t\t\t\t\t\t} (${\n\t\t\t\t\t\t\tnum2hex(cc)\n\t\t\t\t\t\t}), but it is known to support it. Assuming the ${\n\t\t\t\t\t\t\tthis.endpointIndex === 0 ? \"node\" : \"endpoint\"\n\t\t\t\t\t\t} supports version 1...`;\n\t\t\t\t\t\tendpoint.addCC(cc, { version: 1 });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlogMessage = ` does NOT support CC ${\n\t\t\t\t\t\t\tCommandClasses[cc]\n\t\t\t\t\t\t} (${num2hex(cc)})`;\n\t\t\t\t\t\tendpoint.removeCC(cc);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: `CC version query for ${\n\t\t\t\t\t\tgetCCName(\n\t\t\t\t\t\t\tcc,\n\t\t\t\t\t\t)\n\t\t\t\t\t} timed out - assuming the ${\n\t\t\t\t\t\tthis.endpointIndex === 0 ? \"node\" : \"endpoint\"\n\t\t\t\t\t} supports version 1...`,\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\tendpoint.addCC(cc, { version: 1 });\n\t\t\t}\n\t\t};\n\n\t\t// Version information should not change (except for firmware updates)\n\t\t// And it is only relevant on the root endpoint (the node)\n\t\tif (this.endpointIndex === 0) {\n\t\t\t// Step 1: Query Version CC version\n\t\t\tawait queryCCVersion(CommandClasses.Version);\n\n\t\t\t// Step 2: Query node versions\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"querying node versions...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst versionGetResponse = await api.get();\n\t\t\tif (versionGetResponse) {\n\t\t\t\tlet logMessage = `received response for node versions:\n library type: ${ZWaveLibraryTypes[versionGetResponse.libraryType]} (${\n\t\t\t\t\tnum2hex(versionGetResponse.libraryType)\n\t\t\t\t})\n protocol version: ${versionGetResponse.protocolVersion}\n firmware versions: ${versionGetResponse.firmwareVersions.join(\", \")}`;\n\t\t\t\tif (versionGetResponse.hardwareVersion != undefined) {\n\t\t\t\t\tlogMessage +=\n\t\t\t\t\t\t`\\n hardware version: ${versionGetResponse.hardwareVersion}`;\n\t\t\t\t}\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// Step 3: Query all other CC versions\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"querying CC versions...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\t// Basic CC is not included in the NIF, so it won't be returned by endpoint.getCCs() at this point\n\t\t{\n\t\t\tconst cc = CommandClasses.Basic;\n\t\t\t// Skip the query of endpoint CCs that are also supported by the root device\n\t\t\tif (this.endpointIndex === 0 || node.getCCVersion(cc) === 0) {\n\t\t\t\tawait queryCCVersion(cc);\n\t\t\t}\n\t\t}\n\t\tfor (const [cc] of endpoint.getCCs()) {\n\t\t\t// We already queried the Version CC version at the start of this interview\n\t\t\tif (cc === CommandClasses.Version) continue;\n\t\t\t// And we queried Basic CC just before this\n\t\t\tif (cc === CommandClasses.Basic) continue;\n\t\t\t// Skip the query of endpoint CCs that are also supported by the root device\n\t\t\tif (this.endpointIndex > 0 && node.getCCVersion(cc) > 0) continue;\n\t\t\tawait queryCCVersion(cc);\n\t\t}\n\n\t\t// Step 4: Query VersionCC capabilities (root device only)\n\t\tif (this.endpointIndex === 0 && api.version >= 3) {\n\t\t\t// Step 4a: Support for SoftwareGet\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"querying if Z-Wave Software Get is supported...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst capsResponse = await api.getCapabilities();\n\t\t\tif (capsResponse) {\n\t\t\t\tconst { supportsZWaveSoftwareGet } = capsResponse;\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: `Z-Wave Software Get is${\n\t\t\t\t\t\tsupportsZWaveSoftwareGet ? \"\" : \" not\"\n\t\t\t\t\t} supported`,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\n\t\t\t\tif (supportsZWaveSoftwareGet) {\n\t\t\t\t\t// Step 4b: Query Z-Wave Software versions\n\t\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\t\tmessage: \"querying Z-Wave software versions...\",\n\t\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t\t});\n\t\t\t\t\tawait api.getZWaveSoftware();\n\t\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\t\tmessage: \"received Z-Wave software versions\",\n\t\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n}\n\n// @publicAPI\nexport interface VersionCCReportOptions {\n\tlibraryType: ZWaveLibraryTypes;\n\tprotocolVersion: string;\n\tfirmwareVersions: string[];\n\thardwareVersion?: number;\n}\n\n@CCCommand(VersionCommand.Report)\n@ccValueProperty(\"libraryType\", VersionCCValues.libraryType)\n@ccValueProperty(\"protocolVersion\", VersionCCValues.protocolVersion)\n@ccValueProperty(\"firmwareVersions\", VersionCCValues.firmwareVersions)\n@ccValueProperty(\"hardwareVersion\", VersionCCValues.hardwareVersion)\nexport class VersionCCReport extends VersionCC {\n\tpublic constructor(\n\t\toptions: WithAddress<VersionCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tif (!/^\\d+\\.\\d+(\\.\\d+)?$/.test(options.protocolVersion)) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`protocolVersion must be a string in the format \"major.minor\" or \"major.minor.patch\", received \"${options.protocolVersion}\"`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t} else if (\n\t\t\t!options.firmwareVersions.every((fw) =>\n\t\t\t\t/^\\d+\\.\\d+(\\.\\d+)?$/.test(fw)\n\t\t\t)\n\t\t) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`firmwareVersions must be an array of strings in the format \"major.minor\" or \"major.minor.patch\", received \"${\n\t\t\t\t\tJSON.stringify(\n\t\t\t\t\t\toptions.firmwareVersions,\n\t\t\t\t\t)\n\t\t\t\t}\"`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.libraryType = options.libraryType;\n\t\tthis.protocolVersion = options.protocolVersion;\n\t\tthis.firmwareVersions = options.firmwareVersions;\n\t\tthis.hardwareVersion = options.hardwareVersion;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): VersionCCReport {\n\t\tvalidatePayload(raw.payload.length >= 5);\n\t\tconst libraryType: ZWaveLibraryTypes = raw.payload[0];\n\t\tconst protocolVersion = `${raw.payload[1]}.${raw.payload[2]}`;\n\t\tconst firmwareVersions = [`${raw.payload[3]}.${raw.payload[4]}`];\n\n\t\tlet hardwareVersion: number | undefined;\n\t\tif (raw.payload.length >= 7) {\n\t\t\t// V2+\n\t\t\thardwareVersion = raw.payload[5];\n\t\t\tconst additionalFirmwares = raw.payload[6];\n\t\t\tvalidatePayload(\n\t\t\t\traw.payload.length >= 7 + 2 * additionalFirmwares,\n\t\t\t);\n\t\t\tfor (let i = 0; i < additionalFirmwares; i++) {\n\t\t\t\tfirmwareVersions.push(\n\t\t\t\t\t`${raw.payload[7 + 2 * i]}.${raw.payload[7 + 2 * i + 1]}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tlibraryType,\n\t\t\tprotocolVersion,\n\t\t\tfirmwareVersions,\n\t\t\thardwareVersion,\n\t\t});\n\t}\n\n\tpublic readonly libraryType: ZWaveLibraryTypes;\n\n\tpublic readonly protocolVersion: string;\n\n\tpublic readonly firmwareVersions: string[];\n\n\tpublic readonly hardwareVersion: number | undefined;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.libraryType,\n\t\t\t...this.protocolVersion\n\t\t\t\t.split(\".\")\n\t\t\t\t.map((n) => parseInt(n))\n\t\t\t\t.slice(0, 2),\n\t\t\t...this.firmwareVersions[0]\n\t\t\t\t.split(\".\")\n\t\t\t\t.map((n) => parseInt(n))\n\t\t\t\t.slice(0, 2),\n\t\t\tthis.hardwareVersion ?? 0x00,\n\t\t\tthis.firmwareVersions.length - 1,\n\t\t]);\n\n\t\tif (this.firmwareVersions.length > 1) {\n\t\t\tconst firmwaresBuffer = new Bytes(\n\t\t\t\t(this.firmwareVersions.length - 1) * 2,\n\t\t\t);\n\t\t\tfor (let i = 1; i < this.firmwareVersions.length; i++) {\n\t\t\t\tconst [major, minor] = this.firmwareVersions[i]\n\t\t\t\t\t.split(\".\")\n\t\t\t\t\t.map((n) => parseInt(n));\n\t\t\t\tfirmwaresBuffer[2 * (i - 1)] = major;\n\t\t\t\tfirmwaresBuffer[2 * (i - 1) + 1] = minor;\n\t\t\t}\n\t\t\tthis.payload = Bytes.concat([this.payload, firmwaresBuffer]);\n\t\t}\n\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"library type\": getEnumMemberName(\n\t\t\t\tZWaveLibraryTypes,\n\t\t\t\tthis.libraryType,\n\t\t\t),\n\t\t\t\"protocol version\": this.protocolVersion,\n\t\t\t\"firmware versions\": this.firmwareVersions.join(\", \"),\n\t\t};\n\t\tif (this.hardwareVersion != undefined) {\n\t\t\tmessage[\"hardware version\"] = this.hardwareVersion;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(VersionCommand.Get)\n@expectedCCResponse(VersionCCReport)\nexport class VersionCCGet extends VersionCC {}\n\n// @publicAPI\nexport interface VersionCCCommandClassReportOptions {\n\trequestedCC: CommandClasses;\n\tccVersion: number;\n}\n\n@CCCommand(VersionCommand.CommandClassReport)\nexport class VersionCCCommandClassReport extends VersionCC {\n\tpublic constructor(\n\t\toptions: WithAddress<VersionCCCommandClassReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.requestedCC = options.requestedCC;\n\t\tthis.ccVersion = options.ccVersion;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): VersionCCCommandClassReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst requestedCC: CommandClasses = raw.payload[0];\n\t\tconst ccVersion = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\trequestedCC,\n\t\t\tccVersion,\n\t\t});\n\t}\n\n\tpublic ccVersion: number;\n\tpublic requestedCC: CommandClasses;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.requestedCC, this.ccVersion]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\tCC: getCCName(this.requestedCC),\n\t\t\t\tversion: this.ccVersion,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface VersionCCCommandClassGetOptions {\n\trequestedCC: CommandClasses;\n}\n\nfunction testResponseForVersionCommandClassGet(\n\tsent: VersionCCCommandClassGet,\n\treceived: VersionCCCommandClassReport,\n) {\n\t// We expect a Version CommandClass Report that matches the requested CC\n\treturn sent.requestedCC === received.requestedCC;\n}\n\n@CCCommand(VersionCommand.CommandClassGet)\n@expectedCCResponse(\n\tVersionCCCommandClassReport,\n\ttestResponseForVersionCommandClassGet,\n)\nexport class VersionCCCommandClassGet extends VersionCC {\n\tpublic constructor(\n\t\toptions: WithAddress<VersionCCCommandClassGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.requestedCC = options.requestedCC;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): VersionCCCommandClassGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst requestedCC: CommandClasses = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\trequestedCC,\n\t\t});\n\t}\n\n\tpublic requestedCC: CommandClasses;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.requestedCC]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { CC: getCCName(this.requestedCC) },\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface VersionCCCapabilitiesReportOptions {\n\tsupportsZWaveSoftwareGet: boolean;\n}\n\n@CCCommand(VersionCommand.CapabilitiesReport)\n@ccValueProperty(\n\t\"supportsZWaveSoftwareGet\",\n\tVersionCCValues.supportsZWaveSoftwareGet,\n)\nexport class VersionCCCapabilitiesReport extends VersionCC {\n\tpublic constructor(\n\t\toptions: WithAddress<VersionCCCapabilitiesReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.supportsZWaveSoftwareGet = options.supportsZWaveSoftwareGet;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): VersionCCCapabilitiesReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst capabilities = raw.payload[0];\n\t\tconst supportsZWaveSoftwareGet = !!(capabilities & 0b100);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportsZWaveSoftwareGet,\n\t\t});\n\t}\n\n\tpublic supportsZWaveSoftwareGet: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\t(this.supportsZWaveSoftwareGet ? 0b100 : 0) | 0b11,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"supports Z-Wave Software Get command\":\n\t\t\t\t\tthis.supportsZWaveSoftwareGet,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(VersionCommand.CapabilitiesGet)\n@expectedCCResponse(VersionCCCapabilitiesReport)\nexport class VersionCCCapabilitiesGet extends VersionCC {}\n\n// @publicAPI\nexport interface VersionCCZWaveSoftwareReportOptions {\n\tsdkVersion: string;\n\tapplicationFrameworkAPIVersion: string;\n\tapplicationFrameworkBuildNumber: number;\n\thostInterfaceVersion: string;\n\thostInterfaceBuildNumber: number;\n\tzWaveProtocolVersion: string;\n\tzWaveProtocolBuildNumber: number;\n\tapplicationVersion: string;\n\tapplicationBuildNumber: number;\n}\n\n@CCCommand(VersionCommand.ZWaveSoftwareReport)\n@ccValueProperty(\"sdkVersion\", VersionCCValues.sdkVersion)\n@ccValueProperty(\n\t\"applicationFrameworkAPIVersion\",\n\tVersionCCValues.applicationFrameworkAPIVersion,\n)\n@ccValueProperty(\n\t\"applicationFrameworkBuildNumber\",\n\tVersionCCValues.applicationFrameworkBuildNumber,\n)\n@ccValueProperty(\"hostInterfaceVersion\", VersionCCValues.serialAPIVersion)\n@ccValueProperty(\n\t\"hostInterfaceBuildNumber\",\n\tVersionCCValues.serialAPIBuildNumber,\n)\n@ccValueProperty(\"zWaveProtocolVersion\", VersionCCValues.zWaveProtocolVersion)\n@ccValueProperty(\n\t\"zWaveProtocolBuildNumber\",\n\tVersionCCValues.zWaveProtocolBuildNumber,\n)\n@ccValueProperty(\"applicationVersion\", VersionCCValues.applicationVersion)\n@ccValueProperty(\n\t\"applicationBuildNumber\",\n\tVersionCCValues.applicationBuildNumber,\n)\nexport class VersionCCZWaveSoftwareReport extends VersionCC {\n\tpublic constructor(\n\t\toptions: WithAddress<VersionCCZWaveSoftwareReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.sdkVersion = options.sdkVersion;\n\t\tthis.applicationFrameworkAPIVersion =\n\t\t\toptions.applicationFrameworkAPIVersion;\n\t\tthis.applicationFrameworkBuildNumber =\n\t\t\toptions.applicationFrameworkBuildNumber;\n\t\tthis.hostInterfaceVersion = options.hostInterfaceVersion;\n\t\tthis.hostInterfaceBuildNumber = options.hostInterfaceBuildNumber;\n\t\tthis.zWaveProtocolVersion = options.zWaveProtocolVersion;\n\t\tthis.zWaveProtocolBuildNumber = options.zWaveProtocolBuildNumber;\n\t\tthis.applicationVersion = options.applicationVersion;\n\t\tthis.applicationBuildNumber = options.applicationBuildNumber;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): VersionCCZWaveSoftwareReport {\n\t\tvalidatePayload(raw.payload.length >= 23);\n\t\tconst sdkVersion = parseVersion(raw.payload);\n\t\tconst applicationFrameworkAPIVersion = parseVersion(\n\t\t\traw.payload.subarray(3),\n\t\t);\n\t\tlet applicationFrameworkBuildNumber;\n\t\tif (applicationFrameworkAPIVersion !== \"unused\") {\n\t\t\tapplicationFrameworkBuildNumber = raw.payload.readUInt16BE(6);\n\t\t} else {\n\t\t\tapplicationFrameworkBuildNumber = 0;\n\t\t}\n\n\t\tconst hostInterfaceVersion = parseVersion(raw.payload.subarray(8));\n\t\tlet hostInterfaceBuildNumber;\n\t\tif (hostInterfaceVersion !== \"unused\") {\n\t\t\thostInterfaceBuildNumber = raw.payload.readUInt16BE(11);\n\t\t} else {\n\t\t\thostInterfaceBuildNumber = 0;\n\t\t}\n\n\t\tconst zWaveProtocolVersion = parseVersion(raw.payload.subarray(13));\n\t\tlet zWaveProtocolBuildNumber;\n\t\tif (zWaveProtocolVersion !== \"unused\") {\n\t\t\tzWaveProtocolBuildNumber = raw.payload.readUInt16BE(16);\n\t\t} else {\n\t\t\tzWaveProtocolBuildNumber = 0;\n\t\t}\n\n\t\tconst applicationVersion = parseVersion(raw.payload.subarray(18));\n\t\tlet applicationBuildNumber;\n\t\tif (applicationVersion !== \"unused\") {\n\t\t\tapplicationBuildNumber = raw.payload.readUInt16BE(21);\n\t\t} else {\n\t\t\tapplicationBuildNumber = 0;\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsdkVersion,\n\t\t\tapplicationFrameworkAPIVersion,\n\t\t\tapplicationFrameworkBuildNumber,\n\t\t\thostInterfaceVersion,\n\t\t\thostInterfaceBuildNumber,\n\t\t\tzWaveProtocolVersion,\n\t\t\tzWaveProtocolBuildNumber,\n\t\t\tapplicationVersion,\n\t\t\tapplicationBuildNumber,\n\t\t});\n\t}\n\n\tpublic readonly sdkVersion: string;\n\n\tpublic readonly applicationFrameworkAPIVersion: string;\n\n\tpublic readonly applicationFrameworkBuildNumber: number;\n\n\tpublic readonly hostInterfaceVersion: string;\n\n\tpublic readonly hostInterfaceBuildNumber: number;\n\n\tpublic readonly zWaveProtocolVersion: string;\n\n\tpublic readonly zWaveProtocolBuildNumber: number;\n\n\tpublic readonly applicationVersion: string;\n\n\tpublic readonly applicationBuildNumber: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"SDK version\": this.sdkVersion,\n\t\t};\n\t\tmessage[\"appl. framework API version\"] =\n\t\t\tthis.applicationFrameworkAPIVersion;\n\t\tif (this.applicationFrameworkAPIVersion !== \"unused\") {\n\t\t\tmessage[\"appl. framework build number\"] =\n\t\t\t\tthis.applicationFrameworkBuildNumber;\n\t\t}\n\t\tmessage[\"host interface version\"] = this.hostInterfaceVersion;\n\t\tif (this.hostInterfaceVersion !== \"unused\") {\n\t\t\tmessage[\"host interface build number\"] =\n\t\t\t\tthis.hostInterfaceBuildNumber;\n\t\t}\n\t\tmessage[\"Z-Wave protocol version\"] = this.zWaveProtocolVersion;\n\t\tif (this.zWaveProtocolVersion !== \"unused\") {\n\t\t\tmessage[\"Z-Wave protocol build number\"] =\n\t\t\t\tthis.zWaveProtocolBuildNumber;\n\t\t}\n\t\tmessage[\"application version\"] = this.applicationVersion;\n\t\tif (this.applicationVersion !== \"unused\") {\n\t\t\tmessage[\"application build number\"] = this.applicationBuildNumber;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(VersionCommand.ZWaveSoftwareGet)\n@expectedCCResponse(VersionCCZWaveSoftwareReport)\nexport class VersionCCZWaveSoftwareGet extends VersionCC {}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AlarmSensorCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/AlarmSensorCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,iCAAiC,KACxC,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
1
+ {"version":3,"file":"AlarmSensorCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/AlarmSensorCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,iCAAiC,KACxC,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssociationCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/AssociationCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,8CAA8C,KACrD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,sCAAsC,KAC7C,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,wCAAwC,KAC/C,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,wCAAwC,KAC/C,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,2CAA2C,KAClD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,wDAAwD,KAC/D,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,8CAA8C,KACrD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CASlG;AAED,wBAAgB,iDAAiD,KACxD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
1
+ {"version":3,"file":"AssociationCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/AssociationCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,8CAA8C,KACrD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,sCAAsC,KAC7C,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,wCAAwC,KAC/C,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,wCAAwC,KAC/C,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,2CAA2C,KAClD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,wDAAwD,KAC/D,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,8CAA8C,KACrD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CASlG;AAED,wBAAgB,iDAAiD,KACxD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssociationGroupInfoCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/AssociationGroupInfoCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,mDAAmD,KAC1D,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,sDAAsD,KAC7D,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,mDAAmD,KAC1D,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,sDAAsD,KAC7D,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,kDAAkD,KACzD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,qDAAqD,KAC5D,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG"}
1
+ {"version":3,"file":"AssociationGroupInfoCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/AssociationGroupInfoCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,mDAAmD,KAC1D,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,sDAAsD,KAC7D,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,mDAAmD,KAC1D,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,sDAAsD,KAC7D,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,kDAAkD,KACzD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,qDAAqD,KAC5D,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"BarrierOperatorCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/BarrierOperatorCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,qCAAqC,KAC5C,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,0DAA0D,KACjE,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CASlG;AAED,wBAAgB,mDAAmD,KAC1D,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,mDAAmD,KAC1D,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG"}
1
+ {"version":3,"file":"BarrierOperatorCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/BarrierOperatorCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,qCAAqC,KAC5C,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,0DAA0D,KACjE,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CASlG;AAED,wBAAgB,mDAAmD,KAC1D,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,mDAAmD,KAC1D,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"BasicCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/BasicCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,2BAA2B,KAClC,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
1
+ {"version":3,"file":"BasicCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/BasicCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,2BAA2B,KAClC,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"BasicWindowCoveringCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/BasicWindowCoveringCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,sDAAsD,KAC7D,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,qDAAqD,KAC5D,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CASlG"}
1
+ {"version":3,"file":"BasicWindowCoveringCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/BasicWindowCoveringCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,sDAAsD,KAC7D,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,qDAAqD,KAC5D,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CASlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"BinarySensorCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/BinarySensorCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,kCAAkC,KACzC,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,yCAAyC,KAChD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,yDAAyD,KAChE,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
1
+ {"version":3,"file":"BinarySensorCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/BinarySensorCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,kCAAkC,KACzC,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,yCAAyC,KAChD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,yDAAyD,KAChE,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"BinarySwitchCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/BinarySwitchCC._validateArgs.ts"],"names":[],"mappings":"AAGA,wBAAgB,kCAAkC,KACzC,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG"}
1
+ {"version":3,"file":"BinarySwitchCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/BinarySwitchCC._validateArgs.ts"],"names":[],"mappings":"AAGA,wBAAgB,kCAAkC,KACzC,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"CentralSceneCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/CentralSceneCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,+CAA+C,KACtD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
1
+ {"version":3,"file":"CentralSceneCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/CentralSceneCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,+CAA+C,KACtD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClimateControlScheduleCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/ClimateControlScheduleCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,4CAA4C,KACnD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,4CAA4C,KACnD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,oDAAoD,KAC3D,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG"}
1
+ {"version":3,"file":"ClimateControlScheduleCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/ClimateControlScheduleCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,4CAA4C,KACnD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,4CAA4C,KACnD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,oDAAoD,KAC3D,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClockCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/ClockCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,2BAA2B,KAClC,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAclG"}
1
+ {"version":3,"file":"ClockCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/ClockCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,2BAA2B,KAClC,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAclG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorSwitchCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/ColorSwitchCC._validateArgs.ts"],"names":[],"mappings":"AAGA,wBAAgB,iCAAiC,KACxC,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,iCAAiC,KACxC,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,8CAA8C,KACrD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,6CAA6C,KACpD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
1
+ {"version":3,"file":"ColorSwitchCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/ColorSwitchCC._validateArgs.ts"],"names":[],"mappings":"AAGA,wBAAgB,iCAAiC,KACxC,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,iCAAiC,KACxC,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,8CAA8C,KACrD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,6CAA6C,KACpD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurationCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/ConfigurationCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,mCAAmC,KAC1C,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,uCAAuC,KAC9C,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,mCAAmC,KAC1C,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,uCAAuC,KAC9C,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,qCAAqC,KAC5C,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,yCAAyC,KAChD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,6CAA6C,KACpD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,uCAAuC,KAC9C,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,uCAAuC,KAC9C,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
1
+ {"version":3,"file":"ConfigurationCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/ConfigurationCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,mCAAmC,KAC1C,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAYlG;AAED,wBAAgB,uCAAuC,KAC9C,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,mCAAmC,KAC1C,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,uCAAuC,KAC9C,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,qCAAqC,KAC5C,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,yCAAyC,KAChD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,6CAA6C,KACpD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,uCAAuC,KAC9C,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,uCAAuC,KAC9C,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"DoorLockCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/DoorLockCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,8BAA8B,KACrC,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,2CAA2C,KAClD,CAAC,SAAS,QAAQ,qBAAqB,CAAC,YAAY,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
1
+ {"version":3,"file":"DoorLockCC._validateArgs.d.ts","sourceRoot":"","sources":["../../../src/cc/DoorLockCC._validateArgs.ts"],"names":[],"mappings":"AAEA,wBAAgB,8BAA8B,KACrC,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG;AAED,wBAAgB,2CAA2C,KAClD,CAAC,SAAS,QAAQ,EAAE,mBAAmB,CAAC,EAAE,UAAU,2BAA2B,KAAG,CAAC,GAAG,IAAI,CAUlG"}
@@ -711,6 +711,36 @@ export declare class DoorLockCC extends CommandClass {
711
711
  ccCommand: DoorLockCommand;
712
712
  interview(ctx: InterviewContext): Promise<void>;
713
713
  refreshValues(ctx: RefreshValuesContext): Promise<void>;
714
+ /**
715
+ * Returns whether the node supports auto relock.
716
+ * This only works AFTER the node has been interviewed.
717
+ */
718
+ static supportsAutoRelockCached(ctx: GetValueDB, endpoint: EndpointId): boolean;
719
+ /**
720
+ * Returns whether the node supports hold and release.
721
+ * This only works AFTER the node has been interviewed.
722
+ */
723
+ static supportsHoldAndReleaseCached(ctx: GetValueDB, endpoint: EndpointId): boolean;
724
+ /**
725
+ * Returns whether the node supports twist assist.
726
+ * This only works AFTER the node has been interviewed.
727
+ */
728
+ static supportsTwistAssistCached(ctx: GetValueDB, endpoint: EndpointId): boolean;
729
+ /**
730
+ * Returns whether the node supports block to block.
731
+ * This only works AFTER the node has been interviewed.
732
+ */
733
+ static supportsBlockToBlockCached(ctx: GetValueDB, endpoint: EndpointId): boolean;
734
+ /**
735
+ * Returns the supported outside handles.
736
+ * This only works AFTER the node has been interviewed.
737
+ */
738
+ static getSupportedOutsideHandlesCached(ctx: GetValueDB, endpoint: EndpointId): MaybeNotKnown<DoorHandleStatus>;
739
+ /**
740
+ * Returns the supported inside handles.
741
+ * This only works AFTER the node has been interviewed.
742
+ */
743
+ static getSupportedInsideHandlesCached(ctx: GetValueDB, endpoint: EndpointId): MaybeNotKnown<DoorHandleStatus>;
714
744
  }
715
745
  export interface DoorLockCCOperationSetOptions {
716
746
  mode: DoorLockMode;
@@ -1 +1 @@
1
- {"version":3,"file":"DoorLockCC.d.ts","sourceRoot":"","sources":["../../../src/cc/DoorLockCC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DoorLockCC.d.ts","sourceRoot":"","sources":["../../../src/cc/DoorLockCC.ts"],"names":[],"mappings":"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"}
@@ -483,6 +483,60 @@ latch status: ${status.latchStatus}`;
483
483
  });
484
484
  }
485
485
  }
486
+ /**
487
+ * Returns whether the node supports auto relock.
488
+ * This only works AFTER the node has been interviewed.
489
+ */
490
+ static supportsAutoRelockCached(ctx, endpoint) {
491
+ return !!ctx
492
+ .getValueDB(endpoint.nodeId)
493
+ .getValue(DoorLockCCValues.autoRelockSupported.endpoint(endpoint.index));
494
+ }
495
+ /**
496
+ * Returns whether the node supports hold and release.
497
+ * This only works AFTER the node has been interviewed.
498
+ */
499
+ static supportsHoldAndReleaseCached(ctx, endpoint) {
500
+ return !!ctx
501
+ .getValueDB(endpoint.nodeId)
502
+ .getValue(DoorLockCCValues.holdAndReleaseSupported.endpoint(endpoint.index));
503
+ }
504
+ /**
505
+ * Returns whether the node supports twist assist.
506
+ * This only works AFTER the node has been interviewed.
507
+ */
508
+ static supportsTwistAssistCached(ctx, endpoint) {
509
+ return !!ctx
510
+ .getValueDB(endpoint.nodeId)
511
+ .getValue(DoorLockCCValues.twistAssistSupported.endpoint(endpoint.index));
512
+ }
513
+ /**
514
+ * Returns whether the node supports block to block.
515
+ * This only works AFTER the node has been interviewed.
516
+ */
517
+ static supportsBlockToBlockCached(ctx, endpoint) {
518
+ return !!ctx
519
+ .getValueDB(endpoint.nodeId)
520
+ .getValue(DoorLockCCValues.blockToBlockSupported.endpoint(endpoint.index));
521
+ }
522
+ /**
523
+ * Returns the supported outside handles.
524
+ * This only works AFTER the node has been interviewed.
525
+ */
526
+ static getSupportedOutsideHandlesCached(ctx, endpoint) {
527
+ return ctx
528
+ .getValueDB(endpoint.nodeId)
529
+ .getValue(DoorLockCCValues.supportedOutsideHandles.endpoint(endpoint.index));
530
+ }
531
+ /**
532
+ * Returns the supported inside handles.
533
+ * This only works AFTER the node has been interviewed.
534
+ */
535
+ static getSupportedInsideHandlesCached(ctx, endpoint) {
536
+ return ctx
537
+ .getValueDB(endpoint.nodeId)
538
+ .getValue(DoorLockCCValues.supportedInsideHandles.endpoint(endpoint.index));
539
+ }
486
540
  };
487
541
  return DoorLockCC = _classThis;
488
542
  })();