diff --git a/src/zspec/zcl/definition/cluster.ts b/src/zspec/zcl/definition/cluster.ts index 9ebb6d30db..f7399ece91 100644 --- a/src/zspec/zcl/definition/cluster.ts +++ b/src/zspec/zcl/definition/cluster.ts @@ -18,13 +18,18 @@ export const Clusters: Readonly> dateCode: {ID: 6, type: DataType.CHAR_STR}, powerSource: {ID: 7, type: DataType.ENUM8}, appProfileVersion: {ID: 8, type: DataType.ENUM8}, - swBuildId: {ID: 16384, type: DataType.CHAR_STR}, + genericDeviceType: {ID: 9, type: DataType.ENUM8}, + productCode: {ID: 10, type: DataType.OCTET_STR}, + productUrl: {ID: 11, type: DataType.CHAR_STR}, + manufacturerVersionDetails: {ID: 12, type: DataType.CHAR_STR}, serialNumber: {ID: 13, type: DataType.CHAR_STR}, + productLabel: {ID: 14, type: DataType.CHAR_STR}, locationDesc: {ID: 16, type: DataType.CHAR_STR}, physicalEnv: {ID: 17, type: DataType.ENUM8}, deviceEnabled: {ID: 18, type: DataType.BOOLEAN}, alarmMask: {ID: 19, type: DataType.BITMAP8}, disableLocalConfig: {ID: 20, type: DataType.BITMAP8}, + swBuildId: {ID: 0x4000, type: DataType.CHAR_STR}, schneiderMeterRadioPower: {ID: 0xe200, type: DataType.INT8, manufacturerCode: ManufacturerCode.SCHNEIDER_ELECTRIC}, }, commands: { diff --git a/test/controller.test.ts b/test/controller.test.ts index a120bbd6d4..26f1b15bbd 100755 --- a/test/controller.test.ts +++ b/test/controller.test.ts @@ -4632,7 +4632,6 @@ describe('Controller', () => { attributes: { zclVersion: {ID: 0, type: 32, name: 'zclVersion'}, appVersion: {ID: 1, type: 32, name: 'appVersion'}, - schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, stackVersion: {ID: 2, type: 32, name: 'stackVersion'}, hwVersion: {ID: 3, type: 32, name: 'hwVersion'}, manufacturerName: {ID: 4, type: 66, name: 'manufacturerName'}, @@ -4640,13 +4639,19 @@ describe('Controller', () => { dateCode: {ID: 6, type: 66, name: 'dateCode'}, powerSource: {ID: 7, type: 48, name: 'powerSource'}, appProfileVersion: {ID: 8, type: 48, name: 'appProfileVersion'}, - swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + genericDeviceType: {ID: 9, type: 48, name: 'genericDeviceType'}, + productCode: {ID: 10, type: 65, name: 'productCode'}, + productUrl: {ID: 11, type: 66, name: 'productUrl'}, + manufacturerVersionDetails: {ID: 12, type: 66, name: 'manufacturerVersionDetails'}, serialNumber: {ID: 13, type: 66, name: 'serialNumber'}, + productLabel: {ID: 14, type: 66, name: 'productLabel'}, locationDesc: {ID: 16, type: 66, name: 'locationDesc'}, physicalEnv: {ID: 17, type: 48, name: 'physicalEnv'}, deviceEnabled: {ID: 18, type: 16, name: 'deviceEnabled'}, alarmMask: {ID: 19, type: 24, name: 'alarmMask'}, disableLocalConfig: {ID: 20, type: 24, name: 'disableLocalConfig'}, + swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, }, name: 'genBasic', commands: { @@ -6142,7 +6147,6 @@ describe('Controller', () => { attributes: { zclVersion: {ID: 0, type: 32, name: 'zclVersion'}, appVersion: {ID: 1, type: 32, name: 'appVersion'}, - schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, stackVersion: {ID: 2, type: 32, name: 'stackVersion'}, hwVersion: {ID: 3, type: 32, name: 'hwVersion'}, manufacturerName: {ID: 4, type: 66, name: 'manufacturerName'}, @@ -6150,13 +6154,19 @@ describe('Controller', () => { dateCode: {ID: 6, type: 66, name: 'dateCode'}, powerSource: {ID: 7, type: 48, name: 'powerSource'}, appProfileVersion: {ID: 8, type: 48, name: 'appProfileVersion'}, - swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + genericDeviceType: {ID: 9, type: 48, name: 'genericDeviceType'}, + productCode: {ID: 10, type: 65, name: 'productCode'}, + productUrl: {ID: 11, type: 66, name: 'productUrl'}, + manufacturerVersionDetails: {ID: 12, type: 66, name: 'manufacturerVersionDetails'}, serialNumber: {ID: 13, type: 66, name: 'serialNumber'}, + productLabel: {ID: 14, type: 66, name: 'productLabel'}, locationDesc: {ID: 16, type: 66, name: 'locationDesc'}, physicalEnv: {ID: 17, type: 48, name: 'physicalEnv'}, deviceEnabled: {ID: 18, type: 16, name: 'deviceEnabled'}, alarmMask: {ID: 19, type: 24, name: 'alarmMask'}, disableLocalConfig: {ID: 20, type: 24, name: 'disableLocalConfig'}, + swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, }, name: 'genBasic', commands: { @@ -6249,7 +6259,6 @@ describe('Controller', () => { attributes: { zclVersion: {ID: 0, type: 32, name: 'zclVersion'}, appVersion: {ID: 1, type: 32, name: 'appVersion'}, - schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, stackVersion: {ID: 2, type: 32, name: 'stackVersion'}, hwVersion: {ID: 3, type: 32, name: 'hwVersion'}, manufacturerName: {ID: 4, type: 66, name: 'manufacturerName'}, @@ -6257,13 +6266,19 @@ describe('Controller', () => { dateCode: {ID: 6, type: 66, name: 'dateCode'}, powerSource: {ID: 7, type: 48, name: 'powerSource'}, appProfileVersion: {ID: 8, type: 48, name: 'appProfileVersion'}, - swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + genericDeviceType: {ID: 9, type: 48, name: 'genericDeviceType'}, + productCode: {ID: 10, type: 65, name: 'productCode'}, + productUrl: {ID: 11, type: 66, name: 'productUrl'}, + manufacturerVersionDetails: {ID: 12, type: 66, name: 'manufacturerVersionDetails'}, serialNumber: {ID: 13, type: 66, name: 'serialNumber'}, + productLabel: {ID: 14, type: 66, name: 'productLabel'}, locationDesc: {ID: 16, type: 66, name: 'locationDesc'}, physicalEnv: {ID: 17, type: 48, name: 'physicalEnv'}, deviceEnabled: {ID: 18, type: 16, name: 'deviceEnabled'}, alarmMask: {ID: 19, type: 24, name: 'alarmMask'}, disableLocalConfig: {ID: 20, type: 24, name: 'disableLocalConfig'}, + swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, }, name: 'genBasic', commands: { @@ -6342,7 +6357,6 @@ describe('Controller', () => { attributes: { zclVersion: {ID: 0, type: 32, name: 'zclVersion'}, appVersion: {ID: 1, type: 32, name: 'appVersion'}, - schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, stackVersion: {ID: 2, type: 32, name: 'stackVersion'}, hwVersion: {ID: 3, type: 32, name: 'hwVersion'}, manufacturerName: {ID: 4, type: 66, name: 'manufacturerName'}, @@ -6350,13 +6364,19 @@ describe('Controller', () => { dateCode: {ID: 6, type: 66, name: 'dateCode'}, powerSource: {ID: 7, type: 48, name: 'powerSource'}, appProfileVersion: {ID: 8, type: 48, name: 'appProfileVersion'}, - swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + genericDeviceType: {ID: 9, type: 48, name: 'genericDeviceType'}, + productCode: {ID: 10, type: 65, name: 'productCode'}, + productUrl: {ID: 11, type: 66, name: 'productUrl'}, + manufacturerVersionDetails: {ID: 12, type: 66, name: 'manufacturerVersionDetails'}, serialNumber: {ID: 13, type: 66, name: 'serialNumber'}, + productLabel: {ID: 14, type: 66, name: 'productLabel'}, locationDesc: {ID: 16, type: 66, name: 'locationDesc'}, physicalEnv: {ID: 17, type: 48, name: 'physicalEnv'}, deviceEnabled: {ID: 18, type: 16, name: 'deviceEnabled'}, alarmMask: {ID: 19, type: 24, name: 'alarmMask'}, disableLocalConfig: {ID: 20, type: 24, name: 'disableLocalConfig'}, + swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, }, name: 'genBasic', commands: { @@ -6449,7 +6469,6 @@ describe('Controller', () => { attributes: { zclVersion: {ID: 0, type: 32, name: 'zclVersion'}, appVersion: {ID: 1, type: 32, name: 'appVersion'}, - schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, stackVersion: {ID: 2, type: 32, name: 'stackVersion'}, hwVersion: {ID: 3, type: 32, name: 'hwVersion'}, manufacturerName: {ID: 4, type: 66, name: 'manufacturerName'}, @@ -6457,13 +6476,19 @@ describe('Controller', () => { dateCode: {ID: 6, type: 66, name: 'dateCode'}, powerSource: {ID: 7, type: 48, name: 'powerSource'}, appProfileVersion: {ID: 8, type: 48, name: 'appProfileVersion'}, - swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + genericDeviceType: {ID: 9, type: 48, name: 'genericDeviceType'}, + productCode: {ID: 10, type: 65, name: 'productCode'}, + productUrl: {ID: 11, type: 66, name: 'productUrl'}, + manufacturerVersionDetails: {ID: 12, type: 66, name: 'manufacturerVersionDetails'}, serialNumber: {ID: 13, type: 66, name: 'serialNumber'}, + productLabel: {ID: 14, type: 66, name: 'productLabel'}, locationDesc: {ID: 16, type: 66, name: 'locationDesc'}, physicalEnv: {ID: 17, type: 48, name: 'physicalEnv'}, deviceEnabled: {ID: 18, type: 16, name: 'deviceEnabled'}, alarmMask: {ID: 19, type: 24, name: 'alarmMask'}, disableLocalConfig: {ID: 20, type: 24, name: 'disableLocalConfig'}, + swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, }, name: 'genBasic', commands: { @@ -6527,7 +6552,6 @@ describe('Controller', () => { attributes: { zclVersion: {ID: 0, type: 32, name: 'zclVersion'}, appVersion: {ID: 1, type: 32, name: 'appVersion'}, - schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, stackVersion: {ID: 2, type: 32, name: 'stackVersion'}, hwVersion: {ID: 3, type: 32, name: 'hwVersion'}, manufacturerName: {ID: 4, type: 66, name: 'manufacturerName'}, @@ -6535,13 +6559,19 @@ describe('Controller', () => { dateCode: {ID: 6, type: 66, name: 'dateCode'}, powerSource: {ID: 7, type: 48, name: 'powerSource'}, appProfileVersion: {ID: 8, type: 48, name: 'appProfileVersion'}, - swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + genericDeviceType: {ID: 9, type: 48, name: 'genericDeviceType'}, + productCode: {ID: 10, type: 65, name: 'productCode'}, + productUrl: {ID: 11, type: 66, name: 'productUrl'}, + manufacturerVersionDetails: {ID: 12, type: 66, name: 'manufacturerVersionDetails'}, serialNumber: {ID: 13, type: 66, name: 'serialNumber'}, + productLabel: {ID: 14, type: 66, name: 'productLabel'}, locationDesc: {ID: 16, type: 66, name: 'locationDesc'}, physicalEnv: {ID: 17, type: 48, name: 'physicalEnv'}, deviceEnabled: {ID: 18, type: 16, name: 'deviceEnabled'}, alarmMask: {ID: 19, type: 24, name: 'alarmMask'}, disableLocalConfig: {ID: 20, type: 24, name: 'disableLocalConfig'}, + swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, }, name: 'genBasic', commands: { @@ -6625,7 +6655,6 @@ describe('Controller', () => { attributes: { zclVersion: {ID: 0, type: 32, name: 'zclVersion'}, appVersion: {ID: 1, type: 32, name: 'appVersion'}, - schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, stackVersion: {ID: 2, type: 32, name: 'stackVersion'}, hwVersion: {ID: 3, type: 32, name: 'hwVersion'}, manufacturerName: {ID: 4, type: 66, name: 'manufacturerName'}, @@ -6633,13 +6662,19 @@ describe('Controller', () => { dateCode: {ID: 6, type: 66, name: 'dateCode'}, powerSource: {ID: 7, type: 48, name: 'powerSource'}, appProfileVersion: {ID: 8, type: 48, name: 'appProfileVersion'}, - swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + genericDeviceType: {ID: 9, type: 48, name: 'genericDeviceType'}, + productCode: {ID: 10, type: 65, name: 'productCode'}, + productUrl: {ID: 11, type: 66, name: 'productUrl'}, + manufacturerVersionDetails: {ID: 12, type: 66, name: 'manufacturerVersionDetails'}, serialNumber: {ID: 13, type: 66, name: 'serialNumber'}, + productLabel: {ID: 14, type: 66, name: 'productLabel'}, locationDesc: {ID: 16, type: 66, name: 'locationDesc'}, physicalEnv: {ID: 17, type: 48, name: 'physicalEnv'}, deviceEnabled: {ID: 18, type: 16, name: 'deviceEnabled'}, alarmMask: {ID: 19, type: 24, name: 'alarmMask'}, disableLocalConfig: {ID: 20, type: 24, name: 'disableLocalConfig'}, + swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, }, name: 'genBasic', commands: { @@ -6677,7 +6712,6 @@ describe('Controller', () => { attributes: { zclVersion: {ID: 0, type: 32, name: 'zclVersion'}, appVersion: {ID: 1, type: 32, name: 'appVersion'}, - schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, stackVersion: {ID: 2, type: 32, name: 'stackVersion'}, hwVersion: {ID: 3, type: 32, name: 'hwVersion'}, manufacturerName: {ID: 4, type: 66, name: 'manufacturerName'}, @@ -6685,13 +6719,19 @@ describe('Controller', () => { dateCode: {ID: 6, type: 66, name: 'dateCode'}, powerSource: {ID: 7, type: 48, name: 'powerSource'}, appProfileVersion: {ID: 8, type: 48, name: 'appProfileVersion'}, - swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + genericDeviceType: {ID: 9, type: 48, name: 'genericDeviceType'}, + productCode: {ID: 10, type: 65, name: 'productCode'}, + productUrl: {ID: 11, type: 66, name: 'productUrl'}, + manufacturerVersionDetails: {ID: 12, type: 66, name: 'manufacturerVersionDetails'}, serialNumber: {ID: 13, type: 66, name: 'serialNumber'}, + productLabel: {ID: 14, type: 66, name: 'productLabel'}, locationDesc: {ID: 16, type: 66, name: 'locationDesc'}, physicalEnv: {ID: 17, type: 48, name: 'physicalEnv'}, deviceEnabled: {ID: 18, type: 16, name: 'deviceEnabled'}, alarmMask: {ID: 19, type: 24, name: 'alarmMask'}, disableLocalConfig: {ID: 20, type: 24, name: 'disableLocalConfig'}, + swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, }, name: 'genBasic', commands: { @@ -8663,7 +8703,6 @@ describe('Controller', () => { attributes: { zclVersion: {ID: 0, type: 32, name: 'zclVersion'}, appVersion: {ID: 1, type: 32, name: 'appVersion'}, - schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, stackVersion: {ID: 2, type: 32, name: 'stackVersion'}, hwVersion: {ID: 3, type: 32, name: 'hwVersion'}, manufacturerName: {ID: 4, type: 66, name: 'manufacturerName'}, @@ -8671,13 +8710,19 @@ describe('Controller', () => { dateCode: {ID: 6, type: 66, name: 'dateCode'}, powerSource: {ID: 7, type: 48, name: 'powerSource'}, appProfileVersion: {ID: 8, type: 48, name: 'appProfileVersion'}, - swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + genericDeviceType: {ID: 9, type: 48, name: 'genericDeviceType'}, + productCode: {ID: 10, type: 65, name: 'productCode'}, + productUrl: {ID: 11, type: 66, name: 'productUrl'}, + manufacturerVersionDetails: {ID: 12, type: 66, name: 'manufacturerVersionDetails'}, serialNumber: {ID: 13, type: 66, name: 'serialNumber'}, + productLabel: {ID: 14, type: 66, name: 'productLabel'}, locationDesc: {ID: 16, type: 66, name: 'locationDesc'}, physicalEnv: {ID: 17, type: 48, name: 'physicalEnv'}, deviceEnabled: {ID: 18, type: 16, name: 'deviceEnabled'}, alarmMask: {ID: 19, type: 24, name: 'alarmMask'}, disableLocalConfig: {ID: 20, type: 24, name: 'disableLocalConfig'}, + swBuildId: {ID: 16384, type: 66, name: 'swBuildId'}, + schneiderMeterRadioPower: {ID: 57856, manufacturerCode: 4190, name: 'schneiderMeterRadioPower', type: 40}, }, name: 'genBasic', commands: {