matterbridge 3.0.6 → 3.0.7-dev-20250615-2a6da14
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 +20 -0
- package/README-DEV.md +66 -35
- package/README.md +1 -1
- package/dist/cli.js +2 -62
- package/dist/clusters/export.js +1 -0
- package/dist/defaultConfigSchema.js +0 -23
- package/dist/deviceManager.js +1 -94
- package/dist/devices/export.js +4 -0
- package/dist/evse.js +9 -65
- package/dist/frontend.js +16 -374
- package/dist/globalMatterbridge.js +0 -20
- package/dist/helpers.js +0 -51
- package/dist/index.js +1 -28
- package/dist/laundryWasher.js +7 -92
- package/dist/logger/export.js +0 -1
- package/dist/matter/behaviors.js +0 -2
- package/dist/matter/clusters.js +0 -2
- package/dist/matter/devices.js +0 -2
- package/dist/matter/endpoints.js +0 -2
- package/dist/matter/export.js +0 -2
- package/dist/matter/types.js +0 -2
- package/dist/matterbridge.js +46 -748
- package/dist/matterbridgeAccessoryPlatform.js +0 -34
- package/dist/matterbridgeBehaviors.js +1 -54
- package/dist/matterbridgeDeviceTypes.js +15 -578
- package/dist/matterbridgeDynamicPlatform.js +0 -34
- package/dist/matterbridgeEndpoint.js +43 -997
- package/dist/matterbridgeEndpointHelpers.js +10 -204
- package/dist/matterbridgePlatform.js +7 -225
- package/dist/matterbridgeTypes.js +0 -24
- package/dist/pluginManager.js +3 -269
- package/dist/roboticVacuumCleaner.js +6 -81
- package/dist/shelly.js +7 -155
- package/dist/storage/export.js +0 -1
- package/dist/update.js +0 -53
- package/dist/utils/colorUtils.js +2 -205
- package/dist/utils/commandLine.js +0 -53
- package/dist/utils/copyDirectory.js +1 -37
- package/dist/utils/createDirectory.js +0 -31
- package/dist/utils/createZip.js +2 -42
- package/dist/utils/deepCopy.js +0 -38
- package/dist/utils/deepEqual.js +1 -71
- package/dist/utils/export.js +0 -1
- package/dist/utils/hex.js +0 -57
- package/dist/utils/isvalid.js +0 -100
- package/dist/utils/network.js +5 -76
- package/dist/utils/spawn.js +0 -16
- package/dist/utils/wait.js +9 -58
- package/dist/waterHeater.js +2 -62
- package/npm-shrinkwrap.json +41 -29
- package/package.json +23 -20
- package/dist/cli.d.ts +0 -29
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/cluster/export.d.ts +0 -2
- package/dist/cluster/export.d.ts.map +0 -1
- package/dist/cluster/export.js +0 -3
- package/dist/cluster/export.js.map +0 -1
- package/dist/defaultConfigSchema.d.ts +0 -27
- package/dist/defaultConfigSchema.d.ts.map +0 -1
- package/dist/defaultConfigSchema.js.map +0 -1
- package/dist/deviceManager.d.ts +0 -114
- package/dist/deviceManager.d.ts.map +0 -1
- package/dist/deviceManager.js.map +0 -1
- package/dist/evse.d.ts +0 -67
- package/dist/evse.d.ts.map +0 -1
- package/dist/evse.js.map +0 -1
- package/dist/frontend.d.ts +0 -256
- package/dist/frontend.d.ts.map +0 -1
- package/dist/frontend.js.map +0 -1
- package/dist/globalMatterbridge.d.ts +0 -32
- package/dist/globalMatterbridge.d.ts.map +0 -1
- package/dist/globalMatterbridge.js.map +0 -1
- package/dist/helpers.d.ts +0 -47
- package/dist/helpers.d.ts.map +0 -1
- package/dist/helpers.js.map +0 -1
- package/dist/index.d.ts +0 -37
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/laundryWasher.d.ts +0 -243
- package/dist/laundryWasher.d.ts.map +0 -1
- package/dist/laundryWasher.js.map +0 -1
- package/dist/logger/export.d.ts +0 -2
- package/dist/logger/export.d.ts.map +0 -1
- package/dist/logger/export.js.map +0 -1
- package/dist/matter/behaviors.d.ts +0 -2
- package/dist/matter/behaviors.d.ts.map +0 -1
- package/dist/matter/behaviors.js.map +0 -1
- package/dist/matter/clusters.d.ts +0 -2
- package/dist/matter/clusters.d.ts.map +0 -1
- package/dist/matter/clusters.js.map +0 -1
- package/dist/matter/devices.d.ts +0 -2
- package/dist/matter/devices.d.ts.map +0 -1
- package/dist/matter/devices.js.map +0 -1
- package/dist/matter/endpoints.d.ts +0 -2
- package/dist/matter/endpoints.d.ts.map +0 -1
- package/dist/matter/endpoints.js.map +0 -1
- package/dist/matter/export.d.ts +0 -5
- package/dist/matter/export.d.ts.map +0 -1
- package/dist/matter/export.js.map +0 -1
- package/dist/matter/types.d.ts +0 -3
- package/dist/matter/types.d.ts.map +0 -1
- package/dist/matter/types.js.map +0 -1
- package/dist/matterbridge.d.ts +0 -445
- package/dist/matterbridge.d.ts.map +0 -1
- package/dist/matterbridge.js.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.d.ts +0 -40
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
- package/dist/matterbridgeBehaviors.d.ts +0 -1333
- package/dist/matterbridgeBehaviors.d.ts.map +0 -1
- package/dist/matterbridgeBehaviors.js.map +0 -1
- package/dist/matterbridgeDeviceTypes.d.ts +0 -644
- package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
- package/dist/matterbridgeDeviceTypes.js.map +0 -1
- package/dist/matterbridgeDynamicPlatform.d.ts +0 -40
- package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
- package/dist/matterbridgeDynamicPlatform.js.map +0 -1
- package/dist/matterbridgeEndpoint.d.ts +0 -1144
- package/dist/matterbridgeEndpoint.d.ts.map +0 -1
- package/dist/matterbridgeEndpoint.js.map +0 -1
- package/dist/matterbridgeEndpointHelpers.d.ts +0 -3083
- package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
- package/dist/matterbridgeEndpointHelpers.js.map +0 -1
- package/dist/matterbridgePlatform.d.ts +0 -294
- package/dist/matterbridgePlatform.d.ts.map +0 -1
- package/dist/matterbridgePlatform.js.map +0 -1
- package/dist/matterbridgeTypes.d.ts +0 -196
- package/dist/matterbridgeTypes.d.ts.map +0 -1
- package/dist/matterbridgeTypes.js.map +0 -1
- package/dist/pluginManager.d.ts +0 -273
- package/dist/pluginManager.d.ts.map +0 -1
- package/dist/pluginManager.js.map +0 -1
- package/dist/roboticVacuumCleaner.d.ts +0 -102
- package/dist/roboticVacuumCleaner.d.ts.map +0 -1
- package/dist/roboticVacuumCleaner.js.map +0 -1
- package/dist/shelly.d.ts +0 -161
- package/dist/shelly.d.ts.map +0 -1
- package/dist/shelly.js.map +0 -1
- package/dist/storage/export.d.ts +0 -2
- package/dist/storage/export.d.ts.map +0 -1
- package/dist/storage/export.js.map +0 -1
- package/dist/update.d.ts +0 -58
- package/dist/update.d.ts.map +0 -1
- package/dist/update.js.map +0 -1
- package/dist/utils/colorUtils.d.ts +0 -61
- package/dist/utils/colorUtils.d.ts.map +0 -1
- package/dist/utils/colorUtils.js.map +0 -1
- package/dist/utils/commandLine.d.ts +0 -58
- package/dist/utils/commandLine.d.ts.map +0 -1
- package/dist/utils/commandLine.js.map +0 -1
- package/dist/utils/copyDirectory.d.ts +0 -32
- package/dist/utils/copyDirectory.d.ts.map +0 -1
- package/dist/utils/copyDirectory.js.map +0 -1
- package/dist/utils/createDirectory.d.ts +0 -32
- package/dist/utils/createDirectory.d.ts.map +0 -1
- package/dist/utils/createDirectory.js.map +0 -1
- package/dist/utils/createZip.d.ts +0 -38
- package/dist/utils/createZip.d.ts.map +0 -1
- package/dist/utils/createZip.js.map +0 -1
- package/dist/utils/deepCopy.d.ts +0 -31
- package/dist/utils/deepCopy.d.ts.map +0 -1
- package/dist/utils/deepCopy.js.map +0 -1
- package/dist/utils/deepEqual.d.ts +0 -53
- package/dist/utils/deepEqual.d.ts.map +0 -1
- package/dist/utils/deepEqual.js.map +0 -1
- package/dist/utils/export.d.ts +0 -12
- package/dist/utils/export.d.ts.map +0 -1
- package/dist/utils/export.js.map +0 -1
- package/dist/utils/hex.d.ts +0 -48
- package/dist/utils/hex.d.ts.map +0 -1
- package/dist/utils/hex.js.map +0 -1
- package/dist/utils/isvalid.d.ts +0 -102
- package/dist/utils/isvalid.d.ts.map +0 -1
- package/dist/utils/isvalid.js.map +0 -1
- package/dist/utils/network.d.ts +0 -69
- package/dist/utils/network.d.ts.map +0 -1
- package/dist/utils/network.js.map +0 -1
- package/dist/utils/spawn.d.ts +0 -12
- package/dist/utils/spawn.d.ts.map +0 -1
- package/dist/utils/spawn.js.map +0 -1
- package/dist/utils/wait.d.ts +0 -52
- package/dist/utils/wait.d.ts.map +0 -1
- package/dist/utils/wait.js.map +0 -1
- package/dist/waterHeater.d.ts +0 -90
- package/dist/waterHeater.d.ts.map +0 -1
- package/dist/waterHeater.js.map +0 -1
package/dist/evse.js
CHANGED
|
@@ -1,49 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file contains the Evse class.
|
|
3
|
-
*
|
|
4
|
-
* @file energy-evse.ts
|
|
5
|
-
* @author Luca Liguori
|
|
6
|
-
* @contributor Ludovic BOUÉ
|
|
7
|
-
* @date 2025-05-27
|
|
8
|
-
* @version 1.1.0
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
11
|
-
*
|
|
12
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
-
* you may not use this file except in compliance with the License.
|
|
14
|
-
* You may obtain a copy of the License at
|
|
15
|
-
*
|
|
16
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
*
|
|
18
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
-
* See the License for the specific language governing permissions and
|
|
22
|
-
* limitations under the License. *
|
|
23
|
-
*/
|
|
24
1
|
import { EnergyEvseServer } from '@matter/main/behaviors/energy-evse';
|
|
25
2
|
import { EnergyEvseModeServer } from '@matter/main/behaviors/energy-evse-mode';
|
|
26
3
|
import { EnergyEvse, EnergyEvseMode } from '@matter/main/clusters';
|
|
27
4
|
import { DeviceEnergyManagement } from '@matter/main/clusters/device-energy-management';
|
|
28
5
|
import { ModeBase } from '@matter/main/clusters/mode-base';
|
|
29
|
-
// Matterbridge
|
|
30
6
|
import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
|
|
31
7
|
import { MatterbridgeServer } from './matterbridgeBehaviors.js';
|
|
32
8
|
import { deviceEnergyManagement, electricalSensor, evse, powerSource } from './matterbridgeDeviceTypes.js';
|
|
33
9
|
export class Evse extends MatterbridgeEndpoint {
|
|
34
|
-
/**
|
|
35
|
-
* Creates an instance of the EVSE class.
|
|
36
|
-
*
|
|
37
|
-
* @param {string} name - The name of the EVSE.
|
|
38
|
-
* @param {string} serial - The serial number of the EVSE.
|
|
39
|
-
* @param {number} [currentMode] - The current mode of the EnergyEvseMode cluster. Defaults to mode 1 (EnergyEvseMode.ModeTag.Manual).
|
|
40
|
-
* @param {EnergyEvseMode.ModeOption[]} [supportedModes] - The supported modes for the EnergyEvseMode cluster. This is a fixed attribute that defaults to a predefined set of EnergyEvseMode cluster modes.
|
|
41
|
-
* @param {EnergyEvse.State} [state] - The current state of the EVSE. Defaults to NotPluggedIn.
|
|
42
|
-
* @param {EnergyEvse.SupplyState} [supplyState] - The supply state of the EVSE. Defaults to Disabled.
|
|
43
|
-
* @param {EnergyEvse.FaultState} [faultState] - The fault state of the EVSE. Defaults to NoError.
|
|
44
|
-
* @param {number} [absMinPower=0] - Indicate the minimum electrical power that the ESA can consume when switched on. Defaults to `0` if not provided.
|
|
45
|
-
* @param {number} [absMaxPower=0] - Indicate the maximum electrical power that the ESA can consume when switched on. Defaults to `0` if not provided.
|
|
46
|
-
*/
|
|
47
10
|
constructor(name, serial, currentMode, supportedModes, state, supplyState, faultState, absMinPower, absMaxPower) {
|
|
48
11
|
super([evse, powerSource, electricalSensor, deviceEnergyManagement], { uniqueStorageKey: `${name.replaceAll(' ', '')}-${serial.replaceAll(' ', '')}` }, true);
|
|
49
12
|
this.createDefaultIdentifyClusterServer()
|
|
@@ -57,42 +20,29 @@ export class Evse extends MatterbridgeEndpoint {
|
|
|
57
20
|
.createDefaultEnergyEvseModeClusterServer(currentMode, supportedModes)
|
|
58
21
|
.addRequiredClusterServers();
|
|
59
22
|
}
|
|
60
|
-
/**
|
|
61
|
-
* Creates a default EnergyEvseServer Cluster Server.
|
|
62
|
-
*
|
|
63
|
-
*/
|
|
64
23
|
createDefaultEnergyEvseClusterServer(state, supplyState, faultState) {
|
|
65
24
|
this.behaviors.require(MatterbridgeEnergyEvseServer, {
|
|
66
25
|
state: state ?? EnergyEvse.State.NotPluggedIn,
|
|
67
26
|
supplyState: supplyState ?? EnergyEvse.SupplyState.ChargingEnabled,
|
|
68
27
|
faultState: faultState ?? EnergyEvse.FaultState.NoError,
|
|
69
|
-
chargingEnabledUntil: 0,
|
|
70
|
-
circuitCapacity: 0,
|
|
71
|
-
minimumChargeCurrent: 6000,
|
|
72
|
-
maximumChargeCurrent: 0,
|
|
73
|
-
sessionId: null,
|
|
74
|
-
sessionDuration: 0,
|
|
75
|
-
sessionEnergyCharged: 0,
|
|
28
|
+
chargingEnabledUntil: 0,
|
|
29
|
+
circuitCapacity: 0,
|
|
30
|
+
minimumChargeCurrent: 6000,
|
|
31
|
+
maximumChargeCurrent: 0,
|
|
32
|
+
sessionId: null,
|
|
33
|
+
sessionDuration: 0,
|
|
34
|
+
sessionEnergyCharged: 0,
|
|
76
35
|
});
|
|
77
36
|
return this;
|
|
78
37
|
}
|
|
79
|
-
/**
|
|
80
|
-
* Creates a default EnergyEvseMode Cluster Server.
|
|
81
|
-
*
|
|
82
|
-
* @param {number} [currentMode] - The current mode of the EnergyEvseMode cluster. Defaults to mode 1 (EnergyEvseMode.ModeTag.Manual).
|
|
83
|
-
* @param {EnergyEvseMode.ModeOption[]} [supportedModes] - The supported modes for the EnergyEvseMode cluster. Defaults all EnergyEvseMode cluster modes.
|
|
84
|
-
*
|
|
85
|
-
* @returns {this} The current MatterbridgeEndpoint instance for chaining.
|
|
86
|
-
*/
|
|
87
38
|
createDefaultEnergyEvseModeClusterServer(currentMode, supportedModes) {
|
|
88
39
|
this.behaviors.require(MatterbridgeEnergyEvseModeServer, {
|
|
89
40
|
supportedModes: supportedModes ?? [
|
|
90
41
|
{ label: 'On demand', mode: 1, modeTags: [{ value: EnergyEvseMode.ModeTag.Manual }] },
|
|
91
42
|
{ label: 'Scheduled', mode: 2, modeTags: [{ value: EnergyEvseMode.ModeTag.TimeOfUse }] },
|
|
92
43
|
{ label: 'Solar charging', mode: 3, modeTags: [{ value: EnergyEvseMode.ModeTag.SolarCharging }] },
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
currentMode: currentMode ?? 1, // Persistent attribute
|
|
44
|
+
],
|
|
45
|
+
currentMode: currentMode ?? 1,
|
|
96
46
|
});
|
|
97
47
|
return this;
|
|
98
48
|
}
|
|
@@ -108,8 +58,6 @@ export class MatterbridgeEnergyEvseServer extends EnergyEvseServer {
|
|
|
108
58
|
this.state.state = EnergyEvse.State.PluggedInDemand;
|
|
109
59
|
}
|
|
110
60
|
this.state.chargingEnabledUntil = 0;
|
|
111
|
-
// super.disable();
|
|
112
|
-
// disable is not implemented in matter.js
|
|
113
61
|
}
|
|
114
62
|
enableCharging(request) {
|
|
115
63
|
const device = this.endpoint.stateOf(MatterbridgeServer);
|
|
@@ -123,9 +71,6 @@ export class MatterbridgeEnergyEvseServer extends EnergyEvseServer {
|
|
|
123
71
|
this.state.chargingEnabledUntil = request.chargingEnabledUntil;
|
|
124
72
|
this.state.minimumChargeCurrent = request.minimumChargeCurrent;
|
|
125
73
|
this.state.maximumChargeCurrent = request.maximumChargeCurrent;
|
|
126
|
-
// The implementation should also stop the charging session at the required time and update the sessionId, sessionDuration, and sessionEnergyCharged attributes if needed.
|
|
127
|
-
// super.enableCharging();
|
|
128
|
-
// enableCharging is not implemented in matter.js
|
|
129
74
|
}
|
|
130
75
|
}
|
|
131
76
|
export class MatterbridgeEnergyEvseModeServer extends EnergyEvseModeServer {
|
|
@@ -143,4 +88,3 @@ export class MatterbridgeEnergyEvseModeServer extends EnergyEvseModeServer {
|
|
|
143
88
|
return { status: ModeBase.ModeChangeStatus.Success, statusText: 'Success' };
|
|
144
89
|
}
|
|
145
90
|
}
|
|
146
|
-
//# sourceMappingURL=evse.js.map
|