matterbridge 3.4.7-dev-20260103-3152357 → 3.4.7-dev-20260112-a00b2bf

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.
Files changed (171) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +5 -1
  3. package/dist/broadcastServer.d.ts +29 -0
  4. package/dist/broadcastServerTypes.d.ts +798 -0
  5. package/dist/cli.d.ts +6 -0
  6. package/dist/cliEmitter.d.ts +14 -0
  7. package/dist/cliHistory.d.ts +6 -0
  8. package/dist/clusters/export.d.ts +1 -0
  9. package/dist/deviceManager.d.ts +27 -0
  10. package/dist/devices/airConditioner.d.ts +23 -0
  11. package/dist/devices/batteryStorage.d.ts +5 -0
  12. package/dist/devices/cooktop.d.ts +6 -0
  13. package/dist/devices/dishwasher.d.ts +16 -0
  14. package/dist/devices/evse.d.ts +19 -0
  15. package/dist/devices/export.d.ts +16 -0
  16. package/dist/devices/extractorHood.d.ts +5 -0
  17. package/dist/devices/heatPump.d.ts +4 -0
  18. package/dist/devices/laundryDryer.d.ts +9 -0
  19. package/dist/devices/laundryWasher.d.ts +17 -0
  20. package/dist/devices/microwaveOven.d.ts +92 -0
  21. package/dist/devices/oven.d.ts +23 -0
  22. package/dist/devices/refrigerator.d.ts +18 -0
  23. package/dist/devices/roboticVacuumCleaner.d.ts +29 -0
  24. package/dist/devices/solarPower.d.ts +4 -0
  25. package/dist/devices/speaker.d.ts +8 -0
  26. package/dist/devices/temperatureControl.d.ts +145 -0
  27. package/dist/devices/waterHeater.d.ts +37 -0
  28. package/dist/dgram/coap.d.ts +34 -0
  29. package/dist/dgram/dgram.d.ts +45 -0
  30. package/dist/dgram/dgram.js +7 -0
  31. package/dist/dgram/mb_coap.d.ts +1 -0
  32. package/dist/dgram/mb_coap.js +1 -2
  33. package/dist/dgram/mb_mdns.d.ts +1 -0
  34. package/dist/dgram/mb_mdns.js +39 -50
  35. package/dist/dgram/mdns.d.ts +188 -0
  36. package/dist/dgram/multicast.d.ts +18 -0
  37. package/dist/dgram/unicast.d.ts +11 -0
  38. package/dist/frontend.d.ts +58 -0
  39. package/dist/frontendTypes.d.ts +472 -0
  40. package/dist/helpers.d.ts +5 -0
  41. package/dist/index.d.ts +11 -0
  42. package/dist/jestutils/export.d.ts +1 -0
  43. package/dist/jestutils/jestHelpers.d.ts +90 -0
  44. package/dist/logger/export.d.ts +1 -0
  45. package/dist/matter/behaviors.d.ts +1 -0
  46. package/dist/matter/clusters.d.ts +1 -0
  47. package/dist/matter/devices.d.ts +1 -0
  48. package/dist/matter/endpoints.d.ts +1 -0
  49. package/dist/matter/export.d.ts +4 -0
  50. package/dist/matter/types.d.ts +2 -0
  51. package/dist/matterNode.d.ts +84 -0
  52. package/dist/matterbridge.d.ts +152 -0
  53. package/dist/matterbridgeAccessoryPlatform.d.ts +5 -0
  54. package/dist/matterbridgeBehaviors.d.ts +2380 -0
  55. package/dist/matterbridgeDeviceTypes.d.ts +95 -0
  56. package/dist/matterbridgeDynamicPlatform.d.ts +5 -0
  57. package/dist/matterbridgeEndpoint.d.ts +175 -0
  58. package/dist/matterbridgeEndpointHelpers.d.ts +362 -0
  59. package/dist/matterbridgeEndpointTypes.d.ts +96 -0
  60. package/dist/matterbridgePlatform.d.ts +114 -0
  61. package/dist/matterbridgeTypes.d.ts +206 -0
  62. package/dist/pluginManager.d.ts +67 -0
  63. package/dist/shelly.d.ts +24 -0
  64. package/dist/storage/export.d.ts +1 -0
  65. package/dist/update.d.ts +9 -0
  66. package/dist/utils/colorUtils.d.ts +24 -0
  67. package/dist/utils/commandLine.d.ts +6 -0
  68. package/dist/utils/copyDirectory.d.ts +2 -0
  69. package/dist/utils/createDirectory.d.ts +2 -0
  70. package/dist/utils/createZip.d.ts +1 -0
  71. package/dist/utils/deepCopy.d.ts +1 -0
  72. package/dist/utils/deepEqual.d.ts +1 -0
  73. package/dist/utils/error.d.ts +3 -0
  74. package/dist/utils/export.d.ts +12 -0
  75. package/dist/utils/format.d.ts +4 -0
  76. package/dist/utils/hex.d.ts +4 -0
  77. package/dist/utils/inspector.d.ts +24 -0
  78. package/dist/utils/isValid.d.ts +10 -0
  79. package/dist/utils/network.d.ts +25 -0
  80. package/dist/utils/spawn.d.ts +1 -0
  81. package/dist/utils/tracker.d.ts +52 -0
  82. package/dist/utils/wait.d.ts +3 -0
  83. package/dist/workerGlobalPrefix.d.ts +1 -0
  84. package/dist/workerTypes.d.ts +27 -0
  85. package/dist/workers.d.ts +8 -0
  86. package/npm-shrinkwrap.json +904 -131
  87. package/package.json +9 -2
  88. package/packages/dgram/dist/coap.d.ts +34 -0
  89. package/packages/dgram/dist/coap.js +252 -0
  90. package/packages/dgram/dist/dgram.d.ts +45 -0
  91. package/packages/dgram/dist/dgram.js +255 -0
  92. package/packages/dgram/dist/export.d.ts +5 -0
  93. package/packages/dgram/dist/export.js +5 -0
  94. package/packages/dgram/dist/mdns.d.ts +188 -0
  95. package/packages/dgram/dist/mdns.js +702 -0
  96. package/packages/dgram/dist/multicast.d.ts +18 -0
  97. package/packages/dgram/dist/multicast.js +119 -0
  98. package/packages/dgram/dist/unicast.d.ts +11 -0
  99. package/packages/dgram/dist/unicast.js +40 -0
  100. package/packages/dgram/package.json +106 -0
  101. package/packages/jest-utils/LICENSE +202 -0
  102. package/packages/jest-utils/bmc-button.svg +22 -0
  103. package/packages/jest-utils/dist/export.d.ts +1 -0
  104. package/packages/jest-utils/dist/export.js +1 -0
  105. package/packages/jest-utils/dist/jestHelpers.d.ts +21 -0
  106. package/packages/jest-utils/matterbridge.svg +50 -0
  107. package/packages/{mb-lib-test → jest-utils}/package.json +13 -11
  108. package/packages/utils/LICENSE +202 -0
  109. package/packages/utils/bmc-button.svg +22 -0
  110. package/packages/utils/dist/colorUtils.d.ts +24 -0
  111. package/packages/utils/dist/colorUtils.js +187 -0
  112. package/packages/utils/dist/commandLine.d.ts +6 -0
  113. package/packages/utils/dist/commandLine.js +63 -0
  114. package/packages/utils/dist/copyDirectory.d.ts +2 -0
  115. package/packages/utils/dist/copyDirectory.js +39 -0
  116. package/packages/utils/dist/createDirectory.d.ts +2 -0
  117. package/packages/utils/dist/createDirectory.js +21 -0
  118. package/packages/utils/dist/createZip.d.ts +1 -0
  119. package/packages/utils/dist/createZip.js +69 -0
  120. package/packages/utils/dist/deepCopy.d.ts +1 -0
  121. package/packages/utils/dist/deepCopy.js +40 -0
  122. package/packages/utils/dist/deepEqual.d.ts +1 -0
  123. package/packages/utils/dist/deepEqual.js +58 -0
  124. package/packages/utils/dist/error.d.ts +3 -0
  125. package/packages/utils/dist/error.js +12 -0
  126. package/packages/utils/dist/export.d.ts +15 -0
  127. package/packages/utils/dist/export.js +15 -0
  128. package/packages/utils/dist/format.d.ts +4 -0
  129. package/packages/utils/dist/format.js +29 -0
  130. package/packages/utils/dist/githubVersion.d.ts +11 -0
  131. package/packages/utils/dist/githubVersion.js +37 -0
  132. package/packages/utils/dist/hex.d.ts +4 -0
  133. package/packages/utils/dist/hex.js +118 -0
  134. package/packages/utils/dist/inspector.d.ts +24 -0
  135. package/packages/utils/dist/inspector.js +200 -0
  136. package/packages/utils/dist/isValid.d.ts +10 -0
  137. package/packages/utils/dist/isValid.js +69 -0
  138. package/packages/utils/dist/network.d.ts +12 -0
  139. package/packages/utils/dist/network.js +105 -0
  140. package/packages/utils/dist/npmRoot.d.ts +1 -0
  141. package/packages/utils/dist/npmRoot.js +13 -0
  142. package/packages/utils/dist/npmVersion.d.ts +1 -0
  143. package/packages/utils/dist/npmVersion.js +43 -0
  144. package/packages/utils/dist/tracker.d.ts +52 -0
  145. package/packages/utils/dist/tracker.js +201 -0
  146. package/packages/utils/dist/wait.d.ts +3 -0
  147. package/packages/utils/dist/wait.js +73 -0
  148. package/packages/utils/matterbridge.svg +50 -0
  149. package/packages/utils/package.json +106 -0
  150. package/packages/vitest-utils/LICENSE +202 -0
  151. package/packages/vitest-utils/bmc-button.svg +22 -0
  152. package/packages/vitest-utils/dist/export.d.ts +1 -0
  153. package/packages/vitest-utils/dist/export.js +1 -0
  154. package/packages/vitest-utils/dist/vitestHelpers.d.ts +21 -0
  155. package/packages/vitest-utils/matterbridge.svg +50 -0
  156. package/packages/vitest-utils/package.json +108 -0
  157. package/reflector/DockerDesktopSetup.png +0 -0
  158. package/reflector/Reflector.md +167 -0
  159. package/reflector/ReflectorClient.png +0 -0
  160. package/reflector/ReflectorServer.png +0 -0
  161. package/reflector/docker-compose.yml +32 -0
  162. package/reflector/mDnsPacket.png +0 -0
  163. package/dist/dgram/mdnsReflectorClient.js +0 -176
  164. package/dist/dgram/mdnsReflectorServer.js +0 -301
  165. package/dist/dgram/mdnsReflectorTypes.js +0 -5
  166. package/packages/mb-lib-test/dist/module.js +0 -2
  167. /package/packages/{mb-lib-test → dgram}/LICENSE +0 -0
  168. /package/packages/{mb-lib-test → dgram}/bmc-button.svg +0 -0
  169. /package/packages/{mb-lib-test → dgram}/matterbridge.svg +0 -0
  170. /package/packages/{mb-lib-test/dist/jestutils → jest-utils/dist}/jestHelpers.js +0 -0
  171. /package/packages/{mb-lib-test/dist/vitestutils → vitest-utils/dist}/vitestHelpers.js +0 -0
@@ -0,0 +1,95 @@
1
+ import { ClusterId, DeviceTypeId } from '@matter/types/datatype';
2
+ export declare enum DeviceClasses {
3
+ Node = "Node",
4
+ App = "App",
5
+ Utility = "Utility",
6
+ Simple = "Simple",
7
+ Dynamic = "Dynamic",
8
+ Composed = "Composed",
9
+ Client = "Client",
10
+ Server = "Server",
11
+ Duplicate = "Duplicate",
12
+ BridgedPowerSourceInfo = "BridgedPowerSourceInfo"
13
+ }
14
+ export interface DeviceTypeDefinition {
15
+ name: string;
16
+ code: DeviceTypeId;
17
+ deviceClass: DeviceClasses;
18
+ revision: number;
19
+ requiredServerClusters: ClusterId[];
20
+ optionalServerClusters: ClusterId[];
21
+ requiredClientClusters: ClusterId[];
22
+ optionalClientClusters: ClusterId[];
23
+ }
24
+ export declare const DeviceTypeDefinition: ({ name, code, deviceClass, revision, requiredServerClusters, optionalServerClusters, requiredClientClusters, optionalClientClusters, }: {
25
+ name: string;
26
+ code: number;
27
+ deviceClass: DeviceClasses;
28
+ revision: number;
29
+ requiredServerClusters?: ClusterId[];
30
+ optionalServerClusters?: ClusterId[];
31
+ requiredClientClusters?: ClusterId[];
32
+ optionalClientClusters?: ClusterId[];
33
+ }) => DeviceTypeDefinition;
34
+ export declare const rootNode: DeviceTypeDefinition;
35
+ export declare const powerSource: DeviceTypeDefinition;
36
+ export declare const OTARequestor: DeviceTypeDefinition;
37
+ export declare const OTAProvider: DeviceTypeDefinition;
38
+ export declare const bridgedNode: DeviceTypeDefinition;
39
+ export declare const electricalSensor: DeviceTypeDefinition;
40
+ export declare const deviceEnergyManagement: DeviceTypeDefinition;
41
+ export declare const onOffLight: DeviceTypeDefinition;
42
+ export declare const dimmableLight: DeviceTypeDefinition;
43
+ export declare const colorTemperatureLight: DeviceTypeDefinition;
44
+ export declare const extendedColorLight: DeviceTypeDefinition;
45
+ export declare const onOffOutlet: DeviceTypeDefinition;
46
+ export declare const dimmableOutlet: DeviceTypeDefinition;
47
+ export declare const onOffMountedSwitch: DeviceTypeDefinition;
48
+ export declare const dimmableMountedSwitch: DeviceTypeDefinition;
49
+ export declare const pumpDevice: DeviceTypeDefinition;
50
+ export declare const waterValve: DeviceTypeDefinition;
51
+ export declare const onOffSwitch: DeviceTypeDefinition;
52
+ export declare const dimmableSwitch: DeviceTypeDefinition;
53
+ export declare const colorTemperatureSwitch: DeviceTypeDefinition;
54
+ export declare const genericSwitch: DeviceTypeDefinition;
55
+ export declare const contactSensor: DeviceTypeDefinition;
56
+ export declare const lightSensor: DeviceTypeDefinition;
57
+ export declare const occupancySensor: DeviceTypeDefinition;
58
+ export declare const temperatureSensor: DeviceTypeDefinition;
59
+ export declare const pressureSensor: DeviceTypeDefinition;
60
+ export declare const flowSensor: DeviceTypeDefinition;
61
+ export declare const humiditySensor: DeviceTypeDefinition;
62
+ export declare const smokeCoAlarm: DeviceTypeDefinition;
63
+ export declare const airQualitySensor: DeviceTypeDefinition;
64
+ export declare const waterFreezeDetector: DeviceTypeDefinition;
65
+ export declare const waterLeakDetector: DeviceTypeDefinition;
66
+ export declare const rainSensor: DeviceTypeDefinition;
67
+ export declare const doorLockDevice: DeviceTypeDefinition;
68
+ export declare const coverDevice: DeviceTypeDefinition;
69
+ export declare const thermostatDevice: DeviceTypeDefinition;
70
+ export declare const fanDevice: DeviceTypeDefinition;
71
+ export declare const airPurifier: DeviceTypeDefinition;
72
+ export declare const basicVideoPlayer: DeviceTypeDefinition;
73
+ export declare const castingVideoPlayer: DeviceTypeDefinition;
74
+ export declare const speakerDevice: DeviceTypeDefinition;
75
+ export declare const modeSelect: DeviceTypeDefinition;
76
+ export declare const aggregator: DeviceTypeDefinition;
77
+ export declare const bridge: DeviceTypeDefinition;
78
+ export declare const roboticVacuumCleaner: DeviceTypeDefinition;
79
+ export declare const laundryWasher: DeviceTypeDefinition;
80
+ export declare const refrigerator: DeviceTypeDefinition;
81
+ export declare const airConditioner: DeviceTypeDefinition;
82
+ export declare const temperatureControlledCabinetCooler: DeviceTypeDefinition;
83
+ export declare const temperatureControlledCabinetHeater: DeviceTypeDefinition;
84
+ export declare const dishwasher: DeviceTypeDefinition;
85
+ export declare const laundryDryer: DeviceTypeDefinition;
86
+ export declare const cookSurface: DeviceTypeDefinition;
87
+ export declare const cooktop: DeviceTypeDefinition;
88
+ export declare const oven: DeviceTypeDefinition;
89
+ export declare const extractorHood: DeviceTypeDefinition;
90
+ export declare const microwaveOven: DeviceTypeDefinition;
91
+ export declare const evse: DeviceTypeDefinition;
92
+ export declare const waterHeater: DeviceTypeDefinition;
93
+ export declare const solarPower: DeviceTypeDefinition;
94
+ export declare const batteryStorage: DeviceTypeDefinition;
95
+ export declare const heatPump: DeviceTypeDefinition;
@@ -0,0 +1,5 @@
1
+ import { AnsiLogger } from 'node-ansi-logger';
2
+ import { MatterbridgePlatform, PlatformConfig, PlatformMatterbridge } from './matterbridgePlatform.js';
3
+ export declare class MatterbridgeDynamicPlatform extends MatterbridgePlatform {
4
+ constructor(matterbridge: PlatformMatterbridge, log: AnsiLogger, config: PlatformConfig);
5
+ }
@@ -0,0 +1,175 @@
1
+ import { AnsiLogger, LogLevel } from 'node-ansi-logger';
2
+ import { NamedHandler, AtLeastOne } from '@matter/general';
3
+ import { ActionContext, Behavior, Endpoint, ServerNode } from '@matter/node';
4
+ import { ClusterType } from '@matter/types/cluster';
5
+ import { EndpointNumber, ClusterId } from '@matter/types/datatype';
6
+ import { Semtag } from '@matter/types/globals';
7
+ import { PowerSource } from '@matter/types/clusters/power-source';
8
+ import { Identify } from '@matter/types/clusters/identify';
9
+ import { OnOff } from '@matter/types/clusters/on-off';
10
+ import { ColorControl } from '@matter/types/clusters/color-control';
11
+ import { WindowCovering } from '@matter/types/clusters/window-covering';
12
+ import { FanControl } from '@matter/types/clusters/fan-control';
13
+ import { DoorLock } from '@matter/types/clusters/door-lock';
14
+ import { ModeSelect } from '@matter/types/clusters/mode-select';
15
+ import { ValveConfigurationAndControl } from '@matter/types/clusters/valve-configuration-and-control';
16
+ import { PumpConfigurationAndControl } from '@matter/types/clusters/pump-configuration-and-control';
17
+ import { SmokeCoAlarm } from '@matter/types/clusters/smoke-co-alarm';
18
+ import { AirQuality } from '@matter/types/clusters/air-quality';
19
+ import { ConcentrationMeasurement } from '@matter/types/clusters/concentration-measurement';
20
+ import { ThermostatUserInterfaceConfiguration } from '@matter/types/clusters/thermostat-user-interface-configuration';
21
+ import { OperationalState } from '@matter/types/clusters/operational-state';
22
+ import { DeviceEnergyManagement } from '@matter/types/clusters/device-energy-management';
23
+ import { DeviceEnergyManagementMode } from '@matter/types/clusters/device-energy-management-mode';
24
+ import { ResourceMonitoring } from '@matter/types/clusters/resource-monitoring';
25
+ import { DeviceTypeDefinition } from './matterbridgeDeviceTypes.js';
26
+ import { CommandHandlerFunction, MatterbridgeEndpointCommands, MatterbridgeEndpointOptions, SerializedMatterbridgeEndpoint } from './matterbridgeEndpointTypes.js';
27
+ export declare class MatterbridgeEndpoint extends Endpoint {
28
+ static logLevel: LogLevel;
29
+ mode: 'server' | 'matter' | undefined;
30
+ serverNode: ServerNode<ServerNode.RootEndpoint> | undefined;
31
+ log: AnsiLogger;
32
+ plugin: string | undefined;
33
+ configUrl: string | undefined;
34
+ deviceName: string | undefined;
35
+ serialNumber: string | undefined;
36
+ uniqueId: string | undefined;
37
+ vendorId: number | undefined;
38
+ vendorName: string | undefined;
39
+ productId: number | undefined;
40
+ productName: string | undefined;
41
+ softwareVersion: number | undefined;
42
+ softwareVersionString: string | undefined;
43
+ hardwareVersion: number | undefined;
44
+ hardwareVersionString: string | undefined;
45
+ productUrl: string;
46
+ tagList?: Semtag[];
47
+ originalId: string | undefined;
48
+ name: string | undefined;
49
+ deviceType: number | undefined;
50
+ readonly deviceTypes: Map<number, DeviceTypeDefinition>;
51
+ readonly commandHandler: NamedHandler<MatterbridgeEndpointCommands>;
52
+ constructor(definition: DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>, options?: MatterbridgeEndpointOptions, debug?: boolean);
53
+ static loadInstance(definition: DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>, options?: MatterbridgeEndpointOptions, debug?: boolean): Promise<MatterbridgeEndpoint>;
54
+ getDeviceTypes(): DeviceTypeDefinition[];
55
+ hasClusterServer(cluster: Behavior.Type | ClusterType | ClusterId | string): boolean;
56
+ hasAttributeServer(cluster: Behavior.Type | ClusterType | ClusterId | string, attribute: string): boolean;
57
+ getClusterServerOptions(cluster: Behavior.Type | ClusterType | ClusterId | string): Record<string, boolean | number | bigint | string | object | null> | undefined;
58
+ getAttribute(cluster: Behavior.Type | ClusterType | ClusterId | string, attribute: string, log?: AnsiLogger): any;
59
+ setAttribute(clusterId: Behavior.Type | ClusterType | ClusterId | string, attribute: string, value: boolean | number | bigint | string | object | null, log?: AnsiLogger): Promise<boolean>;
60
+ updateAttribute(cluster: Behavior.Type | ClusterType | ClusterId | string, attribute: string, value: boolean | number | bigint | string | object | null, log?: AnsiLogger): Promise<boolean>;
61
+ subscribeAttribute(cluster: Behavior.Type | ClusterType | ClusterId | string, attribute: string, listener: (newValue: any, oldValue: any, context: ActionContext) => void, log?: AnsiLogger): Promise<boolean>;
62
+ triggerEvent(cluster: Behavior.Type | ClusterType | ClusterId | string, event: string, payload: Record<string, boolean | number | bigint | string | object | undefined | null>, log?: AnsiLogger): Promise<boolean>;
63
+ addClusterServers(serverList: ClusterId[]): this;
64
+ addFixedLabel(label: string, value: string): Promise<this>;
65
+ addUserLabel(label: string, value: string): Promise<this>;
66
+ addCommandHandler(command: keyof MatterbridgeEndpointCommands, handler: CommandHandlerFunction): this;
67
+ executeCommandHandler(command: keyof MatterbridgeEndpointCommands, request?: Record<string, boolean | number | bigint | string | object | null>, cluster?: string, attributes?: Record<string, boolean | number | bigint | string | object | null>, endpoint?: MatterbridgeEndpoint): Promise<void>;
68
+ invokeBehaviorCommand(cluster: Behavior.Type | ClusterType | ClusterId | string, command: keyof MatterbridgeEndpointCommands, params?: Record<string, boolean | number | bigint | string | object | null>): Promise<void>;
69
+ addRequiredClusterServers(): MatterbridgeEndpoint;
70
+ addOptionalClusterServers(): MatterbridgeEndpoint;
71
+ getAllClusterServers(): Behavior.Type[];
72
+ getAllClusterServerNames(): string[];
73
+ forEachAttribute(callback: (clusterName: string, clusterId: number, attributeName: string, attributeId: number, attributeValue: boolean | number | bigint | string | object | null | undefined) => void): void;
74
+ addChildDeviceType(endpointName: string, definition: DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>, options?: MatterbridgeEndpointOptions, debug?: boolean): MatterbridgeEndpoint;
75
+ addChildDeviceTypeWithClusterServer(endpointName: string, definition: DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>, serverList?: ClusterId[], options?: MatterbridgeEndpointOptions, debug?: boolean): MatterbridgeEndpoint;
76
+ getChildEndpointByName(endpointName: string): MatterbridgeEndpoint | undefined;
77
+ getChildEndpointById(id: string): MatterbridgeEndpoint | undefined;
78
+ getChildEndpointByOriginalId(originalId: string): MatterbridgeEndpoint | undefined;
79
+ getChildEndpoint(endpointNumber: EndpointNumber): MatterbridgeEndpoint | undefined;
80
+ getChildEndpoints(): MatterbridgeEndpoint[];
81
+ static serialize(device: MatterbridgeEndpoint): SerializedMatterbridgeEndpoint | undefined;
82
+ static deserialize(serializedDevice: SerializedMatterbridgeEndpoint): MatterbridgeEndpoint | undefined;
83
+ createDefaultPowerSourceWiredClusterServer(wiredCurrentType?: PowerSource.WiredCurrentType): this;
84
+ createDefaultPowerSourceBatteryClusterServer(batPercentRemaining?: null | number, batChargeLevel?: PowerSource.BatChargeLevel, batVoltage?: null | number, batReplaceability?: PowerSource.BatReplaceability): this;
85
+ createDefaultPowerSourceReplaceableBatteryClusterServer(batPercentRemaining?: number, batChargeLevel?: PowerSource.BatChargeLevel, batVoltage?: number, batReplacementDescription?: string, batQuantity?: number, batReplaceability?: PowerSource.BatReplaceability): this;
86
+ createDefaultPowerSourceRechargeableBatteryClusterServer(batPercentRemaining?: number, batChargeLevel?: PowerSource.BatChargeLevel, batVoltage?: number, batReplaceability?: PowerSource.BatReplaceability): this;
87
+ createDefaultBasicInformationClusterServer(deviceName: string, serialNumber: string, vendorId?: number, vendorName?: string, productId?: number, productName?: string, softwareVersion?: number, softwareVersionString?: string, hardwareVersion?: number, hardwareVersionString?: string): this;
88
+ createDefaultBridgedDeviceBasicInformationClusterServer(deviceName: string, serialNumber: string, vendorId?: number, vendorName?: string, productName?: string, softwareVersion?: number, softwareVersionString?: string, hardwareVersion?: number, hardwareVersionString?: string): this;
89
+ createDefaultPowerTopologyClusterServer(): this;
90
+ createDefaultElectricalEnergyMeasurementClusterServer(energyImported?: number | bigint | null, energyExported?: number | bigint | null): this;
91
+ createDefaultElectricalPowerMeasurementClusterServer(voltage?: number | bigint | null, current?: number | bigint | null, power?: number | bigint | null, frequency?: number | bigint | null): this;
92
+ createApparentElectricalPowerMeasurementClusterServer(voltage?: number | bigint | null, apparentCurrent?: number | bigint | null, apparentPower?: number | bigint | null, frequency?: number | bigint | null): this;
93
+ createDefaultDeviceEnergyManagementClusterServer(esaType?: DeviceEnergyManagement.EsaType, esaCanGenerate?: boolean, esaState?: DeviceEnergyManagement.EsaState, absMinPower?: number, absMaxPower?: number): this;
94
+ createDefaultDeviceEnergyManagementModeClusterServer(currentMode?: number, supportedModes?: DeviceEnergyManagementMode.ModeOption[]): this;
95
+ createDefaultIdentifyClusterServer(identifyTime?: number, identifyType?: Identify.IdentifyType): this;
96
+ createDefaultGroupsClusterServer(): this;
97
+ createDefaultScenesClusterServer(): this;
98
+ createDefaultOnOffClusterServer(onOff?: boolean, globalSceneControl?: boolean, onTime?: number, offWaitTime?: number, startUpOnOff?: OnOff.StartUpOnOff | null): this;
99
+ createOnOffClusterServer(onOff?: boolean): this;
100
+ createDeadFrontOnOffClusterServer(onOff?: boolean): this;
101
+ createOffOnlyOnOffClusterServer(onOff?: boolean): this;
102
+ createDefaultLevelControlClusterServer(currentLevel?: number, minLevel?: number, maxLevel?: number, onLevel?: number | null, startUpCurrentLevel?: number | null): this;
103
+ createLevelControlClusterServer(currentLevel?: number, onLevel?: number | null): this;
104
+ createDefaultColorControlClusterServer(currentX?: number, currentY?: number, currentHue?: number, currentSaturation?: number, colorTemperatureMireds?: number, colorTempPhysicalMinMireds?: number, colorTempPhysicalMaxMireds?: number): this;
105
+ createEnhancedColorControlClusterServer(currentX?: number, currentY?: number, enhancedCurrentHue?: number, currentSaturation?: number, colorTemperatureMireds?: number, colorTempPhysicalMinMireds?: number, colorTempPhysicalMaxMireds?: number): this;
106
+ createXyColorControlClusterServer(currentX?: number, currentY?: number, colorTemperatureMireds?: number, colorTempPhysicalMinMireds?: number, colorTempPhysicalMaxMireds?: number): this;
107
+ createHsColorControlClusterServer(currentHue?: number, currentSaturation?: number, colorTemperatureMireds?: number, colorTempPhysicalMinMireds?: number, colorTempPhysicalMaxMireds?: number): this;
108
+ createCtColorControlClusterServer(colorTemperatureMireds?: number, colorTempPhysicalMinMireds?: number, colorTempPhysicalMaxMireds?: number): this;
109
+ configureColorControlMode(colorMode: ColorControl.ColorMode): Promise<void>;
110
+ configureEnhancedColorControlMode(colorMode: ColorControl.EnhancedColorMode): Promise<void>;
111
+ createDefaultWindowCoveringClusterServer(positionPercent100ths?: number, type?: WindowCovering.WindowCoveringType, endProductType?: WindowCovering.EndProductType): this;
112
+ createDefaultLiftTiltWindowCoveringClusterServer(positionLiftPercent100ths?: number, positionTiltPercent100ths?: number, type?: WindowCovering.WindowCoveringType, endProductType?: WindowCovering.EndProductType): this;
113
+ setWindowCoveringTargetAsCurrentAndStopped(): Promise<void>;
114
+ setWindowCoveringCurrentTargetStatus(current: number, target: number, status: WindowCovering.MovementStatus): Promise<void>;
115
+ setWindowCoveringStatus(status: WindowCovering.MovementStatus): Promise<void>;
116
+ getWindowCoveringStatus(): WindowCovering.MovementStatus | undefined;
117
+ setWindowCoveringTargetAndCurrentPosition(liftPosition: number, tiltPosition?: number): Promise<void>;
118
+ createDefaultThermostatClusterServer(localTemperature?: number, occupiedHeatingSetpoint?: number, occupiedCoolingSetpoint?: number, minSetpointDeadBand?: number, minHeatSetpointLimit?: number, maxHeatSetpointLimit?: number, minCoolSetpointLimit?: number, maxCoolSetpointLimit?: number, unoccupiedHeatingSetpoint?: number | undefined, unoccupiedCoolingSetpoint?: number | undefined, occupied?: boolean | undefined, outdoorTemperature?: number | null | undefined): this;
119
+ createDefaultHeatingThermostatClusterServer(localTemperature?: number, occupiedHeatingSetpoint?: number, minHeatSetpointLimit?: number, maxHeatSetpointLimit?: number, unoccupiedHeatingSetpoint?: number | undefined, occupied?: boolean | undefined, outdoorTemperature?: number | null | undefined): this;
120
+ createDefaultCoolingThermostatClusterServer(localTemperature?: number, occupiedCoolingSetpoint?: number, minCoolSetpointLimit?: number, maxCoolSetpointLimit?: number, unoccupiedCoolingSetpoint?: number | undefined, occupied?: boolean | undefined, outdoorTemperature?: number | null | undefined): this;
121
+ createDefaultThermostatUserInterfaceConfigurationClusterServer(temperatureDisplayMode?: ThermostatUserInterfaceConfiguration.TemperatureDisplayMode, keypadLockout?: ThermostatUserInterfaceConfiguration.KeypadLockout, scheduleProgrammingVisibility?: ThermostatUserInterfaceConfiguration.ScheduleProgrammingVisibility): this;
122
+ createDefaultFanControlClusterServer(fanMode?: FanControl.FanMode, fanModeSequence?: FanControl.FanModeSequence, percentSetting?: number, percentCurrent?: number): this;
123
+ createOnOffFanControlClusterServer(fanMode?: FanControl.FanMode): this;
124
+ createBaseFanControlClusterServer(fanMode?: FanControl.FanMode, fanModeSequence?: FanControl.FanModeSequence, percentSetting?: number, percentCurrent?: number): this;
125
+ createMultiSpeedFanControlClusterServer(fanMode?: FanControl.FanMode, fanModeSequence?: FanControl.FanModeSequence, percentSetting?: number, percentCurrent?: number, speedMax?: number, speedSetting?: number, speedCurrent?: number): this;
126
+ createCompleteFanControlClusterServer(fanMode?: FanControl.FanMode, fanModeSequence?: FanControl.FanModeSequence, percentSetting?: number, percentCurrent?: number, speedMax?: number, speedSetting?: number, speedCurrent?: number, rockSupport?: {
127
+ rockLeftRight: boolean;
128
+ rockUpDown: boolean;
129
+ rockRound: boolean;
130
+ }, rockSetting?: {
131
+ rockLeftRight: boolean;
132
+ rockUpDown: boolean;
133
+ rockRound: boolean;
134
+ }, windSupport?: {
135
+ sleepWind: boolean;
136
+ naturalWind: boolean;
137
+ }, windSetting?: {
138
+ sleepWind: boolean;
139
+ naturalWind: boolean;
140
+ }, airflowDirection?: FanControl.AirflowDirection): this;
141
+ createDefaultHepaFilterMonitoringClusterServer(condition?: number, changeIndication?: ResourceMonitoring.ChangeIndication, inPlaceIndicator?: boolean | undefined, lastChangedTime?: number | null | undefined, replacementProductList?: ResourceMonitoring.ReplacementProduct[]): this;
142
+ createDefaultActivatedCarbonFilterMonitoringClusterServer(condition?: number, changeIndication?: ResourceMonitoring.ChangeIndication, inPlaceIndicator?: boolean | undefined, lastChangedTime?: number | null | undefined, replacementProductList?: ResourceMonitoring.ReplacementProduct[]): this;
143
+ createDefaultDoorLockClusterServer(lockState?: DoorLock.LockState, lockType?: DoorLock.LockType): this;
144
+ createDefaultModeSelectClusterServer(description: string, supportedModes: ModeSelect.ModeOption[], currentMode?: number, startUpMode?: number): this;
145
+ createDefaultValveConfigurationAndControlClusterServer(valveState?: ValveConfigurationAndControl.ValveState, valveLevel?: number): this;
146
+ createDefaultPumpConfigurationAndControlClusterServer(pumpMode?: PumpConfigurationAndControl.OperationMode): this;
147
+ createDefaultSmokeCOAlarmClusterServer(smokeState?: SmokeCoAlarm.AlarmState, coState?: SmokeCoAlarm.AlarmState): this;
148
+ createSmokeOnlySmokeCOAlarmClusterServer(smokeState?: SmokeCoAlarm.AlarmState): this;
149
+ createCoOnlySmokeCOAlarmClusterServer(coState?: SmokeCoAlarm.AlarmState): this;
150
+ createDefaultSwitchClusterServer(): this;
151
+ createDefaultMomentarySwitchClusterServer(): this;
152
+ createDefaultLatchingSwitchClusterServer(): this;
153
+ triggerSwitchEvent(event: 'Single' | 'Double' | 'Long' | 'Press' | 'Release', log?: AnsiLogger): Promise<boolean>;
154
+ createDefaultOperationalStateClusterServer(operationalState?: OperationalState.OperationalStateEnum): this;
155
+ createDefaultBooleanStateClusterServer(contact?: boolean): this;
156
+ createDefaultBooleanStateConfigurationClusterServer(sensorFault?: boolean, currentSensitivityLevel?: number, supportedSensitivityLevels?: number, defaultSensitivityLevel?: number): this;
157
+ createDefaultTemperatureMeasurementClusterServer(measuredValue?: number | null, minMeasuredValue?: number | null, maxMeasuredValue?: number | null): this;
158
+ createDefaultRelativeHumidityMeasurementClusterServer(measuredValue?: number | null, minMeasuredValue?: number | null, maxMeasuredValue?: number | null): this;
159
+ createDefaultPressureMeasurementClusterServer(measuredValue?: number | null, minMeasuredValue?: number | null, maxMeasuredValue?: number | null): this;
160
+ createDefaultIlluminanceMeasurementClusterServer(measuredValue?: number | null, minMeasuredValue?: number | null, maxMeasuredValue?: number | null): this;
161
+ createDefaultFlowMeasurementClusterServer(measuredValue?: number | null, minMeasuredValue?: number | null, maxMeasuredValue?: number | null): this;
162
+ createDefaultOccupancySensingClusterServer(occupied?: boolean, holdTime?: number, holdTimeMin?: number, holdTimeMax?: number): this;
163
+ createDefaultAirQualityClusterServer(airQuality?: AirQuality.AirQualityEnum): this;
164
+ createDefaultTvocMeasurementClusterServer(measuredValue?: number | null, measurementUnit?: ConcentrationMeasurement.MeasurementUnit, measurementMedium?: ConcentrationMeasurement.MeasurementMedium, uncertainty?: number): this;
165
+ createLevelTvocMeasurementClusterServer(levelValue?: ConcentrationMeasurement.LevelValue, measurementMedium?: ConcentrationMeasurement.MeasurementMedium): this;
166
+ createDefaultCarbonMonoxideConcentrationMeasurementClusterServer(measuredValue?: number | null, measurementUnit?: ConcentrationMeasurement.MeasurementUnit, measurementMedium?: ConcentrationMeasurement.MeasurementMedium): this;
167
+ createDefaultCarbonDioxideConcentrationMeasurementClusterServer(measuredValue?: number | null, measurementUnit?: ConcentrationMeasurement.MeasurementUnit, measurementMedium?: ConcentrationMeasurement.MeasurementMedium): this;
168
+ createDefaultFormaldehydeConcentrationMeasurementClusterServer(measuredValue?: number | null, measurementUnit?: ConcentrationMeasurement.MeasurementUnit, measurementMedium?: ConcentrationMeasurement.MeasurementMedium): this;
169
+ createDefaultPm1ConcentrationMeasurementClusterServer(measuredValue?: number | null, measurementUnit?: ConcentrationMeasurement.MeasurementUnit, measurementMedium?: ConcentrationMeasurement.MeasurementMedium): this;
170
+ createDefaultPm25ConcentrationMeasurementClusterServer(measuredValue?: number | null, measurementUnit?: ConcentrationMeasurement.MeasurementUnit, measurementMedium?: ConcentrationMeasurement.MeasurementMedium): this;
171
+ createDefaultPm10ConcentrationMeasurementClusterServer(measuredValue?: number | null, measurementUnit?: ConcentrationMeasurement.MeasurementUnit, measurementMedium?: ConcentrationMeasurement.MeasurementMedium): this;
172
+ createDefaultOzoneConcentrationMeasurementClusterServer(measuredValue?: number | null, measurementUnit?: ConcentrationMeasurement.MeasurementUnit, measurementMedium?: ConcentrationMeasurement.MeasurementMedium): this;
173
+ createDefaultRadonConcentrationMeasurementClusterServer(measuredValue?: number | null, measurementUnit?: ConcentrationMeasurement.MeasurementUnit, measurementMedium?: ConcentrationMeasurement.MeasurementMedium): this;
174
+ createDefaultNitrogenDioxideConcentrationMeasurementClusterServer(measuredValue?: number | null, measurementUnit?: ConcentrationMeasurement.MeasurementUnit, measurementMedium?: ConcentrationMeasurement.MeasurementMedium): this;
175
+ }
@@ -0,0 +1,362 @@
1
+ import { AnsiLogger } from 'node-ansi-logger';
2
+ import { ActionContext, Behavior, Endpoint } from '@matter/node';
3
+ import { ClusterId } from '@matter/types/datatype';
4
+ import { ClusterType } from '@matter/types/cluster';
5
+ import { PowerSource } from '@matter/types/clusters/power-source';
6
+ import { OperationalState } from '@matter/types/clusters/operational-state';
7
+ import { DeviceEnergyManagement } from '@matter/types/clusters/device-energy-management';
8
+ import { DeviceEnergyManagementMode } from '@matter/types/clusters/device-energy-management-mode';
9
+ import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
10
+ import { MatterbridgeEndpointCommands } from './matterbridgeEndpointTypes.js';
11
+ export declare function capitalizeFirstLetter(name: string): string;
12
+ export declare function lowercaseFirstLetter(name: string): string;
13
+ export declare function checkNotLatinCharacters(deviceName: string): boolean;
14
+ export declare function generateUniqueId(deviceName: string): string;
15
+ export declare function createUniqueId(param1: string, param2: string, param3: string, param4: string): string;
16
+ export declare function featuresFor(endpoint: MatterbridgeEndpoint, cluster: Behavior.Type | ClusterType | ClusterId | string): Record<string, boolean | undefined>;
17
+ export declare function getBehaviourTypesFromClusterServerIds(clusterServerList: ClusterId[]): Behavior.Type[];
18
+ export declare function getBehaviourTypesFromClusterClientIds(clusterClientList: ClusterId[]): Behavior.Type[];
19
+ export declare function getBehaviourTypeFromClusterServerId(clusterId: ClusterId): Behavior.Type;
20
+ export declare function getBehaviourTypeFromClusterClientId(_clusterId: ClusterId): void;
21
+ export declare function getBehavior(endpoint: MatterbridgeEndpoint, cluster: Behavior.Type | ClusterType | ClusterId | string): Behavior.Type | undefined;
22
+ export declare function invokeBehaviorCommand(endpoint: MatterbridgeEndpoint, cluster: Behavior.Type | ClusterType | ClusterId | string, command: keyof MatterbridgeEndpointCommands, params?: Record<string, boolean | number | bigint | string | object | null>): Promise<boolean>;
23
+ export declare function invokeSubscribeHandler(endpoint: MatterbridgeEndpoint, cluster: Behavior.Type | ClusterType | ClusterId | string, attribute: string, newValue: unknown, oldValue: unknown): Promise<boolean>;
24
+ export declare function addRequiredClusterServers(endpoint: MatterbridgeEndpoint): void;
25
+ export declare function addOptionalClusterServers(endpoint: MatterbridgeEndpoint): void;
26
+ export declare function addClusterServers(endpoint: MatterbridgeEndpoint, serverList: ClusterId[]): void;
27
+ export declare function addFixedLabel(endpoint: MatterbridgeEndpoint, label: string, value: string): Promise<void>;
28
+ export declare function addUserLabel(endpoint: MatterbridgeEndpoint, label: string, value: string): Promise<void>;
29
+ export declare function optionsFor<T extends Behavior.Type>(type: T, options: Behavior.Options<T>): Behavior.Options<T>;
30
+ export declare function getClusterId(endpoint: Endpoint, cluster: string): number | undefined;
31
+ export declare function getAttributeId(endpoint: Endpoint, cluster: string, attribute: string): number | undefined;
32
+ export declare function getAttribute(endpoint: MatterbridgeEndpoint, cluster: Behavior.Type | ClusterType | ClusterId | string, attribute: string, log?: AnsiLogger): any;
33
+ export declare function setAttribute(endpoint: MatterbridgeEndpoint, cluster: Behavior.Type | ClusterType | ClusterId | string, attribute: string, value: boolean | number | bigint | string | object | null, log?: AnsiLogger): Promise<boolean>;
34
+ export declare function updateAttribute(endpoint: MatterbridgeEndpoint, cluster: Behavior.Type | ClusterType | ClusterId | string, attribute: string, value: boolean | number | bigint | string | object | null, log?: AnsiLogger): Promise<boolean>;
35
+ export declare function subscribeAttribute(endpoint: MatterbridgeEndpoint, cluster: Behavior.Type | ClusterType | ClusterId | string, attribute: string, listener: (newValue: any, oldValue: any, context: ActionContext) => void, log?: AnsiLogger): Promise<boolean>;
36
+ export declare function triggerEvent(endpoint: MatterbridgeEndpoint, cluster: Behavior.Type | ClusterType | ClusterId | string, event: string, payload: Record<string, boolean | number | bigint | string | object | undefined | null>, log?: AnsiLogger): Promise<boolean>;
37
+ export declare function getDefaultPowerSourceWiredClusterServer(wiredCurrentType?: PowerSource.WiredCurrentType): Partial<{
38
+ status: number;
39
+ order: number;
40
+ endpointList: number[];
41
+ wiredAssessedInputVoltage?: number | null | undefined;
42
+ wiredAssessedInputFrequency?: number | null | undefined;
43
+ wiredAssessedCurrent?: number | null | undefined;
44
+ wiredPresent?: boolean | undefined;
45
+ activeWiredFaults?: number[] | undefined;
46
+ description: string;
47
+ wiredCurrentType: number;
48
+ wiredNominalVoltage?: number | undefined;
49
+ wiredMaximumCurrent?: number | undefined;
50
+ }>;
51
+ export declare function getDefaultPowerSourceBatteryClusterServer(batPercentRemaining?: null | number, batChargeLevel?: PowerSource.BatChargeLevel, batVoltage?: null | number, batReplaceability?: PowerSource.BatReplaceability): Partial<{
52
+ status: number;
53
+ order: number;
54
+ endpointList: number[];
55
+ batChargeLevel: number;
56
+ batReplacementNeeded: boolean;
57
+ batVoltage?: number | null | undefined;
58
+ batPercentRemaining?: number | null | undefined;
59
+ batTimeRemaining?: number | null | undefined;
60
+ batPresent?: boolean | undefined;
61
+ activeBatFaults?: number[] | undefined;
62
+ description: string;
63
+ batReplaceability: number;
64
+ }>;
65
+ export declare function getDefaultPowerSourceReplaceableBatteryClusterServer(batPercentRemaining?: number, batChargeLevel?: PowerSource.BatChargeLevel, batVoltage?: number, batReplacementDescription?: string, batQuantity?: number, batReplaceability?: PowerSource.BatReplaceability): Partial<{
66
+ status: number;
67
+ order: number;
68
+ endpointList: number[];
69
+ batChargeLevel: number;
70
+ batReplacementNeeded: boolean;
71
+ batVoltage?: number | null | undefined;
72
+ batPercentRemaining?: number | null | undefined;
73
+ batTimeRemaining?: number | null | undefined;
74
+ batPresent?: boolean | undefined;
75
+ activeBatFaults?: number[] | undefined;
76
+ description: string;
77
+ batReplaceability: number;
78
+ batReplacementDescription: string;
79
+ batQuantity: number;
80
+ batCommonDesignation?: number | undefined;
81
+ batAnsiDesignation?: string | undefined;
82
+ batIecDesignation?: string | undefined;
83
+ batApprovedChemistry?: number | undefined;
84
+ batCapacity?: number | undefined;
85
+ }>;
86
+ export declare function getDefaultPowerSourceRechargeableBatteryClusterServer(batPercentRemaining?: number, batChargeLevel?: PowerSource.BatChargeLevel, batVoltage?: number, batReplaceability?: PowerSource.BatReplaceability): Partial<{
87
+ status: number;
88
+ order: number;
89
+ endpointList: number[];
90
+ batChargeLevel: number;
91
+ batReplacementNeeded: boolean;
92
+ batChargeState: number;
93
+ batFunctionalWhileCharging: boolean;
94
+ batVoltage?: number | null | undefined;
95
+ batPercentRemaining?: number | null | undefined;
96
+ batTimeRemaining?: number | null | undefined;
97
+ batPresent?: boolean | undefined;
98
+ activeBatFaults?: number[] | undefined;
99
+ batTimeToFullCharge?: number | null | undefined;
100
+ batChargingCurrent?: number | null | undefined;
101
+ activeBatChargeFaults?: number[] | undefined;
102
+ description: string;
103
+ batReplaceability: number;
104
+ batCapacity?: number | undefined;
105
+ }>;
106
+ export declare function getDefaultElectricalEnergyMeasurementClusterServer(energyImported?: number | bigint | null, energyExported?: number | bigint | null): Partial<{
107
+ cumulativeEnergyImported: {
108
+ energy: number | bigint;
109
+ startTimestamp?: number | undefined;
110
+ endTimestamp?: number | undefined;
111
+ startSystime?: number | bigint | undefined;
112
+ endSystime?: number | bigint | undefined;
113
+ } | null;
114
+ cumulativeEnergyExported: {
115
+ energy: number | bigint;
116
+ startTimestamp?: number | undefined;
117
+ endTimestamp?: number | undefined;
118
+ startSystime?: number | bigint | undefined;
119
+ endSystime?: number | bigint | undefined;
120
+ } | null;
121
+ cumulativeEnergyReset?: {
122
+ importedResetTimestamp?: number | null | undefined;
123
+ exportedResetTimestamp?: number | null | undefined;
124
+ importedResetSystime?: number | bigint | null | undefined;
125
+ exportedResetSystime?: number | bigint | null | undefined;
126
+ } | null | undefined;
127
+ accuracy: {
128
+ measurementType: number;
129
+ measured: boolean;
130
+ minMeasuredValue: number | bigint;
131
+ maxMeasuredValue: number | bigint;
132
+ accuracyRanges: {
133
+ rangeMin: number | bigint;
134
+ rangeMax: number | bigint;
135
+ percentMax?: number | undefined;
136
+ percentMin?: number | undefined;
137
+ percentTypical?: number | undefined;
138
+ fixedMax?: number | bigint | undefined;
139
+ fixedMin?: number | bigint | undefined;
140
+ fixedTypical?: number | bigint | undefined;
141
+ }[];
142
+ };
143
+ }>;
144
+ export declare function getDefaultElectricalPowerMeasurementClusterServer(voltage?: number | bigint | null, current?: number | bigint | null, power?: number | bigint | null, frequency?: number | bigint | null): Partial<{
145
+ powerMode: number;
146
+ activePower: number | bigint | null;
147
+ ranges?: {
148
+ measurementType: number;
149
+ min: number | bigint;
150
+ max: number | bigint;
151
+ startTimestamp?: number | undefined;
152
+ endTimestamp?: number | undefined;
153
+ minTimestamp?: number | undefined;
154
+ maxTimestamp?: number | undefined;
155
+ startSystime?: number | bigint | undefined;
156
+ endSystime?: number | bigint | undefined;
157
+ minSystime?: number | bigint | undefined;
158
+ maxSystime?: number | bigint | undefined;
159
+ }[] | undefined;
160
+ voltage?: number | bigint | null | undefined;
161
+ activeCurrent?: number | bigint | null | undefined;
162
+ frequency?: number | bigint | null | undefined;
163
+ reactiveCurrent?: number | bigint | null | undefined;
164
+ apparentCurrent?: number | bigint | null | undefined;
165
+ reactivePower?: number | bigint | null | undefined;
166
+ apparentPower?: number | bigint | null | undefined;
167
+ rmsVoltage?: number | bigint | null | undefined;
168
+ rmsCurrent?: number | bigint | null | undefined;
169
+ rmsPower?: number | bigint | null | undefined;
170
+ powerFactor?: number | bigint | null | undefined;
171
+ numberOfMeasurementTypes: number;
172
+ accuracy: {
173
+ measurementType: number;
174
+ measured: boolean;
175
+ minMeasuredValue: number | bigint;
176
+ maxMeasuredValue: number | bigint;
177
+ accuracyRanges: {
178
+ rangeMin: number | bigint;
179
+ rangeMax: number | bigint;
180
+ percentMax?: number | undefined;
181
+ percentMin?: number | undefined;
182
+ percentTypical?: number | undefined;
183
+ fixedMax?: number | bigint | undefined;
184
+ fixedMin?: number | bigint | undefined;
185
+ fixedTypical?: number | bigint | undefined;
186
+ }[];
187
+ }[];
188
+ }>;
189
+ export declare function getApparentElectricalPowerMeasurementClusterServer(voltage?: number | bigint | null, apparentCurrent?: number | bigint | null, apparentPower?: number | bigint | null, frequency?: number | bigint | null): Partial<{
190
+ powerMode: number;
191
+ activePower: number | bigint | null;
192
+ ranges?: {
193
+ measurementType: number;
194
+ min: number | bigint;
195
+ max: number | bigint;
196
+ startTimestamp?: number | undefined;
197
+ endTimestamp?: number | undefined;
198
+ minTimestamp?: number | undefined;
199
+ maxTimestamp?: number | undefined;
200
+ startSystime?: number | bigint | undefined;
201
+ endSystime?: number | bigint | undefined;
202
+ minSystime?: number | bigint | undefined;
203
+ maxSystime?: number | bigint | undefined;
204
+ }[] | undefined;
205
+ voltage?: number | bigint | null | undefined;
206
+ activeCurrent?: number | bigint | null | undefined;
207
+ frequency?: number | bigint | null | undefined;
208
+ reactiveCurrent?: number | bigint | null | undefined;
209
+ apparentCurrent?: number | bigint | null | undefined;
210
+ reactivePower?: number | bigint | null | undefined;
211
+ apparentPower?: number | bigint | null | undefined;
212
+ rmsVoltage?: number | bigint | null | undefined;
213
+ rmsCurrent?: number | bigint | null | undefined;
214
+ rmsPower?: number | bigint | null | undefined;
215
+ powerFactor?: number | bigint | null | undefined;
216
+ numberOfMeasurementTypes: number;
217
+ accuracy: {
218
+ measurementType: number;
219
+ measured: boolean;
220
+ minMeasuredValue: number | bigint;
221
+ maxMeasuredValue: number | bigint;
222
+ accuracyRanges: {
223
+ rangeMin: number | bigint;
224
+ rangeMax: number | bigint;
225
+ percentMax?: number | undefined;
226
+ percentMin?: number | undefined;
227
+ percentTypical?: number | undefined;
228
+ fixedMax?: number | bigint | undefined;
229
+ fixedMin?: number | bigint | undefined;
230
+ fixedTypical?: number | bigint | undefined;
231
+ }[];
232
+ }[];
233
+ }>;
234
+ export declare function getDefaultDeviceEnergyManagementClusterServer(esaType?: DeviceEnergyManagement.EsaType, esaCanGenerate?: boolean, esaState?: DeviceEnergyManagement.EsaState, absMinPower?: number, absMaxPower?: number): Partial<{
235
+ powerAdjustmentCapability: {
236
+ powerAdjustCapability: {
237
+ minPower: number | bigint;
238
+ maxPower: number | bigint;
239
+ minDuration: number;
240
+ maxDuration: number;
241
+ }[] | null;
242
+ cause: number;
243
+ } | null;
244
+ forecast: {
245
+ forecastId: number;
246
+ activeSlotNumber: number | null;
247
+ startTime: number;
248
+ endTime: number;
249
+ isPausable: boolean;
250
+ slots: {
251
+ minDuration: number;
252
+ maxDuration: number;
253
+ defaultDuration: number;
254
+ elapsedSlotTime: number;
255
+ remainingSlotTime: number;
256
+ minPower?: number | bigint | undefined;
257
+ maxPower?: number | bigint | undefined;
258
+ slotIsPausable?: boolean | undefined;
259
+ minPauseDuration?: number | undefined;
260
+ maxPauseDuration?: number | undefined;
261
+ manufacturerEsaState?: number | undefined;
262
+ nominalPower?: number | bigint | undefined;
263
+ nominalEnergy?: number | bigint | undefined;
264
+ costs?: {
265
+ value: number;
266
+ costType: number;
267
+ decimalPoints: number;
268
+ currency?: number | undefined;
269
+ }[] | undefined;
270
+ minPowerAdjustment?: number | bigint | undefined;
271
+ maxPowerAdjustment?: number | bigint | undefined;
272
+ minDurationAdjustment?: number | undefined;
273
+ maxDurationAdjustment?: number | undefined;
274
+ }[];
275
+ forecastUpdateReason: number;
276
+ earliestStartTime?: number | null | undefined;
277
+ latestEndTime?: number | undefined;
278
+ } | null;
279
+ optOutState: number;
280
+ esaState: number;
281
+ absMinPower: number | bigint;
282
+ absMaxPower: number | bigint;
283
+ esaType: number;
284
+ esaCanGenerate: boolean;
285
+ }>;
286
+ export declare function getDefaultDeviceEnergyManagementModeClusterServer(currentMode?: number, supportedModes?: DeviceEnergyManagementMode.ModeOption[]): Partial<{
287
+ currentMode: number;
288
+ supportedModes: {
289
+ mode: number;
290
+ label: string;
291
+ modeTags: {
292
+ value: number;
293
+ mfgCode?: number | undefined;
294
+ }[];
295
+ }[];
296
+ }>;
297
+ export declare function getDefaultOperationalStateClusterServer(operationalState?: OperationalState.OperationalStateEnum): Partial<{
298
+ phaseList: string[] | null;
299
+ currentPhase: number | null;
300
+ operationalStateList: {
301
+ operationalStateId: number;
302
+ operationalStateLabel?: string | undefined;
303
+ }[];
304
+ operationalState: number;
305
+ operationalError: {
306
+ errorStateId: number;
307
+ errorStateLabel?: string | undefined;
308
+ errorStateDetails?: string | undefined;
309
+ };
310
+ countdownTime?: number | null | undefined;
311
+ }>;
312
+ export declare function getDefaultTemperatureMeasurementClusterServer(measuredValue?: number | null, minMeasuredValue?: number | null, maxMeasuredValue?: number | null): Partial<{
313
+ measuredValue: number | null;
314
+ minMeasuredValue: number | null;
315
+ maxMeasuredValue: number | null;
316
+ tolerance?: number | undefined;
317
+ }>;
318
+ export declare function getDefaultRelativeHumidityMeasurementClusterServer(measuredValue?: number | null, minMeasuredValue?: number | null, maxMeasuredValue?: number | null): Partial<{
319
+ measuredValue: number | null;
320
+ minMeasuredValue: number | null;
321
+ maxMeasuredValue: number | null;
322
+ tolerance?: number | undefined;
323
+ }>;
324
+ export declare function getDefaultPressureMeasurementClusterServer(measuredValue?: number | null, minMeasuredValue?: number | null, maxMeasuredValue?: number | null): Partial<{
325
+ measuredValue: number | null;
326
+ minMeasuredValue: number | null;
327
+ maxMeasuredValue: number | null;
328
+ tolerance?: number | undefined;
329
+ }>;
330
+ export declare function getDefaultIlluminanceMeasurementClusterServer(measuredValue?: number | null, minMeasuredValue?: number | null, maxMeasuredValue?: number | null): Partial<{
331
+ measuredValue: number | null;
332
+ minMeasuredValue: number | null;
333
+ maxMeasuredValue: number | null;
334
+ tolerance?: number | undefined;
335
+ lightSensorType?: number | null | undefined;
336
+ }>;
337
+ export declare function getDefaultFlowMeasurementClusterServer(measuredValue?: number | null, minMeasuredValue?: number | null, maxMeasuredValue?: number | null): Partial<{
338
+ measuredValue: number | null;
339
+ minMeasuredValue: number | null;
340
+ maxMeasuredValue: number | null;
341
+ tolerance?: number | undefined;
342
+ }>;
343
+ export declare function getDefaultOccupancySensingClusterServer(occupied?: boolean, holdTime?: number, holdTimeMin?: number, holdTimeMax?: number): Partial<{
344
+ occupancy: {
345
+ occupied?: boolean | undefined;
346
+ };
347
+ holdTime?: number | undefined;
348
+ pirOccupiedToUnoccupiedDelay?: number | undefined;
349
+ pirUnoccupiedToOccupiedDelay?: number | undefined;
350
+ pirUnoccupiedToOccupiedThreshold?: number | undefined;
351
+ occupancySensorType: number;
352
+ occupancySensorTypeBitmap: {
353
+ pir?: boolean | undefined;
354
+ ultrasonic?: boolean | undefined;
355
+ physicalContact?: boolean | undefined;
356
+ };
357
+ holdTimeLimits?: {
358
+ holdTimeMin: number;
359
+ holdTimeMax: number;
360
+ holdTimeDefault: number;
361
+ } | undefined;
362
+ }>;