Skip to content

Commit dbb458b

Browse files
committed
fix(types): Map the UTC ZCL data type to number
zclDataTypeToValueType had no case for UTC, so generate-types threw "Unknown ZCL type UTC" as soon as a cluster used it. The type generation workflow has been failing on master since the Time cluster attributes landed, leaving index.d.ts without them. Refs #216
1 parent 1652325 commit dbb458b

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

‎index.d.ts‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,18 @@ declare module "zigbee-clusters" {
499499
},
500500
): Promise<void>;
501501
}
502-
type TimeClusterAttributes = Record<never, never>;
502+
type TimeClusterAttributes = {
503+
time: { id: 0x00, type: ZCLDataType<number> },
504+
timeStatus: { id: 0x01, type: ZCLDataType<Bitmap<"master" | "synchronized" | "masterZoneDst" | "superseding">> },
505+
timeZone: { id: 0x02, type: ZCLDataType<number> },
506+
dstStart: { id: 0x03, type: ZCLDataType<number> },
507+
dstEnd: { id: 0x04, type: ZCLDataType<number> },
508+
dstShift: { id: 0x05, type: ZCLDataType<number> },
509+
standardTime: { id: 0x06, type: ZCLDataType<number> },
510+
localTime: { id: 0x07, type: ZCLDataType<number> },
511+
lastSetTime: { id: 0x08, type: ZCLDataType<number> },
512+
validUntilTime: { id: 0x09, type: ZCLDataType<number> },
513+
};
503514
type TimeClusterCommands = Record<never, never>;
504515
class TimeCluster<Attributes extends types.AttributeDefinitions = TimeClusterAttributes, Commands extends types.CommandDefinitions = TimeClusterCommands> extends Cluster<Attributes, Commands> {
505516
}

‎scripts/generate-types.mts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,7 @@ function zclDataTypeToValueType(type: keyof typeof DataTypes): string {
474474
case "int32":
475475
case "int40":
476476
case "int48":
477+
case "UTC":
477478
return "number";
478479
case "enum8":
479480
case "enum16":

0 commit comments

Comments
 (0)