@enyo-energy/energy-app-sdk 1.32.0 → 1.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/cjs/types/enyo-charger-appliance.d.cts +57 -0
- package/dist/cjs/types/enyo-data-bus-value.cjs +18 -1
- package/dist/cjs/types/enyo-data-bus-value.d.cts +27 -2
- package/dist/cjs/types/enyo-vehicle.d.cts +37 -0
- package/dist/cjs/version.cjs +1 -1
- package/dist/cjs/version.d.cts +1 -1
- package/dist/types/enyo-charger-appliance.d.ts +57 -0
- package/dist/types/enyo-data-bus-value.d.ts +27 -2
- package/dist/types/enyo-data-bus-value.js +18 -1
- package/dist/types/enyo-vehicle.d.ts +37 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -829,6 +829,9 @@ vehicle?.priceLimitMode; // how the ceiling is expressed, or none
|
|
|
829
829
|
vehicle?.priceLimitCtPerKwh; // ct/kWh ceiling, under 'ct-per-kwh'
|
|
830
830
|
vehicle?.priceLimitSharePercent; // cheapest n % of the day, under 'cheapest-share'
|
|
831
831
|
vehicle?.immediateReserveKwh; // full-power reserve before any mode
|
|
832
|
+
vehicle?.minChargingCurrentAmpere; // lowest current per phase the car accepts
|
|
833
|
+
vehicle?.cannotBePaused; // true: never pause a started session
|
|
834
|
+
vehicle?.phaseSwitchDisabled; // true: never switch phases while charging
|
|
832
835
|
vehicle?.departureTimeHHmm; // daily deadline, wall-clock "07:30"
|
|
833
836
|
vehicle?.departureTimezone; // IANA zone the time is read in
|
|
834
837
|
|
|
@@ -4327,6 +4330,10 @@ New reason types came with this surface, so a skipped row can say *why* instead
|
|
|
4327
4330
|
- `ElectricityPriceBelowThreshold` on a grid charge — the buy and the peak it is for: "Charging at 33.6 ct for the 17:00 peak at 43.7 ct."
|
|
4328
4331
|
- `ScheduledOptimization` on a price hold (`Discharge 0`) — `sellStartIso` / `sellPricePerKwh`: "Stored energy kept for 17:00 (43.7 ct)." Not `ElectricityPriceBelowThreshold`, which would say power is cheap for a command that stops the battery.
|
|
4329
4332
|
|
|
4333
|
+
**Not enough power to start.** `BelowMinPower` (category `Contention`) carries `powerW` for the power that was available and `minPowerW` for the minimum the appliance needs to start — e.g. "Only 4.1 kW left — needs at least 4.2 kW to start."
|
|
4334
|
+
|
|
4335
|
+
**Left to its own control.** When the energy manager deliberately does not steer an appliance — e.g. a heat pump left alone at night on a static tariff — it states `SelfManaged` (category `Other`). This is the manager's choice not to steer, not the appliance overriding a plan (`ApplianceInitiatedDraw`) or declining power (`AppliancePaused`).
|
|
4336
|
+
|
|
4330
4337
|
**Installation limits.** Power capped by a limit the owner or installer set — not the grid operator — carries `InstallationLimit` (category `Contention`) with `powerW` set to the ceiling and `context.installationLimit` = `{source, limitW}`, where `source` is `EnyoInstallationLimitSourceEnum.DesiredGridLimit` (`desiredKwLimit`) or `ChargerLimit` (`chargerLimitW`). `limitW` is in **W** even for the desired limit, which is configured in kW. `GridOperatorPowerLimitationActive` stays reserved for limits the grid operator imposed.
|
|
4331
4338
|
|
|
4332
4339
|
**Grid-optimised charging.** A cost-optimised session placed in, or waiting for, a low-load hour because of `gridOptimizedEvCharging` carries `GridLoadOptimized` (category `Schedule`) with `context.placement` (chosen window and deadline) and `context.gridLoad` (`epexPricePerKwh`, `currency`). The EPEX price is a grid-load proxy, not what the customer pays, so the text must not promise a saving — e.g. "Charging from 02:00, when the grid is less busy — ready by 07:00."
|
|
@@ -143,6 +143,43 @@ export interface EnyoChargerApplianceMetadata {
|
|
|
143
143
|
* cannot switch phases.
|
|
144
144
|
*/
|
|
145
145
|
phaseSwitchThresholdKw?: number;
|
|
146
|
+
/**
|
|
147
|
+
* Lowest charging current, in Amperes per phase, the charger can hold a
|
|
148
|
+
* session at — typically `6` (the IEC 61851 minimum), higher on chargers
|
|
149
|
+
* that cannot regulate down that far.
|
|
150
|
+
*
|
|
151
|
+
* The EMS must not issue a non-zero current limit below it; a session is
|
|
152
|
+
* held at the higher of this value and the vehicle's
|
|
153
|
+
* {@link EnyoVehicle.minChargingCurrentAmpere}. Omit when unknown.
|
|
154
|
+
*/
|
|
155
|
+
minChargingCurrentAmpere?: number;
|
|
156
|
+
/**
|
|
157
|
+
* Whether a charging session on this charger must not be paused once it
|
|
158
|
+
* has started — e.g. chargers that end the session or need a re-plug
|
|
159
|
+
* when the current is set to `0`.
|
|
160
|
+
*
|
|
161
|
+
* When `true`, the EMS must not pause the session (setpoint `0`) but hold
|
|
162
|
+
* it at least at its minimum current until it is complete. Applies if
|
|
163
|
+
* either this or the vehicle's {@link EnyoVehicle.cannotBePaused} is
|
|
164
|
+
* `true`. Omitted means `false`.
|
|
165
|
+
*
|
|
166
|
+
* @default false
|
|
167
|
+
*/
|
|
168
|
+
cannotBePaused?: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Whether the EMS must not switch phases (1 ↔ 3) on this charger, even
|
|
171
|
+
* though the hardware supports it (see {@link availablePhases}) — e.g.
|
|
172
|
+
* because the installer disabled it or switching proved unreliable.
|
|
173
|
+
*
|
|
174
|
+
* When `true`, sessions stay in the phase configuration they started in,
|
|
175
|
+
* and {@link phaseSwitchThresholdKw}, {@link phaseSwitchDelaySeconds} and
|
|
176
|
+
* {@link phaseSwitchIntervalSeconds} are not used. Applies if either this
|
|
177
|
+
* or the vehicle's {@link EnyoVehicle.phaseSwitchDisabled} is `true`.
|
|
178
|
+
* Omitted means `false`.
|
|
179
|
+
*
|
|
180
|
+
* @default false
|
|
181
|
+
*/
|
|
182
|
+
phaseSwitchDisabled?: boolean;
|
|
146
183
|
/**
|
|
147
184
|
* Granularity, in Amperes, at which the charging current limit can be set
|
|
148
185
|
* on this charger. Any current limit the EMS issues should be a multiple of
|
|
@@ -166,6 +203,26 @@ export interface EnyoChargerApplianceMetadata {
|
|
|
166
203
|
* `ThreeToOnePhaseSwitch` feature)
|
|
167
204
|
*/
|
|
168
205
|
availablePhases?: EnyoChargerAppliancePhase[];
|
|
206
|
+
/**
|
|
207
|
+
* Time, in seconds, the charger needs to carry out a phase switch after it
|
|
208
|
+
* has been triggered (e.g. 1 → 3 phases or 3 → 1 phase).
|
|
209
|
+
*
|
|
210
|
+
* During this delay the charger is still operating in the previous phase
|
|
211
|
+
* configuration; the EMS should not expect the new phase count to be in
|
|
212
|
+
* effect until it has elapsed. Only meaningful on chargers that can switch
|
|
213
|
+
* phases (see {@link availablePhases}). Omit when unknown.
|
|
214
|
+
*/
|
|
215
|
+
phaseSwitchDelaySeconds?: number;
|
|
216
|
+
/**
|
|
217
|
+
* Minimum time, in seconds, the charger has to stay in a phase
|
|
218
|
+
* configuration after a phase switch before another phase switch is
|
|
219
|
+
* possible.
|
|
220
|
+
*
|
|
221
|
+
* The EMS must not trigger a new phase switch until this interval has
|
|
222
|
+
* passed since the last switch. Only meaningful on chargers that can switch
|
|
223
|
+
* phases (see {@link availablePhases}). Omit when unknown.
|
|
224
|
+
*/
|
|
225
|
+
phaseSwitchIntervalSeconds?: number;
|
|
169
226
|
/**
|
|
170
227
|
* Whether the energy manager is allowed to actively control (steer) this
|
|
171
228
|
* charger. When `false`, the charger is treated as read-only/monitor-only
|
|
@@ -213,7 +213,11 @@ var EnyoDataBusCommandReasonTypeEnum;
|
|
|
213
213
|
/**
|
|
214
214
|
* There is power available, but less than the appliance's minimum operating
|
|
215
215
|
* point — switching it on would not be executable.
|
|
216
|
-
*
|
|
216
|
+
*
|
|
217
|
+
* Set {@link EnyoDataBusCommandReason.powerW} to the power that was
|
|
218
|
+
* available and {@link EnyoDataBusCommandReason.minPowerW} to the minimum
|
|
219
|
+
* the appliance needs to start, so the text can say "Only 4.1 kW left —
|
|
220
|
+
* needs at least 4.2 kW to start."
|
|
217
221
|
*/
|
|
218
222
|
EnyoDataBusCommandReasonTypeEnum["BelowMinPower"] = "below-min-power";
|
|
219
223
|
/**
|
|
@@ -407,6 +411,19 @@ var EnyoDataBusCommandReasonTypeEnum;
|
|
|
407
411
|
* Category {@link EnyoDataBusCommandReasonCategoryEnum.Contention}.
|
|
408
412
|
*/
|
|
409
413
|
EnyoDataBusCommandReasonTypeEnum["InstallationLimit"] = "installation-limit";
|
|
414
|
+
/**
|
|
415
|
+
* The appliance runs on its own control: the energy manager deliberately
|
|
416
|
+
* leaves it alone and issues no setpoint — e.g. a heat pump left to its
|
|
417
|
+
* own logic at night on a static tariff, where there is no cheaper hour to
|
|
418
|
+
* shift into and no PV surplus to use.
|
|
419
|
+
*
|
|
420
|
+
* A statement that the manager chose not to steer, not that the appliance
|
|
421
|
+
* overrode a plan: told apart from {@link ApplianceInitiatedDraw} (the
|
|
422
|
+
* appliance drew outside an allocation) and {@link AppliancePaused} (the
|
|
423
|
+
* appliance declined power it was given). Category
|
|
424
|
+
* {@link EnyoDataBusCommandReasonCategoryEnum.Other}.
|
|
425
|
+
*/
|
|
426
|
+
EnyoDataBusCommandReasonTypeEnum["SelfManaged"] = "self-managed";
|
|
410
427
|
})(EnyoDataBusCommandReasonTypeEnum || (exports.EnyoDataBusCommandReasonTypeEnum = EnyoDataBusCommandReasonTypeEnum = {}));
|
|
411
428
|
/**
|
|
412
429
|
* Coarse, machine-readable grouping of why a data bus command was issued.
|
|
@@ -229,7 +229,11 @@ export declare enum EnyoDataBusCommandReasonTypeEnum {
|
|
|
229
229
|
/**
|
|
230
230
|
* There is power available, but less than the appliance's minimum operating
|
|
231
231
|
* point — switching it on would not be executable.
|
|
232
|
-
*
|
|
232
|
+
*
|
|
233
|
+
* Set {@link EnyoDataBusCommandReason.powerW} to the power that was
|
|
234
|
+
* available and {@link EnyoDataBusCommandReason.minPowerW} to the minimum
|
|
235
|
+
* the appliance needs to start, so the text can say "Only 4.1 kW left —
|
|
236
|
+
* needs at least 4.2 kW to start."
|
|
233
237
|
*/
|
|
234
238
|
BelowMinPower = "below-min-power",
|
|
235
239
|
/**
|
|
@@ -422,7 +426,20 @@ export declare enum EnyoDataBusCommandReasonTypeEnum {
|
|
|
422
426
|
* {@link GridOperatorPowerLimitationActive}, which would be untrue here.
|
|
423
427
|
* Category {@link EnyoDataBusCommandReasonCategoryEnum.Contention}.
|
|
424
428
|
*/
|
|
425
|
-
InstallationLimit = "installation-limit"
|
|
429
|
+
InstallationLimit = "installation-limit",
|
|
430
|
+
/**
|
|
431
|
+
* The appliance runs on its own control: the energy manager deliberately
|
|
432
|
+
* leaves it alone and issues no setpoint — e.g. a heat pump left to its
|
|
433
|
+
* own logic at night on a static tariff, where there is no cheaper hour to
|
|
434
|
+
* shift into and no PV surplus to use.
|
|
435
|
+
*
|
|
436
|
+
* A statement that the manager chose not to steer, not that the appliance
|
|
437
|
+
* overrode a plan: told apart from {@link ApplianceInitiatedDraw} (the
|
|
438
|
+
* appliance drew outside an allocation) and {@link AppliancePaused} (the
|
|
439
|
+
* appliance declined power it was given). Category
|
|
440
|
+
* {@link EnyoDataBusCommandReasonCategoryEnum.Other}.
|
|
441
|
+
*/
|
|
442
|
+
SelfManaged = "self-managed"
|
|
426
443
|
}
|
|
427
444
|
/**
|
|
428
445
|
* Coarse, machine-readable grouping of why a data bus command was issued.
|
|
@@ -483,6 +500,14 @@ export interface EnyoDataBusCommandReason {
|
|
|
483
500
|
capacityKwh?: number;
|
|
484
501
|
/** Relevant power in Watts */
|
|
485
502
|
powerW?: number;
|
|
503
|
+
/**
|
|
504
|
+
* Minimum power, in Watts, the appliance needs to start or keep running.
|
|
505
|
+
*
|
|
506
|
+
* Set on {@link EnyoDataBusCommandReasonTypeEnum.BelowMinPower} alongside
|
|
507
|
+
* {@link powerW} (the power that was available), so the text can contrast
|
|
508
|
+
* the two: "Only 4.1 kW left — needs at least 4.2 kW to start."
|
|
509
|
+
*/
|
|
510
|
+
minPowerW?: number;
|
|
486
511
|
/** Relevant energy in Watt hours */
|
|
487
512
|
powerWh?: number;
|
|
488
513
|
/** Relevant temperature in Celsius (e.g. heatpump-driven reasons) */
|
|
@@ -47,6 +47,43 @@ export interface EnyoVehicle {
|
|
|
47
47
|
maxChargingPowerKw?: number;
|
|
48
48
|
/** How many phases the car charges over — typically `1` or `3`. */
|
|
49
49
|
numberOfPhases?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Lowest charging current, in Amperes per phase, the car accepts — e.g.
|
|
52
|
+
* `6` (the IEC 61851 minimum) or higher for cars that drop out of a
|
|
53
|
+
* session below a certain current.
|
|
54
|
+
*
|
|
55
|
+
* The EMS must not issue a non-zero current limit below it; a session is
|
|
56
|
+
* held at the higher of this value and the wallbox's
|
|
57
|
+
* {@link EnyoChargerApplianceMetadata.minChargingCurrentAmpere}. Omit when
|
|
58
|
+
* the car has no minimum beyond the wallbox's.
|
|
59
|
+
*/
|
|
60
|
+
minChargingCurrentAmpere?: number;
|
|
61
|
+
/**
|
|
62
|
+
* Whether a charging session of this car must not be paused once it has
|
|
63
|
+
* started — some cars stop responding or end the session when charging
|
|
64
|
+
* is paused and do not resume on their own.
|
|
65
|
+
*
|
|
66
|
+
* When `true`, the EMS must not pause the session (setpoint `0`) but hold
|
|
67
|
+
* it at least at its minimum current until it is complete. Applies if
|
|
68
|
+
* either this or the wallbox's
|
|
69
|
+
* {@link EnyoChargerApplianceMetadata.cannotBePaused} is `true`. Omitted
|
|
70
|
+
* means `false`.
|
|
71
|
+
*
|
|
72
|
+
* @default false
|
|
73
|
+
*/
|
|
74
|
+
cannotBePaused?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Whether the EMS must not switch phases (1 ↔ 3) while this car charges —
|
|
77
|
+
* some cars abort the session or fault on a phase switch.
|
|
78
|
+
*
|
|
79
|
+
* When `true`, a session stays in the phase configuration it started in.
|
|
80
|
+
* Applies if either this or the wallbox's
|
|
81
|
+
* {@link EnyoChargerApplianceMetadata.phaseSwitchDisabled} is `true`.
|
|
82
|
+
* Omitted means `false`.
|
|
83
|
+
*
|
|
84
|
+
* @default false
|
|
85
|
+
*/
|
|
86
|
+
phaseSwitchDisabled?: boolean;
|
|
50
87
|
/** Target state of charge for every session, in percent (0-100). */
|
|
51
88
|
defaultChargeLimitPercent?: number;
|
|
52
89
|
/** The mode applied whenever this vehicle is recognised or picked. */
|
package/dist/cjs/version.cjs
CHANGED
|
@@ -9,7 +9,7 @@ exports.getSdkVersion = getSdkVersion;
|
|
|
9
9
|
/**
|
|
10
10
|
* Current version of the enyo Energy App SDK.
|
|
11
11
|
*/
|
|
12
|
-
exports.SDK_VERSION = '1.
|
|
12
|
+
exports.SDK_VERSION = '1.33.0';
|
|
13
13
|
/**
|
|
14
14
|
* Gets the current SDK version.
|
|
15
15
|
* @returns The semantic version string of the SDK
|
package/dist/cjs/version.d.cts
CHANGED
|
@@ -143,6 +143,43 @@ export interface EnyoChargerApplianceMetadata {
|
|
|
143
143
|
* cannot switch phases.
|
|
144
144
|
*/
|
|
145
145
|
phaseSwitchThresholdKw?: number;
|
|
146
|
+
/**
|
|
147
|
+
* Lowest charging current, in Amperes per phase, the charger can hold a
|
|
148
|
+
* session at — typically `6` (the IEC 61851 minimum), higher on chargers
|
|
149
|
+
* that cannot regulate down that far.
|
|
150
|
+
*
|
|
151
|
+
* The EMS must not issue a non-zero current limit below it; a session is
|
|
152
|
+
* held at the higher of this value and the vehicle's
|
|
153
|
+
* {@link EnyoVehicle.minChargingCurrentAmpere}. Omit when unknown.
|
|
154
|
+
*/
|
|
155
|
+
minChargingCurrentAmpere?: number;
|
|
156
|
+
/**
|
|
157
|
+
* Whether a charging session on this charger must not be paused once it
|
|
158
|
+
* has started — e.g. chargers that end the session or need a re-plug
|
|
159
|
+
* when the current is set to `0`.
|
|
160
|
+
*
|
|
161
|
+
* When `true`, the EMS must not pause the session (setpoint `0`) but hold
|
|
162
|
+
* it at least at its minimum current until it is complete. Applies if
|
|
163
|
+
* either this or the vehicle's {@link EnyoVehicle.cannotBePaused} is
|
|
164
|
+
* `true`. Omitted means `false`.
|
|
165
|
+
*
|
|
166
|
+
* @default false
|
|
167
|
+
*/
|
|
168
|
+
cannotBePaused?: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Whether the EMS must not switch phases (1 ↔ 3) on this charger, even
|
|
171
|
+
* though the hardware supports it (see {@link availablePhases}) — e.g.
|
|
172
|
+
* because the installer disabled it or switching proved unreliable.
|
|
173
|
+
*
|
|
174
|
+
* When `true`, sessions stay in the phase configuration they started in,
|
|
175
|
+
* and {@link phaseSwitchThresholdKw}, {@link phaseSwitchDelaySeconds} and
|
|
176
|
+
* {@link phaseSwitchIntervalSeconds} are not used. Applies if either this
|
|
177
|
+
* or the vehicle's {@link EnyoVehicle.phaseSwitchDisabled} is `true`.
|
|
178
|
+
* Omitted means `false`.
|
|
179
|
+
*
|
|
180
|
+
* @default false
|
|
181
|
+
*/
|
|
182
|
+
phaseSwitchDisabled?: boolean;
|
|
146
183
|
/**
|
|
147
184
|
* Granularity, in Amperes, at which the charging current limit can be set
|
|
148
185
|
* on this charger. Any current limit the EMS issues should be a multiple of
|
|
@@ -166,6 +203,26 @@ export interface EnyoChargerApplianceMetadata {
|
|
|
166
203
|
* `ThreeToOnePhaseSwitch` feature)
|
|
167
204
|
*/
|
|
168
205
|
availablePhases?: EnyoChargerAppliancePhase[];
|
|
206
|
+
/**
|
|
207
|
+
* Time, in seconds, the charger needs to carry out a phase switch after it
|
|
208
|
+
* has been triggered (e.g. 1 → 3 phases or 3 → 1 phase).
|
|
209
|
+
*
|
|
210
|
+
* During this delay the charger is still operating in the previous phase
|
|
211
|
+
* configuration; the EMS should not expect the new phase count to be in
|
|
212
|
+
* effect until it has elapsed. Only meaningful on chargers that can switch
|
|
213
|
+
* phases (see {@link availablePhases}). Omit when unknown.
|
|
214
|
+
*/
|
|
215
|
+
phaseSwitchDelaySeconds?: number;
|
|
216
|
+
/**
|
|
217
|
+
* Minimum time, in seconds, the charger has to stay in a phase
|
|
218
|
+
* configuration after a phase switch before another phase switch is
|
|
219
|
+
* possible.
|
|
220
|
+
*
|
|
221
|
+
* The EMS must not trigger a new phase switch until this interval has
|
|
222
|
+
* passed since the last switch. Only meaningful on chargers that can switch
|
|
223
|
+
* phases (see {@link availablePhases}). Omit when unknown.
|
|
224
|
+
*/
|
|
225
|
+
phaseSwitchIntervalSeconds?: number;
|
|
169
226
|
/**
|
|
170
227
|
* Whether the energy manager is allowed to actively control (steer) this
|
|
171
228
|
* charger. When `false`, the charger is treated as read-only/monitor-only
|
|
@@ -229,7 +229,11 @@ export declare enum EnyoDataBusCommandReasonTypeEnum {
|
|
|
229
229
|
/**
|
|
230
230
|
* There is power available, but less than the appliance's minimum operating
|
|
231
231
|
* point — switching it on would not be executable.
|
|
232
|
-
*
|
|
232
|
+
*
|
|
233
|
+
* Set {@link EnyoDataBusCommandReason.powerW} to the power that was
|
|
234
|
+
* available and {@link EnyoDataBusCommandReason.minPowerW} to the minimum
|
|
235
|
+
* the appliance needs to start, so the text can say "Only 4.1 kW left —
|
|
236
|
+
* needs at least 4.2 kW to start."
|
|
233
237
|
*/
|
|
234
238
|
BelowMinPower = "below-min-power",
|
|
235
239
|
/**
|
|
@@ -422,7 +426,20 @@ export declare enum EnyoDataBusCommandReasonTypeEnum {
|
|
|
422
426
|
* {@link GridOperatorPowerLimitationActive}, which would be untrue here.
|
|
423
427
|
* Category {@link EnyoDataBusCommandReasonCategoryEnum.Contention}.
|
|
424
428
|
*/
|
|
425
|
-
InstallationLimit = "installation-limit"
|
|
429
|
+
InstallationLimit = "installation-limit",
|
|
430
|
+
/**
|
|
431
|
+
* The appliance runs on its own control: the energy manager deliberately
|
|
432
|
+
* leaves it alone and issues no setpoint — e.g. a heat pump left to its
|
|
433
|
+
* own logic at night on a static tariff, where there is no cheaper hour to
|
|
434
|
+
* shift into and no PV surplus to use.
|
|
435
|
+
*
|
|
436
|
+
* A statement that the manager chose not to steer, not that the appliance
|
|
437
|
+
* overrode a plan: told apart from {@link ApplianceInitiatedDraw} (the
|
|
438
|
+
* appliance drew outside an allocation) and {@link AppliancePaused} (the
|
|
439
|
+
* appliance declined power it was given). Category
|
|
440
|
+
* {@link EnyoDataBusCommandReasonCategoryEnum.Other}.
|
|
441
|
+
*/
|
|
442
|
+
SelfManaged = "self-managed"
|
|
426
443
|
}
|
|
427
444
|
/**
|
|
428
445
|
* Coarse, machine-readable grouping of why a data bus command was issued.
|
|
@@ -483,6 +500,14 @@ export interface EnyoDataBusCommandReason {
|
|
|
483
500
|
capacityKwh?: number;
|
|
484
501
|
/** Relevant power in Watts */
|
|
485
502
|
powerW?: number;
|
|
503
|
+
/**
|
|
504
|
+
* Minimum power, in Watts, the appliance needs to start or keep running.
|
|
505
|
+
*
|
|
506
|
+
* Set on {@link EnyoDataBusCommandReasonTypeEnum.BelowMinPower} alongside
|
|
507
|
+
* {@link powerW} (the power that was available), so the text can contrast
|
|
508
|
+
* the two: "Only 4.1 kW left — needs at least 4.2 kW to start."
|
|
509
|
+
*/
|
|
510
|
+
minPowerW?: number;
|
|
486
511
|
/** Relevant energy in Watt hours */
|
|
487
512
|
powerWh?: number;
|
|
488
513
|
/** Relevant temperature in Celsius (e.g. heatpump-driven reasons) */
|
|
@@ -210,7 +210,11 @@ export var EnyoDataBusCommandReasonTypeEnum;
|
|
|
210
210
|
/**
|
|
211
211
|
* There is power available, but less than the appliance's minimum operating
|
|
212
212
|
* point — switching it on would not be executable.
|
|
213
|
-
*
|
|
213
|
+
*
|
|
214
|
+
* Set {@link EnyoDataBusCommandReason.powerW} to the power that was
|
|
215
|
+
* available and {@link EnyoDataBusCommandReason.minPowerW} to the minimum
|
|
216
|
+
* the appliance needs to start, so the text can say "Only 4.1 kW left —
|
|
217
|
+
* needs at least 4.2 kW to start."
|
|
214
218
|
*/
|
|
215
219
|
EnyoDataBusCommandReasonTypeEnum["BelowMinPower"] = "below-min-power";
|
|
216
220
|
/**
|
|
@@ -404,6 +408,19 @@ export var EnyoDataBusCommandReasonTypeEnum;
|
|
|
404
408
|
* Category {@link EnyoDataBusCommandReasonCategoryEnum.Contention}.
|
|
405
409
|
*/
|
|
406
410
|
EnyoDataBusCommandReasonTypeEnum["InstallationLimit"] = "installation-limit";
|
|
411
|
+
/**
|
|
412
|
+
* The appliance runs on its own control: the energy manager deliberately
|
|
413
|
+
* leaves it alone and issues no setpoint — e.g. a heat pump left to its
|
|
414
|
+
* own logic at night on a static tariff, where there is no cheaper hour to
|
|
415
|
+
* shift into and no PV surplus to use.
|
|
416
|
+
*
|
|
417
|
+
* A statement that the manager chose not to steer, not that the appliance
|
|
418
|
+
* overrode a plan: told apart from {@link ApplianceInitiatedDraw} (the
|
|
419
|
+
* appliance drew outside an allocation) and {@link AppliancePaused} (the
|
|
420
|
+
* appliance declined power it was given). Category
|
|
421
|
+
* {@link EnyoDataBusCommandReasonCategoryEnum.Other}.
|
|
422
|
+
*/
|
|
423
|
+
EnyoDataBusCommandReasonTypeEnum["SelfManaged"] = "self-managed";
|
|
407
424
|
})(EnyoDataBusCommandReasonTypeEnum || (EnyoDataBusCommandReasonTypeEnum = {}));
|
|
408
425
|
/**
|
|
409
426
|
* Coarse, machine-readable grouping of why a data bus command was issued.
|
|
@@ -47,6 +47,43 @@ export interface EnyoVehicle {
|
|
|
47
47
|
maxChargingPowerKw?: number;
|
|
48
48
|
/** How many phases the car charges over — typically `1` or `3`. */
|
|
49
49
|
numberOfPhases?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Lowest charging current, in Amperes per phase, the car accepts — e.g.
|
|
52
|
+
* `6` (the IEC 61851 minimum) or higher for cars that drop out of a
|
|
53
|
+
* session below a certain current.
|
|
54
|
+
*
|
|
55
|
+
* The EMS must not issue a non-zero current limit below it; a session is
|
|
56
|
+
* held at the higher of this value and the wallbox's
|
|
57
|
+
* {@link EnyoChargerApplianceMetadata.minChargingCurrentAmpere}. Omit when
|
|
58
|
+
* the car has no minimum beyond the wallbox's.
|
|
59
|
+
*/
|
|
60
|
+
minChargingCurrentAmpere?: number;
|
|
61
|
+
/**
|
|
62
|
+
* Whether a charging session of this car must not be paused once it has
|
|
63
|
+
* started — some cars stop responding or end the session when charging
|
|
64
|
+
* is paused and do not resume on their own.
|
|
65
|
+
*
|
|
66
|
+
* When `true`, the EMS must not pause the session (setpoint `0`) but hold
|
|
67
|
+
* it at least at its minimum current until it is complete. Applies if
|
|
68
|
+
* either this or the wallbox's
|
|
69
|
+
* {@link EnyoChargerApplianceMetadata.cannotBePaused} is `true`. Omitted
|
|
70
|
+
* means `false`.
|
|
71
|
+
*
|
|
72
|
+
* @default false
|
|
73
|
+
*/
|
|
74
|
+
cannotBePaused?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Whether the EMS must not switch phases (1 ↔ 3) while this car charges —
|
|
77
|
+
* some cars abort the session or fault on a phase switch.
|
|
78
|
+
*
|
|
79
|
+
* When `true`, a session stays in the phase configuration it started in.
|
|
80
|
+
* Applies if either this or the wallbox's
|
|
81
|
+
* {@link EnyoChargerApplianceMetadata.phaseSwitchDisabled} is `true`.
|
|
82
|
+
* Omitted means `false`.
|
|
83
|
+
*
|
|
84
|
+
* @default false
|
|
85
|
+
*/
|
|
86
|
+
phaseSwitchDisabled?: boolean;
|
|
50
87
|
/** Target state of charge for every session, in percent (0-100). */
|
|
51
88
|
defaultChargeLimitPercent?: number;
|
|
52
89
|
/** The mode applied whenever this vehicle is recognised or picked. */
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED