@matterbridge/core 3.7.10 → 3.8.0-dev-20260524-92c5fdd
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/behaviors/activatedCarbonFilterMonitoringServer.d.ts +5 -2
- package/dist/behaviors/bindingServer.js +0 -2
- package/dist/behaviors/booleanStateConfigurationServer.d.ts +6 -1
- package/dist/behaviors/colorControlServer.d.ts +20 -774
- package/dist/behaviors/deviceEnergyManagementServer.d.ts +9 -299
- package/dist/behaviors/doorLockServer.d.ts +29 -47
- package/dist/behaviors/doorLockServer.js +11 -299
- package/dist/behaviors/fanControlServer.d.ts +8 -1
- package/dist/behaviors/hepaFilterMonitoringServer.d.ts +5 -2
- package/dist/behaviors/smokeCoAlarmServer.d.ts +4 -77
- package/dist/behaviors/thermostatServer.d.ts +20 -722
- package/dist/behaviors/valveConfigurationAndControlServer.d.ts +4 -1
- package/dist/behaviors/windowCoveringServer.d.ts +28 -564
- package/dist/clusters/closure-control.d.ts +130 -620
- package/dist/clusters/closure-control.js +15 -170
- package/dist/clusters/closure-dimension.d.ts +148 -814
- package/dist/clusters/closure-dimension.js +15 -202
- package/dist/clusters/export.d.ts +1 -3
- package/dist/clusters/export.js +1 -3
- package/dist/clusters/soil-measurement.d.ts +31 -31
- package/dist/clusters/soil-measurement.js +29 -19
- package/dist/devices/closure.d.ts +14 -291
- package/dist/devices/closure.js +6 -13
- package/dist/devices/closurePanel.d.ts +13 -370
- package/dist/devices/closurePanel.js +9 -15
- package/dist/devices/evse.d.ts +7 -1
- package/dist/devices/heatPump.js +5 -5
- package/dist/devices/irrigationSystem.js +2 -2
- package/dist/devices/microwaveOven.d.ts +5 -76
- package/dist/devices/roboticVacuumCleaner.js +5 -5
- package/dist/devices/soilSensor.d.ts +0 -15
- package/dist/devices/soilSensor.js +4 -20
- package/dist/devices/temperatureControl.d.ts +10 -130
- package/dist/helpers.js +0 -8
- package/dist/jestutils/jestBroadcastServerSpy.d.ts +2 -2
- package/dist/jestutils/jestMatterTest.js +4 -4
- package/dist/jestutils/jestMatterbridgeEndpointSpy.d.ts +34 -37
- package/dist/jestutils/jestMatterbridgePlatformSpy.d.ts +4 -4
- package/dist/jestutils/jestMatterbridgeTest.js +1 -1
- package/dist/matter/export.d.ts +11 -0
- package/dist/matter/export.js +11 -0
- package/dist/matterbridge.js +3 -1
- package/dist/matterbridgeDeviceTypes.d.ts +15 -0
- package/dist/matterbridgeDeviceTypes.js +305 -162
- package/dist/matterbridgeEndpoint.d.ts +35 -25
- package/dist/matterbridgeEndpoint.js +6 -7
- package/dist/matterbridgeEndpointCommandHandler.d.ts +3 -59
- package/dist/matterbridgeEndpointHelpers.d.ts +83 -1382
- package/dist/matterbridgeEndpointHelpers.js +20 -5
- package/package.json +6 -6
|
@@ -1,24 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { SoilMeasurementServer } from '@matter/node/behaviors/soil-measurement';
|
|
2
|
+
import { SoilMeasurement } from '@matter/types/clusters/soil-measurement';
|
|
3
3
|
import { MeasurementType } from '@matter/types/globals';
|
|
4
|
-
import { SoilMeasurement } from '../clusters/soil-measurement.js';
|
|
5
4
|
import { powerSource, soilSensor } from '../matterbridgeDeviceTypes.js';
|
|
6
5
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
7
|
-
const SoilMeasurementSchema = ClusterElement({
|
|
8
|
-
id: SoilMeasurement.Cluster.id,
|
|
9
|
-
name: SoilMeasurement.Cluster.name,
|
|
10
|
-
classification: 'application',
|
|
11
|
-
}, AttributeElement({ id: 0xfffd, name: 'ClusterRevision', type: 'ClusterRevision', conformance: 'M', default: SoilMeasurement.Cluster.revision }), AttributeElement({ id: 0xfffc, name: 'FeatureMap', type: 'FeatureMap', conformance: 'M', default: 0 }), AttributeElement({ id: 0x0000, name: 'soilMoistureMeasurementLimits', type: 'MeasurementAccuracyStruct', conformance: 'M' }), AttributeElement({
|
|
12
|
-
id: 0x0001,
|
|
13
|
-
name: 'soilMoistureMeasuredValue',
|
|
14
|
-
type: 'percent',
|
|
15
|
-
conformance: 'M',
|
|
16
|
-
quality: 'X',
|
|
17
|
-
default: null,
|
|
18
|
-
}));
|
|
19
|
-
const SoilMeasurementBehavior = ClusterBehavior.for(SoilMeasurement.Cluster, new ClusterModel(SoilMeasurementSchema));
|
|
20
|
-
export class SoilMeasurementServer extends SoilMeasurementBehavior {
|
|
21
|
-
}
|
|
22
6
|
export class SoilSensor extends MatterbridgeEndpoint {
|
|
23
7
|
constructor(name, serial, options = {}) {
|
|
24
8
|
super([soilSensor, powerSource], { id: `${name.replaceAll(' ', '')}-${serial.replaceAll(' ', '')}` });
|
|
@@ -44,9 +28,9 @@ export class SoilSensor extends MatterbridgeEndpoint {
|
|
|
44
28
|
this.createDefaultTemperatureMeasurementClusterServer(options.temperatureMeasuredValue);
|
|
45
29
|
}
|
|
46
30
|
async setSoilMoistureMeasuredValue(value) {
|
|
47
|
-
await this.setAttribute(SoilMeasurement.
|
|
31
|
+
await this.setAttribute(SoilMeasurement.id, 'soilMoistureMeasuredValue', value);
|
|
48
32
|
}
|
|
49
33
|
getSoilMoistureMeasuredValue() {
|
|
50
|
-
return this.getAttribute(SoilMeasurement
|
|
34
|
+
return this.getAttribute(SoilMeasurement, 'soilMoistureMeasuredValue');
|
|
51
35
|
}
|
|
52
36
|
}
|
|
@@ -3,140 +3,20 @@ import { TemperatureControl } from '@matter/types/clusters/temperature-control';
|
|
|
3
3
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
4
4
|
export declare function createLevelTemperatureControlClusterServer(endpoint: MatterbridgeEndpoint, selectedTemperatureLevel?: number, supportedTemperatureLevels?: string[]): MatterbridgeEndpoint;
|
|
5
5
|
export declare function createNumberTemperatureControlClusterServer(endpoint: MatterbridgeEndpoint, temperatureSetpoint?: number, minTemperature?: number, maxTemperature?: number, step?: number): MatterbridgeEndpoint;
|
|
6
|
-
declare const MatterbridgeLevelTemperatureControlServer_base: import("@matter/node").ClusterBehavior.Type<import("@matter/types").
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
readonly temperatureNumber: import("@matter/types").BitFlag;
|
|
12
|
-
readonly temperatureLevel: import("@matter/types").BitFlag;
|
|
13
|
-
readonly temperatureStep: import("@matter/types").BitFlag;
|
|
14
|
-
};
|
|
15
|
-
readonly commands: {
|
|
16
|
-
readonly setTemperature: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
|
|
17
|
-
targetTemperature: import("@matter/types").OptionalFieldType<number>;
|
|
18
|
-
targetTemperatureLevel: import("@matter/types").OptionalFieldType<number>;
|
|
19
|
-
}>, void, any>;
|
|
20
|
-
};
|
|
21
|
-
readonly extensions: readonly [{
|
|
22
|
-
readonly flags: {
|
|
23
|
-
readonly temperatureNumber: true;
|
|
24
|
-
};
|
|
25
|
-
readonly component: {
|
|
26
|
-
readonly attributes: {
|
|
27
|
-
readonly temperatureSetpoint: import("@matter/types").Attribute<number, any>;
|
|
28
|
-
readonly minTemperature: import("@matter/types").FixedAttribute<number, any>;
|
|
29
|
-
readonly maxTemperature: import("@matter/types").FixedAttribute<number, any>;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
}, {
|
|
33
|
-
readonly flags: {
|
|
34
|
-
readonly temperatureStep: true;
|
|
35
|
-
};
|
|
36
|
-
readonly component: {
|
|
37
|
-
readonly attributes: {
|
|
38
|
-
readonly step: import("@matter/types").FixedAttribute<number, any>;
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
}, {
|
|
42
|
-
readonly flags: {
|
|
43
|
-
readonly temperatureLevel: true;
|
|
44
|
-
};
|
|
45
|
-
readonly component: {
|
|
46
|
-
readonly attributes: {
|
|
47
|
-
readonly selectedTemperatureLevel: import("@matter/types").Attribute<number, any>;
|
|
48
|
-
readonly supportedTemperatureLevels: import("@matter/types").Attribute<string[], any>;
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
}, {
|
|
52
|
-
readonly flags: {
|
|
53
|
-
readonly temperatureStep: true;
|
|
54
|
-
readonly temperatureNumber: false;
|
|
55
|
-
};
|
|
56
|
-
readonly component: false;
|
|
57
|
-
}, {
|
|
58
|
-
readonly flags: {
|
|
59
|
-
readonly temperatureNumber: true;
|
|
60
|
-
readonly temperatureLevel: true;
|
|
61
|
-
};
|
|
62
|
-
readonly component: false;
|
|
63
|
-
}, {
|
|
64
|
-
readonly flags: {
|
|
65
|
-
readonly temperatureNumber: false;
|
|
66
|
-
readonly temperatureLevel: false;
|
|
67
|
-
};
|
|
68
|
-
readonly component: false;
|
|
69
|
-
}];
|
|
70
|
-
}>, readonly [TemperatureControl.Feature.TemperatureLevel]>, typeof TemperatureControlServer, import("@matter/node/behaviors/temperature-control").TemperatureControlInterface>;
|
|
6
|
+
declare const MatterbridgeLevelTemperatureControlServer_base: import("@matter/node").ClusterBehavior.Type<typeof TemperatureControlServer, import("@matter/types").ClusterType.WithSupportedFeatures<TemperatureControl, {
|
|
7
|
+
temperatureNumber: false;
|
|
8
|
+
temperatureLevel: true;
|
|
9
|
+
temperatureStep: false;
|
|
10
|
+
}>, import("@matter/types").ClusterType.Concrete, new () => {}, "temperatureControl">;
|
|
71
11
|
export declare class MatterbridgeLevelTemperatureControlServer extends MatterbridgeLevelTemperatureControlServer_base {
|
|
72
12
|
initialize(): void;
|
|
73
13
|
setTemperature(request: TemperatureControl.SetTemperatureRequest): Promise<void>;
|
|
74
14
|
}
|
|
75
|
-
declare const MatterbridgeNumberTemperatureControlServer_base: import("@matter/node").ClusterBehavior.Type<import("@matter/types").
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
readonly temperatureNumber: import("@matter/types").BitFlag;
|
|
81
|
-
readonly temperatureLevel: import("@matter/types").BitFlag;
|
|
82
|
-
readonly temperatureStep: import("@matter/types").BitFlag;
|
|
83
|
-
};
|
|
84
|
-
readonly commands: {
|
|
85
|
-
readonly setTemperature: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
|
|
86
|
-
targetTemperature: import("@matter/types").OptionalFieldType<number>;
|
|
87
|
-
targetTemperatureLevel: import("@matter/types").OptionalFieldType<number>;
|
|
88
|
-
}>, void, any>;
|
|
89
|
-
};
|
|
90
|
-
readonly extensions: readonly [{
|
|
91
|
-
readonly flags: {
|
|
92
|
-
readonly temperatureNumber: true;
|
|
93
|
-
};
|
|
94
|
-
readonly component: {
|
|
95
|
-
readonly attributes: {
|
|
96
|
-
readonly temperatureSetpoint: import("@matter/types").Attribute<number, any>;
|
|
97
|
-
readonly minTemperature: import("@matter/types").FixedAttribute<number, any>;
|
|
98
|
-
readonly maxTemperature: import("@matter/types").FixedAttribute<number, any>;
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
|
-
}, {
|
|
102
|
-
readonly flags: {
|
|
103
|
-
readonly temperatureStep: true;
|
|
104
|
-
};
|
|
105
|
-
readonly component: {
|
|
106
|
-
readonly attributes: {
|
|
107
|
-
readonly step: import("@matter/types").FixedAttribute<number, any>;
|
|
108
|
-
};
|
|
109
|
-
};
|
|
110
|
-
}, {
|
|
111
|
-
readonly flags: {
|
|
112
|
-
readonly temperatureLevel: true;
|
|
113
|
-
};
|
|
114
|
-
readonly component: {
|
|
115
|
-
readonly attributes: {
|
|
116
|
-
readonly selectedTemperatureLevel: import("@matter/types").Attribute<number, any>;
|
|
117
|
-
readonly supportedTemperatureLevels: import("@matter/types").Attribute<string[], any>;
|
|
118
|
-
};
|
|
119
|
-
};
|
|
120
|
-
}, {
|
|
121
|
-
readonly flags: {
|
|
122
|
-
readonly temperatureStep: true;
|
|
123
|
-
readonly temperatureNumber: false;
|
|
124
|
-
};
|
|
125
|
-
readonly component: false;
|
|
126
|
-
}, {
|
|
127
|
-
readonly flags: {
|
|
128
|
-
readonly temperatureNumber: true;
|
|
129
|
-
readonly temperatureLevel: true;
|
|
130
|
-
};
|
|
131
|
-
readonly component: false;
|
|
132
|
-
}, {
|
|
133
|
-
readonly flags: {
|
|
134
|
-
readonly temperatureNumber: false;
|
|
135
|
-
readonly temperatureLevel: false;
|
|
136
|
-
};
|
|
137
|
-
readonly component: false;
|
|
138
|
-
}];
|
|
139
|
-
}>, readonly [TemperatureControl.Feature.TemperatureNumber, TemperatureControl.Feature.TemperatureStep]>, typeof TemperatureControlServer, import("@matter/node/behaviors/temperature-control").TemperatureControlInterface>;
|
|
15
|
+
declare const MatterbridgeNumberTemperatureControlServer_base: import("@matter/node").ClusterBehavior.Type<typeof TemperatureControlServer, import("@matter/types").ClusterType.WithSupportedFeatures<TemperatureControl, {
|
|
16
|
+
temperatureNumber: true;
|
|
17
|
+
temperatureLevel: false;
|
|
18
|
+
temperatureStep: true;
|
|
19
|
+
}>, import("@matter/types").ClusterType.Concrete, new () => {}, "temperatureControl">;
|
|
140
20
|
export declare class MatterbridgeNumberTemperatureControlServer extends MatterbridgeNumberTemperatureControlServer_base {
|
|
141
21
|
initialize(): void;
|
|
142
22
|
setTemperature(request: TemperatureControl.SetTemperatureRequest): Promise<void>;
|
package/dist/helpers.js
CHANGED
|
@@ -9,8 +9,6 @@ import { MountedOnOffControlDevice } from '@matter/node/devices/mounted-on-off-c
|
|
|
9
9
|
import { OnOffLightDevice } from '@matter/node/devices/on-off-light';
|
|
10
10
|
import { OnOffLightSwitchDevice } from '@matter/node/devices/on-off-light-switch';
|
|
11
11
|
import { OnOffPlugInUnitDevice } from '@matter/node/devices/on-off-plug-in-unit';
|
|
12
|
-
import { Identify } from '@matter/types/clusters/identify';
|
|
13
|
-
import { OnOff } from '@matter/types/clusters/on-off';
|
|
14
12
|
import { VendorId } from '@matter/types/datatype';
|
|
15
13
|
import { hasParameter } from '@matterbridge/utils/cli';
|
|
16
14
|
import { doorLockDevice } from './matterbridgeDeviceTypes.js';
|
|
@@ -51,12 +49,6 @@ export async function addVirtualDevice(aggregatorEndpoint, name, type, callback)
|
|
|
51
49
|
});
|
|
52
50
|
await aggregatorEndpoint.add(device);
|
|
53
51
|
await device.construction.ready;
|
|
54
|
-
if (type === 'switch') {
|
|
55
|
-
await device.act(async (agent) => {
|
|
56
|
-
const descriptor = await agent.load(DescriptorServer);
|
|
57
|
-
descriptor.state.clientList.push(Identify.Cluster.id, OnOff.Cluster.id);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
52
|
if (type === 'mounted_switch') {
|
|
61
53
|
await device.act(async (agent) => {
|
|
62
54
|
const descriptor = await agent.load(DescriptorServer);
|
|
@@ -8,5 +8,5 @@ export declare const broadcastBroadcastServerSpy: import("jest-mock").SpiedFunct
|
|
|
8
8
|
export declare const requestBroadcastServerSpy: import("jest-mock").SpiedFunction<(<K extends keyof import("@matterbridge/types").WorkerMessageTypes>(message: import("@matterbridge/types").WorkerMessageRequest<K>) => void)>;
|
|
9
9
|
export declare const respondBroadcastServerSpy: import("jest-mock").SpiedFunction<(<K extends keyof import("@matterbridge/types").WorkerMessageTypes>(message: import("@matterbridge/types").WorkerMessageResponse<K>) => void)>;
|
|
10
10
|
export declare const fetchBroadcastServerSpy: import("jest-mock").SpiedFunction<(<T extends import("@matterbridge/types").WorkerMessageRequestAny, K extends Extract<keyof import("@matterbridge/types").WorkerMessageTypes, T["type"]>>(message: T, timeout?: number) => Promise<import("@matterbridge/types").WorkerMessageResponseSuccess<K>>)>;
|
|
11
|
-
export declare const broadcastMessageHandlerBroadcastServerSpy: import("jest-mock").
|
|
12
|
-
export declare const broadcastMessageErrorHandlerBroadcastServerSpy: import("jest-mock").
|
|
11
|
+
export declare const broadcastMessageHandlerBroadcastServerSpy: import("jest-mock").SpiedGetter<import("@matterbridge/types").WorkerSrcType> | import("jest-mock").SpiedSetter<import("@matterbridge/types").WorkerSrcType>;
|
|
12
|
+
export declare const broadcastMessageErrorHandlerBroadcastServerSpy: import("jest-mock").SpiedGetter<import("@matterbridge/types").WorkerSrcType> | import("jest-mock").SpiedSetter<import("@matterbridge/types").WorkerSrcType>;
|
|
@@ -57,10 +57,10 @@ export function getPlatformMatterbridge() {
|
|
|
57
57
|
matterbridgePluginDirectory: path.join(HOMEDIR, 'Matterbridge'),
|
|
58
58
|
matterbridgeCertDirectory: path.join(HOMEDIR, '.mattercert'),
|
|
59
59
|
globalModulesDirectory: path.join(HOMEDIR, 'node_modules'),
|
|
60
|
-
matterbridgeVersion: '3.
|
|
61
|
-
matterbridgeLatestVersion: '3.
|
|
62
|
-
matterbridgeDevVersion: '3.
|
|
63
|
-
frontendVersion: '3.
|
|
60
|
+
matterbridgeVersion: '3.8.0',
|
|
61
|
+
matterbridgeLatestVersion: '3.8.0',
|
|
62
|
+
matterbridgeDevVersion: '3.8.0',
|
|
63
|
+
frontendVersion: '3.8.0',
|
|
64
64
|
bridgeMode: '',
|
|
65
65
|
restartMode: '',
|
|
66
66
|
virtualMode: 'mounted_switch',
|
|
@@ -1,57 +1,54 @@
|
|
|
1
1
|
export declare const setClusterMatterbridgeEndpointSpy: import("jest-mock").SpiedFunction<{
|
|
2
2
|
<T extends import("@matter/node").Behavior.Type>(cluster: T, value: import("@matter/node").Behavior.StateOf<T>, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
3
|
-
<T extends import("@matter/types").ClusterType>(cluster: T, value:
|
|
3
|
+
<T extends import("@matter/types").ClusterType>(cluster: T, value: T["Typing"] extends {
|
|
4
|
+
Attributes: infer Attributes;
|
|
5
|
+
} ? Attributes : {}, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
4
6
|
(cluster: import("@matter/types").ClusterId | string, value: Record<string, boolean | number | bigint | string | object | undefined | null>, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
5
7
|
}>;
|
|
6
8
|
export declare const setAttributeMatterbridgeEndpointSpy: import("jest-mock").SpiedFunction<{
|
|
7
9
|
<T extends import("@matter/node").Behavior.Type, A extends keyof import("@matter/node").Behavior.StateOf<T>>(clusterId: T, attribute: A, value: import("@matter/node").Behavior.StateOf<T>[A], log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
8
|
-
<T extends import("@matter/types").ClusterType, A extends keyof
|
|
10
|
+
<T extends import("@matter/types").ClusterType, A extends keyof (T["Typing"] extends {
|
|
11
|
+
Attributes: infer Attributes;
|
|
12
|
+
} ? Attributes : {})>(clusterId: T, attribute: A, value: (T["Typing"] extends {
|
|
13
|
+
Attributes: infer Attributes;
|
|
14
|
+
} ? Attributes : {})[A], log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
9
15
|
(clusterId: import("@matter/types").ClusterId | string, attribute: string, value: boolean | number | bigint | string | object | null, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
10
16
|
}>;
|
|
11
17
|
export declare const updateAttributeMatterbridgeEndpointSpy: import("jest-mock").SpiedFunction<{
|
|
12
18
|
<T extends import("@matter/node").Behavior.Type, A extends keyof import("@matter/node").Behavior.StateOf<T>>(cluster: T, attribute: A, value: import("@matter/node").Behavior.StateOf<T>[A], log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
13
|
-
<T extends import("@matter/types").ClusterType, A extends keyof
|
|
19
|
+
<T extends import("@matter/types").ClusterType, A extends keyof (T["Typing"] extends {
|
|
20
|
+
Attributes: infer Attributes;
|
|
21
|
+
} ? Attributes : {})>(cluster: T, attribute: A, value: (T["Typing"] extends {
|
|
22
|
+
Attributes: infer Attributes;
|
|
23
|
+
} ? Attributes : {})[A], log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
14
24
|
(cluster: import("@matter/types").ClusterId | string, attribute: string, value: boolean | number | bigint | string | object | null, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
15
25
|
}>;
|
|
16
26
|
export declare const subscribeAttributeMatterbridgeEndpointSpy: import("jest-mock").SpiedFunction<{
|
|
17
27
|
<T extends import("@matter/node").Behavior.Type, A extends keyof import("@matter/node").Behavior.StateOf<T>>(cluster: T, attribute: A, listener: (newValue: import("@matter/node").Behavior.StateOf<T>[A], oldValue: import("@matter/node").Behavior.StateOf<T>[A], context: import("@matter/node").ActionContext) => void, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
18
|
-
<T extends import("@matter/types").ClusterType, A extends keyof
|
|
28
|
+
<T extends import("@matter/types").ClusterType, A extends keyof (T["Typing"] extends {
|
|
29
|
+
Attributes: infer Attributes;
|
|
30
|
+
} ? Attributes : {})>(cluster: T, attribute: A, listener: (newValue: (T["Typing"] extends {
|
|
31
|
+
Attributes: infer Attributes;
|
|
32
|
+
} ? Attributes : {})[A], oldValue: (T["Typing"] extends {
|
|
33
|
+
Attributes: infer Attributes;
|
|
34
|
+
} ? Attributes : {})[A], context: import("@matter/node").ActionContext) => void, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
19
35
|
(cluster: import("@matter/types").ClusterId | string, attribute: string, listener: (newValue: any, oldValue: any, context: import("@matter/node").ActionContext) => void, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
20
36
|
}>;
|
|
21
37
|
export declare const triggerEventMatterbridgeEndpointSpy: import("jest-mock").SpiedFunction<{
|
|
22
|
-
<T extends import("@matter/node").Behavior.Type, E extends keyof
|
|
23
|
-
|
|
24
|
-
} ?
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
} ?
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
readonly name: "Unknown";
|
|
37
|
-
readonly attributes: {};
|
|
38
|
-
readonly commands: {};
|
|
39
|
-
readonly events: {};
|
|
40
|
-
}>> ? import("@matter/types").ClusterType.EventsOf<T extends {
|
|
41
|
-
cluster: infer C extends import("@matter/types").ClusterType;
|
|
42
|
-
} ? C : import("@matter/types").ClusterType.Of<{
|
|
43
|
-
readonly id: 0;
|
|
44
|
-
readonly revision: 0;
|
|
45
|
-
readonly name: "Unknown";
|
|
46
|
-
readonly attributes: {};
|
|
47
|
-
readonly commands: {};
|
|
48
|
-
readonly events: {};
|
|
49
|
-
}>>[E] extends {
|
|
50
|
-
schema: infer S extends import("@matter/types").TlvSchema<unknown>;
|
|
51
|
-
} ? import("@matter/types").TypeFromSchema<S> : never : never, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
52
|
-
<T extends import("@matter/types").ClusterType, E extends keyof import("@matter/types").ClusterType.EventsOf<T> & string>(cluster: T, event: E, payload: E extends keyof import("@matter/types").ClusterType.EventsOf<T> ? import("@matter/types").ClusterType.EventsOf<T>[E] extends {
|
|
53
|
-
schema: infer S extends import("@matter/types").TlvSchema<unknown>;
|
|
54
|
-
} ? import("@matter/types").TypeFromSchema<S> : never : never, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
38
|
+
<T extends import("@matter/node").Behavior.Type, E extends keyof ((T extends {
|
|
39
|
+
Interface: infer N extends import("@matter/types").ClusterTyping;
|
|
40
|
+
} ? N : import("@matter/types").ClusterTyping)["Events"] & {}) & string>(cluster: T, event: E, payload: E extends keyof ((T extends {
|
|
41
|
+
Interface: infer N extends import("@matter/types").ClusterTyping;
|
|
42
|
+
} ? N : import("@matter/types").ClusterTyping)["Events"] & {}) & string ? ((T extends {
|
|
43
|
+
Interface: infer N extends import("@matter/types").ClusterTyping;
|
|
44
|
+
} ? N : import("@matter/types").ClusterTyping)["Events"] & {})[E] : never, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
45
|
+
<T extends import("@matter/types").ClusterType, E extends keyof (T["Typing"] extends {
|
|
46
|
+
Events: infer Events;
|
|
47
|
+
} ? Events : Record<string, never>) & string>(cluster: T, event: E, payload: E extends keyof (T["Typing"] extends {
|
|
48
|
+
Events: infer Events;
|
|
49
|
+
} ? Events : Record<string, never>) ? (T["Typing"] extends {
|
|
50
|
+
Events: infer Events;
|
|
51
|
+
} ? Events : Record<string, never>)[E] : never, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
55
52
|
(cluster: import("@matter/types").ClusterId | string, event: string, payload: Record<string, boolean | number | bigint | string | object | undefined | null>, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
|
|
56
53
|
}>;
|
|
57
54
|
export declare const triggerSwitchEventMatterbridgeEndpointSpy: import("jest-mock").SpiedFunction<(event: "Single" | "Double" | "Long" | "Press" | "Release", log?: import("node-ansi-logger").AnsiLogger) => Promise<boolean>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const destroyMatterbridgePlatformSpy: import("jest-mock").
|
|
1
|
+
export declare const destroyMatterbridgePlatformSpy: import("jest-mock").SpiedGetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage> | import("jest-mock").SpiedSetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage>;
|
|
2
2
|
export declare const onStartMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(reason?: string) => Promise<void>>;
|
|
3
3
|
export declare const onConfigureMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<() => Promise<void>>;
|
|
4
4
|
export declare const onShutdownMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(reason?: string) => Promise<void>>;
|
|
@@ -24,7 +24,7 @@ export declare const registerVirtualDeviceMatterbridgePlatformSpy: import("jest-
|
|
|
24
24
|
export declare const registerDeviceMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(device: import("../matterbridgeEndpoint.js").MatterbridgeEndpoint) => Promise<void>>;
|
|
25
25
|
export declare const unregisterDeviceMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(device: import("../matterbridgeEndpoint.js").MatterbridgeEndpoint) => Promise<void>>;
|
|
26
26
|
export declare const unregisterAllDevicesMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(delay?: number) => Promise<void>>;
|
|
27
|
-
export declare const saveSelectsMatterbridgePlatformSpy: import("jest-mock").
|
|
27
|
+
export declare const saveSelectsMatterbridgePlatformSpy: import("jest-mock").SpiedGetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage> | import("jest-mock").SpiedSetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage>;
|
|
28
28
|
export declare const clearSelectMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<() => Promise<void>>;
|
|
29
29
|
export declare const clearDeviceSelectMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(serial: string) => Promise<void>>;
|
|
30
30
|
export declare const clearEntitySelectMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(name: string) => Promise<void>>;
|
|
@@ -56,5 +56,5 @@ export declare const getSelectEntitiesMatterbridgePlatformSpy: import("jest-mock
|
|
|
56
56
|
export declare const verifyMatterbridgeVersionMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(requiredVersion: string, destroy?: boolean) => boolean>;
|
|
57
57
|
export declare const validateDeviceMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(device: string | string[], log?: boolean) => boolean>;
|
|
58
58
|
export declare const validateEntityMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(device: string, entity: string, log?: boolean) => boolean>;
|
|
59
|
-
export declare const clearEndpointNumbersMatterbridgePlatformSpy: import("jest-mock").
|
|
60
|
-
export declare const checkEndpointNumbersMatterbridgePlatformSpy: import("jest-mock").
|
|
59
|
+
export declare const clearEndpointNumbersMatterbridgePlatformSpy: import("jest-mock").SpiedGetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage> | import("jest-mock").SpiedSetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage>;
|
|
60
|
+
export declare const checkEndpointNumbersMatterbridgePlatformSpy: import("jest-mock").SpiedGetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage> | import("jest-mock").SpiedSetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage>;
|
|
@@ -109,7 +109,7 @@ export async function createMatterbridgeEnvironment() {
|
|
|
109
109
|
matterbridge = await Matterbridge.loadInstance(false);
|
|
110
110
|
expect(matterbridge).toBeDefined();
|
|
111
111
|
expect(matterbridge).toBeInstanceOf(Matterbridge);
|
|
112
|
-
matterbridge.matterbridgeVersion = '3.
|
|
112
|
+
matterbridge.matterbridgeVersion = '3.8.0';
|
|
113
113
|
matterbridge.bridgeMode = 'bridge';
|
|
114
114
|
matterbridge.rootDirectory = path.join(HOMEDIR);
|
|
115
115
|
matterbridge.homeDirectory = path.join(HOMEDIR);
|
package/dist/matter/export.d.ts
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
1
|
export * from '@matter/main';
|
|
2
2
|
export { AttributeElement, ClusterElement, ClusterModel, CommandElement, EventElement, FieldElement, MatterDefinition } from '@matter/main/model';
|
|
3
3
|
export { MdnsService, Val } from '@matter/main/protocol';
|
|
4
|
+
export { CommonAreaNamespaceTag as AreaNamespaceTag } from '@matter/main/node';
|
|
5
|
+
export { CommonClosureTag as ClosureTag } from '@matter/main/node';
|
|
6
|
+
export { CommonCompassDirectionTag as CompassDirectionTag } from '@matter/main/node';
|
|
7
|
+
export { CommonCompassLocationTag as CompassLocationTag } from '@matter/main/node';
|
|
8
|
+
export { CommonDirectionTag as DirectionTag } from '@matter/main/node';
|
|
9
|
+
export { CommonLandmarkNamespaceTag as LandmarkNamespaceTag } from '@matter/main/node';
|
|
10
|
+
export { CommonLevelTag as LevelTag } from '@matter/main/node';
|
|
11
|
+
export { CommonLocationTag as LocationTag } from '@matter/main/node';
|
|
12
|
+
export { CommonNumberTag as NumberTag } from '@matter/main/node';
|
|
13
|
+
export { CommonPositionTag as PositionTag } from '@matter/main/node';
|
|
14
|
+
export { CommonRelativePositionTag as RelativePositionTag } from '@matter/main/node';
|
package/dist/matter/export.js
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
1
|
export * from '@matter/main';
|
|
2
2
|
export { AttributeElement, ClusterElement, ClusterModel, CommandElement, EventElement, FieldElement, MatterDefinition } from '@matter/main/model';
|
|
3
3
|
export { MdnsService, Val } from '@matter/main/protocol';
|
|
4
|
+
export { CommonAreaNamespaceTag as AreaNamespaceTag } from '@matter/main/node';
|
|
5
|
+
export { CommonClosureTag as ClosureTag } from '@matter/main/node';
|
|
6
|
+
export { CommonCompassDirectionTag as CompassDirectionTag } from '@matter/main/node';
|
|
7
|
+
export { CommonCompassLocationTag as CompassLocationTag } from '@matter/main/node';
|
|
8
|
+
export { CommonDirectionTag as DirectionTag } from '@matter/main/node';
|
|
9
|
+
export { CommonLandmarkNamespaceTag as LandmarkNamespaceTag } from '@matter/main/node';
|
|
10
|
+
export { CommonLevelTag as LevelTag } from '@matter/main/node';
|
|
11
|
+
export { CommonLocationTag as LocationTag } from '@matter/main/node';
|
|
12
|
+
export { CommonNumberTag as NumberTag } from '@matter/main/node';
|
|
13
|
+
export { CommonPositionTag as PositionTag } from '@matter/main/node';
|
|
14
|
+
export { CommonRelativePositionTag as RelativePositionTag } from '@matter/main/node';
|
package/dist/matterbridge.js
CHANGED
|
@@ -652,7 +652,7 @@ export class Matterbridge extends EventEmitter {
|
|
|
652
652
|
execSync(`${sudo ? 'sudo ' : ''}npm install -g ${path.join(this.matterbridgeDirectory, 'uploads', plugin.tarballPath)} --no-fund --no-audit --silent --omit=dev`);
|
|
653
653
|
}
|
|
654
654
|
else {
|
|
655
|
-
this.log.info(`Plugin ${plg}${plugin.name}${nf} not found. Trying to reinstall it from npm...`);
|
|
655
|
+
this.log.info(`Plugin ${plg}${plugin.name}${nf} not found. Trying to reinstall it from npm${plugin.version.includes('-dev-') ? ' with tag @dev' : ''}...`);
|
|
656
656
|
execSync(`${sudo ? 'sudo ' : ''}npm install -g ${plugin.name}${plugin.version.includes('-dev-') ? '@dev' : ''} --no-fund --no-audit --silent --omit=dev`);
|
|
657
657
|
}
|
|
658
658
|
this.log.info(`Plugin ${plg}${plugin.name}${nf} reinstalled.`);
|
|
@@ -1945,6 +1945,8 @@ export class Matterbridge extends EventEmitter {
|
|
|
1945
1945
|
listeningAddressIpv4: this.ipv4Address,
|
|
1946
1946
|
listeningAddressIpv6: this.ipv6Address,
|
|
1947
1947
|
port,
|
|
1948
|
+
tcp: true,
|
|
1949
|
+
transportPreference: 'udp',
|
|
1948
1950
|
},
|
|
1949
1951
|
operationalCredentials: {
|
|
1950
1952
|
certification: this.certification,
|
|
@@ -31,6 +31,7 @@ export declare const DeviceTypeDefinition: ({ name, code, deviceClass, revision,
|
|
|
31
31
|
requiredClientClusters?: ClusterId[];
|
|
32
32
|
optionalClientClusters?: ClusterId[];
|
|
33
33
|
}) => DeviceTypeDefinition;
|
|
34
|
+
export declare const baseDevice: DeviceTypeDefinition;
|
|
34
35
|
export declare const rootNode: DeviceTypeDefinition;
|
|
35
36
|
export declare const powerSource: DeviceTypeDefinition;
|
|
36
37
|
export declare const OTARequestor: DeviceTypeDefinition;
|
|
@@ -97,3 +98,17 @@ export declare const soilSensor: DeviceTypeDefinition;
|
|
|
97
98
|
export declare const irrigationSystem: DeviceTypeDefinition;
|
|
98
99
|
export declare const closure: DeviceTypeDefinition;
|
|
99
100
|
export declare const closurePanel: DeviceTypeDefinition;
|
|
101
|
+
export declare const closureController: DeviceTypeDefinition;
|
|
102
|
+
export declare const meterReferencePoint: DeviceTypeDefinition;
|
|
103
|
+
export declare const electricalEnergyTariff: DeviceTypeDefinition;
|
|
104
|
+
export declare const electricalMeter: DeviceTypeDefinition;
|
|
105
|
+
export declare const electricalUtilityMeter: DeviceTypeDefinition;
|
|
106
|
+
export declare const camera: DeviceTypeDefinition;
|
|
107
|
+
export declare const floodlightCamera: DeviceTypeDefinition;
|
|
108
|
+
export declare const videoDoorbell: DeviceTypeDefinition;
|
|
109
|
+
export declare const intercom: DeviceTypeDefinition;
|
|
110
|
+
export declare const audioDoorbell: DeviceTypeDefinition;
|
|
111
|
+
export declare const snapshotCamera: DeviceTypeDefinition;
|
|
112
|
+
export declare const chime: DeviceTypeDefinition;
|
|
113
|
+
export declare const cameraController: DeviceTypeDefinition;
|
|
114
|
+
export declare const doorbell: DeviceTypeDefinition;
|