Commit b8ddb8e
Time of Use Tariff controller: refactor + charge from grid (OpenEMS#2238)
This new implementation replaces the previous controller called TimeOfUseTariffDischarge.
**BREAKING CHANGE:** Be aware, that this PR introduces a new Factory-ID `Controller.Ess.Time-Of-Use-Tariff'` for the Controller. Old configurations will have to be updated manually!
- Added Jsonrpc request handler to show future data in UI.
- Modified Awattar provider implementation to handle querying for a price every hour instead of once a day.
- Added appropriate channels for better debugging.
- Added suitable test cases.
README:
= ESS Time-of-Use Tariff
This Controller optimizes the performance of an energy storage system (ESS) in conjunction with a Time-Of-Use (ToU) Tariff provider.
The primary aim of the controller is to optimize the economic utilization of energy stored within the battery, primarily for self-consumption. To achieve this goal, the controller employs a rolling approach, where it continuously fetches predictions from the prediction service. It takes into account the current state of the battery's capacity, recalculates its operations, and generates a detailed schedule for the Energy Storage System (ESS) for the upcoming 24-hour period, in 15-minute intervals.
This iterative and dynamic approach ensures that the ESS operates efficiently by staying synchronized with real-time forecasts and the evolving state of the battery, thereby maximizing cost-effectiveness and self-consumption of stored energy.
== Schedule Calculation Modes
The schedule calculation process varies depending on the local market conditions. To accommodate this variability, two distinct modes have been introduced to facilitate flexible operation:
CHARGE_CONSUMPTION::
This mode is well-suited for markets that permit charging the battery from the grid. In this mode, the controller utilizes production and consumption forecasts along with day-ahead electricity prices to calculate the optimal time periods for charging the battery from the grid. This approach ensures efficient utilization of resources while taking advantage of cost-effective grid charging opportunities.
DELAY_DISCHARGE::
This mode is tailored for markets where grid charging is restricted or discouraged. In such scenarios, optimal time periods are determined based on forecasts and day-ahead pricing information. The controller then schedules the Energy Storage System (ESS) to limit or delay discharging during these specific periods. This strategic approach aims to optimize economic performance by avoiding costly grid interactions when grid charging is not feasible or economical.
These two operation modes provide the necessary flexibility to adapt to varying market conditions, allowing for efficient energy management and cost savings based on the specific requirements of your local energy market.
---------
Co-authored-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Michael Grill <[email protected]>1 parent 8119632 commit b8ddb8e
File tree
35 files changed
+2005
-1449
lines changed- io.openems.edge.application
- io.openems.edge.controller.ess.timeofusetariff.discharge
- src/io/openems/edge/controller/ess/timeofusetariff/discharge
- test/io/openems/edge/controller/ess/timeofusetariff/discharge
- io.openems.edge.controller.ess.timeofusetariff
- .settings
- src/io/openems/edge/controller/ess/timeofusetariff
- jsonrpc
- test
- io/openems/edge/controller/ess/timeofusetariff
- io.openems.edge.core/src/io/openems/edge
- app/timeofusetariff
- core/appmanager
- io.openems.edge.timeofusetariff.api/src/io/openems/edge/timeofusetariff/test
- io.openems.edge.timeofusetariff.awattar/src/io/openems/edge/timeofusetariff/awattar
35 files changed
+2005
-1449
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
| 86 | + | |
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| |||
239 | 239 | | |
240 | 240 | | |
241 | 241 | | |
242 | | - | |
| 242 | + | |
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
| |||
Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 0 additions & 125 deletions
This file was deleted.
0 commit comments