@matterbridge/core 3.9.0 → 3.9.1-dev-20260614-18d1a2e
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/backend.js +2 -2
- package/dist/backendExpress.d.ts +1 -1
- package/dist/backendWsServer.d.ts +1 -1
- package/dist/behaviors/activatedCarbonFilterMonitoringServer.d.ts +1 -1
- package/dist/behaviors/bindingServer.d.ts +3 -3
- package/dist/behaviors/hepaFilterMonitoringServer.d.ts +1 -1
- package/dist/behaviors/identifyServer.d.ts +1 -1
- package/dist/behaviors/levelControlServer.d.ts +1 -1
- package/dist/behaviors/matterbridgeServer.d.ts +2 -2
- package/dist/behaviors/modeSelectServer.d.ts +1 -1
- package/dist/behaviors/operationalStateServer.d.ts +1 -1
- package/dist/behaviors/serviceAreaServer.d.ts +1 -1
- package/dist/behaviors/windowCoveringServer.d.ts +1 -1
- package/dist/cli.js +6 -6
- package/dist/clusters/closure-control.d.ts +3 -3
- package/dist/clusters/closure-dimension.d.ts +3 -3
- package/dist/clusters/soil-measurement.d.ts +2 -2
- package/dist/devices/basicVideoPlayer.js +3 -3
- package/dist/devices/cooktop.d.ts +1 -1
- package/dist/devices/dishwasher.d.ts +1 -1
- package/dist/devices/dishwasher.js +1 -1
- package/dist/devices/evse.d.ts +1 -1
- package/dist/devices/irrigationSystem.d.ts +1 -1
- package/dist/devices/laundryDryer.d.ts +1 -1
- package/dist/devices/laundryWasher.d.ts +1 -1
- package/dist/devices/laundryWasher.js +1 -1
- package/dist/devices/oven.d.ts +2 -2
- package/dist/devices/refrigerator.d.ts +2 -2
- package/dist/devices/roboticVacuumCleaner.d.ts +1 -1
- package/dist/devices/roboticVacuumCleaner.js +1 -1
- package/dist/devices/soilSensor.d.ts +1 -1
- package/dist/devices/solarPower.d.ts +1 -1
- package/dist/devices/temperatureControl.d.ts +1 -1
- package/dist/frontend.d.ts +1 -1
- package/dist/frontend.js +16 -17
- package/dist/helpers.d.ts +1 -1
- package/dist/helpers.js +0 -10
- package/dist/jestutils/jestBroadcastServerSpy.d.ts +13 -12
- package/dist/jestutils/jestBroadcastServerSpy.js +1 -1
- package/dist/jestutils/jestDeviceManagerSpy.d.ts +14 -13
- package/dist/jestutils/jestDeviceManagerSpy.js +1 -1
- package/dist/jestutils/jestFrontendSpy.d.ts +7 -9
- package/dist/jestutils/jestFrontendSpy.js +1 -1
- package/dist/jestutils/jestMatterTest.d.ts +5 -5
- package/dist/jestutils/jestMatterTest.js +4 -4
- package/dist/jestutils/jestMatterbridgeEndpointSpy.d.ts +6 -54
- package/dist/jestutils/jestMatterbridgeEndpointSpy.js +1 -1
- package/dist/jestutils/jestMatterbridgePlatformSpy.d.ts +43 -60
- package/dist/jestutils/jestMatterbridgePlatformSpy.js +1 -1
- package/dist/jestutils/jestMatterbridgeSpy.d.ts +5 -4
- package/dist/jestutils/jestMatterbridgeSpy.js +1 -1
- package/dist/jestutils/jestMatterbridgeTest.d.ts +3 -3
- package/dist/jestutils/jestMatterbridgeTest.js +1 -1
- package/dist/jestutils/jestPluginManagerSpy.d.ts +40 -47
- package/dist/jestutils/jestPluginManagerSpy.js +1 -1
- package/dist/jestutils/jestSetupTest.d.ts +0 -1
- package/dist/jestutils/logKeepAlives.d.ts +1 -1
- package/dist/jestutils/matterRequest.d.ts +1 -1
- package/dist/matterbridge.d.ts +6 -6
- package/dist/matterbridge.js +20 -21
- package/dist/matterbridgeAccessoryPlatform.d.ts +1 -1
- package/dist/matterbridgeDeviceTypes.d.ts +1 -1
- package/dist/matterbridgeDynamicPlatform.d.ts +1 -1
- package/dist/matterbridgeEndpoint.d.ts +10 -10
- package/dist/matterbridgeEndpoint.js +4 -4
- package/dist/matterbridgeEndpointCommandHandler.d.ts +39 -39
- package/dist/matterbridgeEndpointHelpers.d.ts +7 -7
- package/dist/matterbridgeEndpointHelpers.js +2 -3
- package/dist/matterbridgeEndpointTypes.d.ts +2 -2
- package/dist/matterbridgeFactory.d.ts +2 -2
- package/dist/matterbridgePlatform.d.ts +4 -4
- package/dist/pluginManager.d.ts +1 -1
- package/dist/pluginManager.js +3 -3
- package/package.json +5 -5
package/dist/backend.js
CHANGED
|
@@ -110,7 +110,7 @@ export class Backend extends EventEmitter {
|
|
|
110
110
|
socket.destroy();
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
-
return
|
|
113
|
+
return;
|
|
114
114
|
});
|
|
115
115
|
this.httpServer.on('error', (error) => {
|
|
116
116
|
this.log.error(`Frontend http server error listening on ${this.port}`);
|
|
@@ -239,7 +239,7 @@ export class Backend extends EventEmitter {
|
|
|
239
239
|
socket.destroy();
|
|
240
240
|
}
|
|
241
241
|
}
|
|
242
|
-
return
|
|
242
|
+
return;
|
|
243
243
|
});
|
|
244
244
|
this.httpsServer.on('error', (error) => {
|
|
245
245
|
this.log.error(`Frontend https server error listening on ${this.port}`);
|
package/dist/backendExpress.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { EndpointNumber } from '@matter/types/datatype';
|
|
2
2
|
import type { ApiMatter, RefreshRequiredChanged, SharedMatterbridge, WsMessageBroadcast } from '@matterbridge/types';
|
|
3
3
|
import { WebSocketServer } from 'ws';
|
|
4
|
-
import { Backend } from './backend.js';
|
|
4
|
+
import { type Backend } from './backend.js';
|
|
5
5
|
export declare class BackendWsServer {
|
|
6
6
|
private debug;
|
|
7
7
|
private verbose;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ActivatedCarbonFilterMonitoringServer } from '@matter/node/behaviors/activated-carbon-filter-monitoring';
|
|
2
|
-
import { ActivatedCarbonFilterMonitoring } from '@matter/types/clusters/activated-carbon-filter-monitoring';
|
|
2
|
+
import { type ActivatedCarbonFilterMonitoring } from '@matter/types/clusters/activated-carbon-filter-monitoring';
|
|
3
3
|
declare const MatterbridgeActivatedCarbonFilterMonitoringServer_base: import("@matter/node").ClusterBehavior.Type<typeof ActivatedCarbonFilterMonitoringServer, import("@matter/types").ClusterType.WithSupportedFeatures<ActivatedCarbonFilterMonitoring, {
|
|
4
4
|
warning: false;
|
|
5
5
|
condition: true;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Endpoint } from '@matter/main/node';
|
|
1
|
+
import { type Endpoint } from '@matter/main/node';
|
|
2
2
|
import { BindingBehavior, BindingServer } from '@matter/node/behaviors/binding';
|
|
3
|
-
import { ClusterId } from '@matter/types';
|
|
4
|
-
import { Binding } from '@matter/types/clusters/binding';
|
|
3
|
+
import { type ClusterId } from '@matter/types';
|
|
4
|
+
import { type Binding } from '@matter/types/clusters/binding';
|
|
5
5
|
export declare class MatterbridgeBindingServer extends BindingServer {
|
|
6
6
|
protected internal: MatterbridgeBindingServer.Internal;
|
|
7
7
|
state: MatterbridgeBindingServer.State;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HepaFilterMonitoringServer } from '@matter/node/behaviors/hepa-filter-monitoring';
|
|
2
|
-
import { HepaFilterMonitoring } from '@matter/types/clusters/hepa-filter-monitoring';
|
|
2
|
+
import { type HepaFilterMonitoring } from '@matter/types/clusters/hepa-filter-monitoring';
|
|
3
3
|
declare const MatterbridgeHepaFilterMonitoringServer_base: import("@matter/node").ClusterBehavior.Type<typeof HepaFilterMonitoringServer, import("@matter/types").ClusterType.WithSupportedFeatures<HepaFilterMonitoring, {
|
|
4
4
|
warning: false;
|
|
5
5
|
condition: true;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IdentifyServer } from '@matter/node/behaviors/identify';
|
|
2
|
-
import { Identify } from '@matter/types/clusters/identify';
|
|
2
|
+
import { type Identify } from '@matter/types/clusters/identify';
|
|
3
3
|
export declare class MatterbridgeIdentifyServer extends IdentifyServer {
|
|
4
4
|
identify(request: Identify.IdentifyRequest): Promise<void>;
|
|
5
5
|
triggerEffect(request: Identify.TriggerEffectRequest): Promise<void>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LevelControlServer } from '@matter/node/behaviors/level-control';
|
|
2
|
-
import { LevelControl } from '@matter/types/clusters/level-control';
|
|
2
|
+
import { type LevelControl } from '@matter/types/clusters/level-control';
|
|
3
3
|
export declare class MatterbridgeLevelControlServer extends LevelControlServer {
|
|
4
4
|
moveToLevel(request: LevelControl.MoveToLevelRequest): Promise<void>;
|
|
5
5
|
moveToLevelWithOnOff(request: LevelControl.MoveToLevelRequest): Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Behavior } from '@matter/node';
|
|
2
|
-
import { AnsiLogger } from 'node-ansi-logger';
|
|
3
|
-
import { CommandHandler } from '../matterbridgeEndpointCommandHandler.js';
|
|
2
|
+
import { type AnsiLogger } from 'node-ansi-logger';
|
|
3
|
+
import { type CommandHandler } from '../matterbridgeEndpointCommandHandler.js';
|
|
4
4
|
export declare class MatterbridgeServer extends Behavior {
|
|
5
5
|
static readonly id = "matterbridge";
|
|
6
6
|
state: MatterbridgeServer.State;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModeSelectServer } from '@matter/node/behaviors/mode-select';
|
|
2
|
-
import { ModeSelect } from '@matter/types/clusters/mode-select';
|
|
2
|
+
import { type ModeSelect } from '@matter/types/clusters/mode-select';
|
|
3
3
|
export declare class MatterbridgeModeSelectServer extends ModeSelectServer {
|
|
4
4
|
changeToMode(request: ModeSelect.ChangeToModeRequest): Promise<void>;
|
|
5
5
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MaybePromise } from '@matter/general';
|
|
1
|
+
import { type MaybePromise } from '@matter/general';
|
|
2
2
|
import { OperationalStateServer } from '@matter/node/behaviors/operational-state';
|
|
3
3
|
import { OperationalState } from '@matter/types/clusters/operational-state';
|
|
4
4
|
export declare class MatterbridgeOperationalStateServer extends OperationalStateServer {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ServiceAreaServer } from '@matter/node/behaviors/service-area';
|
|
2
|
-
import { ServiceArea } from '@matter/types/clusters/service-area';
|
|
2
|
+
import { type ServiceArea } from '@matter/types/clusters/service-area';
|
|
3
3
|
export declare class MatterbridgeServiceAreaServer extends ServiceAreaServer {
|
|
4
4
|
selectAreas(request: ServiceArea.SelectAreasRequest): Promise<ServiceArea.SelectAreasResponse>;
|
|
5
5
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WindowCoveringBaseServer, WindowCoveringServer } from '@matter/node/behaviors/window-covering';
|
|
1
|
+
import { type WindowCoveringBaseServer, WindowCoveringServer } from '@matter/node/behaviors/window-covering';
|
|
2
2
|
import { WindowCovering } from '@matter/types/clusters/window-covering';
|
|
3
3
|
declare const MatterbridgeWindowCoveringServer_base: import("@matter/node").ClusterBehavior.Type<typeof WindowCoveringServer, import("@matter/types").ClusterType.WithSupportedFeatures<WindowCovering, {
|
|
4
4
|
lift: true;
|
package/dist/cli.js
CHANGED
|
@@ -50,14 +50,14 @@ function registerHandlers() {
|
|
|
50
50
|
log.debug('Registering event handlers...');
|
|
51
51
|
if (!instance)
|
|
52
52
|
return;
|
|
53
|
-
instance.on('shutdown', () => shutdown());
|
|
54
|
-
instance.on('restart', () => restart());
|
|
55
|
-
instance.on('update', () => update());
|
|
53
|
+
instance.on('shutdown', async () => shutdown());
|
|
54
|
+
instance.on('restart', async () => restart());
|
|
55
|
+
instance.on('update', async () => update());
|
|
56
56
|
instance.on('startmemorycheck', () => start());
|
|
57
57
|
instance.on('stopmemorycheck', () => stop());
|
|
58
|
-
instance.on('startinspector', () => startInspector());
|
|
59
|
-
instance.on('stopinspector', () => stopInspector());
|
|
60
|
-
instance.on('takeheapsnapshot', () => takeHeapSnapshot());
|
|
58
|
+
instance.on('startinspector', async () => startInspector());
|
|
59
|
+
instance.on('stopinspector', async () => stopInspector());
|
|
60
|
+
instance.on('takeheapsnapshot', async () => takeHeapSnapshot());
|
|
61
61
|
instance.on('triggergarbagecollection', () => triggerGarbageCollection());
|
|
62
62
|
log.debug('Registered event handlers');
|
|
63
63
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { MaybePromise } from '@matter/general';
|
|
2
2
|
import { ClusterElement, ClusterModel } from '@matter/main/model';
|
|
3
3
|
import { ClusterType, type ClusterTyping } from '@matter/types/cluster';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import type { ClusterId } from '@matter/types/datatype';
|
|
5
|
+
import type { ThreeLevelAuto } from '@matter/types/globals';
|
|
6
6
|
export declare const ClosureControlDefinition: ClusterElement;
|
|
7
7
|
export declare const ClosureControlModel: ClusterModel;
|
|
8
8
|
export declare namespace ClosureControl {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { MaybePromise } from '@matter/general';
|
|
2
2
|
import { ClusterElement, ClusterModel } from '@matter/main/model';
|
|
3
3
|
import { ClusterType, type ClusterTyping } from '@matter/types/cluster';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import type { ClusterId } from '@matter/types/datatype';
|
|
5
|
+
import type { ThreeLevelAuto } from '@matter/types/globals';
|
|
6
6
|
export declare const ClosureDimensionDefinition: ClusterElement;
|
|
7
7
|
export declare const ClosureDimensionModel: ClusterModel;
|
|
8
8
|
export declare namespace ClosureDimension {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ClusterElement, ClusterModel } from '@matter/main/model';
|
|
2
2
|
import { ClusterType, type ClusterTyping } from '@matter/types/cluster';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import type { ClusterId } from '@matter/types/datatype';
|
|
4
|
+
import type { MeasurementAccuracy } from '@matter/types/globals';
|
|
5
5
|
export declare const SoilMeasurementDefinition: ClusterElement;
|
|
6
6
|
export declare const SoilMeasurementModel: ClusterModel;
|
|
7
7
|
export declare namespace SoilMeasurement {
|
|
@@ -48,7 +48,7 @@ export class MatterbridgeMediaPlaybackServer extends MediaPlaybackServer {
|
|
|
48
48
|
attributes: this.state,
|
|
49
49
|
endpoint: this.endpoint,
|
|
50
50
|
});
|
|
51
|
-
if (this.endpoint.stateOf(MatterbridgeOnOffServer).onOff
|
|
51
|
+
if (this.endpoint.stateOf(MatterbridgeOnOffServer).onOff)
|
|
52
52
|
this.state.currentState = MediaPlayback.PlaybackState.Playing;
|
|
53
53
|
return { status: MediaPlayback.Status.Success };
|
|
54
54
|
}
|
|
@@ -62,7 +62,7 @@ export class MatterbridgeMediaPlaybackServer extends MediaPlaybackServer {
|
|
|
62
62
|
attributes: this.state,
|
|
63
63
|
endpoint: this.endpoint,
|
|
64
64
|
});
|
|
65
|
-
if (this.endpoint.stateOf(MatterbridgeOnOffServer).onOff
|
|
65
|
+
if (this.endpoint.stateOf(MatterbridgeOnOffServer).onOff)
|
|
66
66
|
this.state.currentState = MediaPlayback.PlaybackState.Paused;
|
|
67
67
|
return { status: MediaPlayback.Status.Success };
|
|
68
68
|
}
|
|
@@ -76,7 +76,7 @@ export class MatterbridgeMediaPlaybackServer extends MediaPlaybackServer {
|
|
|
76
76
|
attributes: this.state,
|
|
77
77
|
endpoint: this.endpoint,
|
|
78
78
|
});
|
|
79
|
-
if (this.endpoint.stateOf(MatterbridgeOnOffServer).onOff
|
|
79
|
+
if (this.endpoint.stateOf(MatterbridgeOnOffServer).onOff)
|
|
80
80
|
this.state.currentState = MediaPlayback.PlaybackState.NotPlaying;
|
|
81
81
|
return { status: MediaPlayback.Status.Success };
|
|
82
82
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DishwasherModeServer } from '@matter/node/behaviors/dishwasher-mode';
|
|
2
2
|
import { DishwasherMode } from '@matter/types/clusters/dishwasher-mode';
|
|
3
3
|
import { ModeBase } from '@matter/types/clusters/mode-base';
|
|
4
|
-
import { OperationalState } from '@matter/types/clusters/operational-state';
|
|
4
|
+
import { type OperationalState } from '@matter/types/clusters/operational-state';
|
|
5
5
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
6
6
|
export declare class Dishwasher extends MatterbridgeEndpoint {
|
|
7
7
|
constructor(name: string, serial: string, currentMode?: number, supportedModes?: DishwasherMode.ModeOption[], selectedTemperatureLevel?: number, supportedTemperatureLevels?: string[], temperatureSetpoint?: number, minTemperature?: number, maxTemperature?: number, step?: number, operationalState?: OperationalState.OperationalStateEnum);
|
|
@@ -51,7 +51,7 @@ export class MatterbridgeDishwasherModeServer extends DishwasherModeServer {
|
|
|
51
51
|
}
|
|
52
52
|
handleOnOffChange(onOff) {
|
|
53
53
|
const device = this.endpoint.stateOf(MatterbridgeServer);
|
|
54
|
-
if (onOff
|
|
54
|
+
if (!onOff) {
|
|
55
55
|
device.log.info('OnOffServer changed to OFF: setting Dead Front state to Manufacturer Specific');
|
|
56
56
|
this.state.currentMode = 2;
|
|
57
57
|
}
|
package/dist/devices/evse.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MaybePromise } from '@matter/general';
|
|
1
|
+
import { type MaybePromise } from '@matter/general';
|
|
2
2
|
import { EnergyEvseServer } from '@matter/node/behaviors/energy-evse';
|
|
3
3
|
import { EnergyEvseModeServer } from '@matter/node/behaviors/energy-evse-mode';
|
|
4
4
|
import { EnergyEvse } from '@matter/types/clusters/energy-evse';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OperationalState } from '@matter/types/clusters/operational-state';
|
|
2
|
-
import { Semtag } from '@matter/types/globals';
|
|
2
|
+
import { type Semtag } from '@matter/types/globals';
|
|
3
3
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
4
4
|
export interface IrrigationSystemOptions {
|
|
5
5
|
singleZone?: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LaundryDryerControls } from '@matter/types/clusters/laundry-dryer-controls';
|
|
2
2
|
import { LaundryWasherMode } from '@matter/types/clusters/laundry-washer-mode';
|
|
3
|
-
import { OperationalState } from '@matter/types/clusters/operational-state';
|
|
3
|
+
import { type OperationalState } from '@matter/types/clusters/operational-state';
|
|
4
4
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
5
5
|
export declare class LaundryDryer extends MatterbridgeEndpoint {
|
|
6
6
|
constructor(name: string, serial: string, currentMode?: number, supportedModes?: LaundryWasherMode.ModeOption[], selectedTemperatureLevel?: number, supportedTemperatureLevels?: string[], temperatureSetpoint?: number, minTemperature?: number, maxTemperature?: number, step?: number, operationalState?: OperationalState.OperationalStateEnum);
|
|
@@ -2,7 +2,7 @@ import { LaundryWasherModeServer } from '@matter/node/behaviors/laundry-washer-m
|
|
|
2
2
|
import { LaundryWasherControls } from '@matter/types/clusters/laundry-washer-controls';
|
|
3
3
|
import { LaundryWasherMode } from '@matter/types/clusters/laundry-washer-mode';
|
|
4
4
|
import { ModeBase } from '@matter/types/clusters/mode-base';
|
|
5
|
-
import { OperationalState } from '@matter/types/clusters/operational-state';
|
|
5
|
+
import { type OperationalState } from '@matter/types/clusters/operational-state';
|
|
6
6
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
7
7
|
export declare class LaundryWasher extends MatterbridgeEndpoint {
|
|
8
8
|
constructor(name: string, serial: string, currentMode?: number, supportedModes?: LaundryWasherMode.ModeOption[], spinSpeedCurrent?: number, spinSpeeds?: string[], numberOfRinses?: LaundryWasherControls.NumberOfRinses, supportedRinses?: LaundryWasherControls.NumberOfRinses[], selectedTemperatureLevel?: number, supportedTemperatureLevels?: string[], temperatureSetpoint?: number, minTemperature?: number, maxTemperature?: number, step?: number, operationalState?: OperationalState.OperationalStateEnum);
|
|
@@ -59,7 +59,7 @@ export class MatterbridgeLaundryWasherModeServer extends LaundryWasherModeServer
|
|
|
59
59
|
handleOnOffChange(onOff) {
|
|
60
60
|
const device = this.endpoint.stateOf(MatterbridgeServer);
|
|
61
61
|
device.log.info(`HandleOnOffChange (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
|
|
62
|
-
if (onOff
|
|
62
|
+
if (!onOff) {
|
|
63
63
|
device.log.notice('OnOffServer changed to OFF: setting Dead Front state to Manufacturer Specific');
|
|
64
64
|
this.state.currentMode = 2;
|
|
65
65
|
}
|
package/dist/devices/oven.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { MaybePromise } from '@matter/general';
|
|
1
|
+
import { type MaybePromise } from '@matter/general';
|
|
2
2
|
import { OvenCavityOperationalStateServer } from '@matter/node/behaviors/oven-cavity-operational-state';
|
|
3
3
|
import { OvenModeServer } from '@matter/node/behaviors/oven-mode';
|
|
4
|
-
import { Semtag } from '@matter/types';
|
|
4
|
+
import { type Semtag } from '@matter/types';
|
|
5
5
|
import { ModeBase } from '@matter/types/clusters/mode-base';
|
|
6
6
|
import { OperationalState } from '@matter/types/clusters/operational-state';
|
|
7
7
|
import { OvenMode } from '@matter/types/clusters/oven-mode';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { MaybePromise } from '@matter/general';
|
|
1
|
+
import { type MaybePromise } from '@matter/general';
|
|
2
2
|
import { RefrigeratorAndTemperatureControlledCabinetModeServer } from '@matter/node/behaviors/refrigerator-and-temperature-controlled-cabinet-mode';
|
|
3
|
-
import { Semtag } from '@matter/types';
|
|
3
|
+
import { type Semtag } from '@matter/types';
|
|
4
4
|
import { ModeBase } from '@matter/types/clusters/mode-base';
|
|
5
5
|
import { RefrigeratorAndTemperatureControlledCabinetMode } from '@matter/types/clusters/refrigerator-and-temperature-controlled-cabinet-mode';
|
|
6
6
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
@@ -9,7 +9,7 @@ import { RvcRunMode } from '@matter/types/clusters/rvc-run-mode';
|
|
|
9
9
|
import { ServiceArea } from '@matter/types/clusters/service-area';
|
|
10
10
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
11
11
|
export declare class RoboticVacuumCleaner extends MatterbridgeEndpoint {
|
|
12
|
-
constructor(name: string, serial: string, mode?: 'server' | 'matter'
|
|
12
|
+
constructor(name: string, serial: string, mode?: 'server' | 'matter', currentRunMode?: number, supportedRunModes?: RvcRunMode.ModeOption[], currentCleanMode?: number, supportedCleanModes?: RvcCleanMode.ModeOption[], currentPhase?: number | null, phaseList?: string[] | null, operationalState?: RvcOperationalState.OperationalState, operationalStateList?: RvcOperationalState.OperationalStateStruct[], supportedAreas?: ServiceArea.Area[], selectedAreas?: number[], currentArea?: number | null, supportedMaps?: ServiceArea.Map[]);
|
|
13
13
|
createDefaultRvcRunModeClusterServer(currentMode?: number, supportedModes?: RvcRunMode.ModeOption[]): this;
|
|
14
14
|
createDefaultRvcCleanModeClusterServer(currentMode?: number, supportedModes?: RvcCleanMode.ModeOption[]): this;
|
|
15
15
|
createDefaultServiceAreaClusterServer(supportedAreas?: ServiceArea.Area[], selectedAreas?: number[], currentArea?: number | null, supportedMaps?: ServiceArea.Map[]): this;
|
|
@@ -14,7 +14,7 @@ import { MatterbridgeServiceAreaServer } from '../behaviors/serviceAreaServer.js
|
|
|
14
14
|
import { powerSource, roboticVacuumCleaner } from '../matterbridgeDeviceTypes.js';
|
|
15
15
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
16
16
|
export class RoboticVacuumCleaner extends MatterbridgeEndpoint {
|
|
17
|
-
constructor(name, serial, mode
|
|
17
|
+
constructor(name, serial, mode, currentRunMode, supportedRunModes, currentCleanMode, supportedCleanModes, currentPhase = null, phaseList = null, operationalState, operationalStateList, supportedAreas, selectedAreas, currentArea, supportedMaps) {
|
|
18
18
|
super([roboticVacuumCleaner, powerSource], { id: `${name.replaceAll(' ', '')}-${serial.replaceAll(' ', '')}`, mode });
|
|
19
19
|
this.createDefaultIdentifyClusterServer()
|
|
20
20
|
.createDefaultBasicInformationClusterServer(name, serial, 0xfff1, 'Matterbridge', 0x8000, 'Matterbridge Robot Vacuum Cleaner')
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { MeasurementAccuracy } from '@matter/types/globals';
|
|
2
2
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
3
3
|
export interface SoilSensorOptions {
|
|
4
4
|
soilMoistureMeasurementLimits?: MeasurementAccuracy;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Semtag } from '@matter/types/globals';
|
|
1
|
+
import { type Semtag } from '@matter/types/globals';
|
|
2
2
|
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
3
3
|
export declare class SolarPower extends MatterbridgeEndpoint {
|
|
4
4
|
constructor(name: string, serial: string, voltage?: number | bigint | null, current?: number | bigint | null, power?: number | bigint | null, energyExported?: number | bigint, absMinPower?: number, absMaxPower?: number);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TemperatureControlServer } from '@matter/node/behaviors/temperature-control';
|
|
2
2
|
import { TemperatureControl } from '@matter/types/clusters/temperature-control';
|
|
3
|
-
import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
|
|
3
|
+
import { type 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
6
|
declare const MatterbridgeLevelTemperatureControlServer_base: import("@matter/node").ClusterBehavior.Type<typeof TemperatureControlServer, import("@matter/types").ClusterType.WithSupportedFeatures<TemperatureControl, {
|
package/dist/frontend.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import EventEmitter from 'node:events';
|
|
2
|
-
import { EndpointNumber } from '@matter/types/datatype';
|
|
2
|
+
import { type EndpointNumber } from '@matter/types/datatype';
|
|
3
3
|
import type { ApiClusters, ApiDevice, ApiMatter, ApiPlugin, ApiSettings, RefreshRequiredChanged, WsMessageBroadcast } from '@matterbridge/types';
|
|
4
4
|
import { LogLevel } from 'node-ansi-logger';
|
|
5
5
|
import type { Matterbridge } from './matterbridge.js';
|
package/dist/frontend.js
CHANGED
|
@@ -124,7 +124,7 @@ export class Frontend extends EventEmitter {
|
|
|
124
124
|
this.log.debug(`Received broadcast response ${CYAN}${msg.type}${db} from ${CYAN}${msg.src}${db}: ${debugStringify(msg)}${db}`);
|
|
125
125
|
switch (msg.type) {
|
|
126
126
|
case 'manager_spawn_response':
|
|
127
|
-
if (msg.result
|
|
127
|
+
if (msg.result?.packageCommand === 'install') {
|
|
128
128
|
this.wssSendCloseSnackbarMessage(`Installing package ${msg.result.packageName}...`);
|
|
129
129
|
if (msg.result.success) {
|
|
130
130
|
this.restartRequired = true;
|
|
@@ -137,7 +137,7 @@ export class Frontend extends EventEmitter {
|
|
|
137
137
|
this.wssSendSnackbarMessage(`Package ${msg.result.packageName} not installed`, 10, 'error');
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
-
if (msg.result
|
|
140
|
+
if (msg.result?.packageCommand === 'uninstall') {
|
|
141
141
|
this.wssSendCloseSnackbarMessage(`Uninstalling package ${msg.result.packageName}...`);
|
|
142
142
|
if (msg.result.success) {
|
|
143
143
|
this.restartRequired = true;
|
|
@@ -152,8 +152,7 @@ export class Frontend extends EventEmitter {
|
|
|
152
152
|
}
|
|
153
153
|
break;
|
|
154
154
|
case 'manager_archive_response':
|
|
155
|
-
if (msg.result &&
|
|
156
|
-
msg.result.success &&
|
|
155
|
+
if (msg.result?.success &&
|
|
157
156
|
isValidString(msg.result.command) &&
|
|
158
157
|
isValidString(msg.result.archivePath) &&
|
|
159
158
|
isValidArray(msg.result.sourcePaths) &&
|
|
@@ -706,7 +705,7 @@ export class Frontend extends EventEmitter {
|
|
|
706
705
|
res.download(path.join(os.tmpdir(), `matterbridge.${NODE_STORAGE_DIR}.zip`), `matterbridge.${NODE_STORAGE_DIR}.zip`, (error) => {
|
|
707
706
|
this.wssSendCloseSnackbarMessage('Creating matterbridge storage backup...');
|
|
708
707
|
if (error) {
|
|
709
|
-
this.log.error(`Error downloading file
|
|
708
|
+
this.log.error(`Error downloading file matterbridge.${NODE_STORAGE_DIR}.zip: ${error instanceof Error ? error.message : error}`);
|
|
710
709
|
res.status(500).send('Error downloading the matterbridge storage file');
|
|
711
710
|
}
|
|
712
711
|
else {
|
|
@@ -962,7 +961,7 @@ export class Frontend extends EventEmitter {
|
|
|
962
961
|
return false;
|
|
963
962
|
if (device.hasClusterServer(BridgedDeviceBasicInformation.id))
|
|
964
963
|
return device.getAttribute(BridgedDeviceBasicInformation.id, 'reachable');
|
|
965
|
-
if (device.mode === 'server' && device.serverNode
|
|
964
|
+
if (device.mode === 'server' && device.serverNode?.state.basicInformation.reachable !== undefined)
|
|
966
965
|
return device.serverNode.state.basicInformation.reachable;
|
|
967
966
|
if (this.matterbridge.bridgeMode === 'childbridge')
|
|
968
967
|
return true;
|
|
@@ -1003,7 +1002,7 @@ export class Frontend extends EventEmitter {
|
|
|
1003
1002
|
const batChargeLevel = device.getAttribute(PowerSource.id, 'batPercentRemaining');
|
|
1004
1003
|
return isValidNumber(batChargeLevel) ? batChargeLevel / 2 : undefined;
|
|
1005
1004
|
}
|
|
1006
|
-
return
|
|
1005
|
+
return;
|
|
1007
1006
|
};
|
|
1008
1007
|
if (endpoint.hasClusterServer(PowerSource.id))
|
|
1009
1008
|
return batteryLevel(endpoint);
|
|
@@ -1054,11 +1053,11 @@ export class Frontend extends EventEmitter {
|
|
|
1054
1053
|
attributes += `Heat to: ${attributeValue / 100}°C `;
|
|
1055
1054
|
if (clusterName === 'thermostat' && attributeName === 'occupiedCoolingSetpoint' && isValidNumber(attributeValue))
|
|
1056
1055
|
attributes += `Cool to: ${attributeValue / 100}°C `;
|
|
1057
|
-
const modeClusters = ['modeSelect', 'rvcRunMode', 'rvcCleanMode', 'laundryWasherMode', 'ovenMode', 'microwaveOvenMode'];
|
|
1058
|
-
if (modeClusters.
|
|
1056
|
+
const modeClusters = new Set(['modeSelect', 'rvcRunMode', 'rvcCleanMode', 'laundryWasherMode', 'ovenMode', 'microwaveOvenMode']);
|
|
1057
|
+
if (modeClusters.has(clusterName) && attributeName === 'supportedModes') {
|
|
1059
1058
|
supportedModes = attributeValue;
|
|
1060
1059
|
}
|
|
1061
|
-
if (modeClusters.
|
|
1060
|
+
if (modeClusters.has(clusterName) && attributeName === 'currentMode') {
|
|
1062
1061
|
const supportedMode = supportedModes.find((mode) => mode.mode === attributeValue);
|
|
1063
1062
|
if (supportedMode)
|
|
1064
1063
|
attributes += `Mode: ${supportedMode.label} `;
|
|
@@ -1199,7 +1198,7 @@ export class Frontend extends EventEmitter {
|
|
|
1199
1198
|
const endpoint = this.matterbridge.devices
|
|
1200
1199
|
.array()
|
|
1201
1200
|
.find((d) => d.plugin === pluginName && d.maybeNumber === endpointNumber && (!serialNumber || d.serialNumber === serialNumber) && (!uniqueId || d.uniqueId === uniqueId));
|
|
1202
|
-
if (!endpoint
|
|
1201
|
+
if (!endpoint?.plugin || !endpoint.maybeNumber || !endpoint.maybeId || !endpoint.deviceName || !endpoint.serialNumber) {
|
|
1203
1202
|
this.log.error(`getClusters: no device found for plugin ${pluginName} and endpoint number ${endpointNumber} (serial: ${serialNumber ?? 'N/A'}, uniqueId: ${uniqueId ?? 'N/A'})`);
|
|
1204
1203
|
return;
|
|
1205
1204
|
}
|
|
@@ -1871,7 +1870,7 @@ export class Frontend extends EventEmitter {
|
|
|
1871
1870
|
}
|
|
1872
1871
|
break;
|
|
1873
1872
|
case 'setmatterport':
|
|
1874
|
-
const port = isValidString(data.params.value) ? parseInt(data.params.value) : 0;
|
|
1873
|
+
const port = isValidString(data.params.value) ? Number.parseInt(data.params.value) : 0;
|
|
1875
1874
|
if (isValidNumber(port, 5540, 5600)) {
|
|
1876
1875
|
this.log.debug(`Set matter commissioning port to ${CYAN}${port}${db}`);
|
|
1877
1876
|
this.matterbridge.port = this.matterbridge.initialPort = port;
|
|
@@ -1890,7 +1889,7 @@ export class Frontend extends EventEmitter {
|
|
|
1890
1889
|
}
|
|
1891
1890
|
break;
|
|
1892
1891
|
case 'setmatterdiscriminator':
|
|
1893
|
-
const discriminator = isValidString(data.params.value) ? parseInt(data.params.value) : 0;
|
|
1892
|
+
const discriminator = isValidString(data.params.value) ? Number.parseInt(data.params.value) : 0;
|
|
1894
1893
|
if (isValidNumber(discriminator, 0, 4095)) {
|
|
1895
1894
|
this.log.debug(`Set matter commissioning discriminator to ${CYAN}${discriminator}${db}`);
|
|
1896
1895
|
this.matterbridge.discriminator = this.matterbridge.initialDiscriminator = discriminator;
|
|
@@ -1915,8 +1914,8 @@ export class Frontend extends EventEmitter {
|
|
|
1915
1914
|
}
|
|
1916
1915
|
break;
|
|
1917
1916
|
case 'setmatterpasscode':
|
|
1918
|
-
const passcode = isValidString(data.params.value) ? parseInt(data.params.value) : 0;
|
|
1919
|
-
if (isValidNumber(passcode, 1, 99999998) && CommissioningOptions.FORBIDDEN_PASSCODES.includes(passcode)
|
|
1917
|
+
const passcode = isValidString(data.params.value) ? Number.parseInt(data.params.value) : 0;
|
|
1918
|
+
if (isValidNumber(passcode, 1, 99999998) && !CommissioningOptions.FORBIDDEN_PASSCODES.includes(passcode)) {
|
|
1920
1919
|
this.matterbridge.passcode = this.matterbridge.initialPasscode = passcode;
|
|
1921
1920
|
this.log.debug(`Set matter commissioning passcode to ${CYAN}${passcode}${db}`);
|
|
1922
1921
|
await this.matterbridge.nodeContext?.set('matterpasscode', passcode);
|
|
@@ -2101,7 +2100,7 @@ export class Frontend extends EventEmitter {
|
|
|
2101
2100
|
this.log.debug('Sending a restart required message to all connected clients');
|
|
2102
2101
|
this.restartRequired = true;
|
|
2103
2102
|
this.fixedRestartRequired = fixed;
|
|
2104
|
-
if (snackbar
|
|
2103
|
+
if (snackbar)
|
|
2105
2104
|
this.wssSendSnackbarMessage(`Restart required`, 0);
|
|
2106
2105
|
this.wssBroadcastMessage({ id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'restart_required', success: true, response: { fixed } });
|
|
2107
2106
|
}
|
|
@@ -2110,7 +2109,7 @@ export class Frontend extends EventEmitter {
|
|
|
2110
2109
|
return;
|
|
2111
2110
|
this.log.debug('Sending a restart not required message to all connected clients');
|
|
2112
2111
|
this.restartRequired = false;
|
|
2113
|
-
if (snackbar
|
|
2112
|
+
if (snackbar)
|
|
2114
2113
|
this.wssSendCloseSnackbarMessage(`Restart required`);
|
|
2115
2114
|
this.wssBroadcastMessage({ id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'restart_not_required', success: true });
|
|
2116
2115
|
}
|
package/dist/helpers.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Endpoint } from '@matter/node';
|
|
2
|
-
import { AggregatorEndpoint } from '@matter/node/endpoints/aggregator';
|
|
2
|
+
import { type AggregatorEndpoint } from '@matter/node/endpoints/aggregator';
|
|
3
3
|
import type { Matterbridge } from './matterbridge.js';
|
|
4
4
|
export declare function addVirtualDevice(aggregatorEndpoint: Endpoint<AggregatorEndpoint>, name: string, type: 'light' | 'outlet' | 'switch' | 'mounted_switch', callback: () => Promise<void>): Promise<Endpoint>;
|
|
5
5
|
export declare function addVirtualDevices(matterbridge: Matterbridge, aggregatorEndpoint: Endpoint<AggregatorEndpoint>): Promise<void>;
|
package/dist/helpers.js
CHANGED
|
@@ -10,9 +10,6 @@ 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
12
|
import { VendorId } from '@matter/types/datatype';
|
|
13
|
-
import { hasParameter } from '@matterbridge/utils/cli';
|
|
14
|
-
import { doorLock } from './matterbridgeDeviceTypes.js';
|
|
15
|
-
import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
|
|
16
13
|
export async function addVirtualDevice(aggregatorEndpoint, name, type, callback) {
|
|
17
14
|
let deviceType;
|
|
18
15
|
switch (type) {
|
|
@@ -59,13 +56,6 @@ export async function addVirtualDevice(aggregatorEndpoint, name, type, callback)
|
|
|
59
56
|
return device;
|
|
60
57
|
}
|
|
61
58
|
export async function addVirtualDevices(matterbridge, aggregatorEndpoint) {
|
|
62
|
-
if (hasParameter('experimental') && matterbridge.bridgeMode === 'bridge' && aggregatorEndpoint) {
|
|
63
|
-
const lockUserPin = new MatterbridgeEndpoint(doorLock, { id: 'door_lock_user_pin' });
|
|
64
|
-
lockUserPin.createDefaultBridgedDeviceBasicInformationClusterServer('Matterbridge User Pin Lock', 'sn_system_lock', 0xfff1, 'Matterbridge', 'Matterbridge Virtual Device', 20000, '2.0.0');
|
|
65
|
-
lockUserPin.createUserPinDoorLockClusterServer();
|
|
66
|
-
lockUserPin.addRequiredClusterServers();
|
|
67
|
-
await aggregatorEndpoint.add(lockUserPin);
|
|
68
|
-
}
|
|
69
59
|
if (matterbridge.virtualMode !== 'disabled' && matterbridge.bridgeMode === 'bridge' && aggregatorEndpoint) {
|
|
70
60
|
matterbridge.log.notice(`Creating virtual devices for Matterbridge server node...`);
|
|
71
61
|
await addVirtualDevice(aggregatorEndpoint, 'Restart Matterbridge', matterbridge.virtualMode, async () => {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
1
|
+
import { BroadcastServer } from '@matterbridge/thread/server';
|
|
2
|
+
export declare const closeBroadcastServerSpy: jest.SpiedFunction<typeof BroadcastServer.prototype.close>;
|
|
3
|
+
export declare const getUniqueIdBroadcastServerSpy: jest.SpiedFunction<typeof BroadcastServer.prototype.getUniqueId>;
|
|
4
|
+
export declare const isWorkerRequestBroadcastServerSpy: jest.SpiedFunction<typeof BroadcastServer.prototype.isWorkerRequest>;
|
|
5
|
+
export declare const isWorkerRequestOfTypeBroadcastServerSpy: jest.SpiedFunction<typeof BroadcastServer.prototype.isWorkerRequestOfType>;
|
|
6
|
+
export declare const isWorkerResponseBroadcastServerSpy: jest.SpiedFunction<typeof BroadcastServer.prototype.isWorkerResponse>;
|
|
7
|
+
export declare const isWorkerResponseOfTypeBroadcastServerSpy: jest.SpiedFunction<typeof BroadcastServer.prototype.isWorkerResponseOfType>;
|
|
8
|
+
export declare const broadcastBroadcastServerSpy: jest.SpiedFunction<typeof BroadcastServer.prototype.broadcast>;
|
|
9
|
+
export declare const requestBroadcastServerSpy: jest.SpiedFunction<typeof BroadcastServer.prototype.request>;
|
|
10
|
+
export declare const respondBroadcastServerSpy: jest.SpiedFunction<typeof BroadcastServer.prototype.respond>;
|
|
11
|
+
export declare const fetchBroadcastServerSpy: jest.SpiedFunction<typeof BroadcastServer.prototype.fetch>;
|
|
12
|
+
export declare const broadcastMessageHandlerBroadcastServerSpy: jest.SpiedFunction<typeof BroadcastServer.prototype.broadcastMessageHandler>;
|
|
13
|
+
export declare const broadcastMessageErrorHandlerBroadcastServerSpy: jest.SpiedFunction<typeof BroadcastServer.prototype.broadcastMessageErrorHandler>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jest } from '@jest/globals';
|
|
2
1
|
import { BroadcastServer } from '@matterbridge/thread/server';
|
|
2
|
+
const { jest } = await import('@jest/globals');
|
|
3
3
|
export const closeBroadcastServerSpy = jest.spyOn(BroadcastServer.prototype, 'close');
|
|
4
4
|
export const getUniqueIdBroadcastServerSpy = jest.spyOn(BroadcastServer.prototype, 'getUniqueId');
|
|
5
5
|
export const isWorkerRequestBroadcastServerSpy = jest.spyOn(BroadcastServer.prototype, 'isWorkerRequest');
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const
|
|
1
|
+
import { DeviceManager } from '../deviceManager.js';
|
|
2
|
+
export declare const destroyDeviceManagerSpy: jest.SpiedFunction<typeof DeviceManager.prototype.destroy>;
|
|
3
|
+
export declare const lengthDeviceManagerSpy: jest.SpiedGetter<typeof DeviceManager.prototype.length>;
|
|
4
|
+
export declare const sizeDeviceManagerSpy: jest.SpiedGetter<typeof DeviceManager.prototype.size>;
|
|
5
|
+
export declare const hasDeviceManagerSpy: jest.SpiedFunction<typeof DeviceManager.prototype.has>;
|
|
6
|
+
export declare const getDeviceManagerSpy: jest.SpiedFunction<typeof DeviceManager.prototype.get>;
|
|
7
|
+
export declare const setDeviceManagerSpy: jest.SpiedFunction<typeof DeviceManager.prototype.set>;
|
|
8
|
+
export declare const removeDeviceManagerSpy: jest.SpiedFunction<typeof DeviceManager.prototype.remove>;
|
|
9
|
+
export declare const clearDeviceManagerSpy: jest.SpiedFunction<typeof DeviceManager.prototype.clear>;
|
|
10
|
+
export declare const arrayDeviceManagerSpy: jest.SpiedFunction<typeof DeviceManager.prototype.array>;
|
|
11
|
+
export declare const baseArrayDeviceManagerSpy: jest.SpiedFunction<typeof DeviceManager.prototype.baseArray>;
|
|
12
|
+
export declare const iteratorDeviceManagerSpy: jest.SpiedFunction<(typeof DeviceManager.prototype)[typeof Symbol.iterator]>;
|
|
13
|
+
export declare const forEachDeviceManagerSpy: jest.SpiedFunction<typeof DeviceManager.prototype.forEach>;
|
|
14
|
+
export declare const logLevelDeviceManagerSpy: jest.SpiedSetter<typeof DeviceManager.prototype.logLevel>;
|