matterbridge 2.0.0-edge1 → 2.0.0
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 +15 -2
- package/dist/cli.d.ts +25 -0
- package/dist/cli.js +0 -0
- package/dist/cluster/export.d.ts +2 -0
- package/dist/defaultConfigSchema.d.ts +27 -0
- package/dist/deviceManager.d.ts +3 -3
- package/dist/deviceManager.d.ts.map +1 -1
- package/dist/deviceManager.js +2 -2
- package/dist/deviceManager.js.map +1 -1
- package/dist/frontend.d.ts +3 -3
- package/dist/frontend.d.ts.map +1 -1
- package/dist/frontend.js +60 -21
- package/dist/frontend.js.map +1 -1
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/logger/export.d.ts +2 -0
- package/dist/matter/export.d.ts +10 -0
- package/dist/matterbridge.d.ts +21 -22
- package/dist/matterbridge.d.ts.map +1 -1
- package/dist/matterbridge.js +68 -54
- package/dist/matterbridge.js.map +1 -1
- package/dist/matterbridgeAccessoryPlatform.d.ts +39 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -1
- package/dist/matterbridgeBehaviors.d.ts +870 -30
- package/dist/matterbridgeBehaviors.d.ts.map +1 -1
- package/dist/matterbridgeBehaviors.js +18 -3
- package/dist/matterbridgeBehaviors.js.map +1 -1
- package/dist/matterbridgeDeviceTypes.d.ts +72 -4
- package/dist/matterbridgeDeviceTypes.d.ts.map +1 -1
- package/dist/matterbridgeDeviceTypes.js +110 -3
- package/dist/matterbridgeDeviceTypes.js.map +1 -1
- package/dist/matterbridgeDynamicPlatform.d.ts +39 -0
- package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -1
- package/dist/matterbridgeEndpoint.d.ts +9155 -68
- package/dist/matterbridgeEndpoint.d.ts.map +1 -1
- package/dist/matterbridgeEndpoint.js +115 -23
- package/dist/matterbridgeEndpoint.js.map +1 -1
- package/dist/matterbridgeEndpointDefault.d.ts +2 -0
- package/dist/matterbridgeEndpointDefault.d.ts.map +1 -0
- package/dist/matterbridgeEndpointDefault.js +159 -0
- package/dist/matterbridgeEndpointDefault.js.map +1 -0
- package/dist/matterbridgePlatform.d.ts +26 -16
- package/dist/matterbridgePlatform.d.ts.map +1 -1
- package/dist/matterbridgePlatform.js +8 -7
- package/dist/matterbridgePlatform.js.map +1 -1
- package/dist/matterbridgeTypes.d.ts +167 -0
- package/dist/matterbridgeTypes.d.ts.map +1 -1
- package/dist/pluginManager.d.ts +2 -2
- package/dist/pluginManager.d.ts.map +1 -1
- package/dist/pluginManager.js +9 -16
- package/dist/pluginManager.js.map +1 -1
- package/dist/storage/export.d.ts +2 -0
- package/dist/utils/colorUtils.d.ts +61 -0
- package/dist/utils/export.d.ts +3 -0
- package/dist/utils/utils.d.ts +1 -1
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +8 -9
- package/dist/utils/utils.js.map +1 -1
- package/frontend/build/asset-manifest.json +3 -3
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/js/{main.ea28015b.js → main.6df4ebe4.js} +3 -3
- package/frontend/build/static/js/{main.ea28015b.js.map → main.6df4ebe4.js.map} +1 -1
- package/npm-shrinkwrap.json +16 -13
- package/package.json +2 -2
- /package/frontend/build/static/js/{main.ea28015b.js.LICENSE.txt → main.6df4ebe4.js.LICENSE.txt} +0 -0
|
@@ -22,11 +22,8 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import { Matterbridge } from './matterbridge.js';
|
|
24
24
|
import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import { NodeStorage, NodeStorageManager } from 'node-persist-manager';
|
|
28
|
-
import { AtLeastOne } from '@matter/main';
|
|
29
|
-
import { DeviceTypeDefinition } from '@project-chip/matter.js/device';
|
|
25
|
+
import { AnsiLogger, LogLevel } from './logger/export.js';
|
|
26
|
+
import { NodeStorage, NodeStorageManager } from './storage/export.js';
|
|
30
27
|
export type PlatformConfigValue = string | number | boolean | bigint | object | undefined | null;
|
|
31
28
|
export type PlatformConfig = Record<string, PlatformConfigValue>;
|
|
32
29
|
export type PlatformSchemaValue = string | number | boolean | bigint | object | undefined | null;
|
|
@@ -44,8 +41,22 @@ export declare class MatterbridgePlatform {
|
|
|
44
41
|
version: string;
|
|
45
42
|
storage: NodeStorageManager | undefined;
|
|
46
43
|
context: NodeStorage | undefined;
|
|
47
|
-
selectDevice:
|
|
48
|
-
|
|
44
|
+
selectDevice: Map<string, {
|
|
45
|
+
serial: string;
|
|
46
|
+
name: string;
|
|
47
|
+
icon?: string;
|
|
48
|
+
entities?: {
|
|
49
|
+
name: string;
|
|
50
|
+
description: string;
|
|
51
|
+
icon?: string;
|
|
52
|
+
}[];
|
|
53
|
+
}>;
|
|
54
|
+
selectEntity: Map<string, {
|
|
55
|
+
name: string;
|
|
56
|
+
description: string;
|
|
57
|
+
icon?: string;
|
|
58
|
+
}>;
|
|
59
|
+
registeredEndpoints: Map<string, MatterbridgeEndpoint>;
|
|
49
60
|
/**
|
|
50
61
|
* Creates an instance of the base MatterbridgePlatform.
|
|
51
62
|
* @param {Matterbridge} matterbridge - The Matterbridge instance.
|
|
@@ -60,39 +71,39 @@ export declare class MatterbridgePlatform {
|
|
|
60
71
|
* @param {string} [reason] - The reason for starting.
|
|
61
72
|
* @throws {Error} - Throws an error if the method is not overridden.
|
|
62
73
|
*/
|
|
63
|
-
onStart(reason?: string):
|
|
74
|
+
onStart(reason?: string): Promise<void>;
|
|
64
75
|
/**
|
|
65
76
|
* This method can be overridden in the extended class.
|
|
66
77
|
* It is called after the platform has been commissioned.
|
|
67
78
|
* Use this method to perform any configuration of your devices.
|
|
68
79
|
*/
|
|
69
|
-
onConfigure():
|
|
80
|
+
onConfigure(): Promise<void>;
|
|
70
81
|
/**
|
|
71
82
|
* This method can be overridden in the extended class.
|
|
72
83
|
* It is called when the platform is shutting down.
|
|
73
84
|
* Use this method to clean up any resources.
|
|
74
85
|
* @param {string} [reason] - The reason for shutting down.
|
|
75
86
|
*/
|
|
76
|
-
onShutdown(reason?: string):
|
|
87
|
+
onShutdown(reason?: string): Promise<void>;
|
|
77
88
|
/**
|
|
78
89
|
* Sets the logger level and logs a debug message indicating that the plugin doesn't override this method.
|
|
79
90
|
* @param {LogLevel} logLevel The new logger level.
|
|
80
91
|
*/
|
|
81
|
-
onChangeLoggerLevel(logLevel: LogLevel):
|
|
92
|
+
onChangeLoggerLevel(logLevel: LogLevel): Promise<void>;
|
|
82
93
|
/**
|
|
83
94
|
* Registers a device with the Matterbridge platform.
|
|
84
95
|
* @param {MatterbridgeEndpoint} device - The device to register.
|
|
85
96
|
*/
|
|
86
|
-
registerDevice(device: MatterbridgeEndpoint):
|
|
97
|
+
registerDevice(device: MatterbridgeEndpoint): Promise<void>;
|
|
87
98
|
/**
|
|
88
99
|
* Unregisters a device registered with the Matterbridge platform.
|
|
89
100
|
* @param {MatterbridgeEndpoint} device - The device to unregister.
|
|
90
101
|
*/
|
|
91
|
-
unregisterDevice(device: MatterbridgeEndpoint):
|
|
102
|
+
unregisterDevice(device: MatterbridgeEndpoint): Promise<void>;
|
|
92
103
|
/**
|
|
93
104
|
* Unregisters all devices registered with the Matterbridge platform.
|
|
94
105
|
*/
|
|
95
|
-
unregisterAllDevices():
|
|
106
|
+
unregisterAllDevices(): Promise<void>;
|
|
96
107
|
/**
|
|
97
108
|
* Verifies if the Matterbridge version meets the required version.
|
|
98
109
|
* @param {string} requiredVersion - The required version to compare against.
|
|
@@ -148,7 +159,6 @@ export declare class MatterbridgePlatform {
|
|
|
148
159
|
*
|
|
149
160
|
* @returns {Promise<number>} The size of the updated endpoint map, or -1 if storage is not available.
|
|
150
161
|
*/
|
|
151
|
-
checkEndpointNumbers():
|
|
152
|
-
_createMutableDevice(definition: DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>, options?: MatterbridgeEndpointOptions, debug?: boolean): Promise<MatterbridgeEndpoint>;
|
|
162
|
+
checkEndpointNumbers(): Promise<number>;
|
|
153
163
|
}
|
|
154
164
|
//# sourceMappingURL=matterbridgePlatform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matterbridgePlatform.d.ts","sourceRoot":"","sources":["../src/matterbridgePlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"matterbridgePlatform.d.ts","sourceRoot":"","sources":["../src/matterbridgePlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,EAAE,UAAU,EAAY,QAAQ,EAAU,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAStE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAEjG,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEjE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAEjG,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEjE;;;GAGG;AACH,qBAAa,oBAAoB;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,cAAc,CAAM;IAC5B,IAAI,SAAM;IACV,IAAI,SAAM;IACV,OAAO,SAAM;IACb,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,YAAY;gBAA6B,MAAM;cAAQ,MAAM;eAAS,MAAM;mBAAa;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE;OAAM;IACrJ,YAAY;cAA2B,MAAM;qBAAe,MAAM;eAAS,MAAM;OAAM;IACvF,mBAAmB,oCAA2C;IAErE;;;;;OAKG;gBACS,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAiB/E;;;;;;OAMG;IACG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IAK7B;;;;OAIG;IACG,WAAW;IAKjB;;;;;OAKG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;IAKhC;;;OAGG;IACG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ;IAI5C;;;OAGG;IACG,cAAc,CAAC,MAAM,EAAE,oBAAoB;IAMjD;;;OAGG;IACG,gBAAgB,CAAC,MAAM,EAAE,oBAAoB;IAKnD;;OAEG;IACG,oBAAoB;IAK1B;;;;OAIG;IACH,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO;IAwB3D;;;;;;;OAOG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,UAAO,GAAG,OAAO;IAI9D;;;;;;;;;OASG;IACH,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,UAAO,GAAG,OAAO;IAuB5E;;;;;;;OAOG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAO,GAAG,OAAO;IAInE;;;;;;;;;OASG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAO,GAAG,OAAO;IAgB5E;;;;;;;;OAQG;IACG,oBAAoB;CAqC3B"}
|
|
@@ -20,12 +20,11 @@
|
|
|
20
20
|
* See the License for the specific language governing permissions and
|
|
21
21
|
* limitations under the License. *
|
|
22
22
|
*/
|
|
23
|
-
import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
|
|
24
23
|
import { isValidArray, isValidObject, isValidString } from './utils/utils.js';
|
|
25
24
|
// AnsiLogger module
|
|
26
|
-
import { CYAN, db, nf, wr } from '
|
|
25
|
+
import { CYAN, db, nf, wr } from './logger/export.js';
|
|
27
26
|
// Storage module
|
|
28
|
-
import { NodeStorageManager } from '
|
|
27
|
+
import { NodeStorageManager } from './storage/export.js';
|
|
29
28
|
// Node.js module
|
|
30
29
|
import path from 'path';
|
|
31
30
|
/**
|
|
@@ -43,6 +42,7 @@ export class MatterbridgePlatform {
|
|
|
43
42
|
context;
|
|
44
43
|
selectDevice = new Map();
|
|
45
44
|
selectEntity = new Map();
|
|
45
|
+
registeredEndpoints = new Map();
|
|
46
46
|
/**
|
|
47
47
|
* Creates an instance of the base MatterbridgePlatform.
|
|
48
48
|
* @param {Matterbridge} matterbridge - The Matterbridge instance.
|
|
@@ -109,6 +109,8 @@ export class MatterbridgePlatform {
|
|
|
109
109
|
async registerDevice(device) {
|
|
110
110
|
device.plugin = this.name;
|
|
111
111
|
await this.matterbridge.addBridgedEndpoint(this.name, device);
|
|
112
|
+
if (device.uniqueId)
|
|
113
|
+
this.registeredEndpoints.set(device.uniqueId, device);
|
|
112
114
|
}
|
|
113
115
|
/**
|
|
114
116
|
* Unregisters a device registered with the Matterbridge platform.
|
|
@@ -116,12 +118,15 @@ export class MatterbridgePlatform {
|
|
|
116
118
|
*/
|
|
117
119
|
async unregisterDevice(device) {
|
|
118
120
|
await this.matterbridge.removeBridgedEndpoint(this.name, device);
|
|
121
|
+
if (device.uniqueId)
|
|
122
|
+
this.registeredEndpoints.delete(device.uniqueId);
|
|
119
123
|
}
|
|
120
124
|
/**
|
|
121
125
|
* Unregisters all devices registered with the Matterbridge platform.
|
|
122
126
|
*/
|
|
123
127
|
async unregisterAllDevices() {
|
|
124
128
|
await this.matterbridge.removeAllBridgedEndpoints(this.name);
|
|
129
|
+
this.registeredEndpoints.clear();
|
|
125
130
|
}
|
|
126
131
|
/**
|
|
127
132
|
* Verifies if the Matterbridge version meets the required version.
|
|
@@ -288,9 +293,5 @@ export class MatterbridgePlatform {
|
|
|
288
293
|
this.log.debug('Endpoint numbers check completed.');
|
|
289
294
|
return endpointMap.size;
|
|
290
295
|
}
|
|
291
|
-
// Temporary method to create a MatterbridgeDevice before switching to the edge
|
|
292
|
-
async _createMutableDevice(definition, options = {}, debug = false) {
|
|
293
|
-
return new MatterbridgeEndpoint(definition, options, debug);
|
|
294
|
-
}
|
|
295
296
|
}
|
|
296
297
|
//# sourceMappingURL=matterbridgePlatform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matterbridgePlatform.js","sourceRoot":"","sources":["../src/matterbridgePlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"matterbridgePlatform.js","sourceRoot":"","sources":["../src/matterbridgePlatform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the types for Matterbridge.
|
|
3
|
+
*
|
|
4
|
+
* @file matterbridgeTypes.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @date 2024-07-12
|
|
7
|
+
* @version 1.0.2
|
|
8
|
+
*
|
|
9
|
+
* Copyright 2023, 2024, 2025 Luca Liguori.
|
|
10
|
+
*
|
|
11
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
+
* you may not use this file except in compliance with the License.
|
|
13
|
+
* You may obtain a copy of the License at
|
|
14
|
+
*
|
|
15
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
*
|
|
17
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
+
* See the License for the specific language governing permissions and
|
|
21
|
+
* limitations under the License. *
|
|
22
|
+
*/
|
|
23
|
+
import { NodeStorage } from './storage/export.js';
|
|
24
|
+
import { LogLevel } from './logger/export.js';
|
|
25
|
+
import { MatterbridgePlatform, PlatformConfig, PlatformSchema } from './matterbridgePlatform.js';
|
|
26
|
+
import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
|
|
27
|
+
import { FabricIndex, NodeId, VendorId, StorageContext, ServerNode, EndpointNumber, Endpoint as EndpointNode } from '@matter/main';
|
|
28
|
+
import { ExposedFabricInformation } from '@matter/main/protocol';
|
|
29
|
+
import { AggregatorEndpoint } from '@matter/main/endpoints/aggregator';
|
|
30
|
+
export declare const plg = "\u001B[38;5;33m";
|
|
31
|
+
export declare const dev = "\u001B[38;5;79m";
|
|
32
|
+
export declare const typ = "\u001B[38;5;207m";
|
|
33
|
+
export declare class MatterbridgeDevice extends MatterbridgeEndpoint {
|
|
34
|
+
}
|
|
35
|
+
export interface RegisteredPlugin extends BaseRegisteredPlugin {
|
|
36
|
+
nodeContext?: NodeStorage;
|
|
37
|
+
storageContext?: StorageContext;
|
|
38
|
+
serverNode?: ServerNode<ServerNode.RootEndpoint>;
|
|
39
|
+
aggregatorNode?: EndpointNode<AggregatorEndpoint>;
|
|
40
|
+
device?: MatterbridgeEndpoint;
|
|
41
|
+
platform?: MatterbridgePlatform;
|
|
42
|
+
reachabilityTimeout?: NodeJS.Timeout;
|
|
43
|
+
}
|
|
44
|
+
export interface BaseRegisteredPlugin {
|
|
45
|
+
name: string;
|
|
46
|
+
version: string;
|
|
47
|
+
description: string;
|
|
48
|
+
author: string;
|
|
49
|
+
path: string;
|
|
50
|
+
type: string;
|
|
51
|
+
latestVersion?: string;
|
|
52
|
+
locked?: boolean;
|
|
53
|
+
error?: boolean;
|
|
54
|
+
enabled?: boolean;
|
|
55
|
+
loaded?: boolean;
|
|
56
|
+
started?: boolean;
|
|
57
|
+
configured?: boolean;
|
|
58
|
+
paired?: boolean;
|
|
59
|
+
fabricInformations?: SanitizedExposedFabricInformation[];
|
|
60
|
+
sessionInformations?: SanitizedSessionInformation[];
|
|
61
|
+
registeredDevices?: number;
|
|
62
|
+
addedDevices?: number;
|
|
63
|
+
qrPairingCode?: string;
|
|
64
|
+
manualPairingCode?: string;
|
|
65
|
+
configJson?: PlatformConfig;
|
|
66
|
+
schemaJson?: PlatformSchema;
|
|
67
|
+
}
|
|
68
|
+
export interface SystemInformation {
|
|
69
|
+
interfaceName: string;
|
|
70
|
+
macAddress: string;
|
|
71
|
+
ipv4Address: string;
|
|
72
|
+
ipv6Address: string;
|
|
73
|
+
nodeVersion: string;
|
|
74
|
+
hostname: string;
|
|
75
|
+
user: string;
|
|
76
|
+
osType: string;
|
|
77
|
+
osRelease: string;
|
|
78
|
+
osPlatform: string;
|
|
79
|
+
osArch: string;
|
|
80
|
+
totalMemory: string;
|
|
81
|
+
freeMemory: string;
|
|
82
|
+
systemUptime: string;
|
|
83
|
+
}
|
|
84
|
+
export interface MatterbridgeInformation {
|
|
85
|
+
homeDirectory: string;
|
|
86
|
+
rootDirectory: string;
|
|
87
|
+
matterbridgeDirectory: string;
|
|
88
|
+
matterbridgePluginDirectory: string;
|
|
89
|
+
globalModulesDirectory: string;
|
|
90
|
+
matterbridgeVersion: string;
|
|
91
|
+
matterbridgeLatestVersion: string;
|
|
92
|
+
matterbridgeQrPairingCode: string | undefined;
|
|
93
|
+
matterbridgeManualPairingCode: string | undefined;
|
|
94
|
+
matterbridgeFabricInformations: SanitizedExposedFabricInformation[];
|
|
95
|
+
matterbridgeSessionInformations: SanitizedSessionInformation[];
|
|
96
|
+
matterbridgePaired: boolean;
|
|
97
|
+
bridgeMode: string;
|
|
98
|
+
restartMode: string;
|
|
99
|
+
readOnly: boolean;
|
|
100
|
+
profile?: string;
|
|
101
|
+
loggerLevel: LogLevel;
|
|
102
|
+
fileLogger: boolean;
|
|
103
|
+
matterLoggerLevel: number;
|
|
104
|
+
matterFileLogger: boolean;
|
|
105
|
+
mattermdnsinterface: string | undefined;
|
|
106
|
+
matteripv4address: string | undefined;
|
|
107
|
+
matteripv6address: string | undefined;
|
|
108
|
+
matterPort: number;
|
|
109
|
+
matterDiscriminator: number | undefined;
|
|
110
|
+
matterPasscode: number | undefined;
|
|
111
|
+
restartRequired: boolean;
|
|
112
|
+
refreshRequired: boolean;
|
|
113
|
+
}
|
|
114
|
+
export interface SanitizedExposedFabricInformation {
|
|
115
|
+
fabricIndex: FabricIndex;
|
|
116
|
+
fabricId: string;
|
|
117
|
+
nodeId: string;
|
|
118
|
+
rootNodeId: string;
|
|
119
|
+
rootVendorId: VendorId;
|
|
120
|
+
rootVendorName: string;
|
|
121
|
+
label: string;
|
|
122
|
+
}
|
|
123
|
+
export interface SessionInformation {
|
|
124
|
+
name: string;
|
|
125
|
+
nodeId: NodeId;
|
|
126
|
+
peerNodeId: NodeId;
|
|
127
|
+
fabric?: ExposedFabricInformation;
|
|
128
|
+
isPeerActive: boolean;
|
|
129
|
+
secure: boolean;
|
|
130
|
+
lastInteractionTimestamp?: number;
|
|
131
|
+
lastActiveTimestamp?: number;
|
|
132
|
+
numberOfActiveSubscriptions: number;
|
|
133
|
+
}
|
|
134
|
+
export interface SanitizedSessionInformation {
|
|
135
|
+
name: string;
|
|
136
|
+
nodeId: string;
|
|
137
|
+
peerNodeId: string;
|
|
138
|
+
fabric?: SanitizedExposedFabricInformation;
|
|
139
|
+
isPeerActive: boolean;
|
|
140
|
+
secure: boolean;
|
|
141
|
+
lastInteractionTimestamp?: string;
|
|
142
|
+
lastActiveTimestamp?: string;
|
|
143
|
+
numberOfActiveSubscriptions: number;
|
|
144
|
+
}
|
|
145
|
+
export interface ApiDevices {
|
|
146
|
+
pluginName: string;
|
|
147
|
+
type: string;
|
|
148
|
+
endpoint: EndpointNumber | undefined;
|
|
149
|
+
name: string;
|
|
150
|
+
serial: string;
|
|
151
|
+
productUrl: string;
|
|
152
|
+
configUrl?: string;
|
|
153
|
+
uniqueId: string;
|
|
154
|
+
cluster: string;
|
|
155
|
+
}
|
|
156
|
+
export interface ApiClusters {
|
|
157
|
+
endpoint: string;
|
|
158
|
+
id: string;
|
|
159
|
+
deviceTypes: number[];
|
|
160
|
+
clusterName: string;
|
|
161
|
+
clusterId: string;
|
|
162
|
+
attributeName: string;
|
|
163
|
+
attributeId: string;
|
|
164
|
+
attributeValue: string;
|
|
165
|
+
attributeLocalValue: unknown;
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=matterbridgeTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matterbridgeTypes.d.ts","sourceRoot":"","sources":["../src/matterbridgeTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"matterbridgeTypes.d.ts","sourceRoot":"","sources":["../src/matterbridgeTypes.ts"],"names":[],"mappings":"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"}
|
package/dist/pluginManager.d.ts
CHANGED
|
@@ -20,12 +20,11 @@
|
|
|
20
20
|
* See the License for the specific language governing permissions and
|
|
21
21
|
* limitations under the License. *
|
|
22
22
|
*/
|
|
23
|
-
import { LogLevel } from '
|
|
23
|
+
import { LogLevel } from './logger/export.js';
|
|
24
24
|
import { Matterbridge } from './matterbridge.js';
|
|
25
25
|
import { RegisteredPlugin } from './matterbridgeTypes.js';
|
|
26
26
|
import { MatterbridgePlatform, PlatformConfig, PlatformSchema } from './matterbridgePlatform.js';
|
|
27
27
|
export declare class PluginManager {
|
|
28
|
-
[x: number]: () => any;
|
|
29
28
|
private _plugins;
|
|
30
29
|
private nodeContext;
|
|
31
30
|
private matterbridge;
|
|
@@ -38,6 +37,7 @@ export declare class PluginManager {
|
|
|
38
37
|
set(plugin: RegisteredPlugin): RegisteredPlugin;
|
|
39
38
|
clear(): void;
|
|
40
39
|
array(): RegisteredPlugin[];
|
|
40
|
+
[Symbol.iterator](): MapIterator<RegisteredPlugin>;
|
|
41
41
|
forEach(callback: (plugin: RegisteredPlugin) => Promise<void>): Promise<void>;
|
|
42
42
|
get logLevel(): LogLevel;
|
|
43
43
|
set logLevel(logLevel: LogLevel);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginManager.d.ts","sourceRoot":"","sources":["../src/pluginManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"pluginManager.d.ts","sourceRoot":"","sources":["../src/pluginManager.ts"],"names":[],"mappings":"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"}
|
package/dist/pluginManager.js
CHANGED
|
@@ -20,9 +20,8 @@
|
|
|
20
20
|
* See the License for the specific language governing permissions and
|
|
21
21
|
* limitations under the License. *
|
|
22
22
|
*/
|
|
23
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
24
23
|
// NodeStorage and AnsiLogger modules
|
|
25
|
-
import { AnsiLogger, BLUE, db, er,
|
|
24
|
+
import { AnsiLogger, BLUE, db, er, nf, nt, rs, UNDERLINE, UNDERLINEOFF, wr } from './logger/export.js';
|
|
26
25
|
// Node.js modules
|
|
27
26
|
import path from 'path';
|
|
28
27
|
import { promises as fs } from 'fs';
|
|
@@ -39,7 +38,7 @@ export class PluginManager {
|
|
|
39
38
|
this.matterbridge = matterbridge;
|
|
40
39
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
41
40
|
this.nodeContext = matterbridge.nodeContext;
|
|
42
|
-
this.log = new AnsiLogger({ logName: 'PluginManager', logTimestampFormat: TimestampFormat.TIME_MILLIS
|
|
41
|
+
this.log = new AnsiLogger({ logName: 'PluginManager', logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */, logLevel: matterbridge.log.logLevel });
|
|
43
42
|
this.log.debug('Matterbridge plugin manager starting...');
|
|
44
43
|
}
|
|
45
44
|
get length() {
|
|
@@ -480,6 +479,7 @@ export class PluginManager {
|
|
|
480
479
|
async install(name) {
|
|
481
480
|
await this.uninstall(name);
|
|
482
481
|
this.log.info(`Installing plugin ${plg}${name}${nf}`);
|
|
482
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
483
483
|
return new Promise((resolve, reject) => {
|
|
484
484
|
exec(`npm install -g ${name} --omit=dev --force`, (error, stdout, stderr) => {
|
|
485
485
|
if (error) {
|
|
@@ -491,6 +491,7 @@ export class PluginManager {
|
|
|
491
491
|
this.log.info(`Installed plugin ${plg}${name}${nf}`);
|
|
492
492
|
this.log.debug(`Installed plugin ${plg}${name}${db}: ${stdout}`);
|
|
493
493
|
// Get the installed version
|
|
494
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
494
495
|
exec(`npm list -g ${name} --depth=0`, (listError, listStdout, listStderr) => {
|
|
495
496
|
if (listError) {
|
|
496
497
|
this.log.error(`List error: ${listError}`);
|
|
@@ -523,6 +524,7 @@ export class PluginManager {
|
|
|
523
524
|
*/
|
|
524
525
|
async uninstall(name) {
|
|
525
526
|
this.log.info(`Uninstalling plugin ${plg}${name}${nf}`);
|
|
527
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
526
528
|
return new Promise((resolve, reject) => {
|
|
527
529
|
exec(`npm uninstall -g ${name} --force`, (error, stdout, stderr) => {
|
|
528
530
|
if (error) {
|
|
@@ -578,7 +580,7 @@ export class PluginManager {
|
|
|
578
580
|
plugin.schemaJson = await this.loadSchema(plugin);
|
|
579
581
|
config.name = plugin.name;
|
|
580
582
|
config.version = packageJson.version;
|
|
581
|
-
const log = new AnsiLogger({ logName: plugin.description ?? 'No description', logTimestampFormat: TimestampFormat.TIME_MILLIS
|
|
583
|
+
const log = new AnsiLogger({ logName: plugin.description ?? 'No description', logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */, logLevel: config.debug ? "debug" /* LogLevel.DEBUG */ : this.matterbridge.log.logLevel });
|
|
582
584
|
const platform = pluginInstance.default(this.matterbridge, log, config);
|
|
583
585
|
config.type = platform.type;
|
|
584
586
|
platform.name = packageJson.name;
|
|
@@ -727,7 +729,6 @@ export class PluginManager {
|
|
|
727
729
|
plugin.loaded = undefined;
|
|
728
730
|
plugin.started = undefined;
|
|
729
731
|
plugin.configured = undefined;
|
|
730
|
-
plugin.connected = undefined;
|
|
731
732
|
plugin.platform = undefined;
|
|
732
733
|
if (removeAllDevices) {
|
|
733
734
|
this.log.info(`Removing all endpoints for plugin ${plg}${plugin.name}${nf}: ${reason}...`);
|
|
@@ -873,7 +874,7 @@ export class PluginManager {
|
|
|
873
874
|
* @returns {Promise<PlatformSchema>} A promise that resolves to the loaded schema object, or the default schema if the schema file is not found.
|
|
874
875
|
*/
|
|
875
876
|
async loadSchema(plugin) {
|
|
876
|
-
|
|
877
|
+
const schemaFile = plugin.path.replace('package.json', `${plugin.name}.schema.json`);
|
|
877
878
|
try {
|
|
878
879
|
await fs.access(schemaFile);
|
|
879
880
|
const data = await fs.readFile(schemaFile, 'utf8');
|
|
@@ -883,18 +884,10 @@ export class PluginManager {
|
|
|
883
884
|
this.log.debug(`Loaded schema file ${schemaFile} for plugin ${plg}${plugin.name}${db}.`);
|
|
884
885
|
// this.log.debug(`Loaded schema file ${schemaFile} for plugin ${plg}${plugin.name}${db}.\nSchema:${rs}\n`, schema);
|
|
885
886
|
// Delete the schema file from old position
|
|
886
|
-
schemaFile = path.join(this.matterbridge.matterbridgeDirectory, `${plugin.name}.schema.json`);
|
|
887
|
-
try {
|
|
888
|
-
await fs.unlink(schemaFile);
|
|
889
|
-
this.log.debug(`Schema file ${schemaFile} deleted.`);
|
|
890
|
-
}
|
|
891
|
-
catch (err) {
|
|
892
|
-
this.log.debug(`Schema file ${schemaFile} to delete not found.`);
|
|
893
|
-
}
|
|
894
887
|
return schema;
|
|
895
888
|
}
|
|
896
|
-
catch (
|
|
897
|
-
this.log.debug(`Schema file ${schemaFile} for plugin ${plg}${plugin.name}${db} not found. Loading default schema
|
|
889
|
+
catch (error) {
|
|
890
|
+
this.log.debug(`Schema file ${schemaFile} for plugin ${plg}${plugin.name}${db} not found. Loading default schema. Error: ${error instanceof Error ? error.message : error}`);
|
|
898
891
|
return this.getDefaultSchema(plugin);
|
|
899
892
|
}
|
|
900
893
|
}
|