@zwave-js/cc 15.10.0 → 15.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -324,7 +324,16 @@ let CentralSceneCCNotification = (() => {
|
|
|
324
324
|
if (!super.persistValues(ctx))
|
|
325
325
|
return false;
|
|
326
326
|
const sceneValue = import_CCValues_generated.CentralSceneCCValues.scene(this.sceneNumber);
|
|
327
|
-
this.
|
|
327
|
+
const sceneConfig = ctx.getDeviceConfig?.(this.nodeId)?.scenes?.get(this.sceneNumber);
|
|
328
|
+
if (sceneConfig) {
|
|
329
|
+
this.ensureMetadata(ctx, sceneValue, {
|
|
330
|
+
...sceneValue.meta,
|
|
331
|
+
label: sceneConfig.label,
|
|
332
|
+
description: sceneConfig.description
|
|
333
|
+
});
|
|
334
|
+
} else {
|
|
335
|
+
this.ensureMetadata(ctx, sceneValue);
|
|
336
|
+
}
|
|
328
337
|
return true;
|
|
329
338
|
}
|
|
330
339
|
sequenceNumber;
|
|
@@ -404,10 +413,19 @@ let CentralSceneCCSupportedReport = (() => {
|
|
|
404
413
|
persistValues(ctx) {
|
|
405
414
|
if (!super.persistValues(ctx))
|
|
406
415
|
return false;
|
|
416
|
+
const deviceConfig = ctx.getDeviceConfig?.(this.nodeId);
|
|
407
417
|
for (let i = 1; i <= this.sceneCount; i++) {
|
|
408
418
|
const sceneValue = import_CCValues_generated.CentralSceneCCValues.scene(i);
|
|
419
|
+
const sceneMetadata = { ...sceneValue.meta };
|
|
420
|
+
const sceneConfig = deviceConfig?.scenes?.get(i);
|
|
421
|
+
if (sceneConfig) {
|
|
422
|
+
sceneMetadata.label = sceneConfig.label;
|
|
423
|
+
}
|
|
424
|
+
if (sceneConfig?.description) {
|
|
425
|
+
sceneMetadata.description = sceneConfig.description;
|
|
426
|
+
}
|
|
409
427
|
this.setMetadata(ctx, sceneValue, {
|
|
410
|
-
...
|
|
428
|
+
...sceneMetadata,
|
|
411
429
|
states: (0, import_core.enumValuesToMetadataStates)(import_Types.CentralSceneKeys, this._supportedKeyAttributes.get(i))
|
|
412
430
|
});
|
|
413
431
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/CentralSceneCC.ts"],
|
|
4
|
-
"sourcesContent": ["import type { CCEncodingContext, CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCommandClasses,\n\ttype GetValueDB,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tenumValuesToMetadataStates,\n\tgetCCName,\n\tmaybeUnknownToString,\n\tparseBitMask,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, pick } from \"@zwave-js/shared\";\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} 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 { CentralSceneCommand, CentralSceneKeys } from \"../lib/_Types.js\";\nimport * as ccUtils from \"../lib/utils.js\";\n\nexport const CentralSceneCCValues = V.defineCCValues(\n\tCommandClasses[\"Central Scene\"],\n\t{\n\t\t...V.staticProperty(\"sceneCount\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportsSlowRefresh\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedKeyAttributes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\n\t\t\t\"slowRefresh\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Send held down notifications at a slow rate\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"When this is true, KeyHeldDown notifications are sent every 55s. When this is false, the notifications are sent every 200ms.\",\n\t\t\t} as const,\n\t\t),\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"scene\",\n\t\t\t\"scene\",\n\t\t\t(sceneNumber: number) => sceneNumber.toString().padStart(3, \"0\"),\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"scene\"\n\t\t\t\t&& typeof propertyKey === \"string\"\n\t\t\t\t&& /^\\d{3}$/.test(propertyKey),\n\t\t\t(sceneNumber: number) => ({\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: `Scene ${sceneNumber.toString().padStart(3, \"0\")}`,\n\t\t\t} as const),\n\t\t\t{ stateful: false } as const,\n\t\t),\n\t},\n);\n\n@API(CommandClasses[\"Central Scene\"])\nexport class CentralSceneCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: CentralSceneCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase CentralSceneCommand.SupportedGet:\n\t\t\t\treturn this.isSinglecast(); // this is mandatory\n\t\t\tcase CentralSceneCommand.ConfigurationGet:\n\t\t\t\treturn this.version >= 3 && this.isSinglecast();\n\t\t\tcase CentralSceneCommand.ConfigurationSet:\n\t\t\t\treturn this.version >= 3;\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getSupported() {\n\t\tthis.assertSupportsCommand(\n\t\t\tCentralSceneCommand,\n\t\t\tCentralSceneCommand.SupportedGet,\n\t\t);\n\n\t\tconst cc = new CentralSceneCCSupportedGet({\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\tCentralSceneCCSupportedReport\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\"sceneCount\",\n\t\t\t\t\"supportsSlowRefresh\",\n\t\t\t\t\"supportedKeyAttributes\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getConfiguration() {\n\t\tthis.assertSupportsCommand(\n\t\t\tCentralSceneCommand,\n\t\t\tCentralSceneCommand.ConfigurationGet,\n\t\t);\n\n\t\tconst cc = new CentralSceneCCConfigurationGet({\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\tCentralSceneCCConfigurationReport\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, [\"slowRefresh\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async setConfiguration(\n\t\tslowRefresh: boolean,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tCentralSceneCommand,\n\t\t\tCentralSceneCommand.ConfigurationSet,\n\t\t);\n\n\t\tconst cc = new CentralSceneCCConfigurationSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tslowRefresh,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(this: CentralSceneCCAPI, { property }, value) {\n\t\t\tif (property !== \"slowRefresh\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof value !== \"boolean\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"boolean\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn this.setConfiguration(value);\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: CentralSceneCCAPI, { property }) {\n\t\t\tif (property === \"slowRefresh\") {\n\t\t\t\treturn (await this.getConfiguration())?.[property];\n\t\t\t}\n\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t};\n\t}\n}\n\n@commandClass(CommandClasses[\"Central Scene\"])\n@implementedVersion(3)\n@ccValues(CentralSceneCCValues)\nexport class CentralSceneCC extends CommandClass {\n\tdeclare ccCommand: CentralSceneCommand;\n\n\tpublic determineRequiredCCInterviews(): readonly CommandClasses[] {\n\t\treturn [\n\t\t\t...super.determineRequiredCCInterviews(),\n\t\t\tCommandClasses.Association,\n\t\t\tCommandClasses[\"Multi Channel Association\"],\n\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t];\n\t}\n\n\tpublic skipEndpointInterview(): boolean {\n\t\t// Central scene notifications are issued by the root device\n\t\treturn true;\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[\"Central Scene\"],\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\t// If one Association group issues CentralScene notifications,\n\t\t// we must associate ourselves with that channel\n\t\ttry {\n\t\t\tawait ccUtils.assignLifelineIssueingCommand(\n\t\t\t\tctx,\n\t\t\t\tendpoint,\n\t\t\t\tthis.ccId,\n\t\t\t\tCentralSceneCommand.Notification,\n\t\t\t);\n\t\t} catch {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: endpoint.index,\n\t\t\t\tmessage: `Configuring associations to receive ${\n\t\t\t\t\tgetCCName(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t)\n\t\t\t\t} commands failed!`,\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"Querying supported scenes...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst ccSupported = await api.getSupported();\n\t\tif (ccSupported) {\n\t\t\tconst logMessage = `received supported scenes:\n# of scenes: ${ccSupported.sceneCount}\nsupports slow refresh: ${ccSupported.supportsSlowRefresh}`;\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\t\t} else {\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 supported scenes timed out, skipping interview...\",\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\t// The slow refresh capability should be enabled whenever possible\n\t\tif (api.version >= 3 && ccSupported?.supportsSlowRefresh) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"Enabling slow refresh capability...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tawait api.setConfiguration(true);\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n}\n\n// @publicAPI\nexport interface CentralSceneCCNotificationOptions {\n\tsequenceNumber: number;\n\tkeyAttribute: CentralSceneKeys;\n\tsceneNumber: number;\n\tslowRefresh?: boolean;\n}\n\n@CCCommand(CentralSceneCommand.Notification)\nexport class CentralSceneCCNotification extends CentralSceneCC {\n\tpublic constructor(\n\t\toptions: WithAddress<CentralSceneCCNotificationOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.sequenceNumber = options.sequenceNumber;\n\t\tthis.keyAttribute = options.keyAttribute;\n\t\tthis.sceneNumber = options.sceneNumber;\n\t\tthis.slowRefresh = options.slowRefresh;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): CentralSceneCCNotification {\n\t\tvalidatePayload(raw.payload.length >= 3);\n\t\tconst sequenceNumber = raw.payload[0];\n\t\tconst keyAttribute: CentralSceneKeys = raw.payload[1] & 0b111;\n\t\tconst sceneNumber = raw.payload[2];\n\t\tlet slowRefresh: boolean | undefined;\n\t\tif (keyAttribute === CentralSceneKeys.KeyHeldDown) {\n\t\t\t// A receiving node MUST ignore this field if the command is not\n\t\t\t// carrying the Key Held Down key attribute.\n\t\t\tslowRefresh = !!(raw.payload[1] & 0b1000_0000);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceNumber,\n\t\t\tkeyAttribute,\n\t\t\tsceneNumber,\n\t\t\tslowRefresh,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// In case the interview is not yet completed, we still create some basic metadata\n\t\tconst sceneValue = CentralSceneCCValues.scene(this.sceneNumber);\n\t\tthis.ensureMetadata(ctx, sceneValue);\n\n\t\t// The spec behavior is pretty complicated, so we cannot just store\n\t\t// the value and call it a day. Handling of these notifications will\n\t\t// happen in the receiving node class\n\n\t\treturn true;\n\t}\n\n\tpublic readonly sequenceNumber: number;\n\tpublic readonly keyAttribute: CentralSceneKeys;\n\tpublic readonly sceneNumber: number;\n\tpublic readonly slowRefresh: boolean | undefined;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"sequence number\": this.sequenceNumber,\n\t\t\t\"key attribute\": getEnumMemberName(\n\t\t\t\tCentralSceneKeys,\n\t\t\t\tthis.keyAttribute,\n\t\t\t),\n\t\t\t\"scene number\": this.sceneNumber,\n\t\t};\n\t\tif (this.slowRefresh != undefined) {\n\t\t\tmessage[\"slow refresh\"] = this.slowRefresh;\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 CentralSceneCCSupportedReportOptions {\n\tsceneCount: number;\n\tsupportsSlowRefresh: MaybeNotKnown<boolean>;\n\tsupportedKeyAttributes: Record<number, readonly CentralSceneKeys[]>;\n}\n\n@CCCommand(CentralSceneCommand.SupportedReport)\n@ccValueProperty(\"sceneCount\", CentralSceneCCValues.sceneCount)\n@ccValueProperty(\n\t\"supportsSlowRefresh\",\n\tCentralSceneCCValues.supportsSlowRefresh,\n)\n@ccValueProperty(\n\t\"supportedKeyAttributes\",\n\tCentralSceneCCValues.supportedKeyAttributes,\n)\nexport class CentralSceneCCSupportedReport extends CentralSceneCC {\n\tpublic constructor(\n\t\toptions: WithAddress<CentralSceneCCSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.sceneCount = options.sceneCount;\n\t\tthis.supportsSlowRefresh = options.supportsSlowRefresh;\n\t\tfor (\n\t\t\tconst [scene, keys] of Object.entries(\n\t\t\t\toptions.supportedKeyAttributes,\n\t\t\t)\n\t\t) {\n\t\t\tthis._supportedKeyAttributes.set(\n\t\t\t\tparseInt(scene),\n\t\t\t\tkeys,\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): CentralSceneCCSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst sceneCount = raw.payload[0];\n\t\tconst supportsSlowRefresh: MaybeNotKnown<boolean> =\n\t\t\t!!(raw.payload[1] & 0b1000_0000);\n\t\tconst bitMaskBytes = (raw.payload[1] & 0b110) >>> 1;\n\t\tconst identicalKeyAttributes = !!(raw.payload[1] & 0b1);\n\t\tconst numEntries = identicalKeyAttributes ? 1 : sceneCount;\n\t\tvalidatePayload(raw.payload.length >= 2 + bitMaskBytes * numEntries);\n\t\tconst supportedKeyAttributes: Record<\n\t\t\tnumber,\n\t\t\treadonly CentralSceneKeys[]\n\t\t> = {};\n\t\tfor (let i = 0; i < numEntries; i++) {\n\t\t\tconst mask = raw.payload.subarray(\n\t\t\t\t2 + i * bitMaskBytes,\n\t\t\t\t2 + (i + 1) * bitMaskBytes,\n\t\t\t);\n\t\t\tsupportedKeyAttributes[i + 1] = parseBitMask(\n\t\t\t\tmask,\n\t\t\t\tCentralSceneKeys.KeyPressed,\n\t\t\t);\n\t\t}\n\n\t\tif (identicalKeyAttributes) {\n\t\t\t// The key attributes are only transmitted for scene 1, copy them to the others\n\t\t\tfor (let i = 2; i <= sceneCount; i++) {\n\t\t\t\tsupportedKeyAttributes[i] = supportedKeyAttributes[1];\n\t\t\t}\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsceneCount,\n\t\t\tsupportsSlowRefresh,\n\t\t\tsupportedKeyAttributes,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// Create/extend metadata for all scenes\n\t\tfor (let i = 1; i <= this.sceneCount; i++) {\n\t\t\tconst sceneValue = CentralSceneCCValues.scene(i);\n\t\t\tthis.setMetadata(ctx, sceneValue, {\n\t\t\t\t...sceneValue.meta,\n\t\t\t\tstates: enumValuesToMetadataStates(\n\t\t\t\t\tCentralSceneKeys,\n\t\t\t\t\tthis._supportedKeyAttributes.get(i),\n\t\t\t\t),\n\t\t\t});\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic readonly sceneCount: number;\n\n\t// TODO: Only offer `slowRefresh` if this is true\n\n\tpublic readonly supportsSlowRefresh: MaybeNotKnown<boolean>;\n\n\tprivate _supportedKeyAttributes = new Map<\n\t\tnumber,\n\t\treadonly CentralSceneKeys[]\n\t>();\n\n\tpublic get supportedKeyAttributes(): ReadonlyMap<\n\t\tnumber,\n\t\treadonly CentralSceneKeys[]\n\t> {\n\t\treturn this._supportedKeyAttributes;\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"scene count\": this.sceneCount,\n\t\t\t\"supports slow refresh\": maybeUnknownToString(\n\t\t\t\tthis.supportsSlowRefresh,\n\t\t\t),\n\t\t};\n\t\tfor (const [scene, keys] of this.supportedKeyAttributes) {\n\t\t\tmessage[`supported attributes (scene #${scene})`] = keys\n\t\t\t\t.map((k) => `\\n\u00B7 ${getEnumMemberName(CentralSceneKeys, k)}`)\n\t\t\t\t.join(\"\");\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(CentralSceneCommand.SupportedGet)\n@expectedCCResponse(CentralSceneCCSupportedReport)\nexport class CentralSceneCCSupportedGet extends CentralSceneCC {}\n\n// @publicAPI\nexport interface CentralSceneCCConfigurationReportOptions {\n\tslowRefresh: boolean;\n}\n\n@CCCommand(CentralSceneCommand.ConfigurationReport)\n@ccValueProperty(\"slowRefresh\", CentralSceneCCValues.slowRefresh)\nexport class CentralSceneCCConfigurationReport extends CentralSceneCC {\n\tpublic constructor(\n\t\toptions: WithAddress<CentralSceneCCConfigurationReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.slowRefresh = options.slowRefresh;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): CentralSceneCCConfigurationReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst slowRefresh = !!(raw.payload[0] & 0b1000_0000);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tslowRefresh,\n\t\t});\n\t}\n\n\tpublic readonly slowRefresh: boolean;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"slow refresh\": this.slowRefresh },\n\t\t};\n\t}\n}\n\n@CCCommand(CentralSceneCommand.ConfigurationGet)\n@expectedCCResponse(CentralSceneCCConfigurationReport)\nexport class CentralSceneCCConfigurationGet extends CentralSceneCC {}\n\n// @publicAPI\nexport interface CentralSceneCCConfigurationSetOptions {\n\tslowRefresh: boolean;\n}\n\n@CCCommand(CentralSceneCommand.ConfigurationSet)\n@useSupervision()\nexport class CentralSceneCCConfigurationSet extends CentralSceneCC {\n\tpublic constructor(\n\t\toptions: WithAddress<CentralSceneCCConfigurationSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.slowRefresh = options.slowRefresh;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): CentralSceneCCConfigurationSet {\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new CentralSceneCCConfigurationSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic slowRefresh: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.slowRefresh ? 0b1000_0000 : 0]);\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: { \"slow refresh\": this.slowRefresh },\n\t\t};\n\t}\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import type { CCEncodingContext, CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCommandClasses,\n\ttype GetValueDB,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tenumValuesToMetadataStates,\n\tgetCCName,\n\tmaybeUnknownToString,\n\tparseBitMask,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, pick } from \"@zwave-js/shared\";\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} 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 { CentralSceneCommand, CentralSceneKeys } from \"../lib/_Types.js\";\nimport * as ccUtils from \"../lib/utils.js\";\n\nexport const CentralSceneCCValues = V.defineCCValues(\n\tCommandClasses[\"Central Scene\"],\n\t{\n\t\t...V.staticProperty(\"sceneCount\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportsSlowRefresh\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedKeyAttributes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\n\t\t\t\"slowRefresh\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Send held down notifications at a slow rate\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"When this is true, KeyHeldDown notifications are sent every 55s. When this is false, the notifications are sent every 200ms.\",\n\t\t\t} as const,\n\t\t),\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"scene\",\n\t\t\t\"scene\",\n\t\t\t(sceneNumber: number) => sceneNumber.toString().padStart(3, \"0\"),\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"scene\"\n\t\t\t\t&& typeof propertyKey === \"string\"\n\t\t\t\t&& /^\\d{3}$/.test(propertyKey),\n\t\t\t(sceneNumber: number) => ({\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: `Scene ${sceneNumber.toString().padStart(3, \"0\")}`,\n\t\t\t} as const),\n\t\t\t{ stateful: false } as const,\n\t\t),\n\t},\n);\n\n@API(CommandClasses[\"Central Scene\"])\nexport class CentralSceneCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: CentralSceneCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase CentralSceneCommand.SupportedGet:\n\t\t\t\treturn this.isSinglecast(); // this is mandatory\n\t\t\tcase CentralSceneCommand.ConfigurationGet:\n\t\t\t\treturn this.version >= 3 && this.isSinglecast();\n\t\t\tcase CentralSceneCommand.ConfigurationSet:\n\t\t\t\treturn this.version >= 3;\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getSupported() {\n\t\tthis.assertSupportsCommand(\n\t\t\tCentralSceneCommand,\n\t\t\tCentralSceneCommand.SupportedGet,\n\t\t);\n\n\t\tconst cc = new CentralSceneCCSupportedGet({\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\tCentralSceneCCSupportedReport\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\"sceneCount\",\n\t\t\t\t\"supportsSlowRefresh\",\n\t\t\t\t\"supportedKeyAttributes\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getConfiguration() {\n\t\tthis.assertSupportsCommand(\n\t\t\tCentralSceneCommand,\n\t\t\tCentralSceneCommand.ConfigurationGet,\n\t\t);\n\n\t\tconst cc = new CentralSceneCCConfigurationGet({\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\tCentralSceneCCConfigurationReport\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, [\"slowRefresh\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async setConfiguration(\n\t\tslowRefresh: boolean,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tCentralSceneCommand,\n\t\t\tCentralSceneCommand.ConfigurationSet,\n\t\t);\n\n\t\tconst cc = new CentralSceneCCConfigurationSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tslowRefresh,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(this: CentralSceneCCAPI, { property }, value) {\n\t\t\tif (property !== \"slowRefresh\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof value !== \"boolean\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"boolean\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn this.setConfiguration(value);\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: CentralSceneCCAPI, { property }) {\n\t\t\tif (property === \"slowRefresh\") {\n\t\t\t\treturn (await this.getConfiguration())?.[property];\n\t\t\t}\n\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t};\n\t}\n}\n\n@commandClass(CommandClasses[\"Central Scene\"])\n@implementedVersion(3)\n@ccValues(CentralSceneCCValues)\nexport class CentralSceneCC extends CommandClass {\n\tdeclare ccCommand: CentralSceneCommand;\n\n\tpublic determineRequiredCCInterviews(): readonly CommandClasses[] {\n\t\treturn [\n\t\t\t...super.determineRequiredCCInterviews(),\n\t\t\tCommandClasses.Association,\n\t\t\tCommandClasses[\"Multi Channel Association\"],\n\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t];\n\t}\n\n\tpublic skipEndpointInterview(): boolean {\n\t\t// Central scene notifications are issued by the root device\n\t\treturn true;\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[\"Central Scene\"],\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\t// If one Association group issues CentralScene notifications,\n\t\t// we must associate ourselves with that channel\n\t\ttry {\n\t\t\tawait ccUtils.assignLifelineIssueingCommand(\n\t\t\t\tctx,\n\t\t\t\tendpoint,\n\t\t\t\tthis.ccId,\n\t\t\t\tCentralSceneCommand.Notification,\n\t\t\t);\n\t\t} catch {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: endpoint.index,\n\t\t\t\tmessage: `Configuring associations to receive ${\n\t\t\t\t\tgetCCName(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t)\n\t\t\t\t} commands failed!`,\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"Querying supported scenes...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst ccSupported = await api.getSupported();\n\t\tif (ccSupported) {\n\t\t\tconst logMessage = `received supported scenes:\n# of scenes: ${ccSupported.sceneCount}\nsupports slow refresh: ${ccSupported.supportsSlowRefresh}`;\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\t\t} else {\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 supported scenes timed out, skipping interview...\",\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\t// The slow refresh capability should be enabled whenever possible\n\t\tif (api.version >= 3 && ccSupported?.supportsSlowRefresh) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"Enabling slow refresh capability...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tawait api.setConfiguration(true);\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n}\n\n// @publicAPI\nexport interface CentralSceneCCNotificationOptions {\n\tsequenceNumber: number;\n\tkeyAttribute: CentralSceneKeys;\n\tsceneNumber: number;\n\tslowRefresh?: boolean;\n}\n\n@CCCommand(CentralSceneCommand.Notification)\nexport class CentralSceneCCNotification extends CentralSceneCC {\n\tpublic constructor(\n\t\toptions: WithAddress<CentralSceneCCNotificationOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.sequenceNumber = options.sequenceNumber;\n\t\tthis.keyAttribute = options.keyAttribute;\n\t\tthis.sceneNumber = options.sceneNumber;\n\t\tthis.slowRefresh = options.slowRefresh;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): CentralSceneCCNotification {\n\t\tvalidatePayload(raw.payload.length >= 3);\n\t\tconst sequenceNumber = raw.payload[0];\n\t\tconst keyAttribute: CentralSceneKeys = raw.payload[1] & 0b111;\n\t\tconst sceneNumber = raw.payload[2];\n\t\tlet slowRefresh: boolean | undefined;\n\t\tif (keyAttribute === CentralSceneKeys.KeyHeldDown) {\n\t\t\t// A receiving node MUST ignore this field if the command is not\n\t\t\t// carrying the Key Held Down key attribute.\n\t\t\tslowRefresh = !!(raw.payload[1] & 0b1000_0000);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceNumber,\n\t\t\tkeyAttribute,\n\t\t\tsceneNumber,\n\t\t\tslowRefresh,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// In case the interview is not yet completed, we still create some basic metadata\n\t\tconst sceneValue = CentralSceneCCValues.scene(this.sceneNumber);\n\n\t\t// Get device configuration to check for custom scene labels\n\t\tconst sceneConfig = ctx.getDeviceConfig?.(this.nodeId as number)\n\t\t\t?.scenes?.get(this.sceneNumber);\n\n\t\tif (sceneConfig) {\n\t\t\t// Ensure metadata with custom label and description\n\t\t\tthis.ensureMetadata(ctx, sceneValue, {\n\t\t\t\t...sceneValue.meta,\n\t\t\t\tlabel: sceneConfig.label,\n\t\t\t\tdescription: sceneConfig.description,\n\t\t\t});\n\t\t} else {\n\t\t\t// Use default metadata\n\t\t\tthis.ensureMetadata(ctx, sceneValue);\n\t\t}\n\n\t\t// The spec behavior is pretty complicated, so we cannot just store\n\t\t// the value and call it a day. Handling of these notifications will\n\t\t// happen in the receiving node class\n\n\t\treturn true;\n\t}\n\n\tpublic readonly sequenceNumber: number;\n\tpublic readonly keyAttribute: CentralSceneKeys;\n\tpublic readonly sceneNumber: number;\n\tpublic readonly slowRefresh: boolean | undefined;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"sequence number\": this.sequenceNumber,\n\t\t\t\"key attribute\": getEnumMemberName(\n\t\t\t\tCentralSceneKeys,\n\t\t\t\tthis.keyAttribute,\n\t\t\t),\n\t\t\t\"scene number\": this.sceneNumber,\n\t\t};\n\t\tif (this.slowRefresh != undefined) {\n\t\t\tmessage[\"slow refresh\"] = this.slowRefresh;\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 CentralSceneCCSupportedReportOptions {\n\tsceneCount: number;\n\tsupportsSlowRefresh: MaybeNotKnown<boolean>;\n\tsupportedKeyAttributes: Record<number, readonly CentralSceneKeys[]>;\n}\n\n@CCCommand(CentralSceneCommand.SupportedReport)\n@ccValueProperty(\"sceneCount\", CentralSceneCCValues.sceneCount)\n@ccValueProperty(\n\t\"supportsSlowRefresh\",\n\tCentralSceneCCValues.supportsSlowRefresh,\n)\n@ccValueProperty(\n\t\"supportedKeyAttributes\",\n\tCentralSceneCCValues.supportedKeyAttributes,\n)\nexport class CentralSceneCCSupportedReport extends CentralSceneCC {\n\tpublic constructor(\n\t\toptions: WithAddress<CentralSceneCCSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.sceneCount = options.sceneCount;\n\t\tthis.supportsSlowRefresh = options.supportsSlowRefresh;\n\t\tfor (\n\t\t\tconst [scene, keys] of Object.entries(\n\t\t\t\toptions.supportedKeyAttributes,\n\t\t\t)\n\t\t) {\n\t\t\tthis._supportedKeyAttributes.set(\n\t\t\t\tparseInt(scene),\n\t\t\t\tkeys,\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): CentralSceneCCSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst sceneCount = raw.payload[0];\n\t\tconst supportsSlowRefresh: MaybeNotKnown<boolean> =\n\t\t\t!!(raw.payload[1] & 0b1000_0000);\n\t\tconst bitMaskBytes = (raw.payload[1] & 0b110) >>> 1;\n\t\tconst identicalKeyAttributes = !!(raw.payload[1] & 0b1);\n\t\tconst numEntries = identicalKeyAttributes ? 1 : sceneCount;\n\t\tvalidatePayload(raw.payload.length >= 2 + bitMaskBytes * numEntries);\n\t\tconst supportedKeyAttributes: Record<\n\t\t\tnumber,\n\t\t\treadonly CentralSceneKeys[]\n\t\t> = {};\n\t\tfor (let i = 0; i < numEntries; i++) {\n\t\t\tconst mask = raw.payload.subarray(\n\t\t\t\t2 + i * bitMaskBytes,\n\t\t\t\t2 + (i + 1) * bitMaskBytes,\n\t\t\t);\n\t\t\tsupportedKeyAttributes[i + 1] = parseBitMask(\n\t\t\t\tmask,\n\t\t\t\tCentralSceneKeys.KeyPressed,\n\t\t\t);\n\t\t}\n\n\t\tif (identicalKeyAttributes) {\n\t\t\t// The key attributes are only transmitted for scene 1, copy them to the others\n\t\t\tfor (let i = 2; i <= sceneCount; i++) {\n\t\t\t\tsupportedKeyAttributes[i] = supportedKeyAttributes[1];\n\t\t\t}\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsceneCount,\n\t\t\tsupportsSlowRefresh,\n\t\t\tsupportedKeyAttributes,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// Get device configuration to check for custom scene labels\n\t\tconst deviceConfig = ctx.getDeviceConfig?.(this.nodeId as number);\n\n\t\t// Create/extend metadata for all scenes\n\t\tfor (let i = 1; i <= this.sceneCount; i++) {\n\t\t\tconst sceneValue = CentralSceneCCValues.scene(i);\n\t\t\tconst sceneMetadata = { ...sceneValue.meta };\n\n\t\t\t// Check if there's a custom configuration for this scene\n\t\t\tconst sceneConfig = deviceConfig?.scenes?.get(i);\n\t\t\tif (sceneConfig) {\n\t\t\t\t// @ts-expect-error The label type is a literal\n\t\t\t\tsceneMetadata.label = sceneConfig.label;\n\t\t\t}\n\t\t\tif (sceneConfig?.description) {\n\t\t\t\t// @ts-expect-error The predefined metadata has no description\n\t\t\t\tsceneMetadata.description = sceneConfig.description;\n\t\t\t}\n\n\t\t\tthis.setMetadata(ctx, sceneValue, {\n\t\t\t\t...sceneMetadata,\n\t\t\t\tstates: enumValuesToMetadataStates(\n\t\t\t\t\tCentralSceneKeys,\n\t\t\t\t\tthis._supportedKeyAttributes.get(i),\n\t\t\t\t),\n\t\t\t});\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic readonly sceneCount: number;\n\n\t// TODO: Only offer `slowRefresh` if this is true\n\n\tpublic readonly supportsSlowRefresh: MaybeNotKnown<boolean>;\n\n\tprivate _supportedKeyAttributes = new Map<\n\t\tnumber,\n\t\treadonly CentralSceneKeys[]\n\t>();\n\n\tpublic get supportedKeyAttributes(): ReadonlyMap<\n\t\tnumber,\n\t\treadonly CentralSceneKeys[]\n\t> {\n\t\treturn this._supportedKeyAttributes;\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"scene count\": this.sceneCount,\n\t\t\t\"supports slow refresh\": maybeUnknownToString(\n\t\t\t\tthis.supportsSlowRefresh,\n\t\t\t),\n\t\t};\n\t\tfor (const [scene, keys] of this.supportedKeyAttributes) {\n\t\t\tmessage[`supported attributes (scene #${scene})`] = keys\n\t\t\t\t.map((k) => `\\n\u00B7 ${getEnumMemberName(CentralSceneKeys, k)}`)\n\t\t\t\t.join(\"\");\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(CentralSceneCommand.SupportedGet)\n@expectedCCResponse(CentralSceneCCSupportedReport)\nexport class CentralSceneCCSupportedGet extends CentralSceneCC {}\n\n// @publicAPI\nexport interface CentralSceneCCConfigurationReportOptions {\n\tslowRefresh: boolean;\n}\n\n@CCCommand(CentralSceneCommand.ConfigurationReport)\n@ccValueProperty(\"slowRefresh\", CentralSceneCCValues.slowRefresh)\nexport class CentralSceneCCConfigurationReport extends CentralSceneCC {\n\tpublic constructor(\n\t\toptions: WithAddress<CentralSceneCCConfigurationReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.slowRefresh = options.slowRefresh;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): CentralSceneCCConfigurationReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst slowRefresh = !!(raw.payload[0] & 0b1000_0000);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tslowRefresh,\n\t\t});\n\t}\n\n\tpublic readonly slowRefresh: boolean;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"slow refresh\": this.slowRefresh },\n\t\t};\n\t}\n}\n\n@CCCommand(CentralSceneCommand.ConfigurationGet)\n@expectedCCResponse(CentralSceneCCConfigurationReport)\nexport class CentralSceneCCConfigurationGet extends CentralSceneCC {}\n\n// @publicAPI\nexport interface CentralSceneCCConfigurationSetOptions {\n\tslowRefresh: boolean;\n}\n\n@CCCommand(CentralSceneCommand.ConfigurationSet)\n@useSupervision()\nexport class CentralSceneCCConfigurationSet extends CentralSceneCC {\n\tpublic constructor(\n\t\toptions: WithAddress<CentralSceneCCConfigurationSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.slowRefresh = options.slowRefresh;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): CentralSceneCCConfigurationSet {\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new CentralSceneCCConfigurationSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic slowRefresh: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.slowRefresh ? 0b1000_0000 : 0]);\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: { \"slow refresh\": this.slowRefresh },\n\t\t};\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CentralSceneCC.d.ts","sourceRoot":"","sources":["../../../src/cc/CentralSceneCC.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EACN,cAAc,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAGxB,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EAQhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAA2B,MAAM,kBAAkB,CAAC;AAElE,OAAO,EACN,KAAK,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,SAAS,EACT,KAAK,sBAAsB,EAG3B,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,KAAK,KAAK,EACV,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,MAAM,wBAAwB,CAAC;AAYhC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoChC,CAAC;AAEF,qBACa,iBAAkB,SAAQ,KAAK;IACpC,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC;IAa3D,YAAY;IA0BZ,gBAAgB;IAsBhB,gBAAgB,CAC5B,WAAW,EAAE,OAAO,GAClB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAczC,cAAuB,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAe3D;IAED,SAAS,KAAK,CAAC,UAAU,CAAC,IAAI,uBAAuB,CAOpD;CACD;AAED,qBAGa,cAAe,SAAQ,YAAY;IACvC,SAAS,EAAE,mBAAmB,CAAC;IAEhC,6BAA6B,IAAI,SAAS,cAAc,EAAE;IAS1D,qBAAqB,IAAI,OAAO;IAK1B,SAAS,CACrB,GAAG,EAAE,gBAAgB,GACnB,OAAO,CAAC,IAAI,CAAC;CA4EhB;AAGD,MAAM,WAAW,iCAAiC;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBACa,0BAA2B,SAAQ,cAAc;gBAE5D,OAAO,EAAE,WAAW,CAAC,iCAAiC,CAAC;WAW1C,IAAI,CACjB,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,gBAAgB,GACnB,0BAA0B;IAqBtB,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"CentralSceneCC.d.ts","sourceRoot":"","sources":["../../../src/cc/CentralSceneCC.ts"],"names":[],"mappings":"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"}
|
|
@@ -274,7 +274,21 @@ let CentralSceneCCNotification = (() => {
|
|
|
274
274
|
return false;
|
|
275
275
|
// In case the interview is not yet completed, we still create some basic metadata
|
|
276
276
|
const sceneValue = CentralSceneCCValues.scene(this.sceneNumber);
|
|
277
|
-
|
|
277
|
+
// Get device configuration to check for custom scene labels
|
|
278
|
+
const sceneConfig = ctx.getDeviceConfig?.(this.nodeId)
|
|
279
|
+
?.scenes?.get(this.sceneNumber);
|
|
280
|
+
if (sceneConfig) {
|
|
281
|
+
// Ensure metadata with custom label and description
|
|
282
|
+
this.ensureMetadata(ctx, sceneValue, {
|
|
283
|
+
...sceneValue.meta,
|
|
284
|
+
label: sceneConfig.label,
|
|
285
|
+
description: sceneConfig.description,
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
// Use default metadata
|
|
290
|
+
this.ensureMetadata(ctx, sceneValue);
|
|
291
|
+
}
|
|
278
292
|
// The spec behavior is pretty complicated, so we cannot just store
|
|
279
293
|
// the value and call it a day. Handling of these notifications will
|
|
280
294
|
// happen in the receiving node class
|
|
@@ -355,11 +369,24 @@ let CentralSceneCCSupportedReport = (() => {
|
|
|
355
369
|
persistValues(ctx) {
|
|
356
370
|
if (!super.persistValues(ctx))
|
|
357
371
|
return false;
|
|
372
|
+
// Get device configuration to check for custom scene labels
|
|
373
|
+
const deviceConfig = ctx.getDeviceConfig?.(this.nodeId);
|
|
358
374
|
// Create/extend metadata for all scenes
|
|
359
375
|
for (let i = 1; i <= this.sceneCount; i++) {
|
|
360
376
|
const sceneValue = CentralSceneCCValues.scene(i);
|
|
377
|
+
const sceneMetadata = { ...sceneValue.meta };
|
|
378
|
+
// Check if there's a custom configuration for this scene
|
|
379
|
+
const sceneConfig = deviceConfig?.scenes?.get(i);
|
|
380
|
+
if (sceneConfig) {
|
|
381
|
+
// @ts-expect-error The label type is a literal
|
|
382
|
+
sceneMetadata.label = sceneConfig.label;
|
|
383
|
+
}
|
|
384
|
+
if (sceneConfig?.description) {
|
|
385
|
+
// @ts-expect-error The predefined metadata has no description
|
|
386
|
+
sceneMetadata.description = sceneConfig.description;
|
|
387
|
+
}
|
|
361
388
|
this.setMetadata(ctx, sceneValue, {
|
|
362
|
-
...
|
|
389
|
+
...sceneMetadata,
|
|
363
390
|
states: enumValuesToMetadataStates(CentralSceneKeys, this._supportedKeyAttributes.get(i)),
|
|
364
391
|
});
|
|
365
392
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CentralSceneCC.js","sourceRoot":"","sources":["../../../src/cc/CentralSceneCC.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CentralSceneCC.js","sourceRoot":"","sources":["../../../src/cc/CentralSceneCC.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": "15.
|
|
3
|
+
"version": "15.11.0",
|
|
4
4
|
"description": "zwave-js: Command Classes",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"publishConfig": {
|
|
@@ -70,9 +70,9 @@
|
|
|
70
70
|
"test:dirty": "tsx ../maintenance/src/resolveDirtyTests.ts --run"
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
|
-
"@zwave-js/core": "15.
|
|
74
|
-
"@zwave-js/host": "15.
|
|
75
|
-
"@zwave-js/shared": "15.
|
|
73
|
+
"@zwave-js/core": "15.11.0",
|
|
74
|
+
"@zwave-js/host": "15.11.0",
|
|
75
|
+
"@zwave-js/shared": "15.11.0",
|
|
76
76
|
"alcalzone-shared": "^5.0.0",
|
|
77
77
|
"ansi-colors": "^4.1.3",
|
|
78
78
|
"reflect-metadata": "^0.2.2"
|
|
@@ -80,8 +80,8 @@
|
|
|
80
80
|
"devDependencies": {
|
|
81
81
|
"@alcalzone/esm2cjs": "^1.4.1",
|
|
82
82
|
"@microsoft/api-extractor": "^7.52.8",
|
|
83
|
-
"@types/node": "^20.19.
|
|
84
|
-
"@zwave-js/maintenance": "15.
|
|
83
|
+
"@types/node": "^20.19.9",
|
|
84
|
+
"@zwave-js/maintenance": "15.11.0",
|
|
85
85
|
"@zwave-js/transformers": "15.10.0",
|
|
86
86
|
"del-cli": "^6.0.0",
|
|
87
87
|
"es-main": "^1.3.0",
|