From b799858cdd485e5aa4155629b06db8f2242cbb0c Mon Sep 17 00:00:00 2001 From: Bob van de Vijver Date: Tue, 14 Apr 2026 22:22:15 +0200 Subject: [PATCH 1/2] Remove unrelated cluster export from clusters --- lib/clusters/index.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/clusters/index.js b/lib/clusters/index.js index 4a9b5fb..ec314e3 100644 --- a/lib/clusters/index.js +++ b/lib/clusters/index.js @@ -1,6 +1,5 @@ 'use strict'; -const Cluster = require('../Cluster'); const BasicCluster = require('./basic'); const PowerConfigurationCluster = require('./powerConfiguration'); const DeviceTemperatureCluster = require('./deviceTemperature'); @@ -66,7 +65,6 @@ function destructConstProps({ } module.exports = { - Cluster, BasicCluster, // 0 PowerConfigurationCluster, // 1 DeviceTemperatureCluster, // 2 From 8aa182c172d4f94c4c4226523a50789f3261dab7 Mon Sep 17 00:00:00 2001 From: Bob van de Vijver Date: Tue, 14 Apr 2026 22:29:22 +0200 Subject: [PATCH 2/2] Fix named exports --- index.js | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 107 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 735cb96..acb451a 100644 --- a/index.js +++ b/index.js @@ -4,7 +4,6 @@ const _debug = require('debug'); const ZCLNode = require('./lib/Node'); const Cluster = require('./lib/Cluster'); -const Clusters = require('./lib/clusters'); const BoundCluster = require('./lib/BoundCluster'); const zclTypes = require('./lib/zclTypes'); const zclFrames = require('./lib/zclFrames'); @@ -47,9 +46,63 @@ const { const { ZIGBEE_PROFILE_ID, ZIGBEE_DEVICE_ID, IAS_ZONE_TYPE } = require('./lib/constants'); +// Required for compatibility with named exports when used with ESM +const { + BasicCluster, + PowerConfigurationCluster, + DeviceTemperatureCluster, + IdentifyCluster, + GroupsCluster, + ScenesCluster, + OnOffCluster, + OnOffSwitchCluster, + LevelControlCluster, + AlarmsCluster, + TimeCluster, + AnalogInputCluster, + AnalogOutputCluster, + AnalogValueCluster, + BinaryInputCluster, + BinaryOutputCluster, + BinaryValueCluster, + MultistateInputCluster, + MultistateOutputCluster, + MultistateValueCluster, + OTACluster, + PowerProfileCluster, + PollControlCluster, + ShadeConfigurationCluster, + DoorLockCluster, + WindowCoveringCluster, + ThermostatCluster, + PumpConfigurationAndControlCluster, + FanControlCluster, + DehumidificationControlCluster, + ColorControlCluster, + BallastConfigurationCluster, + IlluminanceMeasurementCluster, + IlluminanceLevelSensingCluster, + TemperatureMeasurementCluster, + PressureMeasurementCluster, + FlowMeasurementCluster, + RelativeHumidityCluster, + OccupancySensingCluster, + IASZoneCluster, + IASACECluster, + IASWDCluster, + MeteringCluster, + ElectricalMeasurementCluster, + DiagnosticsCluster, + TouchLinkCluster, + CLUSTER, +} = require('./lib/clusters'); + module.exports = { + // Cluster base classes Cluster, BoundCluster, + + // ZCL ZCLNode, zclTypes, zclFrames, @@ -57,7 +110,59 @@ module.exports = { ZCLDataType, ZCLStruct, ZCLError, - ...Clusters, + + // Cluster definitions + BasicCluster, + PowerConfigurationCluster, + DeviceTemperatureCluster, + IdentifyCluster, + GroupsCluster, + ScenesCluster, + OnOffCluster, + OnOffSwitchCluster, + LevelControlCluster, + AlarmsCluster, + TimeCluster, + AnalogInputCluster, + AnalogOutputCluster, + AnalogValueCluster, + BinaryInputCluster, + BinaryOutputCluster, + BinaryValueCluster, + MultistateInputCluster, + MultistateOutputCluster, + MultistateValueCluster, + OTACluster, + PowerProfileCluster, + PollControlCluster, + ShadeConfigurationCluster, + DoorLockCluster, + WindowCoveringCluster, + ThermostatCluster, + PumpConfigurationAndControlCluster, + FanControlCluster, + DehumidificationControlCluster, + ColorControlCluster, + BallastConfigurationCluster, + IlluminanceMeasurementCluster, + IlluminanceLevelSensingCluster, + TemperatureMeasurementCluster, + PressureMeasurementCluster, + FlowMeasurementCluster, + RelativeHumidityCluster, + OccupancySensingCluster, + IASZoneCluster, + IASACECluster, + IASWDCluster, + MeteringCluster, + ElectricalMeasurementCluster, + DiagnosticsCluster, + TouchLinkCluster, + + // Constant cluster definitions + CLUSTER, + + // Utilities debug, ZIGBEE_PROFILE_ID, ZIGBEE_DEVICE_ID,