Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Energy Scheduler #2789

Merged
merged 21 commits into from
Oct 22, 2024
Merged

Energy Scheduler #2789

merged 21 commits into from
Oct 22, 2024

Commits on Sep 11, 2024

  1. Energy Scheduler

    - Introduce generically usable EnergyScheduleHandler (ESH) for executing energy simulations and applying schedules
      - Provide nice debugLog output and channel "SimulationsPerQuarter" to detect performance issues
    - Introduce new implementation of `EnergyFlow` that uses linear constraint validation and optimization
    - Implement for `Controller.Ess.Time-Of-Use-Tariff`, `Controller.Ess.EmergencyCapacityReserve`, `Controller.Ess.LimitTotalDischarge` and `Controller.Ess.GridOptimizedCharge` (ALPHA)
    - Add config property "Version" to be able to switch between old (only ESS, but fast and well tested) and new (generic ESH but slower) implementation.
      - Attention: be sure to set EnergyScheduler (`Core.Energy`) and `Controller.Ess.Time-Of-Use-Tariff` to the same Version!
      - Old implementations are moved to `v1` packages and marked @deprecated and will be removed in one of the next versions of OpenEMS. Unfortunately right now this leads to some mixed code.
    sfeilmeier committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    dfce3f0 View commit details
    Browse the repository at this point in the history
  2. Fix build

    sfeilmeier committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    21fa203 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2024

  1. WIP: general optimizations

    (cherry picked from commit 0a63f37e734506ba014c5edc4e0d9f6b38336b9f)
    sfeilmeier committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    306a4b8 View commit details
    Browse the repository at this point in the history
  2. Improve async behaviour; react on modified; logging

    (cherry picked from commit 73ede82017a0249a8936cd41cc87aa2577e3e317)
    sfeilmeier committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    1c43ed8 View commit details
    Browse the repository at this point in the history
  3. Add response if no Schedule is available; checkstyle

    (cherry picked from commit 577394289d1e3dfde20da3fdaee574812a57c8c1)
    sfeilmeier committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    a889f42 View commit details
    Browse the repository at this point in the history
  4. Fix DebugLog

    (cherry picked from commit 188ee048b6a5fa5fa445425995a39b1c1ca6d438)
    sfeilmeier committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    f07731a View commit details
    Browse the repository at this point in the history
  5. Create default Schedule immediately

    (cherry picked from commit 2fecaca7c04e7b4597e5b5d8fa3e10de46cd84f0)
    sfeilmeier committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    bac4fe7 View commit details
    Browse the repository at this point in the history
  6. Hide internal methods of ESH; implement trigger Reschedule

    (cherry picked from commit e9e9fc8728db7b16ae5e39cc17b358301c2cc322)
    sfeilmeier committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    61cc8a1 View commit details
    Browse the repository at this point in the history
  7. Migrate InitialPopulation to QuickSchedules

    (cherry picked from commit 0e513bbcdc0ce339693e059d84a5e1d565469f58)
    sfeilmeier committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    46286a0 View commit details
    Browse the repository at this point in the history
  8. WIP

    - Apply Schedules also for current quarter if required
    - Quick Schedules: Evaluate all combinations of first period with default states and previous simulation result
    - Improve logs & Javadoc
    
    (cherry picked from commit 1dfeff4903cfedb99f0376eb076b24a05106cc7d)
    sfeilmeier committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    2a3efe8 View commit details
    Browse the repository at this point in the history
  9. Impl ESH for FixActivePower; improve modified

    (cherry picked from commit 323d3b636e7ed70025e0607a955f0ba28915e226)
    sfeilmeier committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    f632777 View commit details
    Browse the repository at this point in the history
  10. Apply Post-Processing; use QuickSchedules in RunOptimizerFromLog

    (cherry picked from commit 59fbce38fcc32bba2d998818c9204886bb5400d6)
    sfeilmeier committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    4526198 View commit details
    Browse the repository at this point in the history
  11. Add simple GenotypeCache

    (cherry picked from commit d5d52f91e46b828017ed0a9974ece9d74437ff28)
    sfeilmeier committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    d572a6e View commit details
    Browse the repository at this point in the history
  12. Fix build

    (cherry picked from commit 17f3aa4ec571c73baea42baa433fb69a1cf4101a)
    sfeilmeier committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    aa05263 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2024

  1. Merge commit '25febfa4dd10d028fc86a4acc83f17e6e430ca5a' into feature/…

    …energy-scheduler
    
    # Conflicts:
    #	io.openems.common/src/io/openems/common/worker/AbstractWorker.java
    #	io.openems.edge.controller.ess.timeofusetariff/test/io/openems/edge/controller/ess/timeofusetariff/TimeOfUseTariffControllerImplTest.java
    #	io.openems.edge.energy/src/io/openems/edge/energy/Config.java
    #	io.openems.edge.energy/src/io/openems/edge/energy/EnergySchedulerImpl.java
    #	io.openems.edge.energy/src/io/openems/edge/energy/LogVerbosity.java
    #	io.openems.edge.energy/src/io/openems/edge/energy/optimizer/Optimizer.java
    #	io.openems.edge.energy/test/io/openems/edge/energy/EnergySchedulerImplTest.java
    #	io.openems.edge.energy/test/io/openems/edge/energy/MyConfig.java
    #	io.openems.edge.energy/test/io/openems/edge/energy/optimizer/UtilsTest.java
    sfeilmeier committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    006d917 View commit details
    Browse the repository at this point in the history
  2. WIP

    sfeilmeier committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    1590112 View commit details
    Browse the repository at this point in the history
  3. Fix build error

    sfeilmeier committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    c3ca652 View commit details
    Browse the repository at this point in the history
  4. Add @deprecated annotations

    sfeilmeier committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    6f4eb64 View commit details
    Browse the repository at this point in the history
  5. Add Junit tests

    sfeilmeier committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    52e8c47 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2024

  1. Add JUnit tests

    sfeilmeier committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    2df29d5 View commit details
    Browse the repository at this point in the history
  2. Cleanup

    sfeilmeier committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    2ca4a5b View commit details
    Browse the repository at this point in the history