diff --git a/index.d.ts b/index.d.ts index 9e3b77a..3810013 100644 --- a/index.d.ts +++ b/index.d.ts @@ -34,6 +34,9 @@ type ZCLNodeConstructorInput = { type ZCLEnum8Status = 'SUCCESS' | 'FAILURE' | 'NOT_AUTHORIZED' | 'RESERVED_FIELD_NOT_ZERO' | 'MALFORMED_COMMAND' | 'UNSUP_CLUSTER_COMMAND' | 'UNSUP_GENERAL_COMMAND' | 'UNSUP_MANUF_CLUSTER_COMMAND' | 'UNSUP_MANUF_GENERAL_COMMAND' | 'INVALID_FIELD' | 'UNSUPPORTED_ATTRIBUTE' | 'INVALID_VALUE' | 'READ_ONLY' | 'INSUFFICIENT_SPACE' | 'DUPLICATE_EXISTS' | 'NOT_FOUND' | 'UNREPORTABLE_ATTRIBUTE' | 'INVALID_DATA_TYPE' | 'INVALID_SELECTOR' | 'WRITE_ONLY' | 'INCONSISTENT_STARTUP_STATE' | 'DEFINED_OUT_OF_BAND' | 'INCONSISTENT' | 'ACTION_DENIED' | 'TIMEOUT' | 'ABORT' | 'INVALID_IMAGE' | 'WAIT_FOR_DATA' | 'NO_IMAGE_AVAILABLE' | 'REQUIRE_MORE_IMAGE' | 'NOTIFICATION_PENDING' | 'HARDWARE_FAILURE' | 'SOFTWARE_FAILURE' | 'CALIBRATION_ERROR' | 'UNSUPPORTED_CLUSTER'; export interface ZCLNodeCluster extends EventEmitter { + /** Dynamic command handler methods (e.g. `onZoneStatusChangeNotification`). */ + [key: string]: unknown; + discoverCommandsGenerated(params?: { startValue?: number; maxResults?: number; diff --git a/scripts/generate-types.js b/scripts/generate-types.js index 83712c4..4c71042 100644 --- a/scripts/generate-types.js +++ b/scripts/generate-types.js @@ -286,6 +286,9 @@ type ZCLEnum8Status = ${zclTypeToTS(ZCLDataTypes.enum8Status, false)}; // Base ZCLNodeCluster interface lines.push(`export interface ZCLNodeCluster extends EventEmitter { + /** Dynamic command handler methods (e.g. \`onZoneStatusChangeNotification\`). */ + [key: string]: unknown; + discoverCommandsGenerated(params?: { startValue?: number; maxResults?: number;