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 +2 -0
- package/dist/matterbridge.js +15 -2
- package/dist/matterbridgeDeviceTypes.js +118 -3
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
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
|
|
package/dist/matterbridge.js
CHANGED
|
@@ -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
|
-
|
|
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 {
|
|
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-
|
|
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-
|
|
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
|
+
});
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge",
|
|
3
|
-
"version": "3.0.0-edge.
|
|
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.
|
|
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",
|