matterbridge 3.0.0-edge.5 → 3.0.0-edge.7

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
@@ -51,6 +51,8 @@ Modified clusters:
51
51
  - [endpoint]: Added createBaseFanControlClusterServer().
52
52
  - [endpoint]: Added createDefaultHepaFilterMonitoringClusterServer().
53
53
  - [endpoint]: Added createDefaultActivatedCarbonFilterMonitoringClusterServer().
54
+ - [deviceTypes]: Added Robotic device type.
55
+ - [deviceTypes]: Added Appliances device types.
54
56
 
55
57
  ### Changed
56
58
 
@@ -15,8 +15,8 @@ import { Frontend } from './frontend.js';
15
15
  import { DeviceTypeId, Endpoint as EndpointNode, Logger, LogLevel as MatterLogLevel, LogFormat as MatterLogFormat, VendorId, StorageService, Environment, ServerNode } from '@matter/main';
16
16
  import { DeviceCommissioner, FabricAction, MdnsService, PaseClient } from '@matter/main/protocol';
17
17
  import { AggregatorEndpoint } from '@matter/main/endpoints';
18
- import { BridgedDeviceBasicInformationServer } from '@matter/main/behaviors/bridged-device-basic-information';
19
18
  import { BasicInformationServer } from '@matter/main/behaviors/basic-information';
19
+ import { BridgedDeviceBasicInformationServer } from '@matter/main/behaviors/bridged-device-basic-information';
20
20
  const plg = '\u001B[38;5;33m';
21
21
  const dev = '\u001B[38;5;79m';
22
22
  const typ = '\u001B[38;5;207m';
@@ -122,7 +122,7 @@ export class Matterbridge extends EventEmitter {
122
122
  matterStorageService;
123
123
  matterStorageManager;
124
124
  matterbridgeContext;
125
- mattercontrollerContext;
125
+ controllerContext;
126
126
  mdnsInterface;
127
127
  ipv4address;
128
128
  ipv6address;
@@ -1337,6 +1337,19 @@ export class Matterbridge extends EventEmitter {
1337
1337
  }, 1000);
1338
1338
  }
1339
1339
  async startController() {
1340
+ if (!this.matterStorageManager) {
1341
+ this.log.error('No storage manager initialized');
1342
+ await this.cleanup('No storage manager initialized');
1343
+ return;
1344
+ }
1345
+ this.log.info('Creating context: mattercontrollerContext');
1346
+ this.controllerContext = this.matterStorageManager.createContext('mattercontrollerContext');
1347
+ if (!this.controllerContext) {
1348
+ this.log.error('No storage context mattercontrollerContext initialized');
1349
+ await this.cleanup('No storage context mattercontrollerContext initialized');
1350
+ return;
1351
+ }
1352
+ this.log.debug('Starting matterbridge in mode', this.bridgeMode);
1340
1353
  }
1341
1354
  async startMatterStorage() {
1342
1355
  this.log.info(`Starting matter node storage...`);
@@ -50,7 +50,20 @@ import { DeviceEnergyManagementMode } from '@matter/main/clusters/device-energy-
50
50
  import { AdministratorCommissioning } from '@matter/main/clusters/administrator-commissioning';
51
51
  import { EcosystemInformation } from '@matter/main/clusters/ecosystem-information';
52
52
  import { CommissionerControl } from '@matter/main/clusters/commissioner-control';
53
- import { ServiceArea } from '@matter/main/clusters';
53
+ import { DishwasherAlarm } from '@matter/main/clusters/dishwasher-alarm';
54
+ import { DishwasherMode } from '@matter/main/clusters/dishwasher-mode';
55
+ import { LaundryDryerControls } from '@matter/main/clusters/laundry-dryer-controls';
56
+ import { LaundryWasherControls } from '@matter/main/clusters/laundry-washer-controls';
57
+ import { LaundryWasherMode } from '@matter/main/clusters/laundry-washer-mode';
58
+ import { MicrowaveOvenControl } from '@matter/main/clusters/microwave-oven-control';
59
+ import { MicrowaveOvenMode } from '@matter/main/clusters/microwave-oven-mode';
60
+ import { OperationalState } from '@matter/main/clusters/operational-state';
61
+ import { OvenCavityOperationalState } from '@matter/main/clusters/oven-cavity-operational-state';
62
+ import { OvenMode } from '@matter/main/clusters/oven-mode';
63
+ import { RefrigeratorAlarm } from '@matter/main/clusters/refrigerator-alarm';
64
+ import { RefrigeratorAndTemperatureControlledCabinetMode } from '@matter/main/clusters/refrigerator-and-temperature-controlled-cabinet-mode';
65
+ import { ServiceArea } from '@matter/main/clusters/service-area';
66
+ import { TemperatureControl } from '@matter/main/clusters/temperature-control';
54
67
  export var DeviceClasses;
55
68
  (function (DeviceClasses) {
56
69
  DeviceClasses["Node"] = "Node";
@@ -155,7 +168,7 @@ export const dimmableOutlet = DeviceTypeDefinition({
155
168
  optionalServerClusters: [],
156
169
  });
157
170
  export const onOffMountedSwitch = DeviceTypeDefinition({
158
- name: 'MA-onoffswitch',
171
+ name: 'MA-onoffmountedswitch',
159
172
  code: 0x010f,
160
173
  deviceClass: DeviceClasses.Simple,
161
174
  revision: 1,
@@ -163,7 +176,7 @@ export const onOffMountedSwitch = DeviceTypeDefinition({
163
176
  optionalServerClusters: [LevelControl.Cluster.id],
164
177
  });
165
178
  export const dimmableMountedSwitch = DeviceTypeDefinition({
166
- name: 'MA-dimmableswitch',
179
+ name: 'MA-dimmablemountedswitch',
167
180
  code: 0x0110,
168
181
  deviceClass: DeviceClasses.Simple,
169
182
  revision: 1,
@@ -386,3 +399,105 @@ export const roboticVacuumCleaner = DeviceTypeDefinition({
386
399
  requiredServerClusters: [Identify.Cluster.id, RvcRunMode.Cluster.id, RvcOperationalState.Cluster.id],
387
400
  optionalServerClusters: [RvcCleanMode.Cluster.id, ServiceArea.Cluster.id],
388
401
  });
402
+ export const laundryWasher = DeviceTypeDefinition({
403
+ name: 'MA-laundrywasher',
404
+ code: 0x73,
405
+ deviceClass: DeviceClasses.Simple,
406
+ revision: 1,
407
+ requiredServerClusters: [OperationalState.Cluster.id],
408
+ optionalServerClusters: [Identify.Cluster.id, LaundryWasherMode.Cluster.id, OnOff.Cluster.id, LaundryWasherControls.Cluster.id, TemperatureControl.Cluster.id],
409
+ });
410
+ export const refrigerator = DeviceTypeDefinition({
411
+ name: 'MA-refrigerator',
412
+ code: 0x70,
413
+ deviceClass: DeviceClasses.Simple,
414
+ revision: 2,
415
+ requiredServerClusters: [Identify.Cluster.id, RefrigeratorAndTemperatureControlledCabinetMode.Cluster.id, RefrigeratorAlarm.Cluster.id],
416
+ optionalServerClusters: [],
417
+ });
418
+ export const airConditioner = DeviceTypeDefinition({
419
+ name: 'MA-airConditioner',
420
+ code: 0x72,
421
+ deviceClass: DeviceClasses.Simple,
422
+ revision: 2,
423
+ requiredServerClusters: [Identify.Cluster.id, OnOff.Cluster.id, Thermostat.Cluster.id],
424
+ optionalServerClusters: [
425
+ Groups.Cluster.id,
426
+ FanControl.Cluster.id,
427
+ ThermostatUserInterfaceConfiguration.Cluster.id,
428
+ TemperatureMeasurement.Cluster.id,
429
+ RelativeHumidityMeasurement.Cluster.id,
430
+ ],
431
+ });
432
+ export const temperatureControlledCabinetCooler = DeviceTypeDefinition({
433
+ name: 'MA-temperaturecontrolledcabinetcooler',
434
+ code: 0x71,
435
+ deviceClass: DeviceClasses.Simple,
436
+ revision: 3,
437
+ requiredServerClusters: [TemperatureControl.Cluster.id, RefrigeratorAndTemperatureControlledCabinetMode.Cluster.id],
438
+ optionalServerClusters: [TemperatureMeasurement.Cluster.id],
439
+ });
440
+ export const temperatureControlledCabinetHeater = DeviceTypeDefinition({
441
+ name: 'MA-temperaturecontrolledcabinetheater',
442
+ code: 0x71,
443
+ deviceClass: DeviceClasses.Simple,
444
+ revision: 3,
445
+ requiredServerClusters: [TemperatureControl.Cluster.id, OvenMode.Cluster.id, OvenCavityOperationalState.Cluster.id],
446
+ optionalServerClusters: [TemperatureMeasurement.Cluster.id],
447
+ });
448
+ export const dishwasher = DeviceTypeDefinition({
449
+ name: 'MA-dishwasher',
450
+ code: 0x75,
451
+ deviceClass: DeviceClasses.Simple,
452
+ revision: 1,
453
+ requiredServerClusters: [OperationalState.Cluster.id],
454
+ optionalServerClusters: [Identify.Cluster.id, OnOff.Cluster.id, TemperatureControl.Cluster.id, DishwasherMode.Cluster.id, DishwasherAlarm.Cluster.id],
455
+ });
456
+ export const laundryDryer = DeviceTypeDefinition({
457
+ name: 'MA-laundrydryer',
458
+ code: 0x7c,
459
+ deviceClass: DeviceClasses.Simple,
460
+ revision: 1,
461
+ requiredServerClusters: [OperationalState.Cluster.id],
462
+ optionalServerClusters: [Identify.Cluster.id, LaundryWasherMode.Cluster.id, OnOff.Cluster.id, LaundryDryerControls.Cluster.id, TemperatureControl.Cluster.id],
463
+ });
464
+ export const cookSurface = DeviceTypeDefinition({
465
+ name: 'MA-cooksurface',
466
+ code: 0x77,
467
+ deviceClass: DeviceClasses.Simple,
468
+ revision: 1,
469
+ requiredServerClusters: [TemperatureControl.Cluster.id, TemperatureMeasurement.Cluster.id],
470
+ optionalServerClusters: [OnOff.Cluster.id],
471
+ });
472
+ export const cooktop = DeviceTypeDefinition({
473
+ name: 'MA-cooktop',
474
+ code: 0x78,
475
+ deviceClass: DeviceClasses.Simple,
476
+ revision: 1,
477
+ requiredServerClusters: [OnOff.Cluster.id],
478
+ optionalServerClusters: [Identify.Cluster.id],
479
+ });
480
+ export const oven = DeviceTypeDefinition({
481
+ name: 'MA-oven',
482
+ code: 0x7b,
483
+ deviceClass: DeviceClasses.Simple,
484
+ revision: 2,
485
+ requiredServerClusters: [Identify.Cluster.id],
486
+ optionalServerClusters: [],
487
+ });
488
+ export const extractorHood = DeviceTypeDefinition({
489
+ name: 'MA-extractorhood',
490
+ code: 0x7a,
491
+ deviceClass: DeviceClasses.Simple,
492
+ revision: 1,
493
+ requiredServerClusters: [FanControl.Cluster.id],
494
+ optionalServerClusters: [Identify.Cluster.id, HepaFilterMonitoring.Cluster.id, ActivatedCarbonFilterMonitoring.Cluster.id],
495
+ });
496
+ export const microwaveOven = DeviceTypeDefinition({
497
+ name: 'MA-microwaveoven',
498
+ code: 0x79,
499
+ deviceClass: DeviceClasses.Simple,
500
+ revision: 1,
501
+ requiredServerClusters: [OperationalState.Cluster.id, MicrowaveOvenMode.Cluster.id, MicrowaveOvenControl.Cluster.id],
502
+ optionalServerClusters: [Identify.Cluster.id, FanControl.Cluster.id],
503
+ });
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.0.0-edge.5",
3
+ "version": "3.0.0-edge.7",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "matterbridge",
9
- "version": "3.0.0-edge.5",
9
+ "version": "3.0.0-edge.7",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@matter/main": "0.13.0-alpha.0-20250412-5fad64e7b",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.0.0-edge.5",
3
+ "version": "3.0.0-edge.7",
4
4
  "description": "Matterbridge plugin manager for Matter",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",