@enyo-energy/energy-app-sdk 1.27.0 → 1.28.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 +12 -1
- package/dist/cjs/types/enyo-data-bus-value.cjs +13 -0
- package/dist/cjs/types/enyo-data-bus-value.d.cts +13 -0
- package/dist/cjs/types/enyo-electricity-tariff.d.cts +13 -0
- package/dist/cjs/version.cjs +1 -1
- package/dist/cjs/version.d.cts +1 -1
- package/dist/types/enyo-data-bus-value.d.ts +13 -0
- package/dist/types/enyo-data-bus-value.js +13 -0
- package/dist/types/enyo-electricity-tariff.d.ts +13 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1759,8 +1759,17 @@ An entry may carry an optional `gridFeeGrossPerKwh`: the gross grid fee **contai
|
|
|
1759
1759
|
`pricePerKwh`, in currency units per kWh. It is a breakdown only — `pricePerKwh` is always the
|
|
1760
1760
|
total, so never compute `pricePerKwh + gridFeeGrossPerKwh`.
|
|
1761
1761
|
|
|
1762
|
+
It may also carry an optional `spotPricePerKwh`: the net wholesale (e.g. EPEX day-ahead) price the
|
|
1763
|
+
interval's price is based on, as the provider reports it — in currency units per kWh, possibly negative.
|
|
1764
|
+
Informational too: never add it to `pricePerKwh`.
|
|
1765
|
+
|
|
1762
1766
|
```typescript
|
|
1763
|
-
entries.push({
|
|
1767
|
+
entries.push({
|
|
1768
|
+
timestampIso: '2026-05-23T10:00:00Z',
|
|
1769
|
+
pricePerKwh: 0.31,
|
|
1770
|
+
gridFeeGrossPerKwh: 0.09,
|
|
1771
|
+
spotPricePerKwh: 0.084,
|
|
1772
|
+
});
|
|
1764
1773
|
```
|
|
1765
1774
|
|
|
1766
1775
|
**Calling `setTariff` is the activation signal.** Return `AuthenticationRequired` or
|
|
@@ -4175,6 +4184,8 @@ New reason types came with this surface, so a skipped row can say *why* instead
|
|
|
4175
4184
|
|
|
4176
4185
|
A hold that keeps an appliance **off** after a stop has its own type, `RestartDelay` (category `DeviceProtection`): set `context.switching` with `hold: KeptOff`, `minOffSeconds` and `untilIso` (when it may restart), and `powerW` to the power waiting for it — e.g. "Short pause after switching off — charging resumes at 13:15 so the car isn't switched on and off too often."
|
|
4177
4186
|
|
|
4187
|
+
**Fluctuating PV surplus.** When the surplus jumps around (clouds passing) and the energy manager holds an appliance's power steady instead of following every dip, state `PvSurplusFluctuating` (category `PvSurplus`) with `powerW` set to the power being held — e.g. "Charging power held steady while clouds pass." / "Ladeleistung wird gehalten, solange Wolken durchziehen." It is a smoothing decision, told apart from `PvSurplusAvailable` / `PvSurplusUnavailable`.
|
|
4188
|
+
|
|
4178
4189
|
## Dynamic Grid Fees & Tariff Bonuses
|
|
4179
4190
|
|
|
4180
4191
|
An electricity price is rarely one number. It is the energy price, plus the grid operator's network
|
|
@@ -38,6 +38,19 @@ var EnyoDataBusCommandReasonTypeEnum;
|
|
|
38
38
|
* saying "elsewhere".
|
|
39
39
|
*/
|
|
40
40
|
EnyoDataBusCommandReasonTypeEnum["PvSurplusAllocatedElsewhere"] = "pv-surplus-allocated-elsewhere";
|
|
41
|
+
/**
|
|
42
|
+
* The PV surplus is fluctuating (e.g. clouds passing) and the energy manager
|
|
43
|
+
* deliberately holds the appliance's power steady instead of following
|
|
44
|
+
* every dip and peak — "Ladeleistung wird gehalten, solange Wolken
|
|
45
|
+
* durchziehen." / "Charging power held steady while clouds pass."
|
|
46
|
+
*
|
|
47
|
+
* Says the command is a smoothing decision, not a reaction to the surplus
|
|
48
|
+
* being there or gone: told apart from {@link PvSurplusAvailable} and
|
|
49
|
+
* {@link PvSurplusUnavailable}. Set {@link EnyoDataBusCommandReason.powerW}
|
|
50
|
+
* to the power being held. Category
|
|
51
|
+
* {@link EnyoDataBusCommandReasonCategoryEnum.PvSurplus}.
|
|
52
|
+
*/
|
|
53
|
+
EnyoDataBusCommandReasonTypeEnum["PvSurplusFluctuating"] = "pv-surplus-fluctuating";
|
|
41
54
|
/** Command issued because battery capacity is available */
|
|
42
55
|
EnyoDataBusCommandReasonTypeEnum["BatteryCapacityAvailable"] = "battery-capacity-available";
|
|
43
56
|
/** Command issued because battery capacity is unavailable */
|
|
@@ -54,6 +54,19 @@ export declare enum EnyoDataBusCommandReasonTypeEnum {
|
|
|
54
54
|
* saying "elsewhere".
|
|
55
55
|
*/
|
|
56
56
|
PvSurplusAllocatedElsewhere = "pv-surplus-allocated-elsewhere",
|
|
57
|
+
/**
|
|
58
|
+
* The PV surplus is fluctuating (e.g. clouds passing) and the energy manager
|
|
59
|
+
* deliberately holds the appliance's power steady instead of following
|
|
60
|
+
* every dip and peak — "Ladeleistung wird gehalten, solange Wolken
|
|
61
|
+
* durchziehen." / "Charging power held steady while clouds pass."
|
|
62
|
+
*
|
|
63
|
+
* Says the command is a smoothing decision, not a reaction to the surplus
|
|
64
|
+
* being there or gone: told apart from {@link PvSurplusAvailable} and
|
|
65
|
+
* {@link PvSurplusUnavailable}. Set {@link EnyoDataBusCommandReason.powerW}
|
|
66
|
+
* to the power being held. Category
|
|
67
|
+
* {@link EnyoDataBusCommandReasonCategoryEnum.PvSurplus}.
|
|
68
|
+
*/
|
|
69
|
+
PvSurplusFluctuating = "pv-surplus-fluctuating",
|
|
57
70
|
/** Command issued because battery capacity is available */
|
|
58
71
|
BatteryCapacityAvailable = "battery-capacity-available",
|
|
59
72
|
/** Command issued because battery capacity is unavailable */
|
|
@@ -189,6 +189,19 @@ export interface EnyoTariffPriceEntry {
|
|
|
189
189
|
* series declares {@link EnyoPriceComponentEnum.GridFee} in its `includes`.
|
|
190
190
|
*/
|
|
191
191
|
gridFeeGrossPerKwh?: number;
|
|
192
|
+
/**
|
|
193
|
+
* Optional wholesale spot price per kWh this interval's price is based on,
|
|
194
|
+
* as the provider reports it — typically the EPEX day-ahead price for a
|
|
195
|
+
* dynamic tariff. In the tariff's currency (not cent), net: without grid
|
|
196
|
+
* fee, taxes, levies or supplier margin. May be negative.
|
|
197
|
+
*
|
|
198
|
+
* Informational only, like {@link gridFeeGrossPerKwh}: it shows what the
|
|
199
|
+
* price was derived from and is **never added** to {@link pricePerKwh},
|
|
200
|
+
* which is always the total price. Set it when the provider hands it out;
|
|
201
|
+
* omit it otherwise — consumers needing a spot price without it can read
|
|
202
|
+
* `useEpexSpotPrices()`.
|
|
203
|
+
*/
|
|
204
|
+
spotPricePerKwh?: number;
|
|
192
205
|
}
|
|
193
206
|
/**
|
|
194
207
|
* Prices for one direction over a requested range.
|
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.28.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
|
@@ -54,6 +54,19 @@ export declare enum EnyoDataBusCommandReasonTypeEnum {
|
|
|
54
54
|
* saying "elsewhere".
|
|
55
55
|
*/
|
|
56
56
|
PvSurplusAllocatedElsewhere = "pv-surplus-allocated-elsewhere",
|
|
57
|
+
/**
|
|
58
|
+
* The PV surplus is fluctuating (e.g. clouds passing) and the energy manager
|
|
59
|
+
* deliberately holds the appliance's power steady instead of following
|
|
60
|
+
* every dip and peak — "Ladeleistung wird gehalten, solange Wolken
|
|
61
|
+
* durchziehen." / "Charging power held steady while clouds pass."
|
|
62
|
+
*
|
|
63
|
+
* Says the command is a smoothing decision, not a reaction to the surplus
|
|
64
|
+
* being there or gone: told apart from {@link PvSurplusAvailable} and
|
|
65
|
+
* {@link PvSurplusUnavailable}. Set {@link EnyoDataBusCommandReason.powerW}
|
|
66
|
+
* to the power being held. Category
|
|
67
|
+
* {@link EnyoDataBusCommandReasonCategoryEnum.PvSurplus}.
|
|
68
|
+
*/
|
|
69
|
+
PvSurplusFluctuating = "pv-surplus-fluctuating",
|
|
57
70
|
/** Command issued because battery capacity is available */
|
|
58
71
|
BatteryCapacityAvailable = "battery-capacity-available",
|
|
59
72
|
/** Command issued because battery capacity is unavailable */
|
|
@@ -35,6 +35,19 @@ export var EnyoDataBusCommandReasonTypeEnum;
|
|
|
35
35
|
* saying "elsewhere".
|
|
36
36
|
*/
|
|
37
37
|
EnyoDataBusCommandReasonTypeEnum["PvSurplusAllocatedElsewhere"] = "pv-surplus-allocated-elsewhere";
|
|
38
|
+
/**
|
|
39
|
+
* The PV surplus is fluctuating (e.g. clouds passing) and the energy manager
|
|
40
|
+
* deliberately holds the appliance's power steady instead of following
|
|
41
|
+
* every dip and peak — "Ladeleistung wird gehalten, solange Wolken
|
|
42
|
+
* durchziehen." / "Charging power held steady while clouds pass."
|
|
43
|
+
*
|
|
44
|
+
* Says the command is a smoothing decision, not a reaction to the surplus
|
|
45
|
+
* being there or gone: told apart from {@link PvSurplusAvailable} and
|
|
46
|
+
* {@link PvSurplusUnavailable}. Set {@link EnyoDataBusCommandReason.powerW}
|
|
47
|
+
* to the power being held. Category
|
|
48
|
+
* {@link EnyoDataBusCommandReasonCategoryEnum.PvSurplus}.
|
|
49
|
+
*/
|
|
50
|
+
EnyoDataBusCommandReasonTypeEnum["PvSurplusFluctuating"] = "pv-surplus-fluctuating";
|
|
38
51
|
/** Command issued because battery capacity is available */
|
|
39
52
|
EnyoDataBusCommandReasonTypeEnum["BatteryCapacityAvailable"] = "battery-capacity-available";
|
|
40
53
|
/** Command issued because battery capacity is unavailable */
|
|
@@ -189,6 +189,19 @@ export interface EnyoTariffPriceEntry {
|
|
|
189
189
|
* series declares {@link EnyoPriceComponentEnum.GridFee} in its `includes`.
|
|
190
190
|
*/
|
|
191
191
|
gridFeeGrossPerKwh?: number;
|
|
192
|
+
/**
|
|
193
|
+
* Optional wholesale spot price per kWh this interval's price is based on,
|
|
194
|
+
* as the provider reports it — typically the EPEX day-ahead price for a
|
|
195
|
+
* dynamic tariff. In the tariff's currency (not cent), net: without grid
|
|
196
|
+
* fee, taxes, levies or supplier margin. May be negative.
|
|
197
|
+
*
|
|
198
|
+
* Informational only, like {@link gridFeeGrossPerKwh}: it shows what the
|
|
199
|
+
* price was derived from and is **never added** to {@link pricePerKwh},
|
|
200
|
+
* which is always the total price. Set it when the provider hands it out;
|
|
201
|
+
* omit it otherwise — consumers needing a spot price without it can read
|
|
202
|
+
* `useEpexSpotPrices()`.
|
|
203
|
+
*/
|
|
204
|
+
spotPricePerKwh?: number;
|
|
192
205
|
}
|
|
193
206
|
/**
|
|
194
207
|
* Prices for one direction over a requested range.
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED