matterbridge 1.2.22 → 1.3.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 +29 -0
- package/README.md +40 -8
- package/dist/cluster/AirQualityCluster.d.ts.map +1 -0
- package/dist/cluster/AirQualityCluster.js.map +1 -0
- package/dist/cluster/BooleanStateConfigurationCluster.d.ts +2200 -0
- package/dist/cluster/BooleanStateConfigurationCluster.d.ts.map +1 -0
- package/dist/cluster/BooleanStateConfigurationCluster.js +388 -0
- package/dist/cluster/BooleanStateConfigurationCluster.js.map +1 -0
- package/dist/cluster/BridgedDeviceBasicInformationCluster.d.ts.map +1 -0
- package/dist/cluster/BridgedDeviceBasicInformationCluster.js.map +1 -0
- package/dist/cluster/CarbonMonoxideConcentrationMeasurementCluster.d.ts +396 -0
- package/dist/cluster/CarbonMonoxideConcentrationMeasurementCluster.d.ts.map +1 -0
- package/dist/cluster/CarbonMonoxideConcentrationMeasurementCluster.js +30 -0
- package/dist/cluster/CarbonMonoxideConcentrationMeasurementCluster.js.map +1 -0
- package/dist/cluster/ConcentrationMeasurementCluster.d.ts +524 -0
- package/dist/cluster/ConcentrationMeasurementCluster.d.ts.map +1 -0
- package/dist/cluster/ConcentrationMeasurementCluster.js +282 -0
- package/dist/cluster/ConcentrationMeasurementCluster.js.map +1 -0
- package/dist/cluster/DeviceEnergyManagementCluster.d.ts +7851 -0
- package/dist/cluster/DeviceEnergyManagementCluster.d.ts.map +1 -0
- package/dist/cluster/DeviceEnergyManagementCluster.js +1634 -0
- package/dist/cluster/DeviceEnergyManagementCluster.js.map +1 -0
- package/dist/cluster/DeviceEnergyManagementModeCluster.d.ts +68 -0
- package/dist/cluster/DeviceEnergyManagementModeCluster.d.ts.map +1 -0
- package/dist/cluster/DeviceEnergyManagementModeCluster.js +49 -0
- package/dist/cluster/DeviceEnergyManagementModeCluster.js.map +1 -0
- package/dist/cluster/ElectricalEnergyMeasurementCluster.d.ts +4978 -0
- package/dist/cluster/ElectricalEnergyMeasurementCluster.d.ts.map +1 -0
- package/dist/cluster/ElectricalEnergyMeasurementCluster.js +510 -0
- package/dist/cluster/ElectricalEnergyMeasurementCluster.js.map +1 -0
- package/dist/cluster/ElectricalPowerMeasurementCluster.d.ts +3250 -0
- package/dist/cluster/ElectricalPowerMeasurementCluster.d.ts.map +1 -0
- package/dist/cluster/ElectricalPowerMeasurementCluster.js +675 -0
- package/dist/cluster/ElectricalPowerMeasurementCluster.js.map +1 -0
- package/dist/cluster/FanControlCluster.d.ts +1583 -0
- package/dist/cluster/FanControlCluster.d.ts.map +1 -0
- package/dist/cluster/FanControlCluster.js +492 -0
- package/dist/cluster/FanControlCluster.js.map +1 -0
- package/dist/cluster/MeasurementAccuracy.d.ts +63 -0
- package/dist/cluster/MeasurementAccuracy.d.ts.map +1 -0
- package/dist/cluster/MeasurementAccuracy.js +47 -0
- package/dist/cluster/MeasurementAccuracy.js.map +1 -0
- package/dist/cluster/MeasurementAccuracyRange.d.ts +134 -0
- package/dist/cluster/MeasurementAccuracyRange.d.ts.map +1 -0
- package/dist/cluster/MeasurementAccuracyRange.js +103 -0
- package/dist/cluster/MeasurementAccuracyRange.js.map +1 -0
- package/dist/cluster/MeasurementType.d.ts +68 -0
- package/dist/cluster/MeasurementType.d.ts.map +1 -0
- package/dist/cluster/MeasurementType.js +69 -0
- package/dist/cluster/MeasurementType.js.map +1 -0
- package/dist/cluster/PowerTopologyCluster.d.ts +355 -0
- package/dist/cluster/PowerTopologyCluster.d.ts.map +1 -0
- package/dist/cluster/PowerTopologyCluster.js +138 -0
- package/dist/cluster/PowerTopologyCluster.js.map +1 -0
- package/dist/cluster/SmokeCoAlarmCluster.d.ts +1599 -0
- package/dist/cluster/SmokeCoAlarmCluster.d.ts.map +1 -0
- package/dist/cluster/SmokeCoAlarmCluster.js +603 -0
- package/dist/cluster/SmokeCoAlarmCluster.js.map +1 -0
- package/dist/cluster/TvocCluster.d.ts.map +1 -0
- package/dist/cluster/TvocCluster.js.map +1 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/matterbridge.d.ts +63 -1
- package/dist/matterbridge.d.ts.map +1 -1
- package/dist/matterbridge.js +72 -26
- package/dist/matterbridge.js.map +1 -1
- package/dist/matterbridgeDevice.d.ts +692 -30
- package/dist/matterbridgeDevice.d.ts.map +1 -1
- package/dist/matterbridgeDevice.js +429 -73
- package/dist/matterbridgeDevice.js.map +1 -1
- package/dist/matterbridgeDeviceV8.d.ts +3 -5
- package/dist/matterbridgeDeviceV8.d.ts.map +1 -1
- package/dist/matterbridgeDeviceV8.js +62 -14
- package/dist/matterbridgeDeviceV8.js.map +1 -1
- package/dist/matterbridgeV8.d.ts +69 -5
- package/dist/matterbridgeV8.d.ts.map +1 -1
- package/dist/matterbridgeV8.js +409 -139
- package/dist/matterbridgeV8.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.23829a0f.js → main.cbfc6c9b.js} +3 -3
- package/frontend/build/static/js/{main.23829a0f.js.map → main.cbfc6c9b.js.map} +1 -1
- package/package.json +5 -5
- package/dist/AirQualityCluster.d.ts.map +0 -1
- package/dist/AirQualityCluster.js.map +0 -1
- package/dist/BridgedDeviceBasicInformationCluster.d.ts.map +0 -1
- package/dist/BridgedDeviceBasicInformationCluster.js.map +0 -1
- package/dist/TvocCluster.d.ts.map +0 -1
- package/dist/TvocCluster.js.map +0 -1
- /package/dist/{AirQualityCluster.d.ts → cluster/AirQualityCluster.d.ts} +0 -0
- /package/dist/{AirQualityCluster.js → cluster/AirQualityCluster.js} +0 -0
- /package/dist/{BridgedDeviceBasicInformationCluster.d.ts → cluster/BridgedDeviceBasicInformationCluster.d.ts} +0 -0
- /package/dist/{BridgedDeviceBasicInformationCluster.js → cluster/BridgedDeviceBasicInformationCluster.js} +0 -0
- /package/dist/{TvocCluster.d.ts → cluster/TvocCluster.d.ts} +0 -0
- /package/dist/{TvocCluster.js → cluster/TvocCluster.js} +0 -0
- /package/frontend/build/static/js/{main.23829a0f.js.LICENSE.txt → main.cbfc6c9b.js.LICENSE.txt} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -33,7 +33,12 @@ export * from './matterbridge.js';
|
|
|
33
33
|
export * from './matterbridgeDevice.js';
|
|
34
34
|
export * from './matterbridgeAccessoryPlatform.js';
|
|
35
35
|
export * from './matterbridgeDynamicPlatform.js';
|
|
36
|
-
export * from './AirQualityCluster.js';
|
|
37
|
-
export * from './TvocCluster.js';
|
|
36
|
+
export * from './cluster/AirQualityCluster.js';
|
|
37
|
+
export * from './cluster/TvocCluster.js';
|
|
38
|
+
export * from './cluster/CarbonMonoxideConcentrationMeasurementCluster.js';
|
|
39
|
+
export * from './cluster/BooleanStateConfigurationCluster.js';
|
|
40
|
+
export * from './cluster/PowerTopologyCluster.js';
|
|
41
|
+
export * from './cluster/ElectricalEnergyMeasurementCluster.js';
|
|
42
|
+
export * from './cluster/ElectricalPowerMeasurementCluster.js';
|
|
38
43
|
export * from './utils.js';
|
|
39
44
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,8BAA8B,CAAC;AAGtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,gBAAgB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,8BAA8B,CAAC;AAGtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,gBAAgB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4DAA4D,CAAC;AAC3E,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAElD,cAAc,iDAAiD,CAAC;AAChE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -34,8 +34,14 @@ export * from './matterbridge.js';
|
|
|
34
34
|
export * from './matterbridgeDevice.js';
|
|
35
35
|
export * from './matterbridgeAccessoryPlatform.js';
|
|
36
36
|
export * from './matterbridgeDynamicPlatform.js';
|
|
37
|
-
export * from './AirQualityCluster.js';
|
|
38
|
-
export * from './TvocCluster.js';
|
|
37
|
+
export * from './cluster/AirQualityCluster.js';
|
|
38
|
+
export * from './cluster/TvocCluster.js';
|
|
39
|
+
export * from './cluster/CarbonMonoxideConcentrationMeasurementCluster.js';
|
|
40
|
+
export * from './cluster/BooleanStateConfigurationCluster.js';
|
|
41
|
+
export * from './cluster/PowerTopologyCluster.js';
|
|
42
|
+
// export * from './cluster/FanControlCluster.js'; // Already defined in matter.js like rev. 2
|
|
43
|
+
export * from './cluster/ElectricalEnergyMeasurementCluster.js';
|
|
44
|
+
export * from './cluster/ElectricalPowerMeasurementCluster.js';
|
|
39
45
|
export * from './utils.js';
|
|
40
46
|
async function main() {
|
|
41
47
|
// eslint-disable-next-line no-console
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,gBAAgB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,gBAAgB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4DAA4D,CAAC;AAC3E,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAClD,8FAA8F;AAC9F,cAAc,iDAAiD,CAAC;AAChE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,YAAY,CAAC;AAE3B,KAAK,UAAU,IAAI;IACjB,sCAAsC;IACtC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC7F,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;IAClC,sCAAsC;IACtC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;AAC/F,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,wDAAwD,KAAK,EAAE,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC"}
|
package/dist/matterbridge.d.ts
CHANGED
|
@@ -22,12 +22,63 @@
|
|
|
22
22
|
*/
|
|
23
23
|
/// <reference types="node" resolution-mode="require"/>
|
|
24
24
|
import { MatterbridgeDevice } from './matterbridgeDevice.js';
|
|
25
|
+
import { NodeStorage } from 'node-persist-manager';
|
|
26
|
+
import { AnsiLogger } from 'node-ansi-logger';
|
|
25
27
|
import EventEmitter from 'events';
|
|
28
|
+
import { CommissioningServer } from '@project-chip/matter-node.js';
|
|
29
|
+
import { Aggregator } from '@project-chip/matter-node.js/device';
|
|
30
|
+
import { StorageContext } from '@project-chip/matter-node.js/storage';
|
|
26
31
|
import { ExposedFabricInformation } from '@project-chip/matter-node.js/fabric';
|
|
32
|
+
export interface MatterbridgePlatform {
|
|
33
|
+
onStart(reason?: string): Promise<void>;
|
|
34
|
+
onConfigure(): Promise<void>;
|
|
35
|
+
onShutdown(reason?: string): Promise<void>;
|
|
36
|
+
registerDevice(device: MatterbridgeDevice): Promise<void>;
|
|
37
|
+
unregisterDevice(device: MatterbridgeDevice): Promise<void>;
|
|
38
|
+
unregisterAllDevices(): Promise<void>;
|
|
39
|
+
matterbridge: Matterbridge;
|
|
40
|
+
log: AnsiLogger;
|
|
41
|
+
config: PlatformConfig;
|
|
42
|
+
name: string;
|
|
43
|
+
type: string;
|
|
44
|
+
version: string;
|
|
45
|
+
}
|
|
27
46
|
export type PlatformConfigValue = string | number | boolean | bigint | object | undefined | null;
|
|
28
47
|
export type PlatformConfig = Record<string, PlatformConfigValue>;
|
|
29
48
|
export type PlatformSchemaValue = string | number | boolean | bigint | object | undefined | null;
|
|
30
49
|
export type PlatformSchema = Record<string, PlatformSchemaValue>;
|
|
50
|
+
export interface RegisteredPlugin extends BaseRegisteredPlugin {
|
|
51
|
+
nodeContext?: NodeStorage;
|
|
52
|
+
storageContext?: StorageContext;
|
|
53
|
+
commissioningServer?: CommissioningServer;
|
|
54
|
+
aggregator?: Aggregator;
|
|
55
|
+
device?: MatterbridgeDevice;
|
|
56
|
+
platform?: MatterbridgePlatform;
|
|
57
|
+
}
|
|
58
|
+
export interface BaseRegisteredPlugin {
|
|
59
|
+
path: string;
|
|
60
|
+
type: string;
|
|
61
|
+
name: string;
|
|
62
|
+
version: string;
|
|
63
|
+
description: string;
|
|
64
|
+
author: string;
|
|
65
|
+
latestVersion?: string;
|
|
66
|
+
locked?: boolean;
|
|
67
|
+
error?: boolean;
|
|
68
|
+
enabled?: boolean;
|
|
69
|
+
loaded?: boolean;
|
|
70
|
+
started?: boolean;
|
|
71
|
+
configured?: boolean;
|
|
72
|
+
paired?: boolean;
|
|
73
|
+
connected?: boolean;
|
|
74
|
+
fabricInfo?: ExposedFabricInformation[];
|
|
75
|
+
registeredDevices?: number;
|
|
76
|
+
addedDevices?: number;
|
|
77
|
+
qrPairingCode?: string;
|
|
78
|
+
manualPairingCode?: string;
|
|
79
|
+
configJson?: object;
|
|
80
|
+
schemaJson?: object;
|
|
81
|
+
}
|
|
31
82
|
interface SystemInformation {
|
|
32
83
|
macAddress: string;
|
|
33
84
|
ipv4Address: string;
|
|
@@ -51,6 +102,9 @@ interface MatterbridgeInformation {
|
|
|
51
102
|
globalModulesDirectory: string;
|
|
52
103
|
matterbridgeVersion: string;
|
|
53
104
|
matterbridgeLatestVersion: string;
|
|
105
|
+
matterbridgeFabricInfo: ExposedFabricInformation[];
|
|
106
|
+
matterbridgePaired: boolean;
|
|
107
|
+
matterbridgeConnected: boolean;
|
|
54
108
|
bridgeMode: string;
|
|
55
109
|
restartMode: string;
|
|
56
110
|
debugEnabled: boolean;
|
|
@@ -104,16 +158,24 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
104
158
|
static loadInstance(initialize?: boolean): Promise<Matterbridge>;
|
|
105
159
|
/**
|
|
106
160
|
* Initializes the Matterbridge instance as extension for zigbee2mqtt.
|
|
161
|
+
* @deprecated This method is deprecated and will be removed in a future version.
|
|
107
162
|
*
|
|
108
163
|
* @returns A Promise that resolves when the initialization is complete.
|
|
109
164
|
*/
|
|
110
165
|
startExtension(dataPath: string, debugEnabled: boolean, extensionVersion: string, port?: number): Promise<boolean>;
|
|
111
166
|
/**
|
|
112
167
|
* Close the Matterbridge instance as extension for zigbee2mqtt.
|
|
168
|
+
* @deprecated This method is deprecated and will be removed in a future version.
|
|
113
169
|
*
|
|
114
170
|
* @returns A Promise that resolves when the initialization is complete.
|
|
115
171
|
*/
|
|
116
172
|
stopExtension(): Promise<void>;
|
|
173
|
+
/**
|
|
174
|
+
* Checks if the extension is commissioned.
|
|
175
|
+
* @deprecated This method is deprecated and will be removed in a future version.
|
|
176
|
+
*
|
|
177
|
+
* @returns {boolean} Returns true if the extension is commissioned, false otherwise.
|
|
178
|
+
*/
|
|
117
179
|
isExtensionCommissioned(): boolean;
|
|
118
180
|
/**
|
|
119
181
|
* Initializes the Matterbridge application.
|
|
@@ -269,7 +331,7 @@ export declare class Matterbridge extends EventEmitter {
|
|
|
269
331
|
*
|
|
270
332
|
* @param {RegisteredPlugin} plugin - The plugin to start.
|
|
271
333
|
* @param {string} [message] - Optional message to pass to the plugin's onStart method.
|
|
272
|
-
* @param {boolean} [configure
|
|
334
|
+
* @param {boolean} [configure] - Indicates whether to configure the plugin after starting (default false).
|
|
273
335
|
* @returns {Promise<void>} A promise that resolves when the plugin is started successfully, or rejects with an error if starting the plugin fails.
|
|
274
336
|
*/
|
|
275
337
|
private startPlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;AAEH,OAAO,EAAE,kBAAkB,EAAgC,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"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"}
|
package/dist/matterbridge.js
CHANGED
|
@@ -32,7 +32,7 @@ import express from 'express';
|
|
|
32
32
|
import os from 'os';
|
|
33
33
|
import path from 'path';
|
|
34
34
|
import WebSocket, { WebSocketServer } from 'ws';
|
|
35
|
-
import { BridgedDeviceBasicInformation, BridgedDeviceBasicInformationCluster } from './BridgedDeviceBasicInformationCluster.js';
|
|
35
|
+
import { BridgedDeviceBasicInformation, BridgedDeviceBasicInformationCluster } from './cluster/BridgedDeviceBasicInformationCluster.js';
|
|
36
36
|
import { CommissioningController, CommissioningServer, MatterServer } from '@project-chip/matter-node.js';
|
|
37
37
|
import { BasicInformationCluster, ClusterServer, FixedLabelCluster, GeneralCommissioning, PowerSourceCluster, ThreadNetworkDiagnosticsCluster, getClusterNameById } from '@project-chip/matter-node.js/cluster';
|
|
38
38
|
import { DeviceTypeId, VendorId } from '@project-chip/matter-node.js/datatype';
|
|
@@ -73,6 +73,9 @@ export class Matterbridge extends EventEmitter {
|
|
|
73
73
|
globalModulesDirectory: '',
|
|
74
74
|
matterbridgeVersion: '',
|
|
75
75
|
matterbridgeLatestVersion: '',
|
|
76
|
+
matterbridgeFabricInfo: [],
|
|
77
|
+
matterbridgePaired: false,
|
|
78
|
+
matterbridgeConnected: false,
|
|
76
79
|
bridgeMode: '',
|
|
77
80
|
restartMode: '',
|
|
78
81
|
debugEnabled: false,
|
|
@@ -133,6 +136,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
133
136
|
}
|
|
134
137
|
/**
|
|
135
138
|
* Initializes the Matterbridge instance as extension for zigbee2mqtt.
|
|
139
|
+
* @deprecated This method is deprecated and will be removed in a future version.
|
|
136
140
|
*
|
|
137
141
|
* @returns A Promise that resolves when the initialization is complete.
|
|
138
142
|
*/
|
|
@@ -205,6 +209,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
205
209
|
}
|
|
206
210
|
/**
|
|
207
211
|
* Close the Matterbridge instance as extension for zigbee2mqtt.
|
|
212
|
+
* @deprecated This method is deprecated and will be removed in a future version.
|
|
208
213
|
*
|
|
209
214
|
* @returns A Promise that resolves when the initialization is complete.
|
|
210
215
|
*/
|
|
@@ -217,6 +222,12 @@ export class Matterbridge extends EventEmitter {
|
|
|
217
222
|
await this.stopStorage();
|
|
218
223
|
this.log.info('Matter server stopped');
|
|
219
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* Checks if the extension is commissioned.
|
|
227
|
+
* @deprecated This method is deprecated and will be removed in a future version.
|
|
228
|
+
*
|
|
229
|
+
* @returns {boolean} Returns true if the extension is commissioned, false otherwise.
|
|
230
|
+
*/
|
|
220
231
|
isExtensionCommissioned() {
|
|
221
232
|
if (!this.commissioningServer)
|
|
222
233
|
return false;
|
|
@@ -300,7 +311,34 @@ export class Matterbridge extends EventEmitter {
|
|
|
300
311
|
// Register SIGINT SIGTERM signal handlers
|
|
301
312
|
this.registerSignalHandlers();
|
|
302
313
|
// Set matter.js logger level and format
|
|
303
|
-
|
|
314
|
+
if (hasParameter('matterlogger')) {
|
|
315
|
+
const level = getParameter('matterlogger');
|
|
316
|
+
if (level === 'debug') {
|
|
317
|
+
Logger.defaultLogLevel = Level.DEBUG;
|
|
318
|
+
}
|
|
319
|
+
else if (level === 'info') {
|
|
320
|
+
Logger.defaultLogLevel = Level.INFO;
|
|
321
|
+
}
|
|
322
|
+
else if (level === 'notice') {
|
|
323
|
+
Logger.defaultLogLevel = Level.NOTICE;
|
|
324
|
+
}
|
|
325
|
+
else if (level === 'warn') {
|
|
326
|
+
Logger.defaultLogLevel = Level.WARN;
|
|
327
|
+
}
|
|
328
|
+
else if (level === 'error') {
|
|
329
|
+
Logger.defaultLogLevel = Level.ERROR;
|
|
330
|
+
}
|
|
331
|
+
else if (level === 'fatal') {
|
|
332
|
+
Logger.defaultLogLevel = Level.FATAL;
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
this.log.warn(`Invalid matterlogger level: ${level}. Using default level ${this.debugEnabled ? 'debug' : 'info'}.`);
|
|
336
|
+
Logger.defaultLogLevel = this.debugEnabled ? Level.DEBUG : Level.INFO;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
Logger.defaultLogLevel = this.debugEnabled ? Level.DEBUG : Level.INFO;
|
|
341
|
+
}
|
|
304
342
|
Logger.format = Format.ANSI;
|
|
305
343
|
// Parse command line
|
|
306
344
|
this.parseCommandLine();
|
|
@@ -1272,28 +1310,26 @@ export class Matterbridge extends EventEmitter {
|
|
|
1272
1310
|
* @returns {Promise<void>} - A promise that resolves when the data is successfully written to the file.
|
|
1273
1311
|
*/
|
|
1274
1312
|
async writeFile(filePath, data) {
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
.writeFile(`${filePath}`, data, 'utf8')
|
|
1278
|
-
.then(() => {
|
|
1313
|
+
try {
|
|
1314
|
+
await fs.writeFile(`${filePath}`, data, 'utf8');
|
|
1279
1315
|
this.log.debug(`Successfully wrote to ${filePath}`);
|
|
1280
|
-
}
|
|
1281
|
-
|
|
1316
|
+
}
|
|
1317
|
+
catch (error) {
|
|
1282
1318
|
this.log.error(`Error writing to ${filePath}:`, error);
|
|
1283
|
-
}
|
|
1319
|
+
}
|
|
1284
1320
|
}
|
|
1285
1321
|
/**
|
|
1286
1322
|
* Starts a plugin.
|
|
1287
1323
|
*
|
|
1288
1324
|
* @param {RegisteredPlugin} plugin - The plugin to start.
|
|
1289
1325
|
* @param {string} [message] - Optional message to pass to the plugin's onStart method.
|
|
1290
|
-
* @param {boolean} [configure
|
|
1326
|
+
* @param {boolean} [configure] - Indicates whether to configure the plugin after starting (default false).
|
|
1291
1327
|
* @returns {Promise<void>} A promise that resolves when the plugin is started successfully, or rejects with an error if starting the plugin fails.
|
|
1292
1328
|
*/
|
|
1293
1329
|
async startPlugin(plugin, message, configure = false) {
|
|
1294
1330
|
if (!plugin.loaded || !plugin.platform) {
|
|
1295
1331
|
this.log.error(`Plugin ${plg}${plugin.name}${er} not loaded or no platform`);
|
|
1296
|
-
return Promise.
|
|
1332
|
+
return Promise.resolve();
|
|
1297
1333
|
}
|
|
1298
1334
|
if (plugin.started) {
|
|
1299
1335
|
this.log.debug(`Plugin ${plg}${plugin.name}${db} already started`);
|
|
@@ -1313,13 +1349,13 @@ export class Matterbridge extends EventEmitter {
|
|
|
1313
1349
|
.catch((err) => {
|
|
1314
1350
|
plugin.error = true;
|
|
1315
1351
|
this.log.error(`Failed to start plugin ${plg}${plugin.name}${er}: ${err}`);
|
|
1316
|
-
|
|
1352
|
+
return Promise.resolve();
|
|
1317
1353
|
});
|
|
1318
1354
|
}
|
|
1319
1355
|
catch (err) {
|
|
1320
1356
|
plugin.error = true;
|
|
1321
1357
|
this.log.error(`Failed to start plugin ${plg}${plugin.name}${er}: ${err}`);
|
|
1322
|
-
|
|
1358
|
+
return Promise.resolve();
|
|
1323
1359
|
}
|
|
1324
1360
|
}
|
|
1325
1361
|
/**
|
|
@@ -1331,7 +1367,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
1331
1367
|
async configurePlugin(plugin) {
|
|
1332
1368
|
if (!plugin.loaded || !plugin.started || !plugin.platform) {
|
|
1333
1369
|
this.log.error(`Plugin ${plg}${plugin.name}${er} not loaded (${plugin.loaded}) or not started (${plugin.started}) or not platform (${plugin.platform?.name})`);
|
|
1334
|
-
return Promise.
|
|
1370
|
+
return Promise.resolve();
|
|
1335
1371
|
}
|
|
1336
1372
|
if (plugin.configured) {
|
|
1337
1373
|
this.log.info(`Plugin ${plg}${plugin.name}${nf} already configured`);
|
|
@@ -1350,13 +1386,13 @@ export class Matterbridge extends EventEmitter {
|
|
|
1350
1386
|
.catch((err) => {
|
|
1351
1387
|
plugin.error = true;
|
|
1352
1388
|
this.log.error(`Failed to configure plugin ${plg}${plugin.name}${er}: ${err}`);
|
|
1353
|
-
|
|
1389
|
+
return Promise.resolve();
|
|
1354
1390
|
});
|
|
1355
1391
|
}
|
|
1356
1392
|
catch (err) {
|
|
1357
1393
|
plugin.error = true;
|
|
1358
1394
|
this.log.error(`Failed to configure plugin ${plg}${plugin.name}${er}: ${err}`);
|
|
1359
|
-
|
|
1395
|
+
return Promise.resolve();
|
|
1360
1396
|
}
|
|
1361
1397
|
}
|
|
1362
1398
|
/**
|
|
@@ -1370,7 +1406,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
1370
1406
|
async loadPlugin(plugin, start = false, message = '') {
|
|
1371
1407
|
if (!plugin.enabled) {
|
|
1372
1408
|
this.log.error(`Plugin ${plg}${plugin.name}${er} not enabled`);
|
|
1373
|
-
return Promise.
|
|
1409
|
+
return Promise.resolve(undefined);
|
|
1374
1410
|
}
|
|
1375
1411
|
if (plugin.platform) {
|
|
1376
1412
|
this.log.error(`Plugin ${plg}${plugin.name}${er} already loaded`);
|
|
@@ -1387,11 +1423,10 @@ export class Matterbridge extends EventEmitter {
|
|
|
1387
1423
|
this.log.debug(`Importing plugin ${plg}${plugin.name}${db} from ${pluginUrl.href}`);
|
|
1388
1424
|
const pluginInstance = await import(pluginUrl.href);
|
|
1389
1425
|
this.log.debug(`Imported plugin ${plg}${plugin.name}${db} from ${pluginUrl.href}`);
|
|
1390
|
-
// Call the default export function of the plugin, passing this MatterBridge instance
|
|
1426
|
+
// Call the default export function of the plugin, passing this MatterBridge instance, the log and the config
|
|
1391
1427
|
if (pluginInstance.default) {
|
|
1392
1428
|
const config = await this.loadPluginConfig(plugin);
|
|
1393
1429
|
const log = new AnsiLogger({ logName: plugin.description, logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */, logDebug: this.debugEnabled });
|
|
1394
|
-
// log.setCallback(this.wssSendMessage.bind(this));
|
|
1395
1430
|
const platform = pluginInstance.default(this, log, config);
|
|
1396
1431
|
platform.name = packageJson.name;
|
|
1397
1432
|
platform.config = config;
|
|
@@ -1405,8 +1440,9 @@ export class Matterbridge extends EventEmitter {
|
|
|
1405
1440
|
plugin.loaded = true;
|
|
1406
1441
|
plugin.registeredDevices = 0;
|
|
1407
1442
|
plugin.addedDevices = 0;
|
|
1443
|
+
// Save the updated plugin data in the node storage
|
|
1408
1444
|
await this.nodeContext?.set('plugins', await this.getBaseRegisteredPlugins());
|
|
1409
|
-
|
|
1445
|
+
this.getPluginLatestVersion(plugin);
|
|
1410
1446
|
this.log.info(`Loaded plugin ${plg}${plugin.name}${nf} type ${typ}${platform.type} ${db}(entrypoint ${UNDERLINE}${pluginEntry}${UNDERLINEOFF})`);
|
|
1411
1447
|
if (start)
|
|
1412
1448
|
this.startPlugin(plugin, message); // No await do it asyncronously
|
|
@@ -1415,15 +1451,13 @@ export class Matterbridge extends EventEmitter {
|
|
|
1415
1451
|
else {
|
|
1416
1452
|
this.log.error(`Plugin ${plg}${plugin.name}${er} does not provide a default export`);
|
|
1417
1453
|
plugin.error = true;
|
|
1418
|
-
return;
|
|
1419
|
-
// return Promise.reject(new Error(`Plugin ${plg}${plugin.name}${er} does not provide a default export`));
|
|
1454
|
+
return Promise.resolve(undefined);
|
|
1420
1455
|
}
|
|
1421
1456
|
}
|
|
1422
1457
|
catch (err) {
|
|
1423
1458
|
this.log.error(`Failed to load plugin ${plg}${plugin.name}${er}: ${err}`);
|
|
1424
1459
|
plugin.error = true;
|
|
1425
|
-
return;
|
|
1426
|
-
// return Promise.reject(new Error(`Failed to load plugin ${plg}${plugin.name}${er}: ${err}`));
|
|
1460
|
+
return Promise.resolve(undefined);
|
|
1427
1461
|
}
|
|
1428
1462
|
}
|
|
1429
1463
|
/**
|
|
@@ -1970,7 +2004,6 @@ export class Matterbridge extends EventEmitter {
|
|
|
1970
2004
|
vendorName = '(AppleKeyChain)';
|
|
1971
2005
|
break;
|
|
1972
2006
|
case 4362:
|
|
1973
|
-
case 65521:
|
|
1974
2007
|
vendorName = '(SmartThings)';
|
|
1975
2008
|
break;
|
|
1976
2009
|
case 4939:
|
|
@@ -2723,11 +2756,14 @@ export class Matterbridge extends EventEmitter {
|
|
|
2723
2756
|
}
|
|
2724
2757
|
catch (error) {
|
|
2725
2758
|
if (this.bridgeMode === 'bridge')
|
|
2726
|
-
this.log.
|
|
2759
|
+
this.log.warn('pairingCodes for /api/settings not found');
|
|
2727
2760
|
}
|
|
2728
2761
|
this.matterbridgeInformation.bridgeMode = this.bridgeMode;
|
|
2729
2762
|
this.matterbridgeInformation.restartMode = this.restartMode;
|
|
2730
2763
|
this.matterbridgeInformation.debugEnabled = this.debugEnabled;
|
|
2764
|
+
this.matterbridgeInformation.matterbridgePaired = this.matterbridgePaired;
|
|
2765
|
+
this.matterbridgeInformation.matterbridgeConnected = this.matterbridgeConnected;
|
|
2766
|
+
// this.matterbridgeInformation.matterbridgeFabricInfo = this.matterbridgeFabricInfo;
|
|
2731
2767
|
const response = { wssHost, qrPairingCode, manualPairingCode, systemInformation: this.systemInformation, matterbridgeInformation: this.matterbridgeInformation };
|
|
2732
2768
|
this.log.debug('Response:', debugStringify(response));
|
|
2733
2769
|
res.json(response);
|
|
@@ -2868,6 +2904,11 @@ export class Matterbridge extends EventEmitter {
|
|
|
2868
2904
|
this.debugEnabled = false;
|
|
2869
2905
|
Logger.defaultLogLevel = Level.INFO;
|
|
2870
2906
|
}
|
|
2907
|
+
else if (param === 'Notice') {
|
|
2908
|
+
this.log.setLogDebug(false);
|
|
2909
|
+
this.debugEnabled = false;
|
|
2910
|
+
Logger.defaultLogLevel = Level.NOTICE;
|
|
2911
|
+
}
|
|
2871
2912
|
else if (param === 'Warn') {
|
|
2872
2913
|
this.log.setLogDebug(false);
|
|
2873
2914
|
this.debugEnabled = false;
|
|
@@ -2878,6 +2919,11 @@ export class Matterbridge extends EventEmitter {
|
|
|
2878
2919
|
this.debugEnabled = false;
|
|
2879
2920
|
Logger.defaultLogLevel = Level.ERROR;
|
|
2880
2921
|
}
|
|
2922
|
+
else if (param === 'Fatal') {
|
|
2923
|
+
this.log.setLogDebug(false);
|
|
2924
|
+
this.debugEnabled = false;
|
|
2925
|
+
Logger.defaultLogLevel = Level.FATAL;
|
|
2926
|
+
}
|
|
2881
2927
|
this.registeredPlugins.forEach((plugin) => {
|
|
2882
2928
|
plugin.platform?.log.setLogDebug(this.debugEnabled);
|
|
2883
2929
|
});
|