matterbridge 3.2.8-dev-20250920-80e7900 → 3.2.8
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/dist/cli.d.ts +26 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +91 -2
- package/dist/cli.js.map +1 -0
- package/dist/cliEmitter.d.ts +34 -0
- package/dist/cliEmitter.d.ts.map +1 -0
- package/dist/cliEmitter.js +30 -0
- package/dist/cliEmitter.js.map +1 -0
- package/dist/clusters/export.d.ts +2 -0
- package/dist/clusters/export.d.ts.map +1 -0
- package/dist/clusters/export.js +2 -0
- package/dist/clusters/export.js.map +1 -0
- package/dist/defaultConfigSchema.d.ts +28 -0
- package/dist/defaultConfigSchema.d.ts.map +1 -0
- package/dist/defaultConfigSchema.js +24 -0
- package/dist/defaultConfigSchema.js.map +1 -0
- package/dist/deviceManager.d.ts +112 -0
- package/dist/deviceManager.d.ts.map +1 -0
- package/dist/deviceManager.js +94 -1
- package/dist/deviceManager.js.map +1 -0
- package/dist/devices/airConditioner.d.ts +98 -0
- package/dist/devices/airConditioner.d.ts.map +1 -0
- package/dist/devices/airConditioner.js +57 -0
- package/dist/devices/airConditioner.js.map +1 -0
- package/dist/devices/batteryStorage.d.ts +48 -0
- package/dist/devices/batteryStorage.d.ts.map +1 -0
- package/dist/devices/batteryStorage.js +48 -1
- package/dist/devices/batteryStorage.js.map +1 -0
- package/dist/devices/cooktop.d.ts +60 -0
- package/dist/devices/cooktop.d.ts.map +1 -0
- package/dist/devices/cooktop.js +55 -0
- package/dist/devices/cooktop.js.map +1 -0
- package/dist/devices/dishwasher.d.ts +71 -0
- package/dist/devices/dishwasher.d.ts.map +1 -0
- package/dist/devices/dishwasher.js +57 -0
- package/dist/devices/dishwasher.js.map +1 -0
- package/dist/devices/evse.d.ts +75 -0
- package/dist/devices/evse.d.ts.map +1 -0
- package/dist/devices/evse.js +74 -10
- package/dist/devices/evse.js.map +1 -0
- package/dist/devices/export.d.ts +17 -0
- package/dist/devices/export.d.ts.map +1 -0
- package/dist/devices/export.js +5 -0
- package/dist/devices/export.js.map +1 -0
- package/dist/devices/extractorHood.d.ts +46 -0
- package/dist/devices/extractorHood.d.ts.map +1 -0
- package/dist/devices/extractorHood.js +42 -0
- package/dist/devices/extractorHood.js.map +1 -0
- package/dist/devices/heatPump.d.ts +47 -0
- package/dist/devices/heatPump.d.ts.map +1 -0
- package/dist/devices/heatPump.js +50 -2
- package/dist/devices/heatPump.js.map +1 -0
- package/dist/devices/laundryDryer.d.ts +67 -0
- package/dist/devices/laundryDryer.d.ts.map +1 -0
- package/dist/devices/laundryDryer.js +62 -3
- package/dist/devices/laundryDryer.js.map +1 -0
- package/dist/devices/laundryWasher.d.ts +81 -0
- package/dist/devices/laundryWasher.d.ts.map +1 -0
- package/dist/devices/laundryWasher.js +70 -4
- package/dist/devices/laundryWasher.js.map +1 -0
- package/dist/devices/microwaveOven.d.ts +168 -0
- package/dist/devices/microwaveOven.d.ts.map +1 -0
- package/dist/devices/microwaveOven.js +88 -5
- package/dist/devices/microwaveOven.js.map +1 -0
- package/dist/devices/oven.d.ts +105 -0
- package/dist/devices/oven.d.ts.map +1 -0
- package/dist/devices/oven.js +85 -0
- package/dist/devices/oven.js.map +1 -0
- package/dist/devices/refrigerator.d.ts +118 -0
- package/dist/devices/refrigerator.d.ts.map +1 -0
- package/dist/devices/refrigerator.js +102 -0
- package/dist/devices/refrigerator.js.map +1 -0
- package/dist/devices/roboticVacuumCleaner.d.ts +112 -0
- package/dist/devices/roboticVacuumCleaner.d.ts.map +1 -0
- package/dist/devices/roboticVacuumCleaner.js +100 -9
- package/dist/devices/roboticVacuumCleaner.js.map +1 -0
- package/dist/devices/solarPower.d.ts +40 -0
- package/dist/devices/solarPower.d.ts.map +1 -0
- package/dist/devices/solarPower.js +38 -0
- package/dist/devices/solarPower.js.map +1 -0
- package/dist/devices/speaker.d.ts +87 -0
- package/dist/devices/speaker.d.ts.map +1 -0
- package/dist/devices/speaker.js +84 -0
- package/dist/devices/speaker.js.map +1 -0
- package/dist/devices/temperatureControl.d.ts +166 -0
- package/dist/devices/temperatureControl.d.ts.map +1 -0
- package/dist/devices/temperatureControl.js +25 -3
- package/dist/devices/temperatureControl.js.map +1 -0
- package/dist/devices/waterHeater.d.ts +111 -0
- package/dist/devices/waterHeater.d.ts.map +1 -0
- package/dist/devices/waterHeater.js +82 -2
- package/dist/devices/waterHeater.js.map +1 -0
- package/dist/dgram/coap.d.ts +205 -0
- package/dist/dgram/coap.d.ts.map +1 -0
- package/dist/dgram/coap.js +126 -13
- package/dist/dgram/coap.js.map +1 -0
- package/dist/dgram/dgram.d.ts +141 -0
- package/dist/dgram/dgram.d.ts.map +1 -0
- package/dist/dgram/dgram.js +114 -2
- package/dist/dgram/dgram.js.map +1 -0
- package/dist/dgram/mb_coap.d.ts +24 -0
- package/dist/dgram/mb_coap.d.ts.map +1 -0
- package/dist/dgram/mb_coap.js +41 -3
- package/dist/dgram/mb_coap.js.map +1 -0
- package/dist/dgram/mb_mdns.d.ts +24 -0
- package/dist/dgram/mb_mdns.d.ts.map +1 -0
- package/dist/dgram/mb_mdns.js +80 -15
- package/dist/dgram/mb_mdns.js.map +1 -0
- package/dist/dgram/mdns.d.ts +290 -0
- package/dist/dgram/mdns.d.ts.map +1 -0
- package/dist/dgram/mdns.js +299 -137
- package/dist/dgram/mdns.js.map +1 -0
- package/dist/dgram/multicast.d.ts +67 -0
- package/dist/dgram/multicast.d.ts.map +1 -0
- package/dist/dgram/multicast.js +62 -1
- package/dist/dgram/multicast.js.map +1 -0
- package/dist/dgram/unicast.d.ts +56 -0
- package/dist/dgram/unicast.d.ts.map +1 -0
- package/dist/dgram/unicast.js +54 -0
- package/dist/dgram/unicast.js.map +1 -0
- package/dist/frontend.d.ts +228 -0
- package/dist/frontend.d.ts.map +1 -0
- package/dist/frontend.js +429 -38
- package/dist/frontend.js.map +1 -0
- package/dist/frontendTypes.d.ts +572 -0
- package/dist/frontendTypes.d.ts.map +1 -0
- package/dist/frontendTypes.js +51 -3
- package/dist/frontendTypes.js.map +1 -0
- package/dist/globalMatterbridge.d.ts +59 -0
- package/dist/globalMatterbridge.d.ts.map +1 -0
- package/dist/globalMatterbridge.js +47 -0
- package/dist/globalMatterbridge.js.map +1 -0
- package/dist/helpers.d.ts +48 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +53 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -1
- package/dist/index.js.map +1 -0
- package/dist/logger/export.d.ts +2 -0
- package/dist/logger/export.d.ts.map +1 -0
- package/dist/logger/export.js +1 -0
- package/dist/logger/export.js.map +1 -0
- package/dist/matter/behaviors.d.ts +2 -0
- package/dist/matter/behaviors.d.ts.map +1 -0
- package/dist/matter/behaviors.js +2 -0
- package/dist/matter/behaviors.js.map +1 -0
- package/dist/matter/clusters.d.ts +2 -0
- package/dist/matter/clusters.d.ts.map +1 -0
- package/dist/matter/clusters.js +2 -0
- package/dist/matter/clusters.js.map +1 -0
- package/dist/matter/devices.d.ts +2 -0
- package/dist/matter/devices.d.ts.map +1 -0
- package/dist/matter/devices.js +2 -0
- package/dist/matter/devices.js.map +1 -0
- package/dist/matter/endpoints.d.ts +2 -0
- package/dist/matter/endpoints.d.ts.map +1 -0
- package/dist/matter/endpoints.js +2 -0
- package/dist/matter/endpoints.js.map +1 -0
- package/dist/matter/export.d.ts +5 -0
- package/dist/matter/export.d.ts.map +1 -0
- package/dist/matter/export.js +3 -0
- package/dist/matter/export.js.map +1 -0
- package/dist/matter/types.d.ts +3 -0
- package/dist/matter/types.d.ts.map +1 -0
- package/dist/matter/types.js +3 -0
- package/dist/matter/types.js.map +1 -0
- package/dist/matterbridge.d.ts +442 -0
- package/dist/matterbridge.d.ts.map +1 -0
- package/dist/matterbridge.js +773 -50
- package/dist/matterbridge.js.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts +42 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.js +36 -0
- package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
- package/dist/matterbridgeBehaviors.d.ts +1747 -0
- package/dist/matterbridgeBehaviors.d.ts.map +1 -0
- package/dist/matterbridgeBehaviors.js +65 -5
- package/dist/matterbridgeBehaviors.js.map +1 -0
- package/dist/matterbridgeDeviceTypes.d.ts +761 -0
- package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
- package/dist/matterbridgeDeviceTypes.js +630 -17
- package/dist/matterbridgeDeviceTypes.js.map +1 -0
- package/dist/matterbridgeDynamicPlatform.d.ts +42 -0
- package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
- package/dist/matterbridgeDynamicPlatform.js +36 -0
- package/dist/matterbridgeDynamicPlatform.js.map +1 -0
- package/dist/matterbridgeEndpoint.d.ts +1515 -0
- package/dist/matterbridgeEndpoint.d.ts.map +1 -0
- package/dist/matterbridgeEndpoint.js +1373 -55
- package/dist/matterbridgeEndpoint.js.map +1 -0
- package/dist/matterbridgeEndpointHelpers.d.ts +407 -0
- package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
- package/dist/matterbridgeEndpointHelpers.js +345 -12
- package/dist/matterbridgeEndpointHelpers.js.map +1 -0
- package/dist/matterbridgePlatform.d.ts +380 -0
- package/dist/matterbridgePlatform.d.ts.map +1 -0
- package/dist/matterbridgePlatform.js +304 -0
- package/dist/matterbridgePlatform.js.map +1 -0
- package/dist/matterbridgeTypes.d.ts +190 -0
- package/dist/matterbridgeTypes.d.ts.map +1 -0
- package/dist/matterbridgeTypes.js +25 -0
- package/dist/matterbridgeTypes.js.map +1 -0
- package/dist/pluginManager.d.ts +270 -0
- package/dist/pluginManager.d.ts.map +1 -0
- package/dist/pluginManager.js +249 -3
- package/dist/pluginManager.js.map +1 -0
- package/dist/shelly.d.ts +174 -0
- package/dist/shelly.d.ts.map +1 -0
- package/dist/shelly.js +172 -11
- package/dist/shelly.js.map +1 -0
- package/dist/storage/export.d.ts +2 -0
- package/dist/storage/export.d.ts.map +1 -0
- package/dist/storage/export.js +1 -0
- package/dist/storage/export.js.map +1 -0
- package/dist/update.d.ts +75 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +69 -0
- package/dist/update.js.map +1 -0
- package/dist/utils/colorUtils.d.ts +99 -0
- package/dist/utils/colorUtils.d.ts.map +1 -0
- package/dist/utils/colorUtils.js +97 -2
- package/dist/utils/colorUtils.js.map +1 -0
- package/dist/utils/commandLine.d.ts +59 -0
- package/dist/utils/commandLine.d.ts.map +1 -0
- package/dist/utils/commandLine.js +54 -0
- package/dist/utils/commandLine.js.map +1 -0
- package/dist/utils/copyDirectory.d.ts +33 -0
- package/dist/utils/copyDirectory.d.ts.map +1 -0
- package/dist/utils/copyDirectory.js +38 -1
- package/dist/utils/copyDirectory.js.map +1 -0
- package/dist/utils/createDirectory.d.ts +34 -0
- package/dist/utils/createDirectory.d.ts.map +1 -0
- package/dist/utils/createDirectory.js +33 -0
- package/dist/utils/createDirectory.js.map +1 -0
- package/dist/utils/createZip.d.ts +39 -0
- package/dist/utils/createZip.d.ts.map +1 -0
- package/dist/utils/createZip.js +47 -2
- package/dist/utils/createZip.js.map +1 -0
- package/dist/utils/deepCopy.d.ts +32 -0
- package/dist/utils/deepCopy.d.ts.map +1 -0
- package/dist/utils/deepCopy.js +39 -0
- package/dist/utils/deepCopy.js.map +1 -0
- package/dist/utils/deepEqual.d.ts +54 -0
- package/dist/utils/deepEqual.d.ts.map +1 -0
- package/dist/utils/deepEqual.js +72 -1
- package/dist/utils/deepEqual.js.map +1 -0
- package/dist/utils/error.d.ts +44 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +41 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/export.d.ts +13 -0
- package/dist/utils/export.d.ts.map +1 -0
- package/dist/utils/export.js +1 -0
- package/dist/utils/export.js.map +1 -0
- package/dist/utils/hex.d.ts +89 -0
- package/dist/utils/hex.d.ts.map +1 -0
- package/dist/utils/hex.js +124 -0
- package/dist/utils/hex.js.map +1 -0
- package/dist/utils/isvalid.d.ts +103 -0
- package/dist/utils/isvalid.d.ts.map +1 -0
- package/dist/utils/isvalid.js +101 -0
- package/dist/utils/isvalid.js.map +1 -0
- package/dist/utils/jestHelpers.d.ts +137 -0
- package/dist/utils/jestHelpers.d.ts.map +1 -0
- package/dist/utils/jestHelpers.js +153 -3
- package/dist/utils/jestHelpers.js.map +1 -0
- package/dist/utils/network.d.ts +84 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +91 -5
- package/dist/utils/network.js.map +1 -0
- package/dist/utils/spawn.d.ts +33 -0
- package/dist/utils/spawn.d.ts.map +1 -0
- package/dist/utils/spawn.js +68 -0
- package/dist/utils/spawn.js.map +1 -0
- package/dist/utils/wait.d.ts +54 -0
- package/dist/utils/wait.d.ts.map +1 -0
- package/dist/utils/wait.js +60 -8
- package/dist/utils/wait.js.map +1 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -1
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the CLI entry point of Matterbridge.
|
|
3
|
+
*
|
|
4
|
+
* @file cli.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @created 2023-12-29
|
|
7
|
+
* @version 2.0.1
|
|
8
|
+
* @license Apache-2.0
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2023, 2024, 2025 Luca Liguori.
|
|
11
|
+
*
|
|
12
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
* you may not use this file except in compliance with the License.
|
|
14
|
+
* You may obtain a copy of the License at
|
|
15
|
+
*
|
|
16
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
*
|
|
18
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
* See the License for the specific language governing permissions and
|
|
22
|
+
* limitations under the License.
|
|
23
|
+
*/
|
|
24
|
+
import { Matterbridge } from './matterbridge.js';
|
|
25
|
+
export declare let instance: Matterbridge | undefined;
|
|
26
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAYH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,eAAO,IAAI,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -1,17 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the CLI entry point of Matterbridge.
|
|
3
|
+
*
|
|
4
|
+
* @file cli.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @created 2023-12-29
|
|
7
|
+
* @version 2.0.1
|
|
8
|
+
* @license Apache-2.0
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2023, 2024, 2025 Luca Liguori.
|
|
11
|
+
*
|
|
12
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
* you may not use this file except in compliance with the License.
|
|
14
|
+
* You may obtain a copy of the License at
|
|
15
|
+
*
|
|
16
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
*
|
|
18
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
* See the License for the specific language governing permissions and
|
|
22
|
+
* limitations under the License.
|
|
23
|
+
*/
|
|
1
24
|
import os from 'node:os';
|
|
2
25
|
import { inspect } from 'node:util';
|
|
26
|
+
// AnsiLogger module
|
|
3
27
|
import { AnsiLogger, BRIGHT, CYAN, db, YELLOW } from 'node-ansi-logger';
|
|
28
|
+
// Matterbridge
|
|
4
29
|
import { getIntParameter, hasParameter } from './utils/export.js';
|
|
5
30
|
import { Matterbridge } from './matterbridge.js';
|
|
6
31
|
import { cliEmitter, lastCpuUsage, setLastCpuUsage } from './cliEmitter.js';
|
|
7
32
|
export let instance;
|
|
33
|
+
// Inspectop
|
|
8
34
|
let session;
|
|
9
35
|
let snapshotInterval;
|
|
36
|
+
// Cpu and memory check
|
|
10
37
|
let memoryCheckInterval;
|
|
11
38
|
let prevCpus;
|
|
12
39
|
let peakCpu = 0;
|
|
13
40
|
let peakRss = 0;
|
|
14
|
-
const log = new AnsiLogger({ logName: 'Cli', logTimestampFormat: 4
|
|
41
|
+
const log = new AnsiLogger({ logName: 'Cli', logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */, logLevel: hasParameter('debug') ? "debug" /* LogLevel.DEBUG */ : "info" /* LogLevel.INFO */ });
|
|
15
42
|
const formatMemoryUsage = (bytes) => {
|
|
16
43
|
if (bytes >= 1024 ** 3) {
|
|
17
44
|
return `${(bytes / 1024 ** 3).toFixed(2)} GB`;
|
|
@@ -38,14 +65,20 @@ const formatOsUpTime = (seconds) => {
|
|
|
38
65
|
}
|
|
39
66
|
return `${seconds} second${seconds !== 1 ? 's' : ''}`;
|
|
40
67
|
};
|
|
68
|
+
/**
|
|
69
|
+
* Starts the CPU and memory check interval.
|
|
70
|
+
*/
|
|
41
71
|
async function startCpuMemoryCheck() {
|
|
72
|
+
// const os = await import('node:os');
|
|
42
73
|
log.debug(`Cpu memory check started`);
|
|
43
74
|
prevCpus = os.cpus();
|
|
44
75
|
clearInterval(memoryCheckInterval);
|
|
45
76
|
const interval = () => {
|
|
77
|
+
// Get the os uptime
|
|
46
78
|
const systemUptime = formatOsUpTime(Math.floor(os.uptime()));
|
|
47
79
|
const processUptime = formatOsUpTime(Math.floor(process.uptime()));
|
|
48
80
|
cliEmitter.emit('uptime', systemUptime, processUptime);
|
|
81
|
+
// Get the memory usage
|
|
49
82
|
const totalMememory = formatMemoryUsage(os.totalmem());
|
|
50
83
|
const freeMemory = formatMemoryUsage(os.freemem());
|
|
51
84
|
const memoryUsageRaw = process.memoryUsage();
|
|
@@ -57,10 +90,12 @@ async function startCpuMemoryCheck() {
|
|
|
57
90
|
if (memoryUsageRaw.rss > peakRss)
|
|
58
91
|
peakRss = memoryUsageRaw.rss;
|
|
59
92
|
cliEmitter.emit('memory', totalMememory, freeMemory, rss, heapTotal, heapUsed, external, arrayBuffers);
|
|
93
|
+
// Get the cpu usage
|
|
60
94
|
const currCpus = os.cpus();
|
|
95
|
+
// log.debug(`Cpus: ${JSON.stringify(currCpus)}`);
|
|
61
96
|
let cpuUsageLog;
|
|
62
97
|
if (currCpus.length !== prevCpus.length) {
|
|
63
|
-
prevCpus = currCpus;
|
|
98
|
+
prevCpus = currCpus; // Reset the previous cpus
|
|
64
99
|
log.debug(`Cpu check length failed, resetting previous cpus`);
|
|
65
100
|
return;
|
|
66
101
|
}
|
|
@@ -86,20 +121,29 @@ async function startCpuMemoryCheck() {
|
|
|
86
121
|
cliEmitter.emit('cpu', lastCpuUsage);
|
|
87
122
|
}
|
|
88
123
|
prevCpus = currCpus;
|
|
124
|
+
// Show the cpu and memory usage
|
|
89
125
|
log.debug(`***${YELLOW}${BRIGHT}Cpu usage:${db} ${CYAN}${cpuUsageLog.padStart(6, ' ')} %${db} ${YELLOW}${BRIGHT}Memory usage:${db} rss ${CYAN}${rss}${db} heapTotal ${CYAN}${heapTotal}${db} heapUsed ${CYAN}${heapUsed}${db} external ${external} arrayBuffers ${arrayBuffers}`);
|
|
90
126
|
};
|
|
91
127
|
interval();
|
|
92
128
|
clearInterval(memoryCheckInterval);
|
|
93
129
|
memoryCheckInterval = setInterval(interval, getIntParameter('memoryinterval') ?? 10 * 1000).unref();
|
|
94
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Stops the CPU and memory check interval.
|
|
133
|
+
*/
|
|
95
134
|
async function stopCpuMemoryCheck() {
|
|
96
135
|
log.debug(`***Cpu memory check stopped. Peak cpu: ${CYAN}${peakCpu.toFixed(2)} %${db}. Peak rss: ${CYAN}${formatMemoryUsage(peakRss)}${db}.`);
|
|
97
136
|
clearInterval(memoryCheckInterval);
|
|
98
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Starts the inspector for heap sampling.
|
|
140
|
+
* This function is called when the -inspect parameter is passed.
|
|
141
|
+
*/
|
|
99
142
|
async function startInspector() {
|
|
100
143
|
const { Session } = await import('node:inspector');
|
|
101
144
|
const { mkdirSync } = await import('node:fs');
|
|
102
145
|
log.debug(`***Starting heap sampling...`);
|
|
146
|
+
// Create the heap snapshots directory if it doesn't exist
|
|
103
147
|
mkdirSync('heap_profile', { recursive: true });
|
|
104
148
|
try {
|
|
105
149
|
session = new Session();
|
|
@@ -108,6 +152,7 @@ async function startInspector() {
|
|
|
108
152
|
session?.post('HeapProfiler.startSampling', (err) => (err ? reject(err) : resolve()));
|
|
109
153
|
});
|
|
110
154
|
log.debug(`***Started heap sampling`);
|
|
155
|
+
// Set an interval to take heap snapshots
|
|
111
156
|
const interval = getIntParameter('snapshotinterval');
|
|
112
157
|
if (interval && interval >= 30000) {
|
|
113
158
|
log.debug(`***Started heap snapshot interval of ${CYAN}${interval}${db} ms`);
|
|
@@ -125,13 +170,19 @@ async function startInspector() {
|
|
|
125
170
|
return;
|
|
126
171
|
}
|
|
127
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Stops the heap sampling and saves the profile to a file.
|
|
175
|
+
* This function is called when the inspector is stopped.
|
|
176
|
+
*/
|
|
128
177
|
async function stopInspector() {
|
|
129
178
|
const { writeFileSync } = await import('node:fs');
|
|
130
179
|
const path = await import('node:path');
|
|
131
180
|
log.debug(`***Stopping heap sampling...`);
|
|
132
181
|
if (snapshotInterval) {
|
|
133
182
|
log.debug(`***Clearing heap snapshot interval...`);
|
|
183
|
+
// Clear the snapshot interval if it exists
|
|
134
184
|
clearInterval(snapshotInterval);
|
|
185
|
+
// Take a final heap snapshot before stopping
|
|
135
186
|
await takeHeapSnapshot();
|
|
136
187
|
}
|
|
137
188
|
if (!session) {
|
|
@@ -139,6 +190,7 @@ async function stopInspector() {
|
|
|
139
190
|
return;
|
|
140
191
|
}
|
|
141
192
|
try {
|
|
193
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
142
194
|
const result = await new Promise((resolve, reject) => {
|
|
143
195
|
session?.post('HeapProfiler.stopSampling', (err, result) => (err ? reject(err) : resolve(result)));
|
|
144
196
|
});
|
|
@@ -156,6 +208,13 @@ async function stopInspector() {
|
|
|
156
208
|
log.debug(`***Stopped heap sampling`);
|
|
157
209
|
}
|
|
158
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Takes a heap snapshot and saves it to the file name Heap-snapshot-<timestamp>.heapsnapshot.
|
|
213
|
+
* This function is called periodically based on the -snapshotinterval parameter.
|
|
214
|
+
* The -snapshotinterval parameter must at least 30000 ms.
|
|
215
|
+
* The snapshot is saved in the heap_profile directory that is created in the current working directory.
|
|
216
|
+
* The snapshot can be analyzed using vscode or Chrome DevTools or other tools that support heap snapshots.
|
|
217
|
+
*/
|
|
159
218
|
async function takeHeapSnapshot() {
|
|
160
219
|
const { writeFileSync } = await import('node:fs');
|
|
161
220
|
const path = await import('node:path');
|
|
@@ -187,6 +246,10 @@ async function takeHeapSnapshot() {
|
|
|
187
246
|
});
|
|
188
247
|
});
|
|
189
248
|
}
|
|
249
|
+
/**
|
|
250
|
+
* Triggers a manual garbage collection.
|
|
251
|
+
* This function is working only if the process is started with --expose-gc.
|
|
252
|
+
*/
|
|
190
253
|
function triggerGarbageCollection() {
|
|
191
254
|
if (typeof global.gc === 'function') {
|
|
192
255
|
global.gc();
|
|
@@ -196,6 +259,9 @@ function triggerGarbageCollection() {
|
|
|
196
259
|
log.debug('Garbage collection is not exposed. Start Node.js with --expose-gc to enable manual GC.');
|
|
197
260
|
}
|
|
198
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* Registers event handlers for the Matterbridge instance.
|
|
264
|
+
*/
|
|
199
265
|
function registerHandlers() {
|
|
200
266
|
log.debug('Registering event handlers...');
|
|
201
267
|
if (instance)
|
|
@@ -218,32 +284,52 @@ function registerHandlers() {
|
|
|
218
284
|
instance.on('triggergarbagecollection', async () => triggerGarbageCollection());
|
|
219
285
|
log.debug('Registered event handlers');
|
|
220
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* Shuts down the Matterbridge instance and exits the process.
|
|
289
|
+
*/
|
|
221
290
|
async function shutdown() {
|
|
222
291
|
log.debug('Received shutdown event, exiting...');
|
|
223
292
|
if (hasParameter('inspect'))
|
|
224
293
|
await stopInspector();
|
|
225
294
|
await stopCpuMemoryCheck();
|
|
226
295
|
cliEmitter.emit('shutdown');
|
|
296
|
+
// eslint-disable-next-line n/no-process-exit
|
|
227
297
|
process.exit(0);
|
|
228
298
|
}
|
|
299
|
+
/**
|
|
300
|
+
*
|
|
301
|
+
*/
|
|
229
302
|
async function restart() {
|
|
230
303
|
log.debug('Received restart event, loading...');
|
|
231
304
|
instance = await Matterbridge.loadInstance(true);
|
|
232
305
|
registerHandlers();
|
|
233
306
|
}
|
|
307
|
+
/**
|
|
308
|
+
*
|
|
309
|
+
*/
|
|
234
310
|
async function update() {
|
|
235
311
|
log.debug('Received update event, updating...');
|
|
312
|
+
// TODO: Implement update logic outside of matterbridge
|
|
236
313
|
instance = await Matterbridge.loadInstance(true);
|
|
237
314
|
registerHandlers();
|
|
238
315
|
}
|
|
316
|
+
/**
|
|
317
|
+
* Starts the CPU and memory check when the -startmemorycheck parameter is passed.
|
|
318
|
+
*/
|
|
239
319
|
async function start() {
|
|
240
320
|
log.debug('Received start memory check event');
|
|
241
321
|
await startCpuMemoryCheck();
|
|
242
322
|
}
|
|
323
|
+
/**
|
|
324
|
+
* Stops the CPU and memory check when the -stopmemorycheck parameter is passed.
|
|
325
|
+
*/
|
|
243
326
|
async function stop() {
|
|
244
327
|
log.debug('Received stop memory check event');
|
|
245
328
|
await stopCpuMemoryCheck();
|
|
246
329
|
}
|
|
330
|
+
/**
|
|
331
|
+
* Main function that initializes the Matterbridge instance and starts the CLI.
|
|
332
|
+
*/
|
|
247
333
|
async function main() {
|
|
248
334
|
log.debug(`Cli main() started`);
|
|
249
335
|
await startCpuMemoryCheck();
|
|
@@ -252,6 +338,7 @@ async function main() {
|
|
|
252
338
|
log.debug(`***Matterbridge.loadInstance(true) called`);
|
|
253
339
|
instance = await Matterbridge.loadInstance(true);
|
|
254
340
|
log.debug(`***Matterbridge.loadInstance(true) exited`);
|
|
341
|
+
// Check if the instance needs to shut down from parseCommandLine()
|
|
255
342
|
if (!instance || instance.shutdown) {
|
|
256
343
|
shutdown();
|
|
257
344
|
}
|
|
@@ -260,9 +347,11 @@ async function main() {
|
|
|
260
347
|
cliEmitter.emit('ready');
|
|
261
348
|
}
|
|
262
349
|
}
|
|
350
|
+
// Run the main function
|
|
263
351
|
process.title = 'matterbridge';
|
|
264
352
|
main().catch((error) => {
|
|
265
353
|
const errorMessage = error instanceof Error ? error.message : error;
|
|
266
354
|
const errorInspect = inspect(error, { depth: 10 });
|
|
267
355
|
log.error(`Matterbridge.loadInstance() failed with error: ${errorMessage}\nstack: ${errorInspect}`);
|
|
268
356
|
});
|
|
357
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,oBAAoB;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAA6B,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEnG,eAAe;AACf,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE5E,MAAM,CAAC,IAAI,QAAkC,CAAC;AAE9C,YAAY;AACZ,IAAI,OAA4B,CAAC;AACjC,IAAI,gBAAgC,CAAC;AAErC,uBAAuB;AACvB,IAAI,mBAAmC,CAAC;AACxC,IAAI,QAAsB,CAAC;AAC3B,IAAI,OAAO,GAAG,CAAC,CAAC;AAChB,IAAI,OAAO,GAAG,CAAC,CAAC;AAEhB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,qCAA6B,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,8BAAgB,CAAC,2BAAc,EAAE,CAAC,CAAC;AAElK,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE;IAClD,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAChD,CAAC;SAAM,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,OAAe,EAAU,EAAE;IACjD,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;QACzC,OAAO,GAAG,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACzC,OAAO,GAAG,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACzC,OAAO,GAAG,OAAO,UAAU,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,GAAG,OAAO,UAAU,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACxD,CAAC,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,mBAAmB;IAChC,sCAAsC;IAEtC,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACtC,QAAQ,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACrB,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,oBAAoB;QACpB,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAEvD,uBAAuB;QACvB,MAAM,aAAa,GAAG,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,iBAAiB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,cAAc,CAAC,GAAG,GAAG,OAAO;YAAE,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC;QAC/D,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEvG,oBAAoB;QACpB,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3B,kDAAkD;QAClD,IAAI,WAAmB,CAAC;QACxB,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxC,QAAQ,GAAG,QAAQ,CAAC,CAAC,0BAA0B;YAC/C,GAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,IAAI,SAAS,GAAG,CAAC,EACf,SAAS,GAAG,CAAC,CAAC;QAEhB,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YACzD,MAAM,SAAS,GAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAoC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1J,SAAS,IAAI,QAAQ,CAAC;YACtB,SAAS,IAAI,SAAS,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACrD,IAAI,SAAS,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC/E,IAAI,YAAY,IAAI,CAAC;gBAAE,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC1E,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,YAAY,GAAG,OAAO;gBAAE,OAAO,GAAG,YAAY,CAAC;YACnD,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACvC,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC;QAEpB,gCAAgC;QAChC,GAAG,CAAC,KAAK,CACP,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,IAAI,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,MAAM,GAAG,MAAM,gBAAgB,EAAE,QAAQ,IAAI,GAAG,GAAG,GAAG,EAAE,cAAc,IAAI,GAAG,SAAS,GAAG,EAAE,aAAa,IAAI,GAAG,QAAQ,GAAG,EAAE,aAAa,QAAQ,iBAAiB,YAAY,EAAE,CACvQ,CAAC;IACJ,CAAC,CAAC;IACF,QAAQ,EAAE,CAAC;IACX,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACnC,mBAAmB,GAAG,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;AACtG,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB;IAC/B,GAAG,CAAC,KAAK,CAAC,0CAA0C,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,eAAe,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9I,aAAa,CAAC,mBAAmB,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc;IAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACnD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAE9C,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAE1C,0DAA0D;IAC1D,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,OAAO,EAAE,IAAI,CAAC,4BAA4B,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAEtC,yCAAyC;QACzC,MAAM,QAAQ,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;QACrD,IAAI,QAAQ,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YAClC,GAAG,CAAC,KAAK,CAAC,wCAAwC,IAAI,GAAG,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7E,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAChC,gBAAgB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBACxC,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBACxC,MAAM,gBAAgB,EAAE,CAAC;YAC3B,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3F,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,OAAO,GAAG,SAAS,CAAC;QACpB,OAAO;IACT,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa;IAC1B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAE1C,IAAI,gBAAgB,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACnD,2CAA2C;QAC3C,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAChC,6CAA6C;QAC7C,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,8DAA8D;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxD,OAAO,EAAE,IAAI,CAAC,2BAA2B,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;QACxH,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEjC,GAAG,CAAC,KAAK,CAAC,qCAAqC,IAAI,GAAG,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5F,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,GAAG,SAAS,CAAC;QACpB,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,gBAAgB;IAC7B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,iBAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IAC1H,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAErC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,cAAc,GAAG,CAAC,YAAmF,EAAE,EAAE;QAC7G,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,mCAAmC,EAAE,cAAc,CAAC,CAAC;IAChE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,OAAO,EAAE,IAAI,CAAC,+BAA+B,EAAE,CAAC,GAAG,EAAE,EAAE;YACrD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,EAAE,GAAG,CAAC,mCAAmC,EAAE,cAAc,CAAC,CAAC;gBAClE,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/C,GAAG,CAAC,KAAK,CAAC,sCAAsC,IAAI,GAAG,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC;gBACxE,wBAAwB,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,GAAG,CAAC,mCAAmC,EAAE,cAAc,CAAC,CAAC;gBAClE,GAAG,CAAC,KAAK,CAAC,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1F,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB;IAC/B,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,EAAE,EAAE,CAAC;QACZ,GAAG,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB;IACvB,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC3C,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5D,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACnE,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;IAC1E,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IACxE,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC9E,IAAI,QAAQ;QAAE,QAAQ,CAAC,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC9F,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,QAAQ;IACrB,GAAG,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAEjD,IAAI,YAAY,CAAC,SAAS,CAAC;QAAE,MAAM,aAAa,EAAE,CAAC;IAEnD,MAAM,kBAAkB,EAAE,CAAC;IAE3B,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,6CAA6C;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,OAAO;IACpB,GAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAChD,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,MAAM;IACnB,GAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAChD,uDAAuD;IACvD,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,KAAK;IAClB,GAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC/C,MAAM,mBAAmB,EAAE,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9C,MAAM,kBAAkB,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEhC,MAAM,mBAAmB,EAAE,CAAC;IAE5B,IAAI,YAAY,CAAC,SAAS,CAAC;QAAE,MAAM,cAAc,EAAE,CAAC;IAEpD,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAEvD,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAEjD,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAEvD,mEAAmE;IACnE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACnC,QAAQ,EAAE,CAAC;IACb,CAAC;SAAM,CAAC;QACN,gBAAgB,EAAE,CAAC;QACnB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,wBAAwB;AACxB,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC;AAC/B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,KAAK,CAAC,kDAAkD,YAAY,YAAY,YAAY,EAAE,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the CLI emitter.
|
|
3
|
+
*
|
|
4
|
+
* @file cliEmitter.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @created 2025-07-04
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @license Apache-2.0
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
11
|
+
*
|
|
12
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
* you may not use this file except in compliance with the License.
|
|
14
|
+
* You may obtain a copy of the License at
|
|
15
|
+
*
|
|
16
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
*
|
|
18
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
* See the License for the specific language governing permissions and
|
|
22
|
+
* limitations under the License.
|
|
23
|
+
*/
|
|
24
|
+
import { EventEmitter } from 'node:events';
|
|
25
|
+
export declare const cliEmitter: EventEmitter<[never]>;
|
|
26
|
+
export declare let lastCpuUsage: number;
|
|
27
|
+
/**
|
|
28
|
+
* Sets the last CPU usage.
|
|
29
|
+
*
|
|
30
|
+
* @param {number} val - The CPU usage percentage to set.
|
|
31
|
+
* @returns {void}
|
|
32
|
+
*/
|
|
33
|
+
export declare function setLastCpuUsage(val: number): void;
|
|
34
|
+
//# sourceMappingURL=cliEmitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliEmitter.d.ts","sourceRoot":"","sources":["../src/cliEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,eAAO,MAAM,UAAU,uBAAqB,CAAC;AAE7C,eAAO,IAAI,YAAY,QAAI,CAAC;AAE5B;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEjD"}
|
package/dist/cliEmitter.js
CHANGED
|
@@ -1,6 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the CLI emitter.
|
|
3
|
+
*
|
|
4
|
+
* @file cliEmitter.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @created 2025-07-04
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @license Apache-2.0
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
11
|
+
*
|
|
12
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
* you may not use this file except in compliance with the License.
|
|
14
|
+
* You may obtain a copy of the License at
|
|
15
|
+
*
|
|
16
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
*
|
|
18
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
* See the License for the specific language governing permissions and
|
|
22
|
+
* limitations under the License.
|
|
23
|
+
*/
|
|
1
24
|
import { EventEmitter } from 'node:events';
|
|
2
25
|
export const cliEmitter = new EventEmitter();
|
|
3
26
|
export let lastCpuUsage = 0;
|
|
27
|
+
/**
|
|
28
|
+
* Sets the last CPU usage.
|
|
29
|
+
*
|
|
30
|
+
* @param {number} val - The CPU usage percentage to set.
|
|
31
|
+
* @returns {void}
|
|
32
|
+
*/
|
|
4
33
|
export function setLastCpuUsage(val) {
|
|
5
34
|
lastCpuUsage = val;
|
|
6
35
|
}
|
|
36
|
+
//# sourceMappingURL=cliEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliEmitter.js","sourceRoot":"","sources":["../src/cliEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AAE7C,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,YAAY,GAAG,GAAG,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/clusters/export.ts"],"names":[],"mappings":""}
|
package/dist/clusters/export.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/clusters/export.ts"],"names":[],"mappings":";AAAA,oGAAoG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the default config for the plugins.
|
|
3
|
+
*
|
|
4
|
+
* @file defaultConfigSchema.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @created 2024-05-07
|
|
7
|
+
* @version 1.0.1
|
|
8
|
+
* @license Apache-2.0
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2024, 2025, 2026 Luca Liguori.
|
|
11
|
+
*
|
|
12
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
* you may not use this file except in compliance with the License.
|
|
14
|
+
* You may obtain a copy of the License at
|
|
15
|
+
*
|
|
16
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
*
|
|
18
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
* See the License for the specific language governing permissions and
|
|
22
|
+
* limitations under the License.
|
|
23
|
+
*/
|
|
24
|
+
import { PlatformConfig } from './matterbridgePlatform.js';
|
|
25
|
+
export declare const zigbee2mqtt_config: PlatformConfig;
|
|
26
|
+
export declare const somfytahoma_config: PlatformConfig;
|
|
27
|
+
export declare const shelly_config: PlatformConfig;
|
|
28
|
+
//# sourceMappingURL=defaultConfigSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultConfigSchema.d.ts","sourceRoot":"","sources":["../src/defaultConfigSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,eAAO,MAAM,kBAAkB,EAAE,cAkBhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAYhC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cA4B3B,CAAC"}
|
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the default config for the plugins.
|
|
3
|
+
*
|
|
4
|
+
* @file defaultConfigSchema.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @created 2024-05-07
|
|
7
|
+
* @version 1.0.1
|
|
8
|
+
* @license Apache-2.0
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2024, 2025, 2026 Luca Liguori.
|
|
11
|
+
*
|
|
12
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
* you may not use this file except in compliance with the License.
|
|
14
|
+
* You may obtain a copy of the License at
|
|
15
|
+
*
|
|
16
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
*
|
|
18
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
* See the License for the specific language governing permissions and
|
|
22
|
+
* limitations under the License.
|
|
23
|
+
*/
|
|
1
24
|
export const zigbee2mqtt_config = {
|
|
2
25
|
name: 'matterbridge-zigbee2mqtt',
|
|
3
26
|
type: 'DynamicPlatform',
|
|
@@ -59,3 +82,4 @@ export const shelly_config = {
|
|
|
59
82
|
debugWs: false,
|
|
60
83
|
unregisterOnShutdown: false,
|
|
61
84
|
};
|
|
85
|
+
//# sourceMappingURL=defaultConfigSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultConfigSchema.js","sourceRoot":"","sources":["../src/defaultConfigSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,MAAM,CAAC,MAAM,kBAAkB,GAAmB;IAChD,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,aAAa;IACpB,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,EAAE;IACd,gBAAgB,EAAE,EAAE;IACpB,sBAAsB,EAAE,EAAE;IAC1B,KAAK,EAAE,KAAK;IACZ,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAmB;IAChD,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,gBAAgB,EAAE,EAAE;IACpB,KAAK,EAAE,KAAK;IACZ,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IACb,gBAAgB,EAAE,EAAE;IACpB,kBAAkB,EAAE,EAAE;IACtB,iBAAiB,EAAE,EAAE;IACrB,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,eAAe,EAAE,EAAE;IACnB,qBAAqB,EAAE,EAAE;IACzB,WAAW,EAAE,EAAE;IACf,kBAAkB,EAAE,IAAI;IACxB,qBAAqB,EAAE,IAAI;IAC3B,oBAAoB,EAAE,KAAK;IAC3B,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,KAAK;IACjB,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,KAAK;IACd,oBAAoB,EAAE,KAAK;CAC5B,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the DeviceManager class.
|
|
3
|
+
*
|
|
4
|
+
* @file devices.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @created 2024-07-26
|
|
7
|
+
* @version 1.0.11
|
|
8
|
+
* @license Apache-2.0
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2024, 2025, 2026 Luca Liguori.
|
|
11
|
+
*
|
|
12
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
* you may not use this file except in compliance with the License.
|
|
14
|
+
* You may obtain a copy of the License at
|
|
15
|
+
*
|
|
16
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
*
|
|
18
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
* See the License for the specific language governing permissions and
|
|
22
|
+
* limitations under the License.
|
|
23
|
+
*/
|
|
24
|
+
import { LogLevel } from 'node-ansi-logger';
|
|
25
|
+
import { Matterbridge } from './matterbridge.js';
|
|
26
|
+
import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
|
|
27
|
+
/**
|
|
28
|
+
* Manages Matterbridge devices.
|
|
29
|
+
*/
|
|
30
|
+
export declare class DeviceManager {
|
|
31
|
+
private readonly _devices;
|
|
32
|
+
private readonly matterbridge;
|
|
33
|
+
private readonly log;
|
|
34
|
+
/**
|
|
35
|
+
* Creates an instance of DeviceManager.
|
|
36
|
+
*
|
|
37
|
+
* @param {Matterbridge} matterbridge - The Matterbridge instance.
|
|
38
|
+
*/
|
|
39
|
+
constructor(matterbridge: Matterbridge);
|
|
40
|
+
/**
|
|
41
|
+
* Gets the number of devices.
|
|
42
|
+
*
|
|
43
|
+
* @returns {number} The number of devices.
|
|
44
|
+
*/
|
|
45
|
+
get length(): number;
|
|
46
|
+
/**
|
|
47
|
+
* Gets the number of devices.
|
|
48
|
+
*
|
|
49
|
+
* @returns {number} The number of devices.
|
|
50
|
+
*/
|
|
51
|
+
get size(): number;
|
|
52
|
+
/**
|
|
53
|
+
* Checks if a device with the specified unique ID exists.
|
|
54
|
+
*
|
|
55
|
+
* @param {string} uniqueId - The unique ID of the device.
|
|
56
|
+
* @returns {boolean} True if the device exists, false otherwise.
|
|
57
|
+
*/
|
|
58
|
+
has(uniqueId: string): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Gets a device by its unique ID.
|
|
61
|
+
*
|
|
62
|
+
* @param {string} uniqueId - The unique ID of the device.
|
|
63
|
+
* @returns {MatterbridgeEndpoint | undefined} The device, or undefined if not found.
|
|
64
|
+
*/
|
|
65
|
+
get(uniqueId: string): MatterbridgeEndpoint | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Adds a device to the manager.
|
|
68
|
+
*
|
|
69
|
+
* @param {MatterbridgeEndpoint} device - The device to add.
|
|
70
|
+
* @returns {MatterbridgeEndpoint} The added device.
|
|
71
|
+
* @throws {Error} If the device does not have a unique ID.
|
|
72
|
+
*/
|
|
73
|
+
set(device: MatterbridgeEndpoint): MatterbridgeEndpoint;
|
|
74
|
+
/**
|
|
75
|
+
* Removes a device from the manager.
|
|
76
|
+
*
|
|
77
|
+
* @param {MatterbridgeEndpoint} device - The device to remove.
|
|
78
|
+
* @returns {boolean} True if the device was removed, false otherwise.
|
|
79
|
+
* @throws {Error} If the device does not have a unique ID.
|
|
80
|
+
*/
|
|
81
|
+
remove(device: MatterbridgeEndpoint): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Clears all devices from the manager.
|
|
84
|
+
*/
|
|
85
|
+
clear(): void;
|
|
86
|
+
/**
|
|
87
|
+
* Gets an array of all devices.
|
|
88
|
+
*
|
|
89
|
+
* @returns {MatterbridgeEndpoint[]} An array of all devices.
|
|
90
|
+
*/
|
|
91
|
+
array(): MatterbridgeEndpoint[];
|
|
92
|
+
/**
|
|
93
|
+
* Iterates over all devices.
|
|
94
|
+
*
|
|
95
|
+
* @returns {IterableIterator<MatterbridgeEndpoint>} An iterator for the devices.
|
|
96
|
+
*/
|
|
97
|
+
[Symbol.iterator](): MapIterator<MatterbridgeEndpoint>;
|
|
98
|
+
/**
|
|
99
|
+
* Asynchronously iterates over each device and calls the provided callback function.
|
|
100
|
+
*
|
|
101
|
+
* @param {(device: MatterbridgeEndpoint) => Promise<void>} callback - The callback function to call with each device.
|
|
102
|
+
* @returns {Promise<void>} A promise that resolves when all callbacks have been called.
|
|
103
|
+
*/
|
|
104
|
+
forEach(callback: (device: MatterbridgeEndpoint) => Promise<void>): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Sets the log level.
|
|
107
|
+
*
|
|
108
|
+
* @param {LogLevel} logLevel - The log level to set.
|
|
109
|
+
*/
|
|
110
|
+
set logLevel(logLevel: LogLevel);
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=deviceManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceManager.d.ts","sourceRoot":"","sources":["../src/deviceManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAwB,QAAQ,EAAmB,MAAM,kBAAkB,CAAC;AAGnF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IAEjC;;;;OAIG;gBACS,YAAY,EAAE,YAAY;IAMtC;;;;OAIG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;OAKG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B;;;;;OAKG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAIvD;;;;;;OAMG;IACH,GAAG,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB;IAOvD;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO;IAM7C;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;;OAIG;IACH,KAAK,IAAI,oBAAoB,EAAE;IAI/B;;;;OAIG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB;;;;;OAKG;IACG,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAavF;;;;OAIG;IACH,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAE9B;CACF"}
|