@zwave-js/cc 14.3.8 → 14.3.9

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.
@@ -1181,9 +1181,6 @@ let IndicatorCCDescriptionGet = (() => {
1181
1181
  constructor(options) {
1182
1182
  super(options);
1183
1183
  this.indicatorId = options.indicatorId;
1184
- if (!isManufacturerDefinedIndicator(this.indicatorId)) {
1185
- throw new import_safe.ZWaveError("The indicator ID must be between 0x80 and 0x9f", import_safe.ZWaveErrorCodes.Argument_Invalid);
1186
- }
1187
1184
  }
1188
1185
  static from(raw, ctx) {
1189
1186
  (0, import_safe.validatePayload)(raw.payload.length >= 1);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cc/IndicatorCC.ts"],
4
- "sourcesContent": ["import {\n\tCommandClasses,\n\ttype EndpointId,\n\tIndicator,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tencodeBitMask,\n\tgetIndicatorProperty,\n\tparseBitMask,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { num2hex } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { clamp, roundTo } from \"alcalzone-shared/math\";\nimport { isArray } from \"alcalzone-shared/typeguards\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { IndicatorCommand, type IndicatorTimeout } from \"../lib/_Types.js\";\n\nfunction isManufacturerDefinedIndicator(indicatorId: number): boolean {\n\treturn indicatorId >= 0x80 && indicatorId <= 0x9f;\n}\n\nconst timeoutStringRegex =\n\t/^(?:(?<hoursStr>\\d+)h)?(?:(?<minutesStr>\\d+)m)?(?:(?<secondsStr>\\d+(?:\\.\\d+)?)s)?$/i;\n\nfunction parseIndicatorTimeoutString(\n\ttext: string,\n): IndicatorTimeout | undefined {\n\tif (!text.length) return undefined;\n\t// Try to parse the numeric parts from a timeout\n\tconst match = timeoutStringRegex.exec(text);\n\tif (!match) return undefined;\n\tconst { hoursStr, minutesStr, secondsStr } = match.groups!;\n\tif (!hoursStr && !minutesStr && !secondsStr) return undefined;\n\n\tconst ret: IndicatorTimeout = {};\n\tif (hoursStr) {\n\t\tret.hours = clamp(parseInt(hoursStr, 10), 0, 255);\n\t}\n\tif (minutesStr) {\n\t\tret.minutes = clamp(parseInt(minutesStr, 10), 0, 255);\n\t}\n\tif (secondsStr) {\n\t\tret.seconds = clamp(roundTo(parseFloat(secondsStr), 2), 0, 59.99);\n\t}\n\n\treturn ret;\n}\n\nfunction indicatorObjectsToTimeout(\n\tvalues: IndicatorObject[],\n): IndicatorTimeout | undefined {\n\tconst timeoutValues = values.filter((v) =>\n\t\t[0x0a, 0x06, 0x07, 0x08].includes(v.propertyId)\n\t);\n\tif (!timeoutValues.length) return undefined;\n\n\tconst hours = (timeoutValues.find((v) => v.propertyId === 0x0a)?.value\n\t\t?? 0) as number;\n\tconst minutes = (timeoutValues.find((v) => v.propertyId === 0x06)?.value\n\t\t?? 0) as number;\n\tconst seconds = clamp(\n\t\t(timeoutValues.find((v) => v.propertyId === 0x07)\n\t\t\t?.value as number) ?? 0,\n\t\t0,\n\t\t59,\n\t)\n\t\t+ clamp(\n\t\t\t\t(timeoutValues.find((v) => v.propertyId === 0x08)\n\t\t\t\t\t?.value as number) ?? 0,\n\t\t\t\t0,\n\t\t\t\t99,\n\t\t\t)\n\t\t\t/ 100;\n\n\treturn {\n\t\thours,\n\t\tminutes,\n\t\tseconds,\n\t};\n}\n\nexport const IndicatorCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses.Indicator, {\n\t\t...V.staticProperty(\"supportedIndicatorIds\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\n\t\t...V.staticPropertyWithName(\n\t\t\t\"valueV1\",\n\t\t\t\"value\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Indicator value\",\n\t\t\t\tccSpecific: {\n\t\t\t\t\tindicatorId: 0,\n\t\t\t\t},\n\t\t\t} as const,\n\t\t),\n\n\t\t// Convenience values for indicators that are split across multiple properties\n\t\t...V.staticProperty(\n\t\t\t\"identify\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: \"Identify\",\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Identify\",\n\t\t\t\t},\n\t\t\t} as const,\n\t\t\t{ minVersion: 3 } as const,\n\t\t),\n\n\t\t...V.staticProperty(\n\t\t\t\"timeout\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.String,\n\t\t\t\tlabel: \"Timeout\",\n\t\t\t} as const,\n\t\t\t{ minVersion: 3 } as const,\n\t\t),\n\t}),\n\n\t...V.defineDynamicCCValues(CommandClasses.Indicator, {\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"supportedPropertyIDs\",\n\t\t\t\"supportedPropertyIDs\",\n\t\t\t(indicatorId: number) => indicatorId,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"supportedPropertyIDs\"\n\t\t\t\t&& typeof propertyKey === \"number\",\n\t\t\tundefined,\n\t\t\t{ internal: true },\n\t\t),\n\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"valueV2\",\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\t(indicatorId: number, propertyId: number) => indicatorId,\n\t\t\t(indicatorId: number, propertyId: number) => propertyId,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\ttypeof property === \"number\" && typeof propertyKey === \"number\",\n\t\t\t// The metadata is highly dependent on the indicator and property\n\t\t\t// so this is just a baseline\n\t\t\t(indicatorId: number, propertyId: number) => ({\n\t\t\t\t...ValueMetadata.Any,\n\t\t\t\tccSpecific: {\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId,\n\t\t\t\t},\n\t\t\t}),\n\t\t\t{ minVersion: 2 } as const,\n\t\t),\n\n\t\t...V.dynamicPropertyWithName(\n\t\t\t\"indicatorDescription\",\n\t\t\t(indicatorId: number) => indicatorId,\n\t\t\t({ property }) => typeof property === \"number\",\n\t\t\tundefined,\n\t\t\t{ internal: true, minVersion: 4 } as const,\n\t\t),\n\t}),\n});\n\n/**\n * Looks up the configured metadata for the given indicator and property\n */\nfunction getIndicatorMetadata(\n\tindicatorId: Indicator,\n\tpropertyId: number,\n\toverrideIndicatorLabel?: string,\n): ValueMetadata {\n\tconst label = overrideIndicatorLabel\n\t\t|| getIndicatorName(indicatorId);\n\tconst prop = getIndicatorProperty(propertyId);\n\tconst baseMetadata = IndicatorCCValues.valueV2(\n\t\tindicatorId,\n\t\tpropertyId,\n\t).meta;\n\tif (!label && !prop) {\n\t\treturn {\n\t\t\t...baseMetadata,\n\t\t\t...ValueMetadata.UInt8,\n\t\t};\n\t} else if (!prop) {\n\t\treturn {\n\t\t\t...baseMetadata,\n\t\t\t...ValueMetadata.UInt8,\n\t\t\tlabel,\n\t\t};\n\t} else {\n\t\tif (prop.type === \"boolean\") {\n\t\t\treturn {\n\t\t\t\t...baseMetadata,\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: `${label} - ${prop.label}`,\n\t\t\t\tdescription: prop.description,\n\t\t\t\treadable: !prop.readonly,\n\t\t\t};\n\t\t} else {\n\t\t\t// UInt8\n\t\t\treturn {\n\t\t\t\t...baseMetadata,\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: `${label} - ${prop.label}`,\n\t\t\t\tdescription: prop.description,\n\t\t\t\tmin: prop.min,\n\t\t\t\tmax: prop.max,\n\t\t\t\treadable: !prop.readonly,\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction getIndicatorName(\n\tindicatorId: number | undefined,\n): string {\n\tif (indicatorId) {\n\t\treturn `${num2hex(indicatorId)} (${\n\t\t\tindicatorId in Indicator ? Indicator[indicatorId] : \"Unknown\"\n\t\t})`;\n\t} else {\n\t\treturn \"0 (default)\";\n\t}\n}\n\nconst MAX_INDICATOR_OBJECTS = 31;\n\n@API(CommandClasses.Indicator)\nexport class IndicatorCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: IndicatorCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase IndicatorCommand.Get:\n\t\t\tcase IndicatorCommand.Report:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase IndicatorCommand.Set:\n\t\t\t\treturn true; // This is mandatory\n\t\t\tcase IndicatorCommand.SupportedGet:\n\t\t\tcase IndicatorCommand.SupportedReport:\n\t\t\t\treturn this.version >= 2 && this.isSinglecast();\n\t\t\tcase IndicatorCommand.DescriptionGet:\n\t\t\tcase IndicatorCommand.DescriptionReport:\n\t\t\t\treturn this.version >= 4 && this.isSinglecast();\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(\n\t\t\tthis: IndicatorCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t\tvalue,\n\t\t) {\n\t\t\tif (property === \"value\") {\n\t\t\t\t// V1 value\n\t\t\t\tif (typeof value !== \"number\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this.set(value);\n\t\t\t} else if (\n\t\t\t\ttypeof property === \"number\"\n\t\t\t\t&& typeof propertyKey === \"number\"\n\t\t\t) {\n\t\t\t\tconst indicatorId = property;\n\t\t\t\tconst propertyId = propertyKey;\n\t\t\t\tconst expectedType = getIndicatorMetadata(\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId,\n\t\t\t\t).type as \"number\" | \"boolean\";\n\n\t\t\t\t// V2+ value\n\t\t\t\tif (typeof value !== expectedType) {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\texpectedType,\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this.set([\n\t\t\t\t\t{\n\t\t\t\t\t\tindicatorId: property,\n\t\t\t\t\t\tpropertyId: propertyKey,\n\t\t\t\t\t\tvalue: value as any,\n\t\t\t\t\t},\n\t\t\t\t]);\n\t\t\t} else if (property === \"identify\") {\n\t\t\t\tif (typeof value !== \"boolean\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"boolean\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this.identify();\n\t\t\t} else {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: IndicatorCCAPI, { property }) {\n\t\t\tif (property === \"value\") return this.get();\n\t\t\tif (typeof property === \"number\") {\n\t\t\t\treturn this.get(property);\n\t\t\t}\n\n\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t};\n\t}\n\n\t@validateArgs()\n\tpublic async get(\n\t\tindicatorId?: number,\n\t): Promise<MaybeNotKnown<number | IndicatorObject[]>> {\n\t\tthis.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Get);\n\n\t\tconst cc = new IndicatorCCGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tindicatorId,\n\t\t});\n\t\tconst response = await this.host.sendCommand<IndicatorCCReport>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (!response) return;\n\t\tif (response.values) return response.values;\n\t\treturn response.indicator0Value!;\n\t}\n\n\t@validateArgs()\n\tpublic async set(\n\t\tvalue: number | IndicatorObject[],\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Set);\n\n\t\tif (this.version === 1 && typeof value !== \"number\") {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Node ${this.endpoint\n\t\t\t\t\t.nodeId as number} only supports IndicatorCC V1 which requires a single value to be set`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t} else if (\n\t\t\tthis.version >= 2\n\t\t\t&& isArray(value)\n\t\t\t&& value.length > MAX_INDICATOR_OBJECTS\n\t\t) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\n\t\tconst cc = new IndicatorCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t...(typeof value === \"number\" ? { value } : { values: value }),\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\tpublic async sendReport(\n\t\toptions: IndicatorCCReportOptions,\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tIndicatorCommand,\n\t\t\tIndicatorCommand.Report,\n\t\t);\n\n\t\tconst cc = new IndicatorCCReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t...options,\n\t\t});\n\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\tpublic async getSupported(indicatorId: number): Promise<\n\t\t| {\n\t\t\tindicatorId?: number;\n\t\t\tsupportedProperties: readonly number[];\n\t\t\tnextIndicatorId: number;\n\t\t}\n\t\t| undefined\n\t> {\n\t\tthis.assertSupportsCommand(\n\t\t\tIndicatorCommand,\n\t\t\tIndicatorCommand.SupportedGet,\n\t\t);\n\n\t\tconst cc = new IndicatorCCSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tindicatorId,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tIndicatorCCSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn {\n\t\t\t\t// Include the actual indicator ID if 0x00 was requested\n\t\t\t\t...(indicatorId === 0x00\n\t\t\t\t\t? { indicatorId: response.indicatorId }\n\t\t\t\t\t: undefined),\n\t\t\t\tsupportedProperties: response.supportedProperties,\n\t\t\t\tnextIndicatorId: response.nextIndicatorId,\n\t\t\t};\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async reportSupported(\n\t\tindicatorId: number,\n\t\tsupportedProperties: readonly number[],\n\t\tnextIndicatorId: number,\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tIndicatorCommand,\n\t\t\tIndicatorCommand.SupportedReport,\n\t\t);\n\n\t\tconst cc = new IndicatorCCSupportedReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tindicatorId,\n\t\t\tsupportedProperties,\n\t\t\tnextIndicatorId,\n\t\t});\n\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\tpublic async reportDescription(\n\t\tindicatorId: number,\n\t\tdescription: string,\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tIndicatorCommand,\n\t\t\tIndicatorCommand.DescriptionReport,\n\t\t);\n\n\t\tconst cc = new IndicatorCCDescriptionReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tindicatorId,\n\t\t\tdescription,\n\t\t});\n\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t/**\n\t * Instructs the node to identify itself. Available starting with V3 of this CC.\n\t */\n\tpublic async identify(): Promise<SupervisionResult | undefined> {\n\t\tif (this.version < 3) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The identify command is only supported in Indicator CC version 3 and above`,\n\t\t\t\tZWaveErrorCodes.CC_NotSupported,\n\t\t\t);\n\t\t}\n\t\treturn this.set([\n\t\t\t{\n\t\t\t\tindicatorId: 0x50,\n\t\t\t\tpropertyId: 0x03,\n\t\t\t\tvalue: 0x08,\n\t\t\t},\n\t\t\t{\n\t\t\t\tindicatorId: 0x50,\n\t\t\t\tpropertyId: 0x04,\n\t\t\t\tvalue: 0x03,\n\t\t\t},\n\t\t\t{\n\t\t\t\tindicatorId: 0x50,\n\t\t\t\tpropertyId: 0x05,\n\t\t\t\tvalue: 0x06,\n\t\t\t},\n\t\t]);\n\t}\n\n\t/**\n\t * Set a timeout for a given indicator ID after which the indicator will be turned off.\n\t * @param timeout The timeout in one of the supported forms:\n\t * \t- a timeout string in the form `12h18m17.59s`. All parts (hours, minutes, seconds, hundredths) are optional, but must be specified in this order. An empty string will be treated like `undefined`.\n\t * \t- an object specifying the timeout parts. An empty object will be treated like `undefined`.\n\t * \t- `undefined` to disable the timeout.\n\t */\n\t@validateArgs()\n\tpublic async setTimeout(\n\t\tindicatorId: number,\n\t\ttimeout: IndicatorTimeout | string | undefined,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertPhysicalEndpoint(this.endpoint);\n\n\t\tif (this.version < 3) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The setTimeout command is only supported in Indicator CC version 3 and above`,\n\t\t\t\tZWaveErrorCodes.CC_NotSupported,\n\t\t\t);\n\t\t}\n\n\t\tif (typeof timeout === \"string\") {\n\t\t\tif (timeout === \"\") {\n\t\t\t\ttimeout = undefined;\n\t\t\t} else {\n\t\t\t\tconst parsed = parseIndicatorTimeoutString(timeout);\n\t\t\t\tif (!parsed) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The timeout string \"${timeout}\" is not valid`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\ttimeout = parsed;\n\t\t\t}\n\t\t}\n\n\t\tconst supportedPropertyIDs = IndicatorCC.getSupportedPropertyIDsCached(\n\t\t\tthis.host,\n\t\t\tthis.endpoint,\n\t\t\tindicatorId,\n\t\t);\n\n\t\tconst objects: IndicatorObject[] = [];\n\t\tif (timeout) {\n\t\t\tconst hours = timeout.hours ?? 0;\n\t\t\tconst minutes = timeout.minutes ?? 0;\n\t\t\tconst seconds = Math.floor(timeout.seconds ?? 0);\n\t\t\tconst hundredths = Math.round(((timeout.seconds ?? 0) % 1) * 100);\n\n\t\t\tif (hours) {\n\t\t\t\tif (!supportedPropertyIDs?.includes(0x0a)) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The indicator ${indicatorId} does not support setting the timeout in hours`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tobjects.push({\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId: 0x0a,\n\t\t\t\t\tvalue: hours,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (minutes) {\n\t\t\t\tif (!supportedPropertyIDs?.includes(0x06)) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The indicator ${indicatorId} does not support setting the timeout in minutes`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tobjects.push({\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId: 0x06,\n\t\t\t\t\tvalue: minutes,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (seconds) {\n\t\t\t\tif (!supportedPropertyIDs?.includes(0x07)) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The indicator ${indicatorId} does not support setting the timeout in seconds`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tobjects.push({\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId: 0x07,\n\t\t\t\t\tvalue: seconds,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (hundredths) {\n\t\t\t\tif (!supportedPropertyIDs?.includes(0x08)) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The indicator ${indicatorId} does not support setting the timeout in 1/100 seconds`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tobjects.push({\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId: 0x08,\n\t\t\t\t\tvalue: hundredths,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (!objects.length) {\n\t\t\tobjects.push(\n\t\t\t\t...(supportedPropertyIDs ?? []).map((p) => ({\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId: p,\n\t\t\t\t\tvalue: 0,\n\t\t\t\t})),\n\t\t\t);\n\t\t}\n\n\t\treturn this.set(objects);\n\t}\n\n\t/**\n\t * Returns the timeout after which the given indicator will be turned off.\n\t */\n\t@validateArgs()\n\tpublic async getTimeout(\n\t\tindicatorId: number,\n\t): Promise<MaybeNotKnown<IndicatorTimeout>> {\n\t\tconst values = await this.get(indicatorId);\n\t\tif (!isArray(values)) return;\n\n\t\treturn indicatorObjectsToTimeout(values);\n\t}\n\n\t@validateArgs()\n\tpublic async getDescription(\n\t\tindicatorId: number,\n\t): Promise<MaybeNotKnown<string>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tIndicatorCommand,\n\t\t\tIndicatorCommand.DescriptionGet,\n\t\t);\n\n\t\tconst cc = new IndicatorCCDescriptionGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tindicatorId,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tIndicatorCCDescriptionReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.description;\n\t}\n}\n\n@commandClass(CommandClasses.Indicator)\n@implementedVersion(4)\n@ccValues(IndicatorCCValues)\nexport class IndicatorCC extends CommandClass {\n\tdeclare ccCommand: IndicatorCommand;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Indicator,\n\t\t\tctx,\n\t\t\tendpoint,\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\tif (api.version > 1) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"scanning supported indicator IDs...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\t// Query ID 0 to get the first supported ID\n\t\t\tlet curId = 0x00;\n\t\t\tconst supportedIndicatorIds: number[] = [];\n\t\t\tdo {\n\t\t\t\tconst supportedResponse = await api.getSupported(curId);\n\t\t\t\tif (!supportedResponse) {\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:\n\t\t\t\t\t\t\t\"Time out while scanning supported indicator IDs, skipping interview...\",\n\t\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsupportedIndicatorIds.push(\n\t\t\t\t\tsupportedResponse.indicatorId ?? curId,\n\t\t\t\t);\n\t\t\t\tcurId = supportedResponse.nextIndicatorId;\n\t\t\t} while (curId !== 0x00);\n\n\t\t\t// The IDs are not stored by the report CCs so store them here once we have all of them\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tIndicatorCCValues.supportedIndicatorIds,\n\t\t\t\tsupportedIndicatorIds,\n\t\t\t);\n\t\t\tconst logMessage = `supported indicator IDs: ${\n\t\t\t\tsupportedIndicatorIds.join(\n\t\t\t\t\t\", \",\n\t\t\t\t)\n\t\t\t}`;\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\n\t\t\tif (api.version >= 4) {\n\t\t\t\tconst manufacturerDefinedIndicatorIds = supportedIndicatorIds\n\t\t\t\t\t.filter((id) => isManufacturerDefinedIndicator(id));\n\t\t\t\tif (manufacturerDefinedIndicatorIds.length > 0) {\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:\n\t\t\t\t\t\t\t\"retrieving description for manufacturer-defined indicator IDs...\",\n\t\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (const id of manufacturerDefinedIndicatorIds) {\n\t\t\t\t\t\tawait api.getDescription(id);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Query current values\n\t\tawait this.refreshValues(ctx);\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Indicator,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tif (api.version === 1) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"requesting current indicator value...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tawait api.get();\n\t\t} else {\n\t\t\tconst supportedIndicatorIds: number[] = this.getValue(\n\t\t\t\tctx,\n\t\t\t\tIndicatorCCValues.supportedIndicatorIds,\n\t\t\t) ?? [];\n\t\t\tfor (const indicatorId of supportedIndicatorIds) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: `requesting current indicator value (id = ${\n\t\t\t\t\t\tnum2hex(\n\t\t\t\t\t\t\tindicatorId,\n\t\t\t\t\t\t)\n\t\t\t\t\t})...`,\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\t\t\t\tawait api.get(indicatorId);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic translatePropertyKey(\n\t\tctx: GetValueDB,\n\t\tproperty: string | number,\n\t\tpropertyKey: string | number,\n\t): string | undefined {\n\t\tif (property === \"value\") {\n\t\t\t// CC version 1 only has a single value that doesn't need to be translated\n\t\t\treturn undefined;\n\t\t} else if (\n\t\t\ttypeof property === \"number\"\n\t\t\t&& typeof propertyKey === \"number\"\n\t\t) {\n\t\t\t// The indicator property is our property key\n\t\t\tconst prop = getIndicatorProperty(propertyKey);\n\t\t\tif (prop) return prop.label;\n\t\t}\n\t\treturn super.translatePropertyKey(ctx, property, propertyKey);\n\t}\n\n\tpublic translateProperty(\n\t\tctx: GetValueDB,\n\t\tproperty: string | number,\n\t\tpropertyKey?: string | number,\n\t): string {\n\t\tif (typeof property === \"number\" && typeof propertyKey === \"number\") {\n\t\t\t// The indicator corresponds to our property\n\t\t\tif (property in Indicator) return Indicator[property];\n\t\t}\n\t\treturn super.translateProperty(ctx, property, propertyKey);\n\t}\n\n\tprotected supportsV2Indicators(ctx: GetValueDB): boolean {\n\t\t// First test if there are any indicator ids defined\n\t\tconst supportedIndicatorIds = this.getValue<number[]>(\n\t\t\tctx,\n\t\t\tIndicatorCCValues.supportedIndicatorIds,\n\t\t);\n\t\tif (!supportedIndicatorIds?.length) return false;\n\t\t// Then test if there are any property ids defined\n\t\treturn supportedIndicatorIds.some(\n\t\t\t(indicatorId) =>\n\t\t\t\t!!this.getValue<number[]>(\n\t\t\t\t\tctx,\n\t\t\t\t\tIndicatorCCValues.supportedPropertyIDs(indicatorId),\n\t\t\t\t)?.length,\n\t\t);\n\t}\n\n\tpublic static getSupportedPropertyIDsCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t\tindicatorId: number,\n\t): MaybeNotKnown<number[]> {\n\t\treturn ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue(\n\t\t\t\tIndicatorCCValues.supportedPropertyIDs(indicatorId).endpoint(\n\t\t\t\t\tendpoint.index,\n\t\t\t\t),\n\t\t\t);\n\t}\n}\n\n// @publicAPI\nexport interface IndicatorObject {\n\tindicatorId: number;\n\tpropertyId: number;\n\tvalue: number | boolean;\n}\n\n// @publicAPI\nexport type IndicatorCCSetOptions =\n\t| {\n\t\tvalue: number;\n\t}\n\t| {\n\t\tvalues: IndicatorObject[];\n\t};\n\n@CCCommand(IndicatorCommand.Set)\n@useSupervision()\nexport class IndicatorCCSet extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (\"value\" in options) {\n\t\t\tthis.indicator0Value = options.value;\n\t\t} else {\n\t\t\tthis.values = options.values;\n\t\t}\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\n\t\tconst objCount = raw.payload.length >= 2\n\t\t\t? raw.payload[1] & 0b11111\n\t\t\t: 0;\n\n\t\tif (objCount === 0) {\n\t\t\tconst indicator0Value = raw.payload[0];\n\n\t\t\treturn new this({\n\t\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t\tvalue: indicator0Value,\n\t\t\t});\n\t\t}\n\n\t\tvalidatePayload(raw.payload.length >= 2 + 3 * objCount);\n\n\t\tconst values: IndicatorObject[] = [];\n\t\tfor (let i = 0; i < objCount; i++) {\n\t\t\tconst offset = 2 + 3 * i;\n\t\t\tconst value: IndicatorObject = {\n\t\t\t\tindicatorId: raw.payload[offset],\n\t\t\t\tpropertyId: raw.payload[offset + 1],\n\t\t\t\tvalue: raw.payload[offset + 2],\n\t\t\t};\n\t\t\tvalues.push(value);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tvalues,\n\t\t});\n\t}\n\n\tpublic indicator0Value: number | undefined;\n\tpublic values: IndicatorObject[] | undefined;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tif (this.values != undefined) {\n\t\t\t// V2+\n\t\t\tthis.payload = Bytes.alloc(2 + 3 * this.values.length, 0);\n\t\t\t// Byte 0 is the legacy value\n\t\t\tconst objCount = this.values.length & MAX_INDICATOR_OBJECTS;\n\t\t\tthis.payload[1] = objCount;\n\t\t\tfor (let i = 0; i < objCount; i++) {\n\t\t\t\tconst offset = 2 + 3 * i;\n\t\t\t\tthis.payload[offset] = this.values[i].indicatorId;\n\t\t\t\tthis.payload[offset + 1] = this.values[i].propertyId;\n\t\t\t\tconst value = this.values[i].value;\n\t\t\t\tthis.payload[offset + 2] = value === true\n\t\t\t\t\t? 0xff\n\t\t\t\t\t: value === false\n\t\t\t\t\t? 0x00\n\t\t\t\t\t: value;\n\t\t\t}\n\t\t} else {\n\t\t\t// V1\n\t\t\tthis.payload = Bytes.from([this.indicator0Value ?? 0]);\n\t\t}\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tif (this.indicator0Value != undefined) {\n\t\t\tmessage[\"indicator 0 value\"] = this.indicator0Value;\n\t\t}\n\t\tif (this.values != undefined) {\n\t\t\tmessage.values = `${\n\t\t\t\tthis.values\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(v) => `\n\u00B7 indicatorId: ${v.indicatorId}\n propertyId: ${v.propertyId}\n value: ${v.value}`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\")\n\t\t\t}`;\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// @publicAPI\nexport type IndicatorCCReportOptions =\n\t| {\n\t\tvalue: number;\n\t}\n\t| {\n\t\tvalues: IndicatorObject[];\n\t};\n\n@CCCommand(IndicatorCommand.Report)\nexport class IndicatorCCReport extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tif (\"value\" in options) {\n\t\t\tthis.indicator0Value = options.value;\n\t\t} else if (\"values\" in options) {\n\t\t\tif (options.values.length > MAX_INDICATOR_OBJECTS) {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis.values = options.values;\n\t\t}\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\n\t\tconst objCount = raw.payload.length >= 2\n\t\t\t? raw.payload[1] & 0b11111\n\t\t\t: 0;\n\n\t\tif (objCount === 0) {\n\t\t\tconst indicator0Value = raw.payload[0];\n\t\t\treturn new this({\n\t\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t\tvalue: indicator0Value,\n\t\t\t});\n\t\t}\n\n\t\tvalidatePayload(raw.payload.length >= 2 + 3 * objCount);\n\n\t\tconst values: IndicatorObject[] = [];\n\t\tfor (let i = 0; i < objCount; i++) {\n\t\t\tconst offset = 2 + 3 * i;\n\t\t\tconst value: IndicatorObject = {\n\t\t\t\tindicatorId: raw.payload[offset],\n\t\t\t\tpropertyId: raw.payload[offset + 1],\n\t\t\t\tvalue: raw.payload[offset + 2],\n\t\t\t};\n\t\t\tvalues.push(value);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tvalues,\n\t\t});\n\n\t\t// TODO: Think if we want this:\n\n\t\t// // If not all Property IDs are included in the command for the actual Indicator ID,\n\t\t// // a controlling node MUST assume non-specified Property IDs values to be 0x00.\n\t\t// const indicatorId = this.values[0].indicatorId;\n\t\t// const supportedIndicatorProperties =\n\t\t// \tvalueDB.getValue<number[]>(\n\t\t// \t\tgetSupportedPropertyIDsValueID(\n\t\t// \t\t\tthis.endpointIndex,\n\t\t// \t\t\tindicatorId,\n\t\t// \t\t),\n\t\t// \t) ?? [];\n\t\t// // Find out which ones are missing\n\t\t// const missingIndicatorProperties = supportedIndicatorProperties.filter(\n\t\t// \tprop =>\n\t\t// \t\t!this.values!.find(({ propertyId }) => prop === propertyId),\n\t\t// );\n\t\t// // And assume they are 0 (false)\n\t\t// for (const missing of missingIndicatorProperties) {\n\t\t// \tthis.setIndicatorValue({\n\t\t// \t\tindicatorId,\n\t\t// \t\tpropertyId: missing,\n\t\t// \t\tvalue: 0,\n\t\t// \t});\n\t\t// }\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tif (this.indicator0Value != undefined) {\n\t\t\tif (!this.supportsV2Indicators(ctx)) {\n\t\t\t\t// Publish the value\n\t\t\t\tconst valueV1 = IndicatorCCValues.valueV1;\n\t\t\t\tthis.setMetadata(ctx, valueV1);\n\t\t\t\tthis.setValue(ctx, valueV1, this.indicator0Value);\n\t\t\t} else {\n\t\t\t\tif (this.isSinglecast()) {\n\t\t\t\t\t// Don't!\n\t\t\t\t\tctx.logNode(this.nodeId, {\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t`ignoring V1 indicator report because the node supports V2 indicators`,\n\t\t\t\t\t\tdirection: \"none\",\n\t\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (this.values) {\n\t\t\t// Store the simple values first\n\t\t\tfor (const value of this.values) {\n\t\t\t\tthis.setIndicatorValue(ctx, value);\n\t\t\t}\n\n\t\t\t// Then group values into the convenience properties\n\n\t\t\t// ... timeout\n\t\t\tconst timeout = indicatorObjectsToTimeout(this.values);\n\t\t\tif (timeout) {\n\t\t\t\tlet timeoutString = \"\";\n\t\t\t\tif (timeout?.hours) timeoutString += `${timeout.hours}h`;\n\t\t\t\tif (timeout?.minutes) timeoutString += `${timeout.minutes}m`;\n\t\t\t\tif (timeout?.seconds) timeoutString += `${timeout.seconds}s`;\n\n\t\t\t\tthis.setValue(\n\t\t\t\t\tctx,\n\t\t\t\t\tIndicatorCCValues.timeout,\n\t\t\t\t\ttimeoutString,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic readonly indicator0Value: number | undefined;\n\tpublic readonly values: IndicatorObject[] | undefined;\n\n\tprivate setIndicatorValue(\n\t\tctx: GetValueDB,\n\t\tvalue: IndicatorObject,\n\t): void {\n\t\t// Manufacturer-defined indicators may need a custom label\n\t\tconst overrideIndicatorLabel = isManufacturerDefinedIndicator(\n\t\t\t\tvalue.indicatorId,\n\t\t\t)\n\t\t\t? this.getValue<string>(\n\t\t\t\tctx,\n\t\t\t\tIndicatorCCValues.indicatorDescription(value.indicatorId),\n\t\t\t)\n\t\t\t: undefined;\n\n\t\tconst metadata = getIndicatorMetadata(\n\t\t\tvalue.indicatorId,\n\t\t\tvalue.propertyId,\n\t\t\toverrideIndicatorLabel,\n\t\t);\n\t\t// Some values need to be converted\n\t\tif (metadata.type === \"boolean\") {\n\t\t\tvalue.value = !!value.value;\n\t\t}\n\n\t\t// Publish the value\n\t\tconst valueV2 = IndicatorCCValues.valueV2(\n\t\t\tvalue.indicatorId,\n\t\t\tvalue.propertyId,\n\t\t);\n\t\tthis.setMetadata(ctx, valueV2, metadata);\n\t\tthis.setValue(ctx, valueV2, value.value);\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tif (this.values != undefined) {\n\t\t\t// V2+\n\t\t\tthis.payload = Bytes.alloc(2 + 3 * this.values.length, 0);\n\t\t\t// Byte 0 is the legacy value\n\t\t\tconst objCount = this.values.length & MAX_INDICATOR_OBJECTS;\n\t\t\tthis.payload[1] = objCount;\n\t\t\tfor (let i = 0; i < objCount; i++) {\n\t\t\t\tconst offset = 2 + 3 * i;\n\t\t\t\tthis.payload[offset] = this.values[i].indicatorId;\n\t\t\t\tthis.payload[offset + 1] = this.values[i].propertyId;\n\t\t\t\tconst value = this.values[i].value;\n\t\t\t\tthis.payload[offset + 2] = value === true\n\t\t\t\t\t? 0xff\n\t\t\t\t\t: value === false\n\t\t\t\t\t? 0x00\n\t\t\t\t\t: value;\n\t\t\t}\n\t\t} else {\n\t\t\t// V1\n\t\t\tthis.payload = Bytes.from([this.indicator0Value ?? 0]);\n\t\t}\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tif (this.indicator0Value != undefined) {\n\t\t\tmessage[\"indicator 0 value\"] = this.indicator0Value;\n\t\t}\n\t\tif (this.values != undefined) {\n\t\t\tmessage.values = `${\n\t\t\t\tthis.values\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(v) => `\n\u00B7 indicatorId: ${v.indicatorId}\n propertyId: ${v.propertyId}\n value: ${v.value}`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\")\n\t\t\t}`;\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// @publicAPI\nexport interface IndicatorCCGetOptions {\n\tindicatorId?: number;\n}\n\n@CCCommand(IndicatorCommand.Get)\n@expectedCCResponse(IndicatorCCReport)\nexport class IndicatorCCGet extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.indicatorId = options.indicatorId;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCGet {\n\t\tlet indicatorId: number | undefined;\n\n\t\tif (raw.payload.length > 0) {\n\t\t\tindicatorId = raw.payload[0];\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tindicatorId,\n\t\t});\n\t}\n\n\tpublic indicatorId: number | undefined;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tif (this.indicatorId != undefined) {\n\t\t\tthis.payload = Bytes.from([this.indicatorId]);\n\t\t}\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\tindicator: getIndicatorName(this.indicatorId),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface IndicatorCCSupportedReportOptions {\n\tindicatorId: number;\n\tnextIndicatorId: number;\n\tsupportedProperties: readonly number[];\n}\n\n@CCCommand(IndicatorCommand.SupportedReport)\nexport class IndicatorCCSupportedReport extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.indicatorId = options.indicatorId;\n\t\tthis.nextIndicatorId = options.nextIndicatorId;\n\t\tthis.supportedProperties = options.supportedProperties;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): IndicatorCCSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 3);\n\t\tconst indicatorId = raw.payload[0];\n\t\tconst nextIndicatorId = raw.payload[1];\n\t\tconst bitMaskLength = raw.payload[2] & 0b11111;\n\t\tlet supportedProperties: readonly number[];\n\n\t\tif (bitMaskLength === 0) {\n\t\t\tsupportedProperties = [];\n\t\t} else {\n\t\t\tvalidatePayload(raw.payload.length >= 3 + bitMaskLength);\n\t\t\t// The bit mask starts at 0, but bit 0 is not used\n\t\t\tsupportedProperties = parseBitMask(\n\t\t\t\traw.payload.subarray(3, 3 + bitMaskLength),\n\t\t\t\t0,\n\t\t\t).filter((v) => v !== 0);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tindicatorId,\n\t\t\tnextIndicatorId,\n\t\t\tsupportedProperties,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tif (this.indicatorId !== 0x00) {\n\t\t\t// Remember which property IDs are supported\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tIndicatorCCValues.supportedPropertyIDs(this.indicatorId),\n\t\t\t\tthis.supportedProperties,\n\t\t\t);\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic readonly indicatorId: number;\n\tpublic readonly nextIndicatorId: number;\n\tpublic readonly supportedProperties: readonly number[];\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tconst bitmask = this.supportedProperties.length > 0\n\t\t\t? encodeBitMask(this.supportedProperties, undefined, 0)\n\t\t\t: new Bytes();\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([\n\t\t\t\tthis.indicatorId,\n\t\t\t\tthis.nextIndicatorId,\n\t\t\t\tbitmask.length,\n\t\t\t]),\n\t\t\tbitmask,\n\t\t]);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\tindicator: getIndicatorName(this.indicatorId),\n\t\t\t\t\"supported properties\": `${\n\t\t\t\t\tthis.supportedProperties\n\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t(id) =>\n\t\t\t\t\t\t\t\tgetIndicatorProperty(id)?.label\n\t\t\t\t\t\t\t\t\t?? `Unknown (${num2hex(id)})`,\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.join(\", \")\n\t\t\t\t}`,\n\t\t\t\t\"next indicator\": getIndicatorName(this.nextIndicatorId),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface IndicatorCCSupportedGetOptions {\n\tindicatorId: number;\n}\n\nfunction testResponseForIndicatorSupportedGet(\n\tsent: IndicatorCCSupportedGet,\n\treceived: IndicatorCCSupportedReport,\n) {\n\treturn sent.indicatorId === 0 || received.indicatorId === sent.indicatorId;\n}\n\n@CCCommand(IndicatorCommand.SupportedGet)\n@expectedCCResponse(\n\tIndicatorCCSupportedReport,\n\ttestResponseForIndicatorSupportedGet,\n)\nexport class IndicatorCCSupportedGet extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCSupportedGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.indicatorId = options.indicatorId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): IndicatorCCSupportedGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst indicatorId = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tindicatorId,\n\t\t});\n\t}\n\n\tpublic indicatorId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.indicatorId]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\tindicator: getIndicatorName(this.indicatorId),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface IndicatorCCDescriptionReportOptions {\n\tindicatorId: number;\n\tdescription: string;\n}\n\n@CCCommand(IndicatorCommand.DescriptionReport)\nexport class IndicatorCCDescriptionReport extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCDescriptionReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.indicatorId = options.indicatorId;\n\t\tthis.description = options.description;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): IndicatorCCDescriptionReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst indicatorId = raw.payload[0];\n\t\tconst descrptionLength = raw.payload[1];\n\t\tvalidatePayload(raw.payload.length >= 2 + descrptionLength);\n\t\tconst description: string = raw.payload\n\t\t\t.subarray(2, 2 + descrptionLength)\n\t\t\t.toString(\"utf8\");\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tindicatorId,\n\t\t\tdescription,\n\t\t});\n\t}\n\n\tpublic indicatorId: number;\n\tpublic description: string;\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tif (this.description) {\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tIndicatorCCValues.indicatorDescription(this.indicatorId),\n\t\t\t\tthis.description,\n\t\t\t);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tconst description = Bytes.from(this.description, \"utf8\");\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.indicatorId, description.length]),\n\t\t\tdescription,\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"indicator ID\": this.indicatorId,\n\t\t\t\tdescription: this.description || \"(none)\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface IndicatorCCDescriptionGetOptions {\n\tindicatorId: number;\n}\n\nfunction testResponseForIndicatorDescriptionGet(\n\tsent: IndicatorCCDescriptionGet,\n\treceived: IndicatorCCDescriptionReport,\n) {\n\treturn received.indicatorId === sent.indicatorId;\n}\n\n@CCCommand(IndicatorCommand.DescriptionGet)\n@expectedCCResponse(\n\tIndicatorCCDescriptionReport,\n\ttestResponseForIndicatorDescriptionGet,\n)\nexport class IndicatorCCDescriptionGet extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCDescriptionGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.indicatorId = options.indicatorId;\n\t\tif (!isManufacturerDefinedIndicator(this.indicatorId)) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t\"The indicator ID must be between 0x80 and 0x9f\",\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): IndicatorCCDescriptionGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst indicatorId = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tindicatorId,\n\t\t});\n\t}\n\n\tpublic indicatorId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.indicatorId]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"indicator ID\": this.indicatorId,\n\t\t\t},\n\t\t};\n\t}\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n\tCommandClasses,\n\ttype EndpointId,\n\tIndicator,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tencodeBitMask,\n\tgetIndicatorProperty,\n\tparseBitMask,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { num2hex } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { clamp, roundTo } from \"alcalzone-shared/math\";\nimport { isArray } from \"alcalzone-shared/typeguards\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { IndicatorCommand, type IndicatorTimeout } from \"../lib/_Types.js\";\n\nfunction isManufacturerDefinedIndicator(indicatorId: number): boolean {\n\treturn indicatorId >= 0x80 && indicatorId <= 0x9f;\n}\n\nconst timeoutStringRegex =\n\t/^(?:(?<hoursStr>\\d+)h)?(?:(?<minutesStr>\\d+)m)?(?:(?<secondsStr>\\d+(?:\\.\\d+)?)s)?$/i;\n\nfunction parseIndicatorTimeoutString(\n\ttext: string,\n): IndicatorTimeout | undefined {\n\tif (!text.length) return undefined;\n\t// Try to parse the numeric parts from a timeout\n\tconst match = timeoutStringRegex.exec(text);\n\tif (!match) return undefined;\n\tconst { hoursStr, minutesStr, secondsStr } = match.groups!;\n\tif (!hoursStr && !minutesStr && !secondsStr) return undefined;\n\n\tconst ret: IndicatorTimeout = {};\n\tif (hoursStr) {\n\t\tret.hours = clamp(parseInt(hoursStr, 10), 0, 255);\n\t}\n\tif (minutesStr) {\n\t\tret.minutes = clamp(parseInt(minutesStr, 10), 0, 255);\n\t}\n\tif (secondsStr) {\n\t\tret.seconds = clamp(roundTo(parseFloat(secondsStr), 2), 0, 59.99);\n\t}\n\n\treturn ret;\n}\n\nfunction indicatorObjectsToTimeout(\n\tvalues: IndicatorObject[],\n): IndicatorTimeout | undefined {\n\tconst timeoutValues = values.filter((v) =>\n\t\t[0x0a, 0x06, 0x07, 0x08].includes(v.propertyId)\n\t);\n\tif (!timeoutValues.length) return undefined;\n\n\tconst hours = (timeoutValues.find((v) => v.propertyId === 0x0a)?.value\n\t\t?? 0) as number;\n\tconst minutes = (timeoutValues.find((v) => v.propertyId === 0x06)?.value\n\t\t?? 0) as number;\n\tconst seconds = clamp(\n\t\t(timeoutValues.find((v) => v.propertyId === 0x07)\n\t\t\t?.value as number) ?? 0,\n\t\t0,\n\t\t59,\n\t)\n\t\t+ clamp(\n\t\t\t\t(timeoutValues.find((v) => v.propertyId === 0x08)\n\t\t\t\t\t?.value as number) ?? 0,\n\t\t\t\t0,\n\t\t\t\t99,\n\t\t\t)\n\t\t\t/ 100;\n\n\treturn {\n\t\thours,\n\t\tminutes,\n\t\tseconds,\n\t};\n}\n\nexport const IndicatorCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses.Indicator, {\n\t\t...V.staticProperty(\"supportedIndicatorIds\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\n\t\t...V.staticPropertyWithName(\n\t\t\t\"valueV1\",\n\t\t\t\"value\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Indicator value\",\n\t\t\t\tccSpecific: {\n\t\t\t\t\tindicatorId: 0,\n\t\t\t\t},\n\t\t\t} as const,\n\t\t),\n\n\t\t// Convenience values for indicators that are split across multiple properties\n\t\t...V.staticProperty(\n\t\t\t\"identify\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: \"Identify\",\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Identify\",\n\t\t\t\t},\n\t\t\t} as const,\n\t\t\t{ minVersion: 3 } as const,\n\t\t),\n\n\t\t...V.staticProperty(\n\t\t\t\"timeout\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.String,\n\t\t\t\tlabel: \"Timeout\",\n\t\t\t} as const,\n\t\t\t{ minVersion: 3 } as const,\n\t\t),\n\t}),\n\n\t...V.defineDynamicCCValues(CommandClasses.Indicator, {\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"supportedPropertyIDs\",\n\t\t\t\"supportedPropertyIDs\",\n\t\t\t(indicatorId: number) => indicatorId,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"supportedPropertyIDs\"\n\t\t\t\t&& typeof propertyKey === \"number\",\n\t\t\tundefined,\n\t\t\t{ internal: true },\n\t\t),\n\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"valueV2\",\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\t(indicatorId: number, propertyId: number) => indicatorId,\n\t\t\t(indicatorId: number, propertyId: number) => propertyId,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\ttypeof property === \"number\" && typeof propertyKey === \"number\",\n\t\t\t// The metadata is highly dependent on the indicator and property\n\t\t\t// so this is just a baseline\n\t\t\t(indicatorId: number, propertyId: number) => ({\n\t\t\t\t...ValueMetadata.Any,\n\t\t\t\tccSpecific: {\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId,\n\t\t\t\t},\n\t\t\t}),\n\t\t\t{ minVersion: 2 } as const,\n\t\t),\n\n\t\t...V.dynamicPropertyWithName(\n\t\t\t\"indicatorDescription\",\n\t\t\t(indicatorId: number) => indicatorId,\n\t\t\t({ property }) => typeof property === \"number\",\n\t\t\tundefined,\n\t\t\t{ internal: true, minVersion: 4 } as const,\n\t\t),\n\t}),\n});\n\n/**\n * Looks up the configured metadata for the given indicator and property\n */\nfunction getIndicatorMetadata(\n\tindicatorId: Indicator,\n\tpropertyId: number,\n\toverrideIndicatorLabel?: string,\n): ValueMetadata {\n\tconst label = overrideIndicatorLabel\n\t\t|| getIndicatorName(indicatorId);\n\tconst prop = getIndicatorProperty(propertyId);\n\tconst baseMetadata = IndicatorCCValues.valueV2(\n\t\tindicatorId,\n\t\tpropertyId,\n\t).meta;\n\tif (!label && !prop) {\n\t\treturn {\n\t\t\t...baseMetadata,\n\t\t\t...ValueMetadata.UInt8,\n\t\t};\n\t} else if (!prop) {\n\t\treturn {\n\t\t\t...baseMetadata,\n\t\t\t...ValueMetadata.UInt8,\n\t\t\tlabel,\n\t\t};\n\t} else {\n\t\tif (prop.type === \"boolean\") {\n\t\t\treturn {\n\t\t\t\t...baseMetadata,\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: `${label} - ${prop.label}`,\n\t\t\t\tdescription: prop.description,\n\t\t\t\treadable: !prop.readonly,\n\t\t\t};\n\t\t} else {\n\t\t\t// UInt8\n\t\t\treturn {\n\t\t\t\t...baseMetadata,\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: `${label} - ${prop.label}`,\n\t\t\t\tdescription: prop.description,\n\t\t\t\tmin: prop.min,\n\t\t\t\tmax: prop.max,\n\t\t\t\treadable: !prop.readonly,\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction getIndicatorName(\n\tindicatorId: number | undefined,\n): string {\n\tif (indicatorId) {\n\t\treturn `${num2hex(indicatorId)} (${\n\t\t\tindicatorId in Indicator ? Indicator[indicatorId] : \"Unknown\"\n\t\t})`;\n\t} else {\n\t\treturn \"0 (default)\";\n\t}\n}\n\nconst MAX_INDICATOR_OBJECTS = 31;\n\n@API(CommandClasses.Indicator)\nexport class IndicatorCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: IndicatorCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase IndicatorCommand.Get:\n\t\t\tcase IndicatorCommand.Report:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase IndicatorCommand.Set:\n\t\t\t\treturn true; // This is mandatory\n\t\t\tcase IndicatorCommand.SupportedGet:\n\t\t\tcase IndicatorCommand.SupportedReport:\n\t\t\t\treturn this.version >= 2 && this.isSinglecast();\n\t\t\tcase IndicatorCommand.DescriptionGet:\n\t\t\tcase IndicatorCommand.DescriptionReport:\n\t\t\t\treturn this.version >= 4 && this.isSinglecast();\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(\n\t\t\tthis: IndicatorCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t\tvalue,\n\t\t) {\n\t\t\tif (property === \"value\") {\n\t\t\t\t// V1 value\n\t\t\t\tif (typeof value !== \"number\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this.set(value);\n\t\t\t} else if (\n\t\t\t\ttypeof property === \"number\"\n\t\t\t\t&& typeof propertyKey === \"number\"\n\t\t\t) {\n\t\t\t\tconst indicatorId = property;\n\t\t\t\tconst propertyId = propertyKey;\n\t\t\t\tconst expectedType = getIndicatorMetadata(\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId,\n\t\t\t\t).type as \"number\" | \"boolean\";\n\n\t\t\t\t// V2+ value\n\t\t\t\tif (typeof value !== expectedType) {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\texpectedType,\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this.set([\n\t\t\t\t\t{\n\t\t\t\t\t\tindicatorId: property,\n\t\t\t\t\t\tpropertyId: propertyKey,\n\t\t\t\t\t\tvalue: value as any,\n\t\t\t\t\t},\n\t\t\t\t]);\n\t\t\t} else if (property === \"identify\") {\n\t\t\t\tif (typeof value !== \"boolean\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"boolean\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this.identify();\n\t\t\t} else {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: IndicatorCCAPI, { property }) {\n\t\t\tif (property === \"value\") return this.get();\n\t\t\tif (typeof property === \"number\") {\n\t\t\t\treturn this.get(property);\n\t\t\t}\n\n\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t};\n\t}\n\n\t@validateArgs()\n\tpublic async get(\n\t\tindicatorId?: number,\n\t): Promise<MaybeNotKnown<number | IndicatorObject[]>> {\n\t\tthis.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Get);\n\n\t\tconst cc = new IndicatorCCGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tindicatorId,\n\t\t});\n\t\tconst response = await this.host.sendCommand<IndicatorCCReport>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (!response) return;\n\t\tif (response.values) return response.values;\n\t\treturn response.indicator0Value!;\n\t}\n\n\t@validateArgs()\n\tpublic async set(\n\t\tvalue: number | IndicatorObject[],\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Set);\n\n\t\tif (this.version === 1 && typeof value !== \"number\") {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Node ${this.endpoint\n\t\t\t\t\t.nodeId as number} only supports IndicatorCC V1 which requires a single value to be set`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t} else if (\n\t\t\tthis.version >= 2\n\t\t\t&& isArray(value)\n\t\t\t&& value.length > MAX_INDICATOR_OBJECTS\n\t\t) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\n\t\tconst cc = new IndicatorCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t...(typeof value === \"number\" ? { value } : { values: value }),\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\tpublic async sendReport(\n\t\toptions: IndicatorCCReportOptions,\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tIndicatorCommand,\n\t\t\tIndicatorCommand.Report,\n\t\t);\n\n\t\tconst cc = new IndicatorCCReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t...options,\n\t\t});\n\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\tpublic async getSupported(indicatorId: number): Promise<\n\t\t| {\n\t\t\tindicatorId?: number;\n\t\t\tsupportedProperties: readonly number[];\n\t\t\tnextIndicatorId: number;\n\t\t}\n\t\t| undefined\n\t> {\n\t\tthis.assertSupportsCommand(\n\t\t\tIndicatorCommand,\n\t\t\tIndicatorCommand.SupportedGet,\n\t\t);\n\n\t\tconst cc = new IndicatorCCSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tindicatorId,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tIndicatorCCSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn {\n\t\t\t\t// Include the actual indicator ID if 0x00 was requested\n\t\t\t\t...(indicatorId === 0x00\n\t\t\t\t\t? { indicatorId: response.indicatorId }\n\t\t\t\t\t: undefined),\n\t\t\t\tsupportedProperties: response.supportedProperties,\n\t\t\t\tnextIndicatorId: response.nextIndicatorId,\n\t\t\t};\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async reportSupported(\n\t\tindicatorId: number,\n\t\tsupportedProperties: readonly number[],\n\t\tnextIndicatorId: number,\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tIndicatorCommand,\n\t\t\tIndicatorCommand.SupportedReport,\n\t\t);\n\n\t\tconst cc = new IndicatorCCSupportedReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tindicatorId,\n\t\t\tsupportedProperties,\n\t\t\tnextIndicatorId,\n\t\t});\n\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\tpublic async reportDescription(\n\t\tindicatorId: number,\n\t\tdescription: string,\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tIndicatorCommand,\n\t\t\tIndicatorCommand.DescriptionReport,\n\t\t);\n\n\t\tconst cc = new IndicatorCCDescriptionReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tindicatorId,\n\t\t\tdescription,\n\t\t});\n\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t/**\n\t * Instructs the node to identify itself. Available starting with V3 of this CC.\n\t */\n\tpublic async identify(): Promise<SupervisionResult | undefined> {\n\t\tif (this.version < 3) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The identify command is only supported in Indicator CC version 3 and above`,\n\t\t\t\tZWaveErrorCodes.CC_NotSupported,\n\t\t\t);\n\t\t}\n\t\treturn this.set([\n\t\t\t{\n\t\t\t\tindicatorId: 0x50,\n\t\t\t\tpropertyId: 0x03,\n\t\t\t\tvalue: 0x08,\n\t\t\t},\n\t\t\t{\n\t\t\t\tindicatorId: 0x50,\n\t\t\t\tpropertyId: 0x04,\n\t\t\t\tvalue: 0x03,\n\t\t\t},\n\t\t\t{\n\t\t\t\tindicatorId: 0x50,\n\t\t\t\tpropertyId: 0x05,\n\t\t\t\tvalue: 0x06,\n\t\t\t},\n\t\t]);\n\t}\n\n\t/**\n\t * Set a timeout for a given indicator ID after which the indicator will be turned off.\n\t * @param timeout The timeout in one of the supported forms:\n\t * \t- a timeout string in the form `12h18m17.59s`. All parts (hours, minutes, seconds, hundredths) are optional, but must be specified in this order. An empty string will be treated like `undefined`.\n\t * \t- an object specifying the timeout parts. An empty object will be treated like `undefined`.\n\t * \t- `undefined` to disable the timeout.\n\t */\n\t@validateArgs()\n\tpublic async setTimeout(\n\t\tindicatorId: number,\n\t\ttimeout: IndicatorTimeout | string | undefined,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertPhysicalEndpoint(this.endpoint);\n\n\t\tif (this.version < 3) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The setTimeout command is only supported in Indicator CC version 3 and above`,\n\t\t\t\tZWaveErrorCodes.CC_NotSupported,\n\t\t\t);\n\t\t}\n\n\t\tif (typeof timeout === \"string\") {\n\t\t\tif (timeout === \"\") {\n\t\t\t\ttimeout = undefined;\n\t\t\t} else {\n\t\t\t\tconst parsed = parseIndicatorTimeoutString(timeout);\n\t\t\t\tif (!parsed) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The timeout string \"${timeout}\" is not valid`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\ttimeout = parsed;\n\t\t\t}\n\t\t}\n\n\t\tconst supportedPropertyIDs = IndicatorCC.getSupportedPropertyIDsCached(\n\t\t\tthis.host,\n\t\t\tthis.endpoint,\n\t\t\tindicatorId,\n\t\t);\n\n\t\tconst objects: IndicatorObject[] = [];\n\t\tif (timeout) {\n\t\t\tconst hours = timeout.hours ?? 0;\n\t\t\tconst minutes = timeout.minutes ?? 0;\n\t\t\tconst seconds = Math.floor(timeout.seconds ?? 0);\n\t\t\tconst hundredths = Math.round(((timeout.seconds ?? 0) % 1) * 100);\n\n\t\t\tif (hours) {\n\t\t\t\tif (!supportedPropertyIDs?.includes(0x0a)) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The indicator ${indicatorId} does not support setting the timeout in hours`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tobjects.push({\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId: 0x0a,\n\t\t\t\t\tvalue: hours,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (minutes) {\n\t\t\t\tif (!supportedPropertyIDs?.includes(0x06)) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The indicator ${indicatorId} does not support setting the timeout in minutes`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tobjects.push({\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId: 0x06,\n\t\t\t\t\tvalue: minutes,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (seconds) {\n\t\t\t\tif (!supportedPropertyIDs?.includes(0x07)) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The indicator ${indicatorId} does not support setting the timeout in seconds`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tobjects.push({\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId: 0x07,\n\t\t\t\t\tvalue: seconds,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (hundredths) {\n\t\t\t\tif (!supportedPropertyIDs?.includes(0x08)) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The indicator ${indicatorId} does not support setting the timeout in 1/100 seconds`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tobjects.push({\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId: 0x08,\n\t\t\t\t\tvalue: hundredths,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (!objects.length) {\n\t\t\tobjects.push(\n\t\t\t\t...(supportedPropertyIDs ?? []).map((p) => ({\n\t\t\t\t\tindicatorId,\n\t\t\t\t\tpropertyId: p,\n\t\t\t\t\tvalue: 0,\n\t\t\t\t})),\n\t\t\t);\n\t\t}\n\n\t\treturn this.set(objects);\n\t}\n\n\t/**\n\t * Returns the timeout after which the given indicator will be turned off.\n\t */\n\t@validateArgs()\n\tpublic async getTimeout(\n\t\tindicatorId: number,\n\t): Promise<MaybeNotKnown<IndicatorTimeout>> {\n\t\tconst values = await this.get(indicatorId);\n\t\tif (!isArray(values)) return;\n\n\t\treturn indicatorObjectsToTimeout(values);\n\t}\n\n\t@validateArgs()\n\tpublic async getDescription(\n\t\tindicatorId: number,\n\t): Promise<MaybeNotKnown<string>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tIndicatorCommand,\n\t\t\tIndicatorCommand.DescriptionGet,\n\t\t);\n\n\t\tconst cc = new IndicatorCCDescriptionGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tindicatorId,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tIndicatorCCDescriptionReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.description;\n\t}\n}\n\n@commandClass(CommandClasses.Indicator)\n@implementedVersion(4)\n@ccValues(IndicatorCCValues)\nexport class IndicatorCC extends CommandClass {\n\tdeclare ccCommand: IndicatorCommand;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Indicator,\n\t\t\tctx,\n\t\t\tendpoint,\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\tif (api.version > 1) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"scanning supported indicator IDs...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\t// Query ID 0 to get the first supported ID\n\t\t\tlet curId = 0x00;\n\t\t\tconst supportedIndicatorIds: number[] = [];\n\t\t\tdo {\n\t\t\t\tconst supportedResponse = await api.getSupported(curId);\n\t\t\t\tif (!supportedResponse) {\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:\n\t\t\t\t\t\t\t\"Time out while scanning supported indicator IDs, skipping interview...\",\n\t\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsupportedIndicatorIds.push(\n\t\t\t\t\tsupportedResponse.indicatorId ?? curId,\n\t\t\t\t);\n\t\t\t\tcurId = supportedResponse.nextIndicatorId;\n\t\t\t} while (curId !== 0x00);\n\n\t\t\t// The IDs are not stored by the report CCs so store them here once we have all of them\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tIndicatorCCValues.supportedIndicatorIds,\n\t\t\t\tsupportedIndicatorIds,\n\t\t\t);\n\t\t\tconst logMessage = `supported indicator IDs: ${\n\t\t\t\tsupportedIndicatorIds.join(\n\t\t\t\t\t\", \",\n\t\t\t\t)\n\t\t\t}`;\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\n\t\t\tif (api.version >= 4) {\n\t\t\t\tconst manufacturerDefinedIndicatorIds = supportedIndicatorIds\n\t\t\t\t\t.filter((id) => isManufacturerDefinedIndicator(id));\n\t\t\t\tif (manufacturerDefinedIndicatorIds.length > 0) {\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:\n\t\t\t\t\t\t\t\"retrieving description for manufacturer-defined indicator IDs...\",\n\t\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (const id of manufacturerDefinedIndicatorIds) {\n\t\t\t\t\t\tawait api.getDescription(id);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Query current values\n\t\tawait this.refreshValues(ctx);\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Indicator,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tif (api.version === 1) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"requesting current indicator value...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tawait api.get();\n\t\t} else {\n\t\t\tconst supportedIndicatorIds: number[] = this.getValue(\n\t\t\t\tctx,\n\t\t\t\tIndicatorCCValues.supportedIndicatorIds,\n\t\t\t) ?? [];\n\t\t\tfor (const indicatorId of supportedIndicatorIds) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: `requesting current indicator value (id = ${\n\t\t\t\t\t\tnum2hex(\n\t\t\t\t\t\t\tindicatorId,\n\t\t\t\t\t\t)\n\t\t\t\t\t})...`,\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\t\t\t\tawait api.get(indicatorId);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic translatePropertyKey(\n\t\tctx: GetValueDB,\n\t\tproperty: string | number,\n\t\tpropertyKey: string | number,\n\t): string | undefined {\n\t\tif (property === \"value\") {\n\t\t\t// CC version 1 only has a single value that doesn't need to be translated\n\t\t\treturn undefined;\n\t\t} else if (\n\t\t\ttypeof property === \"number\"\n\t\t\t&& typeof propertyKey === \"number\"\n\t\t) {\n\t\t\t// The indicator property is our property key\n\t\t\tconst prop = getIndicatorProperty(propertyKey);\n\t\t\tif (prop) return prop.label;\n\t\t}\n\t\treturn super.translatePropertyKey(ctx, property, propertyKey);\n\t}\n\n\tpublic translateProperty(\n\t\tctx: GetValueDB,\n\t\tproperty: string | number,\n\t\tpropertyKey?: string | number,\n\t): string {\n\t\tif (typeof property === \"number\" && typeof propertyKey === \"number\") {\n\t\t\t// The indicator corresponds to our property\n\t\t\tif (property in Indicator) return Indicator[property];\n\t\t}\n\t\treturn super.translateProperty(ctx, property, propertyKey);\n\t}\n\n\tprotected supportsV2Indicators(ctx: GetValueDB): boolean {\n\t\t// First test if there are any indicator ids defined\n\t\tconst supportedIndicatorIds = this.getValue<number[]>(\n\t\t\tctx,\n\t\t\tIndicatorCCValues.supportedIndicatorIds,\n\t\t);\n\t\tif (!supportedIndicatorIds?.length) return false;\n\t\t// Then test if there are any property ids defined\n\t\treturn supportedIndicatorIds.some(\n\t\t\t(indicatorId) =>\n\t\t\t\t!!this.getValue<number[]>(\n\t\t\t\t\tctx,\n\t\t\t\t\tIndicatorCCValues.supportedPropertyIDs(indicatorId),\n\t\t\t\t)?.length,\n\t\t);\n\t}\n\n\tpublic static getSupportedPropertyIDsCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t\tindicatorId: number,\n\t): MaybeNotKnown<number[]> {\n\t\treturn ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue(\n\t\t\t\tIndicatorCCValues.supportedPropertyIDs(indicatorId).endpoint(\n\t\t\t\t\tendpoint.index,\n\t\t\t\t),\n\t\t\t);\n\t}\n}\n\n// @publicAPI\nexport interface IndicatorObject {\n\tindicatorId: number;\n\tpropertyId: number;\n\tvalue: number | boolean;\n}\n\n// @publicAPI\nexport type IndicatorCCSetOptions =\n\t| {\n\t\tvalue: number;\n\t}\n\t| {\n\t\tvalues: IndicatorObject[];\n\t};\n\n@CCCommand(IndicatorCommand.Set)\n@useSupervision()\nexport class IndicatorCCSet extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (\"value\" in options) {\n\t\t\tthis.indicator0Value = options.value;\n\t\t} else {\n\t\t\tthis.values = options.values;\n\t\t}\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\n\t\tconst objCount = raw.payload.length >= 2\n\t\t\t? raw.payload[1] & 0b11111\n\t\t\t: 0;\n\n\t\tif (objCount === 0) {\n\t\t\tconst indicator0Value = raw.payload[0];\n\n\t\t\treturn new this({\n\t\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t\tvalue: indicator0Value,\n\t\t\t});\n\t\t}\n\n\t\tvalidatePayload(raw.payload.length >= 2 + 3 * objCount);\n\n\t\tconst values: IndicatorObject[] = [];\n\t\tfor (let i = 0; i < objCount; i++) {\n\t\t\tconst offset = 2 + 3 * i;\n\t\t\tconst value: IndicatorObject = {\n\t\t\t\tindicatorId: raw.payload[offset],\n\t\t\t\tpropertyId: raw.payload[offset + 1],\n\t\t\t\tvalue: raw.payload[offset + 2],\n\t\t\t};\n\t\t\tvalues.push(value);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tvalues,\n\t\t});\n\t}\n\n\tpublic indicator0Value: number | undefined;\n\tpublic values: IndicatorObject[] | undefined;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tif (this.values != undefined) {\n\t\t\t// V2+\n\t\t\tthis.payload = Bytes.alloc(2 + 3 * this.values.length, 0);\n\t\t\t// Byte 0 is the legacy value\n\t\t\tconst objCount = this.values.length & MAX_INDICATOR_OBJECTS;\n\t\t\tthis.payload[1] = objCount;\n\t\t\tfor (let i = 0; i < objCount; i++) {\n\t\t\t\tconst offset = 2 + 3 * i;\n\t\t\t\tthis.payload[offset] = this.values[i].indicatorId;\n\t\t\t\tthis.payload[offset + 1] = this.values[i].propertyId;\n\t\t\t\tconst value = this.values[i].value;\n\t\t\t\tthis.payload[offset + 2] = value === true\n\t\t\t\t\t? 0xff\n\t\t\t\t\t: value === false\n\t\t\t\t\t? 0x00\n\t\t\t\t\t: value;\n\t\t\t}\n\t\t} else {\n\t\t\t// V1\n\t\t\tthis.payload = Bytes.from([this.indicator0Value ?? 0]);\n\t\t}\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tif (this.indicator0Value != undefined) {\n\t\t\tmessage[\"indicator 0 value\"] = this.indicator0Value;\n\t\t}\n\t\tif (this.values != undefined) {\n\t\t\tmessage.values = `${\n\t\t\t\tthis.values\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(v) => `\n\u00B7 indicatorId: ${v.indicatorId}\n propertyId: ${v.propertyId}\n value: ${v.value}`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\")\n\t\t\t}`;\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// @publicAPI\nexport type IndicatorCCReportOptions =\n\t| {\n\t\tvalue: number;\n\t}\n\t| {\n\t\tvalues: IndicatorObject[];\n\t};\n\n@CCCommand(IndicatorCommand.Report)\nexport class IndicatorCCReport extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tif (\"value\" in options) {\n\t\t\tthis.indicator0Value = options.value;\n\t\t} else if (\"values\" in options) {\n\t\t\tif (options.values.length > MAX_INDICATOR_OBJECTS) {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis.values = options.values;\n\t\t}\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\n\t\tconst objCount = raw.payload.length >= 2\n\t\t\t? raw.payload[1] & 0b11111\n\t\t\t: 0;\n\n\t\tif (objCount === 0) {\n\t\t\tconst indicator0Value = raw.payload[0];\n\t\t\treturn new this({\n\t\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t\tvalue: indicator0Value,\n\t\t\t});\n\t\t}\n\n\t\tvalidatePayload(raw.payload.length >= 2 + 3 * objCount);\n\n\t\tconst values: IndicatorObject[] = [];\n\t\tfor (let i = 0; i < objCount; i++) {\n\t\t\tconst offset = 2 + 3 * i;\n\t\t\tconst value: IndicatorObject = {\n\t\t\t\tindicatorId: raw.payload[offset],\n\t\t\t\tpropertyId: raw.payload[offset + 1],\n\t\t\t\tvalue: raw.payload[offset + 2],\n\t\t\t};\n\t\t\tvalues.push(value);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tvalues,\n\t\t});\n\n\t\t// TODO: Think if we want this:\n\n\t\t// // If not all Property IDs are included in the command for the actual Indicator ID,\n\t\t// // a controlling node MUST assume non-specified Property IDs values to be 0x00.\n\t\t// const indicatorId = this.values[0].indicatorId;\n\t\t// const supportedIndicatorProperties =\n\t\t// \tvalueDB.getValue<number[]>(\n\t\t// \t\tgetSupportedPropertyIDsValueID(\n\t\t// \t\t\tthis.endpointIndex,\n\t\t// \t\t\tindicatorId,\n\t\t// \t\t),\n\t\t// \t) ?? [];\n\t\t// // Find out which ones are missing\n\t\t// const missingIndicatorProperties = supportedIndicatorProperties.filter(\n\t\t// \tprop =>\n\t\t// \t\t!this.values!.find(({ propertyId }) => prop === propertyId),\n\t\t// );\n\t\t// // And assume they are 0 (false)\n\t\t// for (const missing of missingIndicatorProperties) {\n\t\t// \tthis.setIndicatorValue({\n\t\t// \t\tindicatorId,\n\t\t// \t\tpropertyId: missing,\n\t\t// \t\tvalue: 0,\n\t\t// \t});\n\t\t// }\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tif (this.indicator0Value != undefined) {\n\t\t\tif (!this.supportsV2Indicators(ctx)) {\n\t\t\t\t// Publish the value\n\t\t\t\tconst valueV1 = IndicatorCCValues.valueV1;\n\t\t\t\tthis.setMetadata(ctx, valueV1);\n\t\t\t\tthis.setValue(ctx, valueV1, this.indicator0Value);\n\t\t\t} else {\n\t\t\t\tif (this.isSinglecast()) {\n\t\t\t\t\t// Don't!\n\t\t\t\t\tctx.logNode(this.nodeId, {\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t`ignoring V1 indicator report because the node supports V2 indicators`,\n\t\t\t\t\t\tdirection: \"none\",\n\t\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (this.values) {\n\t\t\t// Store the simple values first\n\t\t\tfor (const value of this.values) {\n\t\t\t\tthis.setIndicatorValue(ctx, value);\n\t\t\t}\n\n\t\t\t// Then group values into the convenience properties\n\n\t\t\t// ... timeout\n\t\t\tconst timeout = indicatorObjectsToTimeout(this.values);\n\t\t\tif (timeout) {\n\t\t\t\tlet timeoutString = \"\";\n\t\t\t\tif (timeout?.hours) timeoutString += `${timeout.hours}h`;\n\t\t\t\tif (timeout?.minutes) timeoutString += `${timeout.minutes}m`;\n\t\t\t\tif (timeout?.seconds) timeoutString += `${timeout.seconds}s`;\n\n\t\t\t\tthis.setValue(\n\t\t\t\t\tctx,\n\t\t\t\t\tIndicatorCCValues.timeout,\n\t\t\t\t\ttimeoutString,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic readonly indicator0Value: number | undefined;\n\tpublic readonly values: IndicatorObject[] | undefined;\n\n\tprivate setIndicatorValue(\n\t\tctx: GetValueDB,\n\t\tvalue: IndicatorObject,\n\t): void {\n\t\t// Manufacturer-defined indicators may need a custom label\n\t\tconst overrideIndicatorLabel = isManufacturerDefinedIndicator(\n\t\t\t\tvalue.indicatorId,\n\t\t\t)\n\t\t\t? this.getValue<string>(\n\t\t\t\tctx,\n\t\t\t\tIndicatorCCValues.indicatorDescription(value.indicatorId),\n\t\t\t)\n\t\t\t: undefined;\n\n\t\tconst metadata = getIndicatorMetadata(\n\t\t\tvalue.indicatorId,\n\t\t\tvalue.propertyId,\n\t\t\toverrideIndicatorLabel,\n\t\t);\n\t\t// Some values need to be converted\n\t\tif (metadata.type === \"boolean\") {\n\t\t\tvalue.value = !!value.value;\n\t\t}\n\n\t\t// Publish the value\n\t\tconst valueV2 = IndicatorCCValues.valueV2(\n\t\t\tvalue.indicatorId,\n\t\t\tvalue.propertyId,\n\t\t);\n\t\tthis.setMetadata(ctx, valueV2, metadata);\n\t\tthis.setValue(ctx, valueV2, value.value);\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tif (this.values != undefined) {\n\t\t\t// V2+\n\t\t\tthis.payload = Bytes.alloc(2 + 3 * this.values.length, 0);\n\t\t\t// Byte 0 is the legacy value\n\t\t\tconst objCount = this.values.length & MAX_INDICATOR_OBJECTS;\n\t\t\tthis.payload[1] = objCount;\n\t\t\tfor (let i = 0; i < objCount; i++) {\n\t\t\t\tconst offset = 2 + 3 * i;\n\t\t\t\tthis.payload[offset] = this.values[i].indicatorId;\n\t\t\t\tthis.payload[offset + 1] = this.values[i].propertyId;\n\t\t\t\tconst value = this.values[i].value;\n\t\t\t\tthis.payload[offset + 2] = value === true\n\t\t\t\t\t? 0xff\n\t\t\t\t\t: value === false\n\t\t\t\t\t? 0x00\n\t\t\t\t\t: value;\n\t\t\t}\n\t\t} else {\n\t\t\t// V1\n\t\t\tthis.payload = Bytes.from([this.indicator0Value ?? 0]);\n\t\t}\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tif (this.indicator0Value != undefined) {\n\t\t\tmessage[\"indicator 0 value\"] = this.indicator0Value;\n\t\t}\n\t\tif (this.values != undefined) {\n\t\t\tmessage.values = `${\n\t\t\t\tthis.values\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(v) => `\n\u00B7 indicatorId: ${v.indicatorId}\n propertyId: ${v.propertyId}\n value: ${v.value}`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\")\n\t\t\t}`;\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// @publicAPI\nexport interface IndicatorCCGetOptions {\n\tindicatorId?: number;\n}\n\n@CCCommand(IndicatorCommand.Get)\n@expectedCCResponse(IndicatorCCReport)\nexport class IndicatorCCGet extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.indicatorId = options.indicatorId;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCGet {\n\t\tlet indicatorId: number | undefined;\n\n\t\tif (raw.payload.length > 0) {\n\t\t\tindicatorId = raw.payload[0];\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tindicatorId,\n\t\t});\n\t}\n\n\tpublic indicatorId: number | undefined;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tif (this.indicatorId != undefined) {\n\t\t\tthis.payload = Bytes.from([this.indicatorId]);\n\t\t}\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\tindicator: getIndicatorName(this.indicatorId),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface IndicatorCCSupportedReportOptions {\n\tindicatorId: number;\n\tnextIndicatorId: number;\n\tsupportedProperties: readonly number[];\n}\n\n@CCCommand(IndicatorCommand.SupportedReport)\nexport class IndicatorCCSupportedReport extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.indicatorId = options.indicatorId;\n\t\tthis.nextIndicatorId = options.nextIndicatorId;\n\t\tthis.supportedProperties = options.supportedProperties;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): IndicatorCCSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 3);\n\t\tconst indicatorId = raw.payload[0];\n\t\tconst nextIndicatorId = raw.payload[1];\n\t\tconst bitMaskLength = raw.payload[2] & 0b11111;\n\t\tlet supportedProperties: readonly number[];\n\n\t\tif (bitMaskLength === 0) {\n\t\t\tsupportedProperties = [];\n\t\t} else {\n\t\t\tvalidatePayload(raw.payload.length >= 3 + bitMaskLength);\n\t\t\t// The bit mask starts at 0, but bit 0 is not used\n\t\t\tsupportedProperties = parseBitMask(\n\t\t\t\traw.payload.subarray(3, 3 + bitMaskLength),\n\t\t\t\t0,\n\t\t\t).filter((v) => v !== 0);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tindicatorId,\n\t\t\tnextIndicatorId,\n\t\t\tsupportedProperties,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tif (this.indicatorId !== 0x00) {\n\t\t\t// Remember which property IDs are supported\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tIndicatorCCValues.supportedPropertyIDs(this.indicatorId),\n\t\t\t\tthis.supportedProperties,\n\t\t\t);\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic readonly indicatorId: number;\n\tpublic readonly nextIndicatorId: number;\n\tpublic readonly supportedProperties: readonly number[];\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tconst bitmask = this.supportedProperties.length > 0\n\t\t\t? encodeBitMask(this.supportedProperties, undefined, 0)\n\t\t\t: new Bytes();\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([\n\t\t\t\tthis.indicatorId,\n\t\t\t\tthis.nextIndicatorId,\n\t\t\t\tbitmask.length,\n\t\t\t]),\n\t\t\tbitmask,\n\t\t]);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\tindicator: getIndicatorName(this.indicatorId),\n\t\t\t\t\"supported properties\": `${\n\t\t\t\t\tthis.supportedProperties\n\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t(id) =>\n\t\t\t\t\t\t\t\tgetIndicatorProperty(id)?.label\n\t\t\t\t\t\t\t\t\t?? `Unknown (${num2hex(id)})`,\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.join(\", \")\n\t\t\t\t}`,\n\t\t\t\t\"next indicator\": getIndicatorName(this.nextIndicatorId),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface IndicatorCCSupportedGetOptions {\n\tindicatorId: number;\n}\n\nfunction testResponseForIndicatorSupportedGet(\n\tsent: IndicatorCCSupportedGet,\n\treceived: IndicatorCCSupportedReport,\n) {\n\treturn sent.indicatorId === 0 || received.indicatorId === sent.indicatorId;\n}\n\n@CCCommand(IndicatorCommand.SupportedGet)\n@expectedCCResponse(\n\tIndicatorCCSupportedReport,\n\ttestResponseForIndicatorSupportedGet,\n)\nexport class IndicatorCCSupportedGet extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCSupportedGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.indicatorId = options.indicatorId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): IndicatorCCSupportedGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst indicatorId = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tindicatorId,\n\t\t});\n\t}\n\n\tpublic indicatorId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.indicatorId]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\tindicator: getIndicatorName(this.indicatorId),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface IndicatorCCDescriptionReportOptions {\n\tindicatorId: number;\n\tdescription: string;\n}\n\n@CCCommand(IndicatorCommand.DescriptionReport)\nexport class IndicatorCCDescriptionReport extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCDescriptionReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.indicatorId = options.indicatorId;\n\t\tthis.description = options.description;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): IndicatorCCDescriptionReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst indicatorId = raw.payload[0];\n\t\tconst descrptionLength = raw.payload[1];\n\t\tvalidatePayload(raw.payload.length >= 2 + descrptionLength);\n\t\tconst description: string = raw.payload\n\t\t\t.subarray(2, 2 + descrptionLength)\n\t\t\t.toString(\"utf8\");\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tindicatorId,\n\t\t\tdescription,\n\t\t});\n\t}\n\n\tpublic indicatorId: number;\n\tpublic description: string;\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tif (this.description) {\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tIndicatorCCValues.indicatorDescription(this.indicatorId),\n\t\t\t\tthis.description,\n\t\t\t);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tconst description = Bytes.from(this.description, \"utf8\");\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.indicatorId, description.length]),\n\t\t\tdescription,\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"indicator ID\": this.indicatorId,\n\t\t\t\tdescription: this.description || \"(none)\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface IndicatorCCDescriptionGetOptions {\n\tindicatorId: number;\n}\n\nfunction testResponseForIndicatorDescriptionGet(\n\tsent: IndicatorCCDescriptionGet,\n\treceived: IndicatorCCDescriptionReport,\n) {\n\treturn received.indicatorId === sent.indicatorId;\n}\n\n@CCCommand(IndicatorCommand.DescriptionGet)\n@expectedCCResponse(\n\tIndicatorCCDescriptionReport,\n\ttestResponseForIndicatorDescriptionGet,\n)\nexport class IndicatorCCDescriptionGet extends IndicatorCC {\n\tpublic constructor(\n\t\toptions: WithAddress<IndicatorCCDescriptionGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.indicatorId = options.indicatorId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): IndicatorCCDescriptionGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst indicatorId = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tindicatorId,\n\t\t});\n\t}\n\n\tpublic indicatorId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.indicatorId]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"indicator ID\": this.indicatorId,\n\t\t\t},\n\t\t};\n\t}\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_safe"]
7
7
  }
@@ -310,6 +310,7 @@ let ThermostatSetpointCC = (() => {
310
310
  direction: "none"
311
311
  });
312
312
  if (api.version <= 2) {
313
+ await api.getSupportedSetpointTypes();
313
314
  const supportedSetpointTypes = [];
314
315
  for (let type = import_Types.ThermostatSetpointType.Heating; type <= import_Types.ThermostatSetpointType["Full Power"]; type++) {
315
316
  const setpointName = (0, import_safe3.getEnumMemberName)(import_Types.ThermostatSetpointType, type);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cc/ThermostatSetpointCC.ts"],
4
- "sourcesContent": ["import {\n\tCommandClasses,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype Scale,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype ValueMetadataNumeric,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tencodeBitMask,\n\tencodeFloatWithScale,\n\tgetNamedScale,\n\tgetUnknownScale,\n\tparseBitMask,\n\tparseFloatWithScale,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { getEnumMemberName, pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport {\n\tThermostatSetpointCommand,\n\tThermostatSetpointType,\n} from \"../lib/_Types.js\";\n\n// This array is used to map the advertised supported types (interpretation A)\n// to the actual enum values\nconst thermostatSetpointTypeMap = [\n\t0x00,\n\t0x01,\n\t0x02,\n\t0x07,\n\t0x08,\n\t0x09,\n\t0x0a,\n\t0x0b,\n\t0x0c,\n\t0x0d,\n\t0x0e,\n\t0x0f,\n];\n\nfunction getScale(scale: number): Scale {\n\treturn getNamedScale(\"temperature\", scale as any)\n\t\t?? getUnknownScale(scale);\n}\nfunction getSetpointUnit(scale: number): string {\n\treturn getScale(scale).unit ?? \"\";\n}\n\nexport const ThermostatSetpointCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses[\"Thermostat Setpoint\"], {\n\t\t...V.staticProperty(\"supportedSetpointTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t}),\n\n\t...V.defineDynamicCCValues(CommandClasses[\"Thermostat Setpoint\"], {\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"setpoint\",\n\t\t\t\"setpoint\",\n\t\t\t(setpointType: ThermostatSetpointType) => setpointType,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"setpoint\" && typeof propertyKey === \"number\",\n\t\t\t(setpointType: ThermostatSetpointType) => ({\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: `Setpoint (${\n\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\t\tsetpointType,\n\t\t\t\t\t)\n\t\t\t\t})`,\n\t\t\t\tccSpecific: { setpointType },\n\t\t\t} as const),\n\t\t),\n\n\t\t// The setpoint scale is only used internally\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"setpointScale\",\n\t\t\t\"setpointScale\",\n\t\t\t(setpointType: ThermostatSetpointType) => setpointType,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"setpointScale\" && typeof propertyKey === \"number\",\n\t\t\tundefined,\n\t\t\t{ internal: true },\n\t\t),\n\t}),\n});\n\n@API(CommandClasses[\"Thermostat Setpoint\"])\nexport class ThermostatSetpointCCAPI extends CCAPI {\n\tpublic supportsCommand(\n\t\tcmd: ThermostatSetpointCommand,\n\t): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase ThermostatSetpointCommand.Get:\n\t\t\tcase ThermostatSetpointCommand.SupportedGet:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase ThermostatSetpointCommand.Set:\n\t\t\t\treturn true; // This is mandatory\n\t\t\tcase ThermostatSetpointCommand.CapabilitiesGet:\n\t\t\t\treturn this.version >= 3 && this.isSinglecast();\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(\n\t\t\tthis: ThermostatSetpointCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t\tvalue,\n\t\t) {\n\t\t\tif (property !== \"setpoint\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof propertyKey !== \"number\") {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`${\n\t\t\t\t\t\tCommandClasses[this.ccId]\n\t\t\t\t\t}: \"${property}\" must be further specified by a numeric property key`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (typeof value !== \"number\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"number\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// SDS14223: The Scale field value MUST be identical to the value received in the Thermostat Setpoint Report for the\n\t\t\t// actual Setpoint Type during the node interview. Fall back to the first scale if none is known\n\t\t\tconst preferredScale = this.tryGetValueDB()?.getValue<number>(\n\t\t\t\tThermostatSetpointCCValues.setpointScale(propertyKey).endpoint(\n\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t),\n\t\t\t);\n\t\t\tconst result = await this.set(\n\t\t\t\tpropertyKey,\n\t\t\t\tvalue,\n\t\t\t\tpreferredScale ?? 0,\n\t\t\t);\n\n\t\t\t// Verify the current value after a delay, unless the command was supervised and successful\n\t\t\tif (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n\t\t\t\t// TODO: Ideally this would be a short delay, but some thermostats like Remotec ZXT-600\n\t\t\t\t// aren't able to handle the GET this quickly.\n\t\t\t\tthis.schedulePoll({ property, propertyKey }, value);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(\n\t\t\tthis: ThermostatSetpointCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"setpoint\":\n\t\t\t\t\tif (typeof propertyKey !== \"number\") {\n\t\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\tCommandClasses[this.ccId]\n\t\t\t\t\t\t\t}: \"${property}\" must be further specified by a numeric property key`,\n\t\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (await this.get(propertyKey))?.value;\n\t\t\t\tdefault:\n\t\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n\n\t@validateArgs()\n\tpublic async get(\n\t\tsetpointType: ThermostatSetpointType,\n\t): Promise<{ value: number; scale: Scale } | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tThermostatSetpointCommand,\n\t\t\tThermostatSetpointCommand.Get,\n\t\t);\n\n\t\tconst cc = new ThermostatSetpointCCGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tThermostatSetpointCCReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (!response) return;\n\t\tif (response.type !== ThermostatSetpointType[\"N/A\"]) {\n\t\t\t// This is a supported setpoint\n\t\t\tconst scale = getScale(response.scale);\n\t\t\treturn {\n\t\t\t\tvalue: response.value,\n\t\t\t\tscale,\n\t\t\t};\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async set(\n\t\tsetpointType: ThermostatSetpointType,\n\t\tvalue: number,\n\t\tscale: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tThermostatSetpointCommand,\n\t\t\tThermostatSetpointCommand.Set,\n\t\t);\n\n\t\tconst cc = new ThermostatSetpointCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t\tvalue,\n\t\t\tscale,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getCapabilities(setpointType: ThermostatSetpointType) {\n\t\tthis.assertSupportsCommand(\n\t\t\tThermostatSetpointCommand,\n\t\t\tThermostatSetpointCommand.CapabilitiesGet,\n\t\t);\n\n\t\tconst cc = new ThermostatSetpointCCCapabilitiesGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tThermostatSetpointCCCapabilitiesReport\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\"minValue\",\n\t\t\t\t\"maxValue\",\n\t\t\t\t\"minValueScale\",\n\t\t\t\t\"maxValueScale\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t/**\n\t * Requests the supported setpoint types from the node. Due to inconsistencies it is NOT recommended\n\t * to use this method on nodes with CC versions 1 and 2. Instead rely on the information determined\n\t * during node interview.\n\t */\n\tpublic async getSupportedSetpointTypes(): Promise<\n\t\tMaybeNotKnown<readonly ThermostatSetpointType[]>\n\t> {\n\t\tthis.assertSupportsCommand(\n\t\t\tThermostatSetpointCommand,\n\t\t\tThermostatSetpointCommand.SupportedGet,\n\t\t);\n\n\t\tconst cc = new ThermostatSetpointCCSupportedGet({\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\tThermostatSetpointCCSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.supportedSetpointTypes;\n\t}\n}\n\n@commandClass(CommandClasses[\"Thermostat Setpoint\"])\n@implementedVersion(3)\n@ccValues(ThermostatSetpointCCValues)\nexport class ThermostatSetpointCC extends CommandClass {\n\tdeclare ccCommand: ThermostatSetpointCommand;\n\n\tpublic translatePropertyKey(\n\t\tctx: GetValueDB,\n\t\tproperty: string | number,\n\t\tpropertyKey: string | number,\n\t): string | undefined {\n\t\tif (property === \"setpoint\") {\n\t\t\treturn getEnumMemberName(\n\t\t\t\tThermostatSetpointType,\n\t\t\t\tpropertyKey as any,\n\t\t\t);\n\t\t} else {\n\t\t\treturn super.translatePropertyKey(ctx, property, propertyKey);\n\t\t}\n\t}\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Thermostat Setpoint\"],\n\t\t\tctx,\n\t\t\tendpoint,\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\tif (api.version <= 2) {\n\t\t\t// It has been found that early implementations of this Command Class applied two non-interoperable\n\t\t\t// interpretations of the bit mask advertising the support for specific Setpoint Types in the Thermostat\n\t\t\t// Setpoint Supported Report Command.\n\t\t\t// A controlling node SHOULD determine the supported Setpoint Types of a version 1 and version 2\n\t\t\t// supporting node by sending one Thermostat Setpoint Get Command at a time while incrementing\n\t\t\t// the requested Setpoint Type.\n\t\t\t// If the same Setpoint Type is advertised in the returned Thermostat Setpoint Report Command, the\n\t\t\t// controlling node MUST conclude that the actual Setpoint Type is supported.\n\t\t\t// If the Setpoint Type 0x00 (type N/A) is advertised in the returned Thermostat Setpoint Report\n\t\t\t// Command, the controlling node MUST conclude that the actual Setpoint Type is not supported.\n\n\t\t\t// Now scan all endpoints. Each type we received a value for gets marked as supported\n\t\t\tconst supportedSetpointTypes: ThermostatSetpointType[] = [];\n\t\t\tfor (\n\t\t\t\tlet type: ThermostatSetpointType =\n\t\t\t\t\tThermostatSetpointType.Heating;\n\t\t\t\ttype <= ThermostatSetpointType[\"Full Power\"];\n\t\t\t\ttype++\n\t\t\t) {\n\t\t\t\tconst setpointName = getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\ttype,\n\t\t\t\t);\n\t\t\t\t// Every time, query the current value\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t`querying current value of setpoint ${setpointName}...`,\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\n\t\t\t\tconst setpoint = await api.get(type);\n\t\t\t\t// If the node did not respond, assume the setpoint type is not supported\n\n\t\t\t\tlet logMessage: string;\n\t\t\t\tif (setpoint) {\n\t\t\t\t\t// Setpoint supported, remember the type\n\t\t\t\t\tsupportedSetpointTypes.push(type);\n\t\t\t\t\tlogMessage =\n\t\t\t\t\t\t`received current value of setpoint ${setpointName}: ${setpoint.value} ${\n\t\t\t\t\t\t\tsetpoint.scale.unit ?? \"\"\n\t\t\t\t\t\t}`;\n\t\t\t\t} else {\n\t\t\t\t\t// We're sure about the interpretation - this should not happen\n\t\t\t\t\tlogMessage = `setpoint ${setpointName} is not supported`;\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\n\t\t\t// Remember which setpoint types are actually supported\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tThermostatSetpointCCValues.supportedSetpointTypes,\n\t\t\t\tsupportedSetpointTypes,\n\t\t\t);\n\t\t} else {\n\t\t\t// Versions >= 3 adhere to bitmap interpretation A, so we can rely on getSupportedSetpointTypes\n\n\t\t\t// Query the supported setpoint types\n\t\t\tlet setpointTypes: ThermostatSetpointType[] = [];\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"retrieving supported setpoint types...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst resp = await api.getSupportedSetpointTypes();\n\t\t\tif (resp) {\n\t\t\t\tsetpointTypes = [...resp];\n\t\t\t\tconst logMessage = \"received supported setpoint types:\\n\"\n\t\t\t\t\t+ setpointTypes\n\t\t\t\t\t\t.map((type) =>\n\t\t\t\t\t\t\tgetEnumMemberName(ThermostatSetpointType, type)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.map((name) => `\u00B7 ${name}`)\n\t\t\t\t\t\t.join(\"\\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\tdirection: \"inbound\",\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:\n\t\t\t\t\t\t\"Querying supported setpoint types timed out, skipping interview...\",\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (const type of setpointTypes) {\n\t\t\t\tconst setpointName = getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\ttype,\n\t\t\t\t);\n\t\t\t\t// Find out the capabilities of this setpoint\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t`retrieving capabilities for setpoint ${setpointName}...`,\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\t\t\t\tconst setpointCaps = await api.getCapabilities(type);\n\t\t\t\tif (setpointCaps) {\n\t\t\t\t\tconst minValueUnit = getSetpointUnit(\n\t\t\t\t\t\tsetpointCaps.minValueScale,\n\t\t\t\t\t);\n\t\t\t\t\tconst maxValueUnit = getSetpointUnit(\n\t\t\t\t\t\tsetpointCaps.maxValueScale,\n\t\t\t\t\t);\n\t\t\t\t\tconst logMessage =\n\t\t\t\t\t\t`received capabilities for setpoint ${setpointName}:\nminimum value: ${setpointCaps.minValue} ${minValueUnit}\nmaximum value: ${setpointCaps.maxValue} ${maxValueUnit}`;\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: logMessage,\n\t\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Query the current value for all setpoint types\n\t\t\tawait this.refreshValues(ctx);\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Thermostat Setpoint\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tconst setpointTypes: ThermostatSetpointType[] = this.getValue(\n\t\t\tctx,\n\t\t\tThermostatSetpointCCValues.supportedSetpointTypes,\n\t\t) ?? [];\n\n\t\t// Query each setpoint's current value\n\t\tfor (const type of setpointTypes) {\n\t\t\tconst setpointName = getEnumMemberName(\n\t\t\t\tThermostatSetpointType,\n\t\t\t\ttype,\n\t\t\t);\n\t\t\t// Every time, query the current value\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage:\n\t\t\t\t\t`querying current value of setpoint ${setpointName}...`,\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst setpoint = await api.get(type);\n\t\t\tif (setpoint) {\n\t\t\t\tconst logMessage =\n\t\t\t\t\t`received current value of setpoint ${setpointName}: ${setpoint.value} ${\n\t\t\t\t\t\tsetpoint.scale.unit ?? \"\"\n\t\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\t}\n}\n\n// @publicAPI\nexport interface ThermostatSetpointCCSetOptions {\n\tsetpointType: ThermostatSetpointType;\n\tvalue: number;\n\tscale: number;\n}\n\n@CCCommand(ThermostatSetpointCommand.Set)\n@useSupervision()\nexport class ThermostatSetpointCCSet extends ThermostatSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ThermostatSetpointCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t\tthis.value = options.value;\n\t\tthis.scale = options.scale;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ThermostatSetpointCCSet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst setpointType: ThermostatSetpointType = raw.payload[0] & 0b1111;\n\n\t\t// parseFloatWithScale does its own validation\n\t\tconst { value, scale } = parseFloatWithScale(\n\t\t\traw.payload.subarray(1),\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsetpointType,\n\t\t\tvalue,\n\t\t\tscale,\n\t\t});\n\t}\n\n\tpublic setpointType: ThermostatSetpointType;\n\tpublic value: number;\n\tpublic scale: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// If a config file overwrites how the float should be encoded, use that information\n\t\tconst override = ctx.getDeviceConfig?.(this.nodeId as number)\n\t\t\t?.compat?.overrideFloatEncoding;\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.setpointType & 0b1111]),\n\t\t\tencodeFloatWithScale(this.value, this.scale, override),\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst scale = getScale(this.scale);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t\tvalue: `${this.value} ${scale.unit}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface ThermostatSetpointCCReportOptions {\n\ttype: ThermostatSetpointType;\n\tvalue: number;\n\tscale: number;\n}\n\n@CCCommand(ThermostatSetpointCommand.Report)\nexport class ThermostatSetpointCCReport extends ThermostatSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ThermostatSetpointCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.type = options.type;\n\t\tthis.value = options.value;\n\t\tthis.scale = options.scale;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ThermostatSetpointCCReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst type: ThermostatSetpointType = raw.payload[0] & 0b1111;\n\n\t\tif (type === 0) {\n\t\t\t// Not supported\n\t\t\treturn new this({\n\t\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t\ttype,\n\t\t\t\tvalue: 0,\n\t\t\t\tscale: 0,\n\t\t\t});\n\t\t}\n\n\t\t// parseFloatWithScale does its own validation\n\t\tconst { value, scale } = parseFloatWithScale(\n\t\t\traw.payload.subarray(1),\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttype,\n\t\t\tvalue,\n\t\t\tscale,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tconst scale = getScale(this.scale);\n\n\t\tconst setpointValue = ThermostatSetpointCCValues.setpoint(this.type);\n\t\tconst existingMetadata = this.getMetadata<ValueMetadataNumeric>(\n\t\t\tctx,\n\t\t\tsetpointValue,\n\t\t);\n\n\t\t// Update the metadata when it is missing or the unit has changed\n\t\tif (existingMetadata?.unit !== scale.unit) {\n\t\t\tthis.setMetadata(ctx, setpointValue, {\n\t\t\t\t...(existingMetadata ?? setpointValue.meta),\n\t\t\t\tunit: scale.unit,\n\t\t\t});\n\t\t}\n\t\tthis.setValue(ctx, setpointValue, this.value);\n\n\t\t// Remember the device-preferred setpoint scale so it can be used in SET commands\n\t\tthis.setValue(\n\t\t\tctx,\n\t\t\tThermostatSetpointCCValues.setpointScale(this.type),\n\t\t\tscale.key,\n\t\t);\n\t\treturn true;\n\t}\n\n\tpublic type: ThermostatSetpointType;\n\tpublic scale: number;\n\tpublic value: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.type & 0b1111]),\n\t\t\tencodeFloatWithScale(this.value, this.scale),\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst scale = getScale(this.scale);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\tthis.type,\n\t\t\t\t),\n\t\t\t\tvalue: `${this.value} ${scale.unit}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\nfunction testResponseForThermostatSetpointGet(\n\tsent: ThermostatSetpointCCGet,\n\treceived: ThermostatSetpointCCReport,\n) {\n\t// We expect a Thermostat Setpoint Report that matches the requested setpoint type\n\treturn received.type === sent.setpointType;\n}\n\n// @publicAPI\nexport interface ThermostatSetpointCCGetOptions {\n\tsetpointType: ThermostatSetpointType;\n}\n\n@CCCommand(ThermostatSetpointCommand.Get)\n@expectedCCResponse(\n\tThermostatSetpointCCReport,\n\ttestResponseForThermostatSetpointGet,\n)\nexport class ThermostatSetpointCCGet extends ThermostatSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ThermostatSetpointCCGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ThermostatSetpointCCGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst setpointType: ThermostatSetpointType = raw.payload[0] & 0b1111;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsetpointType,\n\t\t});\n\t}\n\n\tpublic setpointType: ThermostatSetpointType;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.setpointType & 0b1111]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface ThermostatSetpointCCCapabilitiesReportOptions {\n\ttype: ThermostatSetpointType;\n\tminValue: number;\n\tminValueScale: number;\n\tmaxValue: number;\n\tmaxValueScale: number;\n}\n\n@CCCommand(ThermostatSetpointCommand.CapabilitiesReport)\nexport class ThermostatSetpointCCCapabilitiesReport\n\textends ThermostatSetpointCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<ThermostatSetpointCCCapabilitiesReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.type = options.type;\n\t\tthis.minValue = options.minValue;\n\t\tthis.minValueScale = options.minValueScale;\n\t\tthis.maxValue = options.maxValue;\n\t\tthis.maxValueScale = options.maxValueScale;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ThermostatSetpointCCCapabilitiesReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst type: ThermostatSetpointType = raw.payload[0];\n\t\t// parseFloatWithScale does its own validation\n\t\tconst {\n\t\t\tvalue: minValue,\n\t\t\tscale: minValueScale,\n\t\t\tbytesRead,\n\t\t} = parseFloatWithScale(raw.payload.subarray(1));\n\t\tconst { value: maxValue, scale: maxValueScale } = parseFloatWithScale(\n\t\t\traw.payload.subarray(1 + bytesRead),\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttype,\n\t\t\tminValue,\n\t\t\tminValueScale,\n\t\t\tmaxValue,\n\t\t\tmaxValueScale,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// Predefine the metadata\n\t\tconst setpointValue = ThermostatSetpointCCValues.setpoint(this.type);\n\t\tthis.setMetadata(ctx, setpointValue, {\n\t\t\t...setpointValue.meta,\n\t\t\tmin: this.minValue,\n\t\t\tmax: this.maxValue,\n\t\t\tunit: getSetpointUnit(this.minValueScale)\n\t\t\t\t|| getSetpointUnit(this.maxValueScale),\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tpublic type: ThermostatSetpointType;\n\tpublic minValue: number;\n\tpublic maxValue: number;\n\tpublic minValueScale: number;\n\tpublic maxValueScale: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tconst min = encodeFloatWithScale(this.minValue, this.minValueScale);\n\t\tconst max = encodeFloatWithScale(this.maxValue, this.maxValueScale);\n\t\tthis.payload = Bytes.concat([Bytes.from([this.type]), min, max]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst minValueScale = getScale(this.minValueScale);\n\t\tconst maxValueScale = getScale(this.maxValueScale);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\tthis.type,\n\t\t\t\t),\n\t\t\t\t\"min value\": `${this.minValue} ${minValueScale.unit}`,\n\t\t\t\t\"max value\": `${this.maxValue} ${maxValueScale.unit}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface ThermostatSetpointCCCapabilitiesGetOptions {\n\tsetpointType: ThermostatSetpointType;\n}\n\n@CCCommand(ThermostatSetpointCommand.CapabilitiesGet)\n@expectedCCResponse(ThermostatSetpointCCCapabilitiesReport)\nexport class ThermostatSetpointCCCapabilitiesGet extends ThermostatSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ThermostatSetpointCCCapabilitiesGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ThermostatSetpointCCCapabilitiesGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst setpointType: ThermostatSetpointType = raw.payload[0] & 0b1111;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsetpointType,\n\t\t});\n\t}\n\n\tpublic setpointType: ThermostatSetpointType;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.setpointType & 0b1111]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface ThermostatSetpointCCSupportedReportOptions {\n\tsupportedSetpointTypes: ThermostatSetpointType[];\n}\n\n@CCCommand(ThermostatSetpointCommand.SupportedReport)\n@ccValueProperty(\n\t\"supportedSetpointTypes\",\n\tThermostatSetpointCCValues.supportedSetpointTypes,\n)\nexport class ThermostatSetpointCCSupportedReport extends ThermostatSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ThermostatSetpointCCSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tif (options.supportedSetpointTypes.length === 0) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`At least one setpoint type must be supported`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.supportedSetpointTypes = options.supportedSetpointTypes;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ThermostatSetpointCCSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst bitMask = raw.payload;\n\t\tconst supported = parseBitMask(\n\t\t\tbitMask,\n\t\t\tThermostatSetpointType[\"N/A\"],\n\t\t);\n\t\t// We use this command only when we are sure that bitmask interpretation A is used\n\t\t// FIXME: Figure out if we can do this without the CC version\n\t\tconst supportedSetpointTypes: ThermostatSetpointType[] = supported.map(\n\t\t\t(i) => thermostatSetpointTypeMap[i],\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedSetpointTypes,\n\t\t});\n\t}\n\n\tpublic readonly supportedSetpointTypes: readonly ThermostatSetpointType[];\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = encodeBitMask(\n\t\t\t// Encode as interpretation A\n\t\t\tthis.supportedSetpointTypes\n\t\t\t\t.map((t) => thermostatSetpointTypeMap.indexOf(t))\n\t\t\t\t.filter((t) => t !== -1),\n\t\t\tundefined,\n\t\t\tThermostatSetpointType[\"N/A\"],\n\t\t);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"supported setpoint types\": this.supportedSetpointTypes\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(t) =>\n\t\t\t\t\t\t\t`\\n\u00B7 ${\n\t\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\t\t\t\t\tt,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\"),\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(ThermostatSetpointCommand.SupportedGet)\n@expectedCCResponse(ThermostatSetpointCCSupportedReport)\n/**\n * Issues a SupportedGet command to the node. Due to inconsistencies in interpretation,\n * this command should not be used for nodes with CC versions 1 or 2\n */\nexport class ThermostatSetpointCCSupportedGet extends ThermostatSetpointCC {}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n\tCommandClasses,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype Scale,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype ValueMetadataNumeric,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tencodeBitMask,\n\tencodeFloatWithScale,\n\tgetNamedScale,\n\tgetUnknownScale,\n\tparseBitMask,\n\tparseFloatWithScale,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { getEnumMemberName, pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport {\n\tThermostatSetpointCommand,\n\tThermostatSetpointType,\n} from \"../lib/_Types.js\";\n\n// This array is used to map the advertised supported types (interpretation A)\n// to the actual enum values\nconst thermostatSetpointTypeMap = [\n\t0x00,\n\t0x01,\n\t0x02,\n\t0x07,\n\t0x08,\n\t0x09,\n\t0x0a,\n\t0x0b,\n\t0x0c,\n\t0x0d,\n\t0x0e,\n\t0x0f,\n];\n\nfunction getScale(scale: number): Scale {\n\treturn getNamedScale(\"temperature\", scale as any)\n\t\t?? getUnknownScale(scale);\n}\nfunction getSetpointUnit(scale: number): string {\n\treturn getScale(scale).unit ?? \"\";\n}\n\nexport const ThermostatSetpointCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses[\"Thermostat Setpoint\"], {\n\t\t...V.staticProperty(\"supportedSetpointTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t}),\n\n\t...V.defineDynamicCCValues(CommandClasses[\"Thermostat Setpoint\"], {\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"setpoint\",\n\t\t\t\"setpoint\",\n\t\t\t(setpointType: ThermostatSetpointType) => setpointType,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"setpoint\" && typeof propertyKey === \"number\",\n\t\t\t(setpointType: ThermostatSetpointType) => ({\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: `Setpoint (${\n\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\t\tsetpointType,\n\t\t\t\t\t)\n\t\t\t\t})`,\n\t\t\t\tccSpecific: { setpointType },\n\t\t\t} as const),\n\t\t),\n\n\t\t// The setpoint scale is only used internally\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"setpointScale\",\n\t\t\t\"setpointScale\",\n\t\t\t(setpointType: ThermostatSetpointType) => setpointType,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"setpointScale\" && typeof propertyKey === \"number\",\n\t\t\tundefined,\n\t\t\t{ internal: true },\n\t\t),\n\t}),\n});\n\n@API(CommandClasses[\"Thermostat Setpoint\"])\nexport class ThermostatSetpointCCAPI extends CCAPI {\n\tpublic supportsCommand(\n\t\tcmd: ThermostatSetpointCommand,\n\t): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase ThermostatSetpointCommand.Get:\n\t\t\tcase ThermostatSetpointCommand.SupportedGet:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase ThermostatSetpointCommand.Set:\n\t\t\t\treturn true; // This is mandatory\n\t\t\tcase ThermostatSetpointCommand.CapabilitiesGet:\n\t\t\t\treturn this.version >= 3 && this.isSinglecast();\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(\n\t\t\tthis: ThermostatSetpointCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t\tvalue,\n\t\t) {\n\t\t\tif (property !== \"setpoint\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof propertyKey !== \"number\") {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`${\n\t\t\t\t\t\tCommandClasses[this.ccId]\n\t\t\t\t\t}: \"${property}\" must be further specified by a numeric property key`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (typeof value !== \"number\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"number\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// SDS14223: The Scale field value MUST be identical to the value received in the Thermostat Setpoint Report for the\n\t\t\t// actual Setpoint Type during the node interview. Fall back to the first scale if none is known\n\t\t\tconst preferredScale = this.tryGetValueDB()?.getValue<number>(\n\t\t\t\tThermostatSetpointCCValues.setpointScale(propertyKey).endpoint(\n\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t),\n\t\t\t);\n\t\t\tconst result = await this.set(\n\t\t\t\tpropertyKey,\n\t\t\t\tvalue,\n\t\t\t\tpreferredScale ?? 0,\n\t\t\t);\n\n\t\t\t// Verify the current value after a delay, unless the command was supervised and successful\n\t\t\tif (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n\t\t\t\t// TODO: Ideally this would be a short delay, but some thermostats like Remotec ZXT-600\n\t\t\t\t// aren't able to handle the GET this quickly.\n\t\t\t\tthis.schedulePoll({ property, propertyKey }, value);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(\n\t\t\tthis: ThermostatSetpointCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"setpoint\":\n\t\t\t\t\tif (typeof propertyKey !== \"number\") {\n\t\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\tCommandClasses[this.ccId]\n\t\t\t\t\t\t\t}: \"${property}\" must be further specified by a numeric property key`,\n\t\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (await this.get(propertyKey))?.value;\n\t\t\t\tdefault:\n\t\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n\n\t@validateArgs()\n\tpublic async get(\n\t\tsetpointType: ThermostatSetpointType,\n\t): Promise<{ value: number; scale: Scale } | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tThermostatSetpointCommand,\n\t\t\tThermostatSetpointCommand.Get,\n\t\t);\n\n\t\tconst cc = new ThermostatSetpointCCGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tThermostatSetpointCCReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (!response) return;\n\t\tif (response.type !== ThermostatSetpointType[\"N/A\"]) {\n\t\t\t// This is a supported setpoint\n\t\t\tconst scale = getScale(response.scale);\n\t\t\treturn {\n\t\t\t\tvalue: response.value,\n\t\t\t\tscale,\n\t\t\t};\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async set(\n\t\tsetpointType: ThermostatSetpointType,\n\t\tvalue: number,\n\t\tscale: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tThermostatSetpointCommand,\n\t\t\tThermostatSetpointCommand.Set,\n\t\t);\n\n\t\tconst cc = new ThermostatSetpointCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t\tvalue,\n\t\t\tscale,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getCapabilities(setpointType: ThermostatSetpointType) {\n\t\tthis.assertSupportsCommand(\n\t\t\tThermostatSetpointCommand,\n\t\t\tThermostatSetpointCommand.CapabilitiesGet,\n\t\t);\n\n\t\tconst cc = new ThermostatSetpointCCCapabilitiesGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tThermostatSetpointCCCapabilitiesReport\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\"minValue\",\n\t\t\t\t\"maxValue\",\n\t\t\t\t\"minValueScale\",\n\t\t\t\t\"maxValueScale\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t/**\n\t * Requests the supported setpoint types from the node. Due to inconsistencies it is NOT recommended\n\t * to use this method on nodes with CC versions 1 and 2. Instead rely on the information determined\n\t * during node interview.\n\t */\n\tpublic async getSupportedSetpointTypes(): Promise<\n\t\tMaybeNotKnown<readonly ThermostatSetpointType[]>\n\t> {\n\t\tthis.assertSupportsCommand(\n\t\t\tThermostatSetpointCommand,\n\t\t\tThermostatSetpointCommand.SupportedGet,\n\t\t);\n\n\t\tconst cc = new ThermostatSetpointCCSupportedGet({\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\tThermostatSetpointCCSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.supportedSetpointTypes;\n\t}\n}\n\n@commandClass(CommandClasses[\"Thermostat Setpoint\"])\n@implementedVersion(3)\n@ccValues(ThermostatSetpointCCValues)\nexport class ThermostatSetpointCC extends CommandClass {\n\tdeclare ccCommand: ThermostatSetpointCommand;\n\n\tpublic translatePropertyKey(\n\t\tctx: GetValueDB,\n\t\tproperty: string | number,\n\t\tpropertyKey: string | number,\n\t): string | undefined {\n\t\tif (property === \"setpoint\") {\n\t\t\treturn getEnumMemberName(\n\t\t\t\tThermostatSetpointType,\n\t\t\t\tpropertyKey as any,\n\t\t\t);\n\t\t} else {\n\t\t\treturn super.translatePropertyKey(ctx, property, propertyKey);\n\t\t}\n\t}\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Thermostat Setpoint\"],\n\t\t\tctx,\n\t\t\tendpoint,\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\tif (api.version <= 2) {\n\t\t\t// It has been found that early implementations of this Command Class applied two non-interoperable\n\t\t\t// interpretations of the bit mask advertising the support for specific Setpoint Types in the Thermostat\n\t\t\t// Setpoint Supported Report Command.\n\t\t\t// A controlling node SHOULD determine the supported Setpoint Types of a version 1 and version 2\n\t\t\t// supporting node by sending one Thermostat Setpoint Get Command at a time while incrementing\n\t\t\t// the requested Setpoint Type.\n\t\t\t// If the same Setpoint Type is advertised in the returned Thermostat Setpoint Report Command, the\n\t\t\t// controlling node MUST conclude that the actual Setpoint Type is supported.\n\t\t\t// If the Setpoint Type 0x00 (type N/A) is advertised in the returned Thermostat Setpoint Report\n\t\t\t// Command, the controlling node MUST conclude that the actual Setpoint Type is not supported.\n\n\t\t\t// The specs require us to query the list of supported setpoint types anyways, even if the response is ignored\n\t\t\tawait api.getSupportedSetpointTypes();\n\n\t\t\t// Now scan all endpoints. Each type we received a value for gets marked as supported\n\t\t\tconst supportedSetpointTypes: ThermostatSetpointType[] = [];\n\t\t\tfor (\n\t\t\t\tlet type: ThermostatSetpointType =\n\t\t\t\t\tThermostatSetpointType.Heating;\n\t\t\t\ttype <= ThermostatSetpointType[\"Full Power\"];\n\t\t\t\ttype++\n\t\t\t) {\n\t\t\t\tconst setpointName = getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\ttype,\n\t\t\t\t);\n\t\t\t\t// Every time, query the current value\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t`querying current value of setpoint ${setpointName}...`,\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\n\t\t\t\tconst setpoint = await api.get(type);\n\t\t\t\t// If the node did not respond, assume the setpoint type is not supported\n\n\t\t\t\tlet logMessage: string;\n\t\t\t\tif (setpoint) {\n\t\t\t\t\t// Setpoint supported, remember the type\n\t\t\t\t\tsupportedSetpointTypes.push(type);\n\t\t\t\t\tlogMessage =\n\t\t\t\t\t\t`received current value of setpoint ${setpointName}: ${setpoint.value} ${\n\t\t\t\t\t\t\tsetpoint.scale.unit ?? \"\"\n\t\t\t\t\t\t}`;\n\t\t\t\t} else {\n\t\t\t\t\t// We're sure about the interpretation - this should not happen\n\t\t\t\t\tlogMessage = `setpoint ${setpointName} is not supported`;\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\n\t\t\t// Remember which setpoint types are actually supported\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tThermostatSetpointCCValues.supportedSetpointTypes,\n\t\t\t\tsupportedSetpointTypes,\n\t\t\t);\n\t\t} else {\n\t\t\t// Versions >= 3 adhere to bitmap interpretation A, so we can rely on getSupportedSetpointTypes\n\n\t\t\t// Query the supported setpoint types\n\t\t\tlet setpointTypes: ThermostatSetpointType[] = [];\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"retrieving supported setpoint types...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst resp = await api.getSupportedSetpointTypes();\n\t\t\tif (resp) {\n\t\t\t\tsetpointTypes = [...resp];\n\t\t\t\tconst logMessage = \"received supported setpoint types:\\n\"\n\t\t\t\t\t+ setpointTypes\n\t\t\t\t\t\t.map((type) =>\n\t\t\t\t\t\t\tgetEnumMemberName(ThermostatSetpointType, type)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.map((name) => `\u00B7 ${name}`)\n\t\t\t\t\t\t.join(\"\\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\tdirection: \"inbound\",\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:\n\t\t\t\t\t\t\"Querying supported setpoint types timed out, skipping interview...\",\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (const type of setpointTypes) {\n\t\t\t\tconst setpointName = getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\ttype,\n\t\t\t\t);\n\t\t\t\t// Find out the capabilities of this setpoint\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t`retrieving capabilities for setpoint ${setpointName}...`,\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\t\t\t\tconst setpointCaps = await api.getCapabilities(type);\n\t\t\t\tif (setpointCaps) {\n\t\t\t\t\tconst minValueUnit = getSetpointUnit(\n\t\t\t\t\t\tsetpointCaps.minValueScale,\n\t\t\t\t\t);\n\t\t\t\t\tconst maxValueUnit = getSetpointUnit(\n\t\t\t\t\t\tsetpointCaps.maxValueScale,\n\t\t\t\t\t);\n\t\t\t\t\tconst logMessage =\n\t\t\t\t\t\t`received capabilities for setpoint ${setpointName}:\nminimum value: ${setpointCaps.minValue} ${minValueUnit}\nmaximum value: ${setpointCaps.maxValue} ${maxValueUnit}`;\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: logMessage,\n\t\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Query the current value for all setpoint types\n\t\t\tawait this.refreshValues(ctx);\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Thermostat Setpoint\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tconst setpointTypes: ThermostatSetpointType[] = this.getValue(\n\t\t\tctx,\n\t\t\tThermostatSetpointCCValues.supportedSetpointTypes,\n\t\t) ?? [];\n\n\t\t// Query each setpoint's current value\n\t\tfor (const type of setpointTypes) {\n\t\t\tconst setpointName = getEnumMemberName(\n\t\t\t\tThermostatSetpointType,\n\t\t\t\ttype,\n\t\t\t);\n\t\t\t// Every time, query the current value\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage:\n\t\t\t\t\t`querying current value of setpoint ${setpointName}...`,\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst setpoint = await api.get(type);\n\t\t\tif (setpoint) {\n\t\t\t\tconst logMessage =\n\t\t\t\t\t`received current value of setpoint ${setpointName}: ${setpoint.value} ${\n\t\t\t\t\t\tsetpoint.scale.unit ?? \"\"\n\t\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\t}\n}\n\n// @publicAPI\nexport interface ThermostatSetpointCCSetOptions {\n\tsetpointType: ThermostatSetpointType;\n\tvalue: number;\n\tscale: number;\n}\n\n@CCCommand(ThermostatSetpointCommand.Set)\n@useSupervision()\nexport class ThermostatSetpointCCSet extends ThermostatSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ThermostatSetpointCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t\tthis.value = options.value;\n\t\tthis.scale = options.scale;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ThermostatSetpointCCSet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst setpointType: ThermostatSetpointType = raw.payload[0] & 0b1111;\n\n\t\t// parseFloatWithScale does its own validation\n\t\tconst { value, scale } = parseFloatWithScale(\n\t\t\traw.payload.subarray(1),\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsetpointType,\n\t\t\tvalue,\n\t\t\tscale,\n\t\t});\n\t}\n\n\tpublic setpointType: ThermostatSetpointType;\n\tpublic value: number;\n\tpublic scale: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// If a config file overwrites how the float should be encoded, use that information\n\t\tconst override = ctx.getDeviceConfig?.(this.nodeId as number)\n\t\t\t?.compat?.overrideFloatEncoding;\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.setpointType & 0b1111]),\n\t\t\tencodeFloatWithScale(this.value, this.scale, override),\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst scale = getScale(this.scale);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t\tvalue: `${this.value} ${scale.unit}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface ThermostatSetpointCCReportOptions {\n\ttype: ThermostatSetpointType;\n\tvalue: number;\n\tscale: number;\n}\n\n@CCCommand(ThermostatSetpointCommand.Report)\nexport class ThermostatSetpointCCReport extends ThermostatSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ThermostatSetpointCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.type = options.type;\n\t\tthis.value = options.value;\n\t\tthis.scale = options.scale;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ThermostatSetpointCCReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst type: ThermostatSetpointType = raw.payload[0] & 0b1111;\n\n\t\tif (type === 0) {\n\t\t\t// Not supported\n\t\t\treturn new this({\n\t\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t\ttype,\n\t\t\t\tvalue: 0,\n\t\t\t\tscale: 0,\n\t\t\t});\n\t\t}\n\n\t\t// parseFloatWithScale does its own validation\n\t\tconst { value, scale } = parseFloatWithScale(\n\t\t\traw.payload.subarray(1),\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttype,\n\t\t\tvalue,\n\t\t\tscale,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tconst scale = getScale(this.scale);\n\n\t\tconst setpointValue = ThermostatSetpointCCValues.setpoint(this.type);\n\t\tconst existingMetadata = this.getMetadata<ValueMetadataNumeric>(\n\t\t\tctx,\n\t\t\tsetpointValue,\n\t\t);\n\n\t\t// Update the metadata when it is missing or the unit has changed\n\t\tif (existingMetadata?.unit !== scale.unit) {\n\t\t\tthis.setMetadata(ctx, setpointValue, {\n\t\t\t\t...(existingMetadata ?? setpointValue.meta),\n\t\t\t\tunit: scale.unit,\n\t\t\t});\n\t\t}\n\t\tthis.setValue(ctx, setpointValue, this.value);\n\n\t\t// Remember the device-preferred setpoint scale so it can be used in SET commands\n\t\tthis.setValue(\n\t\t\tctx,\n\t\t\tThermostatSetpointCCValues.setpointScale(this.type),\n\t\t\tscale.key,\n\t\t);\n\t\treturn true;\n\t}\n\n\tpublic type: ThermostatSetpointType;\n\tpublic scale: number;\n\tpublic value: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.type & 0b1111]),\n\t\t\tencodeFloatWithScale(this.value, this.scale),\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst scale = getScale(this.scale);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\tthis.type,\n\t\t\t\t),\n\t\t\t\tvalue: `${this.value} ${scale.unit}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\nfunction testResponseForThermostatSetpointGet(\n\tsent: ThermostatSetpointCCGet,\n\treceived: ThermostatSetpointCCReport,\n) {\n\t// We expect a Thermostat Setpoint Report that matches the requested setpoint type\n\treturn received.type === sent.setpointType;\n}\n\n// @publicAPI\nexport interface ThermostatSetpointCCGetOptions {\n\tsetpointType: ThermostatSetpointType;\n}\n\n@CCCommand(ThermostatSetpointCommand.Get)\n@expectedCCResponse(\n\tThermostatSetpointCCReport,\n\ttestResponseForThermostatSetpointGet,\n)\nexport class ThermostatSetpointCCGet extends ThermostatSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ThermostatSetpointCCGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ThermostatSetpointCCGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst setpointType: ThermostatSetpointType = raw.payload[0] & 0b1111;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsetpointType,\n\t\t});\n\t}\n\n\tpublic setpointType: ThermostatSetpointType;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.setpointType & 0b1111]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface ThermostatSetpointCCCapabilitiesReportOptions {\n\ttype: ThermostatSetpointType;\n\tminValue: number;\n\tminValueScale: number;\n\tmaxValue: number;\n\tmaxValueScale: number;\n}\n\n@CCCommand(ThermostatSetpointCommand.CapabilitiesReport)\nexport class ThermostatSetpointCCCapabilitiesReport\n\textends ThermostatSetpointCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<ThermostatSetpointCCCapabilitiesReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.type = options.type;\n\t\tthis.minValue = options.minValue;\n\t\tthis.minValueScale = options.minValueScale;\n\t\tthis.maxValue = options.maxValue;\n\t\tthis.maxValueScale = options.maxValueScale;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ThermostatSetpointCCCapabilitiesReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst type: ThermostatSetpointType = raw.payload[0];\n\t\t// parseFloatWithScale does its own validation\n\t\tconst {\n\t\t\tvalue: minValue,\n\t\t\tscale: minValueScale,\n\t\t\tbytesRead,\n\t\t} = parseFloatWithScale(raw.payload.subarray(1));\n\t\tconst { value: maxValue, scale: maxValueScale } = parseFloatWithScale(\n\t\t\traw.payload.subarray(1 + bytesRead),\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttype,\n\t\t\tminValue,\n\t\t\tminValueScale,\n\t\t\tmaxValue,\n\t\t\tmaxValueScale,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// Predefine the metadata\n\t\tconst setpointValue = ThermostatSetpointCCValues.setpoint(this.type);\n\t\tthis.setMetadata(ctx, setpointValue, {\n\t\t\t...setpointValue.meta,\n\t\t\tmin: this.minValue,\n\t\t\tmax: this.maxValue,\n\t\t\tunit: getSetpointUnit(this.minValueScale)\n\t\t\t\t|| getSetpointUnit(this.maxValueScale),\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tpublic type: ThermostatSetpointType;\n\tpublic minValue: number;\n\tpublic maxValue: number;\n\tpublic minValueScale: number;\n\tpublic maxValueScale: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tconst min = encodeFloatWithScale(this.minValue, this.minValueScale);\n\t\tconst max = encodeFloatWithScale(this.maxValue, this.maxValueScale);\n\t\tthis.payload = Bytes.concat([Bytes.from([this.type]), min, max]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst minValueScale = getScale(this.minValueScale);\n\t\tconst maxValueScale = getScale(this.maxValueScale);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\tthis.type,\n\t\t\t\t),\n\t\t\t\t\"min value\": `${this.minValue} ${minValueScale.unit}`,\n\t\t\t\t\"max value\": `${this.maxValue} ${maxValueScale.unit}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface ThermostatSetpointCCCapabilitiesGetOptions {\n\tsetpointType: ThermostatSetpointType;\n}\n\n@CCCommand(ThermostatSetpointCommand.CapabilitiesGet)\n@expectedCCResponse(ThermostatSetpointCCCapabilitiesReport)\nexport class ThermostatSetpointCCCapabilitiesGet extends ThermostatSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ThermostatSetpointCCCapabilitiesGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ThermostatSetpointCCCapabilitiesGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst setpointType: ThermostatSetpointType = raw.payload[0] & 0b1111;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsetpointType,\n\t\t});\n\t}\n\n\tpublic setpointType: ThermostatSetpointType;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.setpointType & 0b1111]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface ThermostatSetpointCCSupportedReportOptions {\n\tsupportedSetpointTypes: ThermostatSetpointType[];\n}\n\n@CCCommand(ThermostatSetpointCommand.SupportedReport)\n@ccValueProperty(\n\t\"supportedSetpointTypes\",\n\tThermostatSetpointCCValues.supportedSetpointTypes,\n)\nexport class ThermostatSetpointCCSupportedReport extends ThermostatSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ThermostatSetpointCCSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tif (options.supportedSetpointTypes.length === 0) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`At least one setpoint type must be supported`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.supportedSetpointTypes = options.supportedSetpointTypes;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ThermostatSetpointCCSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst bitMask = raw.payload;\n\t\tconst supported = parseBitMask(\n\t\t\tbitMask,\n\t\t\tThermostatSetpointType[\"N/A\"],\n\t\t);\n\t\t// We use this command only when we are sure that bitmask interpretation A is used\n\t\t// FIXME: Figure out if we can do this without the CC version\n\t\tconst supportedSetpointTypes: ThermostatSetpointType[] = supported.map(\n\t\t\t(i) => thermostatSetpointTypeMap[i],\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedSetpointTypes,\n\t\t});\n\t}\n\n\tpublic readonly supportedSetpointTypes: readonly ThermostatSetpointType[];\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = encodeBitMask(\n\t\t\t// Encode as interpretation A\n\t\t\tthis.supportedSetpointTypes\n\t\t\t\t.map((t) => thermostatSetpointTypeMap.indexOf(t))\n\t\t\t\t.filter((t) => t !== -1),\n\t\t\tundefined,\n\t\t\tThermostatSetpointType[\"N/A\"],\n\t\t);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"supported setpoint types\": this.supportedSetpointTypes\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(t) =>\n\t\t\t\t\t\t\t`\\n\u00B7 ${\n\t\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\t\t\t\t\tt,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\"),\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(ThermostatSetpointCommand.SupportedGet)\n@expectedCCResponse(ThermostatSetpointCCSupportedReport)\n/**\n * Issues a SupportedGet command to the node. Due to inconsistencies in interpretation,\n * this command should not be used for nodes with CC versions 1 or 2\n */\nexport class ThermostatSetpointCCSupportedGet extends ThermostatSetpointCC {}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_safe"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IndicatorCC.d.ts","sourceRoot":"","sources":["../../../src/cc/IndicatorCC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndicatorCC.d.ts","sourceRoot":"","sources":["../../../src/cc/IndicatorCC.ts"],"names":[],"mappings":"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"}
@@ -1205,9 +1205,6 @@ let IndicatorCCDescriptionGet = (() => {
1205
1205
  constructor(options) {
1206
1206
  super(options);
1207
1207
  this.indicatorId = options.indicatorId;
1208
- if (!isManufacturerDefinedIndicator(this.indicatorId)) {
1209
- throw new ZWaveError("The indicator ID must be between 0x80 and 0x9f", ZWaveErrorCodes.Argument_Invalid);
1210
- }
1211
1208
  }
1212
1209
  static from(raw, ctx) {
1213
1210
  validatePayload(raw.payload.length >= 1);
@@ -1 +1 @@
1
- {"version":3,"file":"IndicatorCC.js","sourceRoot":"","sources":["../../../src/cc/IndicatorCC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndicatorCC.js","sourceRoot":"","sources":["../../../src/cc/IndicatorCC.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACN,cAAc,EAEd,SAAS,EAGT,eAAe,EAGf,aAAa,EAEb,UAAU,EACV,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,eAAe,GACf,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EACN,KAAK,EACL,UAAU,EAEV,SAAS,EAET,wBAAwB,EACxB,mBAAmB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAEN,YAAY,GAIZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,GAAG,EACH,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,GACd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAyB,MAAM,kBAAkB,CAAC;AAE3E,SAAS,8BAA8B,CAAC,WAAmB;IAC1D,OAAO,WAAW,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,CAAC;AACnD,CAAC;AAED,MAAM,kBAAkB,GACvB,qFAAqF,CAAC;AAEvF,SAAS,2BAA2B,CACnC,IAAY;IAEZ,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACnC,gDAAgD;IAChD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,MAAO,CAAC;IAC3D,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAE9D,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,IAAI,QAAQ,EAAE,CAAC;QACd,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QAChB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QAChB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,yBAAyB,CACjC,MAAyB;IAEzB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAC/C,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE5C,MAAM,KAAK,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,KAAK;WAClE,CAAC,CAAW,CAAC;IACjB,MAAM,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,KAAK;WACpE,CAAC,CAAW,CAAC;IACjB,MAAM,OAAO,GAAG,KAAK,CACnB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC;QAChD,EAAE,KAAgB,IAAI,CAAC,EACxB,CAAC,EACD,EAAE,CACF;UACE,KAAK,CACJ,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC;YAChD,EAAE,KAAgB,IAAI,CAAC,EACxB,CAAC,EACD,EAAE,CACF;cACC,GAAG,CAAC;IAER,OAAO;QACN,KAAK;QACL,OAAO;QACP,OAAO;KACP,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,GAAG,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC,SAAS,EAAE;QACnD,GAAG,CAAC,CAAC,cAAc,CAAC,uBAAuB,EAAE,SAAS,EAAE;YACvD,QAAQ,EAAE,IAAI;SACd,CAAC;QAEF,GAAG,CAAC,CAAC,sBAAsB,CAC1B,SAAS,EACT,OAAO,EACP;YACC,GAAG,aAAa,CAAC,KAAK;YACtB,KAAK,EAAE,iBAAiB;YACxB,UAAU,EAAE;gBACX,WAAW,EAAE,CAAC;aACd;SACQ,CACV;QAED,8EAA8E;QAC9E,GAAG,CAAC,CAAC,cAAc,CAClB,UAAU,EACV;YACC,GAAG,aAAa,CAAC,gBAAgB;YACjC,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE;gBACP,IAAI,EAAE,UAAU;aAChB;SACQ,EACV,EAAE,UAAU,EAAE,CAAC,EAAW,CAC1B;QAED,GAAG,CAAC,CAAC,cAAc,CAClB,SAAS,EACT;YACC,GAAG,aAAa,CAAC,MAAM;YACvB,KAAK,EAAE,SAAS;SACP,EACV,EAAE,UAAU,EAAE,CAAC,EAAW,CAC1B;KACD,CAAC;IAEF,GAAG,CAAC,CAAC,qBAAqB,CAAC,cAAc,CAAC,SAAS,EAAE;QACpD,GAAG,CAAC,CAAC,6BAA6B,CACjC,sBAAsB,EACtB,sBAAsB,EACtB,CAAC,WAAmB,EAAE,EAAE,CAAC,WAAW,EACpC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAC7B,QAAQ,KAAK,sBAAsB;eAChC,OAAO,WAAW,KAAK,QAAQ,EACnC,SAAS,EACT,EAAE,QAAQ,EAAE,IAAI,EAAE,CAClB;QAED,GAAG,CAAC,CAAC,6BAA6B,CACjC,SAAS;QACT,6DAA6D;QAC7D,CAAC,WAAmB,EAAE,UAAkB,EAAE,EAAE,CAAC,WAAW,EACxD,CAAC,WAAmB,EAAE,UAAkB,EAAE,EAAE,CAAC,UAAU,EACvD,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAC7B,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,WAAW,KAAK,QAAQ;QAChE,iEAAiE;QACjE,6BAA6B;QAC7B,CAAC,WAAmB,EAAE,UAAkB,EAAE,EAAE,CAAC,CAAC;YAC7C,GAAG,aAAa,CAAC,GAAG;YACpB,UAAU,EAAE;gBACX,WAAW;gBACX,UAAU;aACV;SACD,CAAC,EACF,EAAE,UAAU,EAAE,CAAC,EAAW,CAC1B;QAED,GAAG,CAAC,CAAC,uBAAuB,CAC3B,sBAAsB,EACtB,CAAC,WAAmB,EAAE,EAAE,CAAC,WAAW,EACpC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,EAC9C,SAAS,EACT,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAW,CAC1C;KACD,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,oBAAoB,CAC5B,WAAsB,EACtB,UAAkB,EAClB,sBAA+B;IAE/B,MAAM,KAAK,GAAG,sBAAsB;WAChC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAC7C,WAAW,EACX,UAAU,CACV,CAAC,IAAI,CAAC;IACP,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,OAAO;YACN,GAAG,YAAY;YACf,GAAG,aAAa,CAAC,KAAK;SACtB,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO;YACN,GAAG,YAAY;YACf,GAAG,aAAa,CAAC,KAAK;YACtB,KAAK;SACL,CAAC;IACH,CAAC;SAAM,CAAC;QACP,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO;gBACN,GAAG,YAAY;gBACf,GAAG,aAAa,CAAC,OAAO;gBACxB,KAAK,EAAE,GAAG,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE;gBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ;aACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACP,QAAQ;YACR,OAAO;gBACN,GAAG,YAAY;gBACf,GAAG,aAAa,CAAC,KAAK;gBACtB,KAAK,EAAE,GAAG,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE;gBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ;aACxB,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CACxB,WAA+B;IAE/B,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,KAC7B,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SACrD,GAAG,CAAC;IACL,CAAC;SAAM,CAAC;QACP,OAAO,aAAa,CAAC;IACtB,CAAC;AACF,CAAC;AAED,MAAM,qBAAqB,GAAG,EAAE,CAAC;IAGpB,cAAc;4BAD1B,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC;;;;sBACM,KAAK;;;;;;;;;;;8BAAb,SAAQ,WAAK;;;;+BAyFvC,iCAAc;+BAoBd,iCAAc;sCA+Bd,wCAAc;wCAkBd,0CAAc;2CAqCd,6CAAc;6CAsBd,+CAAc;sCAwDd,wCAAc;sCAmHd,wCAAc;0CAUd,4CAAc;YApTf,4JAAa,GAAG,6DAiBf;YAGD,4JAAa,GAAG,6DA4Bf;YAGD,iLAAa,UAAU,6DAetB;YAGD,uLAAa,YAAY,6DAkCxB;YAGD,gMAAa,eAAe,6DAmB3B;YAGD,sMAAa,iBAAiB,6DAiB7B;YAuCD,iLAAa,UAAU,6DA6GtB;YAMD,iLAAa,UAAU,6DAOtB;YAGD,6LAAa,cAAc,6DAoB1B;YAnaF,6KAoaC;;;YApaY,uDAAc;;QACnB,eAAe,CAAC,GAAqB;YAC3C,QAAQ,GAAG,EAAE,CAAC;gBACb,KAAK,gBAAgB,CAAC,GAAG,CAAC;gBAC1B,KAAK,gBAAgB,CAAC,MAAM;oBAC3B,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5B,KAAK,gBAAgB,CAAC,GAAG;oBACxB,OAAO,IAAI,CAAC,CAAC,oBAAoB;gBAClC,KAAK,gBAAgB,CAAC,YAAY,CAAC;gBACnC,KAAK,gBAAgB,CAAC,eAAe;oBACpC,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjD,KAAK,gBAAgB,CAAC,cAAc,CAAC;gBACrC,KAAK,gBAAgB,CAAC,iBAAiB;oBACtC,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAClD,CAAC;YACD,OAAO,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,IAAuB,CAAC,SAAS,CAAC;YACjC,OAAO,KAAK,WAEX,EAAE,QAAQ,EAAE,WAAW,EAAE,EACzB,KAAK;gBAEL,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC1B,WAAW;oBACX,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC/B,mBAAmB,CAClB,IAAI,CAAC,IAAI,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,KAAK,CACZ,CAAC;oBACH,CAAC;oBACD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;qBAAM,IACN,OAAO,QAAQ,KAAK,QAAQ;uBACzB,OAAO,WAAW,KAAK,QAAQ,EACjC,CAAC;oBACF,MAAM,WAAW,GAAG,QAAQ,CAAC;oBAC7B,MAAM,UAAU,GAAG,WAAW,CAAC;oBAC/B,MAAM,YAAY,GAAG,oBAAoB,CACxC,WAAW,EACX,UAAU,CACV,CAAC,IAA4B,CAAC;oBAE/B,YAAY;oBACZ,IAAI,OAAO,KAAK,KAAK,YAAY,EAAE,CAAC;wBACnC,mBAAmB,CAClB,IAAI,CAAC,IAAI,EACT,QAAQ,EACR,YAAY,EACZ,OAAO,KAAK,CACZ,CAAC;oBACH,CAAC;oBACD,OAAO,IAAI,CAAC,GAAG,CAAC;wBACf;4BACC,WAAW,EAAE,QAAQ;4BACrB,UAAU,EAAE,WAAW;4BACvB,KAAK,EAAE,KAAY;yBACnB;qBACD,CAAC,CAAC;gBACJ,CAAC;qBAAM,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;oBACpC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;wBAChC,mBAAmB,CAClB,IAAI,CAAC,IAAI,EACT,QAAQ,EACR,SAAS,EACT,OAAO,KAAK,CACZ,CAAC;oBACH,CAAC;oBACD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACP,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC/C,CAAC;YACF,CAAC,CAAC;QACH,CAAC;QAED,IAAc,CAAC,UAAU,CAAC;YACzB,OAAO,KAAK,WAAgC,EAAE,QAAQ,EAAE;gBACvD,IAAI,QAAQ,KAAK,OAAO;oBAAE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC5C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAClC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC3B,CAAC;gBAED,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC,CAAC;QACH,CAAC;QAGM,KAAK,CAAC,GAAG,CACf,WAAoB;YAEpB,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAEnE,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAClC,WAAW;aACX,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAC3C,EAAE,EACF,IAAI,CAAC,cAAc,CACnB,CAAC;YACF,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,IAAI,QAAQ,CAAC,MAAM;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;YAC5C,OAAO,QAAQ,CAAC,eAAgB,CAAC;QAClC,CAAC;QAGM,KAAK,CAAC,GAAG,CACf,KAAiC;YAEjC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAEnE,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,IAAI,UAAU,CACnB,QAAQ,IAAI,CAAC,QAAQ;qBACnB,MAAgB,uEAAuE,EACzF,eAAe,CAAC,gBAAgB,CAChC,CAAC;YACH,CAAC;iBAAM,IACN,IAAI,CAAC,OAAO,IAAI,CAAC;mBACd,OAAO,CAAC,KAAK,CAAC;mBACd,KAAK,CAAC,MAAM,GAAG,qBAAqB,EACtC,CAAC;gBACF,MAAM,IAAI,UAAU,CACnB,QAAQ,qBAAqB,yCAAyC,EACtE,eAAe,CAAC,gBAAgB,CAChC,CAAC;YACH,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAClC,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;QAGM,KAAK,CAAC,UAAU,CACtB,OAAiC;YAEjC,IAAI,CAAC,qBAAqB,CACzB,gBAAgB,EAChB,gBAAgB,CAAC,MAAM,CACvB,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC;gBAChC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAClC,GAAG,OAAO;aACV,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC;QAGM,KAAK,CAAC,YAAY,CAAC,WAAmB;YAQ5C,IAAI,CAAC,qBAAqB,CACzB,gBAAgB,EAChB,gBAAgB,CAAC,YAAY,CAC7B,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,uBAAuB,CAAC;gBACtC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAClC,WAAW;aACX,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAG3C,EAAE,EACF,IAAI,CAAC,cAAc,CACnB,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACN,wDAAwD;oBACxD,GAAG,CAAC,WAAW,KAAK,IAAI;wBACvB,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE;wBACvC,CAAC,CAAC,SAAS,CAAC;oBACb,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;oBACjD,eAAe,EAAE,QAAQ,CAAC,eAAe;iBACzC,CAAC;YACH,CAAC;QACF,CAAC;QAGM,KAAK,CAAC,eAAe,CAC3B,WAAmB,EACnB,mBAAsC,EACtC,eAAuB;YAEvB,IAAI,CAAC,qBAAqB,CACzB,gBAAgB,EAChB,gBAAgB,CAAC,eAAe,CAChC,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,0BAA0B,CAAC;gBACzC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAClC,WAAW;gBACX,mBAAmB;gBACnB,eAAe;aACf,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC;QAGM,KAAK,CAAC,iBAAiB,CAC7B,WAAmB,EACnB,WAAmB;YAEnB,IAAI,CAAC,qBAAqB,CACzB,gBAAgB,EAChB,gBAAgB,CAAC,iBAAiB,CAClC,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,4BAA4B,CAAC;gBAC3C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAClC,WAAW;gBACX,WAAW;aACX,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC;QAED;;WAEG;QACI,KAAK,CAAC,QAAQ;YACpB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,UAAU,CACnB,4EAA4E,EAC5E,eAAe,CAAC,eAAe,CAC/B,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC;gBACf;oBACC,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,IAAI;iBACX;gBACD;oBACC,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,IAAI;iBACX;gBACD;oBACC,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,IAAI;iBACX;aACD,CAAC,CAAC;QACJ,CAAC;QAED;;;;;;WAMG;QAEI,KAAK,CAAC,UAAU,CACtB,WAAmB,EACnB,OAA8C;YAE9C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE3C,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,UAAU,CACnB,8EAA8E,EAC9E,eAAe,CAAC,eAAe,CAC/B,CAAC;YACH,CAAC;YAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACjC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACpB,OAAO,GAAG,SAAS,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACP,MAAM,MAAM,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;oBACpD,IAAI,CAAC,MAAM,EAAE,CAAC;wBACb,MAAM,IAAI,UAAU,CACnB,uBAAuB,OAAO,gBAAgB,EAC9C,eAAe,CAAC,gBAAgB,CAChC,CAAC;oBACH,CAAC;oBACD,OAAO,GAAG,MAAM,CAAC;gBAClB,CAAC;YACF,CAAC;YAED,MAAM,oBAAoB,GAAG,WAAW,CAAC,6BAA6B,CACrE,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,EACb,WAAW,CACX,CAAC;YAEF,MAAM,OAAO,GAAsB,EAAE,CAAC;YACtC,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;gBACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBAElE,IAAI,KAAK,EAAE,CAAC;oBACX,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3C,MAAM,IAAI,UAAU,CACnB,iBAAiB,WAAW,gDAAgD,EAC5E,eAAe,CAAC,gBAAgB,CAChC,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC;wBACZ,WAAW;wBACX,UAAU,EAAE,IAAI;wBAChB,KAAK,EAAE,KAAK;qBACZ,CAAC,CAAC;gBACJ,CAAC;gBAED,IAAI,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3C,MAAM,IAAI,UAAU,CACnB,iBAAiB,WAAW,kDAAkD,EAC9E,eAAe,CAAC,gBAAgB,CAChC,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC;wBACZ,WAAW;wBACX,UAAU,EAAE,IAAI;wBAChB,KAAK,EAAE,OAAO;qBACd,CAAC,CAAC;gBACJ,CAAC;gBAED,IAAI,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3C,MAAM,IAAI,UAAU,CACnB,iBAAiB,WAAW,kDAAkD,EAC9E,eAAe,CAAC,gBAAgB,CAChC,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC;wBACZ,WAAW;wBACX,UAAU,EAAE,IAAI;wBAChB,KAAK,EAAE,OAAO;qBACd,CAAC,CAAC;gBACJ,CAAC;gBAED,IAAI,UAAU,EAAE,CAAC;oBAChB,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3C,MAAM,IAAI,UAAU,CACnB,iBAAiB,WAAW,wDAAwD,EACpF,eAAe,CAAC,gBAAgB,CAChC,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC;wBACZ,WAAW;wBACX,UAAU,EAAE,IAAI;wBAChB,KAAK,EAAE,UAAU;qBACjB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CACX,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3C,WAAW;oBACX,UAAU,EAAE,CAAC;oBACb,KAAK,EAAE,CAAC;iBACR,CAAC,CAAC,CACH,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED;;WAEG;QAEI,KAAK,CAAC,UAAU,CACtB,WAAmB;YAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO;YAE7B,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAGM,KAAK,CAAC,cAAc,CAC1B,WAAmB;YAEnB,IAAI,CAAC,qBAAqB,CACzB,gBAAgB,EAChB,gBAAgB,CAAC,cAAc,CAC/B,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,yBAAyB,CAAC;gBACxC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAClC,WAAW;aACX,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAG3C,EAAE,EACF,IAAI,CAAC,cAAc,CACnB,CAAC;YACF,OAAO,QAAQ,EAAE,WAAW,CAAC;QAC9B,CAAC;;;YAnaW,mDAAc;;;;;SAAd,cAAc;IAyad,WAAW;4BAHvB,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,EACtC,kBAAkB,CAAC,CAAC,CAAC,EACrB,QAAQ,CAAC,iBAAiB,CAAC;;;;sBACK,YAAY;2BAApB,SAAQ,WAAY;;;;YAA7C,6KAgMC;;;YAhMY,uDAAW;;QAGhB,KAAK,CAAC,SAAS,CACrB,GAAqB;YAErB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC;YACxC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CACvB,cAAc,CAAC,SAAS,EACxB,GAAG,EACH,QAAQ,CACR,CAAC,WAAW,CAAC;gBACb,QAAQ,EAAE,eAAe,CAAC,SAAS;aACnC,CAAC,CAAC;YAEH,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;gBACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,OAAO,EAAE,gBAAgB,IAAI,CAAC,MAAM,KAAK;gBACzC,SAAS,EAAE,MAAM;aACjB,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;oBACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,OAAO,EAAE,qCAAqC;oBAC9C,SAAS,EAAE,UAAU;iBACrB,CAAC,CAAC;gBACH,2CAA2C;gBAC3C,IAAI,KAAK,GAAG,IAAI,CAAC;gBACjB,MAAM,qBAAqB,GAAa,EAAE,CAAC;gBAC3C,GAAG,CAAC;oBACH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACxB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;4BACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;4BAC5B,OAAO,EACN,wEAAwE;4BACzE,KAAK,EAAE,MAAM;yBACb,CAAC,CAAC;wBACH,OAAO;oBACR,CAAC;oBAED,qBAAqB,CAAC,IAAI,CACzB,iBAAiB,CAAC,WAAW,IAAI,KAAK,CACtC,CAAC;oBACF,KAAK,GAAG,iBAAiB,CAAC,eAAe,CAAC;gBAC3C,CAAC,QAAQ,KAAK,KAAK,IAAI,EAAE;gBAEzB,uFAAuF;gBACvF,IAAI,CAAC,QAAQ,CACZ,GAAG,EACH,iBAAiB,CAAC,qBAAqB,EACvC,qBAAqB,CACrB,CAAC;gBACF,MAAM,UAAU,GAAG,4BAClB,qBAAqB,CAAC,IAAI,CACzB,IAAI,CAEN,EAAE,CAAC;gBACH,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;oBACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,OAAO,EAAE,UAAU;oBACnB,SAAS,EAAE,SAAS;iBACpB,CAAC,CAAC;gBAEH,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;oBACtB,MAAM,+BAA+B,GAAG,qBAAqB;yBAC3D,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,IAAI,+BAA+B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;4BACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;4BAC5B,OAAO,EACN,kEAAkE;4BACnE,SAAS,EAAE,UAAU;yBACrB,CAAC,CAAC;wBAEH,KAAK,MAAM,EAAE,IAAI,+BAA+B,EAAE,CAAC;4BAClD,MAAM,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;wBAC9B,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,uBAAuB;YACvB,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAE9B,0CAA0C;YAC1C,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAEM,KAAK,CAAC,aAAa,CACzB,GAAyB;YAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC;YACxC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CACvB,cAAc,CAAC,SAAS,EACxB,GAAG,EACH,QAAQ,CACR,CAAC,WAAW,CAAC;gBACb,QAAQ,EAAE,eAAe,CAAC,SAAS;aACnC,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;oBACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,OAAO,EAAE,uCAAuC;oBAChD,SAAS,EAAE,UAAU;iBACrB,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACP,MAAM,qBAAqB,GAAa,IAAI,CAAC,QAAQ,CACpD,GAAG,EACH,iBAAiB,CAAC,qBAAqB,CACvC,IAAI,EAAE,CAAC;gBACR,KAAK,MAAM,WAAW,IAAI,qBAAqB,EAAE,CAAC;oBACjD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;wBACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;wBAC5B,OAAO,EAAE,4CACR,OAAO,CACN,WAAW,CAEb,MAAM;wBACN,SAAS,EAAE,UAAU;qBACrB,CAAC,CAAC;oBACH,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC;QACF,CAAC;QAEM,oBAAoB,CAC1B,GAAe,EACf,QAAyB,EACzB,WAA4B;YAE5B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC1B,0EAA0E;gBAC1E,OAAO,SAAS,CAAC;YAClB,CAAC;iBAAM,IACN,OAAO,QAAQ,KAAK,QAAQ;mBACzB,OAAO,WAAW,KAAK,QAAQ,EACjC,CAAC;gBACF,6CAA6C;gBAC7C,MAAM,IAAI,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBAC/C,IAAI,IAAI;oBAAE,OAAO,IAAI,CAAC,KAAK,CAAC;YAC7B,CAAC;YACD,OAAO,KAAK,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC/D,CAAC;QAEM,iBAAiB,CACvB,GAAe,EACf,QAAyB,EACzB,WAA6B;YAE7B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACrE,4CAA4C;gBAC5C,IAAI,QAAQ,IAAI,SAAS;oBAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;QAES,oBAAoB,CAAC,GAAe;YAC7C,oDAAoD;YACpD,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAC1C,GAAG,EACH,iBAAiB,CAAC,qBAAqB,CACvC,CAAC;YACF,IAAI,CAAC,qBAAqB,EAAE,MAAM;gBAAE,OAAO,KAAK,CAAC;YACjD,kDAAkD;YAClD,OAAO,qBAAqB,CAAC,IAAI,CAChC,CAAC,WAAW,EAAE,EAAE,CACf,CAAC,CAAC,IAAI,CAAC,QAAQ,CACd,GAAG,EACH,iBAAiB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CACnD,EAAE,MAAM,CACV,CAAC;QACH,CAAC;QAEM,MAAM,CAAC,6BAA6B,CAC1C,GAAe,EACf,QAAoB,EACpB,WAAmB;YAEnB,OAAO,GAAG;iBACR,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;iBAC3B,QAAQ,CACR,iBAAiB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,QAAQ,CAC3D,QAAQ,CAAC,KAAK,CACd,CACD,CAAC;QACJ,CAAC;;;;SA/LW,WAAW;IAoNX,cAAc;4BAF1B,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAC/B,cAAc,EAAE;;;;sBACmB,WAAW;8BAAnB,SAAQ,WAAW;;;;YAA/C,6KAkGC;;;YAlGY,uDAAc;;QAC1B,YACC,OAA2C;YAE3C,KAAK,CAAC,OAAO,CAAC,CAAC;YACf,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,CAAC;QACF,CAAC;QAEM,MAAM,CAAC,IAAI,CAAC,GAAU,EAAE,GAAqB;YACnD,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAEzC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;gBACvC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO;gBAC1B,CAAC,CAAC,CAAC,CAAC;YAEL,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEvC,OAAO,IAAI,IAAI,CAAC;oBACf,MAAM,EAAE,GAAG,CAAC,YAAY;oBACxB,KAAK,EAAE,eAAe;iBACtB,CAAC,CAAC;YACJ,CAAC;YAED,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAExD,MAAM,MAAM,GAAsB,EAAE,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzB,MAAM,KAAK,GAAoB;oBAC9B,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;oBAChC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;oBACnC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC9B,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAED,OAAO,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,MAAM;aACN,CAAC,CAAC;QACJ,CAAC;QAEM,eAAe,CAAqB;QACpC,MAAM,CAAgC;QAEtC,SAAS,CAAC,GAAsB;YACtC,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM;gBACN,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC1D,6BAA6B;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,qBAAqB,CAAC;gBAC5D,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBAClD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACnC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI;wBACxC,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,KAAK,KAAK,KAAK;4BACjB,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,KAAK,CAAC;gBACV,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,KAAK;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,4DAA4D;YAC5D,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAEM,UAAU,CAAC,GAAgB;YACjC,MAAM,OAAO,GAAkB,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,eAAe,IAAI,SAAS,EAAE,CAAC;gBACvC,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YACrD,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;gBAC9B,OAAO,CAAC,MAAM,GAAG,GAChB,IAAI,CAAC,MAAM;qBACT,GAAG,CACH,CAAC,CAAC,EAAE,EAAE,CAAC;iBACI,CAAC,CAAC,WAAW;iBACb,CAAC,CAAC,UAAU;iBACZ,CAAC,CAAC,KAAK,EAAE,CACpB;qBACA,IAAI,CAAC,EAAE,CACV,EAAE,CAAC;YACJ,CAAC;YACD,OAAO;gBACN,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,OAAO;aACP,CAAC;QACH,CAAC;;;;SAjGW,cAAc;IA8Gd,iBAAiB;4BAD7B,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC;;;;sBACI,WAAW;iCAAnB,SAAQ,WAAW;;;;YAAlD,6KAkNC;;;YAlNY,uDAAiB;;QAC7B,YACC,OAA8C;YAE9C,KAAK,CAAC,OAAO,CAAC,CAAC;YAEf,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC;YACtC,CAAC;iBAAM,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAChC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;oBACnD,MAAM,IAAI,UAAU,CACnB,QAAQ,qBAAqB,yCAAyC,EACtE,eAAe,CAAC,gBAAgB,CAChC,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,CAAC;QACF,CAAC;QAEM,MAAM,CAAC,IAAI,CAAC,GAAU,EAAE,GAAqB;YACnD,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAEzC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;gBACvC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO;gBAC1B,CAAC,CAAC,CAAC,CAAC;YAEL,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvC,OAAO,IAAI,IAAI,CAAC;oBACf,MAAM,EAAE,GAAG,CAAC,YAAY;oBACxB,KAAK,EAAE,eAAe;iBACtB,CAAC,CAAC;YACJ,CAAC;YAED,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAExD,MAAM,MAAM,GAAsB,EAAE,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzB,MAAM,KAAK,GAAoB;oBAC9B,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;oBAChC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;oBACnC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC9B,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAED,OAAO,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,MAAM;aACN,CAAC,CAAC;YAEH,+BAA+B;YAE/B,sFAAsF;YACtF,kFAAkF;YAClF,kDAAkD;YAClD,uCAAuC;YACvC,+BAA+B;YAC/B,oCAAoC;YACpC,yBAAyB;YACzB,kBAAkB;YAClB,OAAO;YACP,YAAY;YACZ,qCAAqC;YACrC,0EAA0E;YAC1E,WAAW;YACX,iEAAiE;YACjE,KAAK;YACL,mCAAmC;YACnC,sDAAsD;YACtD,4BAA4B;YAC5B,iBAAiB;YACjB,yBAAyB;YACzB,cAAc;YACd,OAAO;YACP,IAAI;QACL,CAAC;QAEM,aAAa,CAAC,GAAyB;YAC7C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE5C,IAAI,IAAI,CAAC,eAAe,IAAI,SAAS,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrC,oBAAoB;oBACpB,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC;oBAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACP,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;wBACzB,SAAS;wBACT,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;4BACxB,OAAO,EACN,sEAAsE;4BACvE,SAAS,EAAE,MAAM;4BACjB,QAAQ,EAAE,IAAI,CAAC,aAAa;yBAC5B,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;YACF,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxB,gCAAgC;gBAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACpC,CAAC;gBAED,oDAAoD;gBAEpD,cAAc;gBACd,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,OAAO,EAAE,CAAC;oBACb,IAAI,aAAa,GAAG,EAAE,CAAC;oBACvB,IAAI,OAAO,EAAE,KAAK;wBAAE,aAAa,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC;oBACzD,IAAI,OAAO,EAAE,OAAO;wBAAE,aAAa,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC;oBAC7D,IAAI,OAAO,EAAE,OAAO;wBAAE,aAAa,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC;oBAE7D,IAAI,CAAC,QAAQ,CACZ,GAAG,EACH,iBAAiB,CAAC,OAAO,EACzB,aAAa,CACb,CAAC;gBACH,CAAC;YACF,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC;QAEe,eAAe,CAAqB;QACpC,MAAM,CAAgC;QAE9C,iBAAiB,CACxB,GAAe,EACf,KAAsB;YAEtB,0DAA0D;YAC1D,MAAM,sBAAsB,GAAG,8BAA8B,CAC3D,KAAK,CAAC,WAAW,CACjB;gBACD,CAAC,CAAC,IAAI,CAAC,QAAQ,CACd,GAAG,EACH,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,CACzD;gBACD,CAAC,CAAC,SAAS,CAAC;YAEb,MAAM,QAAQ,GAAG,oBAAoB,CACpC,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,UAAU,EAChB,sBAAsB,CACtB,CAAC;YACF,mCAAmC;YACnC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACjC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;YAC7B,CAAC;YAED,oBAAoB;YACpB,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CACxC,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,UAAU,CAChB,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAEM,SAAS,CAAC,GAAsB;YACtC,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM;gBACN,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC1D,6BAA6B;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,qBAAqB,CAAC;gBAC5D,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBAClD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACnC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI;wBACxC,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,KAAK,KAAK,KAAK;4BACjB,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,KAAK,CAAC;gBACV,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,KAAK;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,4DAA4D;YAC5D,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAEM,UAAU,CAAC,GAAgB;YACjC,MAAM,OAAO,GAAkB,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,eAAe,IAAI,SAAS,EAAE,CAAC;gBACvC,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YACrD,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;gBAC9B,OAAO,CAAC,MAAM,GAAG,GAChB,IAAI,CAAC,MAAM;qBACT,GAAG,CACH,CAAC,CAAC,EAAE,EAAE,CAAC;iBACI,CAAC,CAAC,WAAW;iBACb,CAAC,CAAC,UAAU;iBACZ,CAAC,CAAC,KAAK,EAAE,CACpB;qBACA,IAAI,CAAC,EAAE,CACV,EAAE,CAAC;YACJ,CAAC;YACD,OAAO;gBACN,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,OAAO;aACP,CAAC;QACH,CAAC;;;;SAjNW,iBAAiB;IA2NjB,cAAc;4BAF1B,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAC/B,kBAAkB,CAAC,iBAAiB,CAAC;;;;sBACF,WAAW;8BAAnB,SAAQ,WAAW;;;;YAA/C,6KAuCC;;;YAvCY,uDAAc;;QAC1B,YACC,OAA2C;YAE3C,KAAK,CAAC,OAAO,CAAC,CAAC;YACf,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,CAAC;QAEM,MAAM,CAAC,IAAI,CAAC,GAAU,EAAE,GAAqB;YACnD,IAAI,WAA+B,CAAC;YAEpC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;YAED,OAAO,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,WAAW;aACX,CAAC,CAAC;QACJ,CAAC;QAEM,WAAW,CAAqB;QAEhC,SAAS,CAAC,GAAsB;YACtC,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC/C,CAAC;YACD,4DAA4D;YAC5D,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAEM,UAAU,CAAC,GAAgB;YACjC,OAAO;gBACN,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,OAAO,EAAE;oBACR,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;iBAC7C;aACD,CAAC;QACH,CAAC;;;;SAtCW,cAAc;IAiDd,0BAA0B;4BADtC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC;;;;sBACI,WAAW;0CAAnB,SAAQ,WAAW;;;;YAA3D,6KA6FC;;;YA7FY,uDAA0B;;QACtC,YACC,OAAuD;YAEvD,KAAK,CAAC,OAAO,CAAC,CAAC;YAEf,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACvC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAC/C,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACxD,CAAC;QAEM,MAAM,CAAC,IAAI,CACjB,GAAU,EACV,GAAqB;YAErB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YAC/C,IAAI,mBAAsC,CAAC;YAE3C,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;gBACzB,mBAAmB,GAAG,EAAE,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACP,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;gBACzD,kDAAkD;gBAClD,mBAAmB,GAAG,YAAY,CACjC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,EAC1C,CAAC,CACD,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1B,CAAC;YAED,OAAO,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,WAAW;gBACX,eAAe;gBACf,mBAAmB;aACnB,CAAC,CAAC;QACJ,CAAC;QAEM,aAAa,CAAC,GAAyB;YAC7C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE5C,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC/B,4CAA4C;gBAC5C,IAAI,CAAC,QAAQ,CACZ,GAAG,EACH,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EACxD,IAAI,CAAC,mBAAmB,CACxB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAEe,WAAW,CAAS;QACpB,eAAe,CAAS;QACxB,mBAAmB,CAAoB;QAEhD,SAAS,CAAC,GAAsB;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;gBAClD,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,EAAE,CAAC,CAAC;gBACvD,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC;oBACV,IAAI,CAAC,WAAW;oBAChB,IAAI,CAAC,eAAe;oBACpB,OAAO,CAAC,MAAM;iBACd,CAAC;gBACF,OAAO;aACP,CAAC,CAAC;YAEH,4DAA4D;YAC5D,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAEM,UAAU,CAAC,GAAgB;YACjC,OAAO;gBACN,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,OAAO,EAAE;oBACR,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC7C,sBAAsB,EAAE,GACvB,IAAI,CAAC,mBAAmB;yBACtB,GAAG,CACH,CAAC,EAAE,EAAE,EAAE,CACN,oBAAoB,CAAC,EAAE,CAAC,EAAE,KAAK;2BAC3B,YAAY,OAAO,CAAC,EAAE,CAAC,GAAG,CAC/B;yBACA,IAAI,CAAC,IAAI,CACZ,EAAE;oBACF,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC;iBACxD;aACD,CAAC;QACH,CAAC;;;;SA5FW,0BAA0B;AAoGvC,SAAS,oCAAoC,CAC5C,IAA6B,EAC7B,QAAoC;IAEpC,OAAO,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,CAAC;AAC5E,CAAC;IAOY,uBAAuB;4BALnC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACxC,kBAAkB,CAClB,0BAA0B,EAC1B,oCAAoC,CACpC;;;;sBAC4C,WAAW;uCAAnB,SAAQ,WAAW;;;;YAAxD,6KAqCC;;;YArCY,uDAAuB;;QACnC,YACC,OAAoD;YAEpD,KAAK,CAAC,OAAO,CAAC,CAAC;YACf,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,CAAC;QAEM,MAAM,CAAC,IAAI,CACjB,GAAU,EACV,GAAqB;YAErB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEnC,OAAO,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,WAAW;aACX,CAAC,CAAC;QACJ,CAAC;QAEM,WAAW,CAAS;QAEpB,SAAS,CAAC,GAAsB;YACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9C,4DAA4D;YAC5D,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAEM,UAAU,CAAC,GAAgB;YACjC,OAAO;gBACN,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,OAAO,EAAE;oBACR,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;iBAC7C;aACD,CAAC;QACH,CAAC;;;;SApCW,uBAAuB;IA8CvB,4BAA4B;4BADxC,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;;;;sBACI,WAAW;4CAAnB,SAAQ,WAAW;;;;YAA7D,6KAiEC;;;YAjEY,uDAA4B;;QACxC,YACC,OAAyD;YAEzD,KAAK,CAAC,OAAO,CAAC,CAAC;YAEf,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,CAAC;QAEM,MAAM,CAAC,IAAI,CACjB,GAAU,EACV,GAAqB;YAErB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAW,GAAG,CAAC,OAAO;iBACrC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC;iBACjC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEnB,OAAO,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,WAAW;gBACX,WAAW;aACX,CAAC,CAAC;QACJ,CAAC;QAEM,WAAW,CAAS;QACpB,WAAW,CAAS;QAEpB,aAAa,CAAC,GAAyB;YAC7C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE5C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ,CACZ,GAAG,EACH,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EACxD,IAAI,CAAC,WAAW,CAChB,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC;QAEM,SAAS,CAAC,GAAsB;YACtC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;gBAClD,WAAW;aACX,CAAC,CAAC;YACH,4DAA4D;YAC5D,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAEM,UAAU,CAAC,GAAgB;YACjC,OAAO;gBACN,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,OAAO,EAAE;oBACR,cAAc,EAAE,IAAI,CAAC,WAAW;oBAChC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,QAAQ;iBACzC;aACD,CAAC;QACH,CAAC;;;;SAhEW,4BAA4B;AAwEzC,SAAS,sCAAsC,CAC9C,IAA+B,EAC/B,QAAsC;IAEtC,OAAO,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,CAAC;AAClD,CAAC;IAOY,yBAAyB;4BALrC,SAAS,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAC1C,kBAAkB,CAClB,4BAA4B,EAC5B,sCAAsC,CACtC;;;;sBAC8C,WAAW;yCAAnB,SAAQ,WAAW;;;;YAA1D,6KAqCC;;;YArCY,uDAAyB;;QACrC,YACC,OAAsD;YAEtD,KAAK,CAAC,OAAO,CAAC,CAAC;YACf,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,CAAC;QAEM,MAAM,CAAC,IAAI,CACjB,GAAU,EACV,GAAqB;YAErB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEnC,OAAO,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,WAAW;aACX,CAAC,CAAC;QACJ,CAAC;QAEM,WAAW,CAAS;QAEpB,SAAS,CAAC,GAAsB;YACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9C,4DAA4D;YAC5D,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAEM,UAAU,CAAC,GAAgB;YACjC,OAAO;gBACN,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,OAAO,EAAE;oBACR,cAAc,EAAE,IAAI,CAAC,WAAW;iBAChC;aACD,CAAC;QACH,CAAC;;;;SApCW,yBAAyB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThermostatSetpointCC.d.ts","sourceRoot":"","sources":["../../../src/cc/ThermostatSetpointCC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThermostatSetpointCC.d.ts","sourceRoot":"","sources":["../../../src/cc/ThermostatSetpointCC.ts"],"names":[],"mappings":"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"}
@@ -269,6 +269,8 @@ let ThermostatSetpointCC = (() => {
269
269
  // controlling node MUST conclude that the actual Setpoint Type is supported.
270
270
  // If the Setpoint Type 0x00 (type N/A) is advertised in the returned Thermostat Setpoint Report
271
271
  // Command, the controlling node MUST conclude that the actual Setpoint Type is not supported.
272
+ // The specs require us to query the list of supported setpoint types anyways, even if the response is ignored
273
+ await api.getSupportedSetpointTypes();
272
274
  // Now scan all endpoints. Each type we received a value for gets marked as supported
273
275
  const supportedSetpointTypes = [];
274
276
  for (let type = ThermostatSetpointType.Heating; type <= ThermostatSetpointType["Full Power"]; type++) {
@@ -1 +1 @@
1
- {"version":3,"file":"ThermostatSetpointCC.js","sourceRoot":"","sources":["../../../src/cc/ThermostatSetpointCC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThermostatSetpointCC.js","sourceRoot":"","sources":["../../../src/cc/ThermostatSetpointCC.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zwave-js/cc",
3
- "version": "14.3.8",
3
+ "version": "14.3.9",
4
4
  "description": "zwave-js: Command Classes",
5
5
  "keywords": [],
6
6
  "publishConfig": {
@@ -68,8 +68,8 @@
68
68
  "test:dirty": "tsx ../maintenance/src/resolveDirtyTests.ts --run"
69
69
  },
70
70
  "dependencies": {
71
- "@zwave-js/core": "14.3.8",
72
- "@zwave-js/host": "14.3.8",
71
+ "@zwave-js/core": "14.3.9",
72
+ "@zwave-js/host": "14.3.9",
73
73
  "@zwave-js/shared": "14.3.7",
74
74
  "alcalzone-shared": "^5.0.0",
75
75
  "ansi-colors": "^4.1.3",
@@ -79,7 +79,7 @@
79
79
  "@alcalzone/esm2cjs": "^1.4.1",
80
80
  "@microsoft/api-extractor": "^7.48.0",
81
81
  "@types/node": "^18.19.63",
82
- "@zwave-js/maintenance": "14.3.8",
82
+ "@zwave-js/maintenance": "14.3.9",
83
83
  "@zwave-js/transformers": "14.3.6",
84
84
  "del-cli": "^6.0.0",
85
85
  "es-main": "^1.3.0",