matterbridge 3.0.3-dev-20250517-720018f → 3.0.3-dev-20250518-e0f532c

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.
package/CHANGELOG.md CHANGED
@@ -8,11 +8,12 @@ If you like this project and find it useful, please consider giving it a star on
8
8
  <img src="bmc-button.svg" alt="Buy me a coffee" width="120">
9
9
  </a>
10
10
 
11
- ## [3.0.3] - 2025-05-??
11
+ ## [3.0.3] - 2025-05-18
12
12
 
13
13
  ### Added
14
14
 
15
15
  - [virtual] Added virtual devices configuration mode in the Matterbridge Settings: 'Disabled', 'Light', 'Outlet', 'Switch', 'Mounted_switch'. Switch is not supported by Alexa. Mounted Switch is not supported by Apple.
16
+ - [deviceTypes] Added evse, waterHeater, solarPower, batteryStorage and heatPump device type.
16
17
 
17
18
  ### Changed
18
19
 
@@ -214,6 +214,7 @@ export class Matterbridge extends EventEmitter {
214
214
  }
215
215
  async initialize() {
216
216
  this.emit('initialize_started');
217
+ this.log = new AnsiLogger({ logName: 'Matterbridge', logTimestampFormat: 4, logLevel: hasParameter('debug') ? "debug" : "info" });
217
218
  if (hasParameter('service'))
218
219
  this.restartMode = 'service';
219
220
  if (hasParameter('docker'))
@@ -240,7 +241,6 @@ export class Matterbridge extends EventEmitter {
240
241
  this.environment.vars.set('path.root', path.join(this.matterbridgeDirectory, this.matterStorageName));
241
242
  this.environment.vars.set('runtime.signals', false);
242
243
  this.environment.vars.set('runtime.exitcode', false);
243
- this.log = new AnsiLogger({ logName: 'Matterbridge', logTimestampFormat: 4, logLevel: hasParameter('debug') ? "debug" : "info" });
244
244
  this.registerProcessHandlers();
245
245
  try {
246
246
  this.log.debug(`Creating node storage manager: ${CYAN}${this.nodeStorageName}${db}`);
@@ -1641,6 +1641,7 @@ export class Matterbridge extends EventEmitter {
1641
1641
  async createAggregatorNode(storageContext) {
1642
1642
  this.log.notice(`Creating ${await storageContext.get('storeId')} aggregator...`);
1643
1643
  const aggregatorNode = new Endpoint(AggregatorEndpoint, { id: `${await storageContext.get('storeId')}` });
1644
+ this.log.info(`Created ${await storageContext.get('storeId')} aggregator`);
1644
1645
  return aggregatorNode;
1645
1646
  }
1646
1647
  async addBridgedEndpoint(pluginName, device) {
@@ -1932,11 +1933,11 @@ export class Matterbridge extends EventEmitter {
1932
1933
  this.log.info(`Created ${name}: ${path}`);
1933
1934
  }
1934
1935
  catch (err) {
1935
- this.log.error(`Error creating ${name}: ${err}`);
1936
+ this.log.error(`Error creating dir ${name} path ${path}: ${err}`);
1936
1937
  }
1937
1938
  }
1938
1939
  else {
1939
- this.log.error(`Error accessing ${name}: ${err}`);
1940
+ this.log.error(`Error accessing dir ${name} path ${path}: ${err}`);
1940
1941
  }
1941
1942
  }
1942
1943
  }
@@ -65,7 +65,7 @@ import { RefrigeratorAndTemperatureControlledCabinetMode } from '@matter/main/cl
65
65
  import { ServiceArea } from '@matter/main/clusters/service-area';
66
66
  import { TemperatureControl } from '@matter/main/clusters/temperature-control';
67
67
  import { OtaSoftwareUpdateRequestor } from '@matter/main/clusters/ota-software-update-requestor';
68
- import { OtaSoftwareUpdateProvider } from '@matter/main/clusters';
68
+ import { EnergyEvse, EnergyEvseMode, OtaSoftwareUpdateProvider, WaterHeaterManagement, WaterHeaterMode } from '@matter/main/clusters';
69
69
  export var DeviceClasses;
70
70
  (function (DeviceClasses) {
71
71
  DeviceClasses["Node"] = "Node";
@@ -138,8 +138,8 @@ export const deviceEnergyManagement = DeviceTypeDefinition({
138
138
  code: 0x050d,
139
139
  deviceClass: DeviceClasses.Utility,
140
140
  revision: 2,
141
- requiredServerClusters: [DeviceEnergyManagement.Cluster.id, DeviceEnergyManagementMode.Cluster.id],
142
- optionalServerClusters: [],
141
+ requiredServerClusters: [DeviceEnergyManagement.Cluster.id],
142
+ optionalServerClusters: [DeviceEnergyManagementMode.Cluster.id],
143
143
  });
144
144
  export const onOffLight = DeviceTypeDefinition({
145
145
  name: 'MA-onofflight',
@@ -523,3 +523,43 @@ export const microwaveOven = DeviceTypeDefinition({
523
523
  requiredServerClusters: [OperationalState.Cluster.id, MicrowaveOvenMode.Cluster.id, MicrowaveOvenControl.Cluster.id],
524
524
  optionalServerClusters: [Identify.Cluster.id, FanControl.Cluster.id],
525
525
  });
526
+ export const evse = DeviceTypeDefinition({
527
+ name: 'MA-evse',
528
+ code: 0x050c,
529
+ deviceClass: DeviceClasses.Simple,
530
+ revision: 2,
531
+ requiredServerClusters: [EnergyEvse.Cluster.id, EnergyEvseMode.Cluster.id],
532
+ optionalServerClusters: [Identify.Cluster.id, TemperatureMeasurement.Cluster.id],
533
+ });
534
+ export const waterHeater = DeviceTypeDefinition({
535
+ name: 'MA-waterheater',
536
+ code: 0x050f,
537
+ deviceClass: DeviceClasses.Simple,
538
+ revision: 1,
539
+ requiredServerClusters: [Thermostat.Cluster.id, WaterHeaterManagement.Cluster.id, WaterHeaterMode.Cluster.id],
540
+ optionalServerClusters: [Identify.Cluster.id],
541
+ });
542
+ export const solarPower = DeviceTypeDefinition({
543
+ name: 'MA-solarpower',
544
+ code: 0x0017,
545
+ deviceClass: DeviceClasses.Simple,
546
+ revision: 1,
547
+ requiredServerClusters: [],
548
+ optionalServerClusters: [Identify.Cluster.id],
549
+ });
550
+ export const batteryStorage = DeviceTypeDefinition({
551
+ name: 'MA-batterystorage',
552
+ code: 0x0018,
553
+ deviceClass: DeviceClasses.Simple,
554
+ revision: 1,
555
+ requiredServerClusters: [],
556
+ optionalServerClusters: [Identify.Cluster.id],
557
+ });
558
+ export const heatPump = DeviceTypeDefinition({
559
+ name: 'MA-heatpump',
560
+ code: 0x0309,
561
+ deviceClass: DeviceClasses.Simple,
562
+ revision: 1,
563
+ requiredServerClusters: [],
564
+ optionalServerClusters: [Identify.Cluster.id, Thermostat.Cluster.id],
565
+ });
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.0.3-dev-20250517-720018f",
3
+ "version": "3.0.3-dev-20250518-e0f532c",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "matterbridge",
9
- "version": "3.0.3-dev-20250517-720018f",
9
+ "version": "3.0.3-dev-20250518-e0f532c",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@matter/main": "0.13.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.0.3-dev-20250517-720018f",
3
+ "version": "3.0.3-dev-20250518-e0f532c",
4
4
  "description": "Matterbridge plugin manager for Matter",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",