529 Commits

Author SHA1 Message Date
Andreas
546400aea6 Ruff 2024-12-26 08:00:52 +01:00
Andreas
83a048fb83 Ruff 2024-12-26 07:55:29 +01:00
Andreas
ebc41bca14 Merge branch 'main' into soc_zero_price_precision 2024-12-26 07:53:07 +01:00
Andreas
a126d89362 Price Forecast with linear weighting, last value = highest weighting
Discharge enforce when soc = 0 -> mask bug
2024-12-26 07:50:30 +01:00
Andreas
8b9ad60759 Discharge Mask Bug, Tests updated, simple Price Forecast with linear weighting 2024-12-26 07:50:25 +01:00
Andreas
af49072a2e Awattar Price changed to more precise value; if SoC=0 discharge =1 forced. Exp Avg for siple Price Forecast 2024-12-25 19:17:08 +01:00
Andreas
56aa0ac2f5 Awattar Price changed to more precise value; if SoC=0 discharge =1 forced. Exp Avg for siple Price Forecast 2024-12-25 19:12:38 +01:00
dependabot[bot]
cc24904703 Bump matplotlib from 3.9.2 to 3.10.0 (#251)
Bumps [matplotlib](https://github.com/matplotlib/matplotlib) from 3.9.2 to 3.10.0.
- [Release notes](https://github.com/matplotlib/matplotlib/releases)
- [Commits](https://github.com/matplotlib/matplotlib/compare/v3.9.2...v3.10.0)

---
updated-dependencies:
- dependency-name: matplotlib
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-24 13:32:04 +01:00
dependabot[bot]
815aaa78e2 Bump fastapi[standard] from 0.115.5 to 0.115.6 (#254)
Bumps [fastapi[standard]](https://github.com/fastapi/fastapi) from 0.115.5 to 0.115.6.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.115.5...0.115.6)

---
updated-dependencies:
- dependency-name: fastapi[standard]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-24 13:26:47 +01:00
dependabot[bot]
62acf8f1f0 Bump uvicorn from 0.32.1 to 0.34.0 (#252)
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.32.1 to 0.34.0.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.32.1...0.34.0)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-24 13:21:01 +01:00
dependabot[bot]
da9b211013 Bump pytest from 8.3.3 to 8.3.4 (#253)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.3 to 8.3.4.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.3.3...8.3.4)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-24 13:16:19 +01:00
dependabot[bot]
d596ed3cc3 Bump pydantic from 2.10.3 to 2.10.4 (#280)
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.10.3 to 2.10.4.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4)

---
updated-dependencies:
- dependency-name: pydantic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-24 13:15:08 +01:00
Normann
343cb0e138 backport visualize v3 (#279)
* backport visualize v3

* test backport

* compare file

* old test files removed
2024-12-24 13:11:15 +01:00
Normann
bec24588e1 Visualize reworked v2 (#267)
* initial commit

* Delete duplicate openapi.json

* revert temp cahnges

* test fixed

* mypy fixes

* mypy fixed

* Financial Overview included

* test data save path

* almost done

* mypy fix

* Update visualize.py

* ruff fix

* config, label

* improved start_hour vis

* fix

* fix2
2024-12-24 13:10:31 +01:00
Andreas
2a526aa228 English translation EMS 2024-12-22 12:22:27 +01:00
Andreas
82b9216be5 Soc 1 hour shift fixed + some german -> english translations in ems 2024-12-22 12:22:27 +01:00
Dominique Lasserre
6aa2112da1 workflow: Pytest also upload artifacts on test failure 2024-12-22 10:36:36 +01:00
Dominique Lasserre
11b925f9bd input data: Fix indentation
* Comment full_run (use pytest --full-run to activate)
2024-12-22 10:36:36 +01:00
Andreas
75ee2408c4 Standard Optimization time 48h -> Tests updated 2024-12-22 10:36:36 +01:00
Andreas
9dcb88881b Test Update with new algorithm 2024-12-21 14:57:11 +01:00
Andreas
117a8852ee Tests fixed 2024-12-21 14:57:11 +01:00
Andreas
471788f11d Path 2024-12-21 14:57:11 +01:00
Andreas
d2a83f6ea4 Price Prediction as JSON simulation output, config fixed electricty fees configurable + MyPy & Ruff 2024-12-21 14:57:11 +01:00
Andreas
6aa8838e5b Price Forceast (use mean of last 7 days instead of repeat) 2024-12-21 14:57:11 +01:00
Andreas
155c116819 EV Charge Bug fixed 2024-12-21 14:57:11 +01:00
Andreas
b0cd910403 Start solution Bug 2024-12-21 14:57:11 +01:00
Andreas
85395076be Small penalty when EV 100% and charge >0 2024-12-21 14:57:11 +01:00
Andreas
83bfb1878b Time stop in verbose + LRU Cache / Vectoriz. 2024-12-21 14:57:11 +01:00
Andreas
9214d190e8 Bug 2024-12-21 14:57:11 +01:00
Andreas
4e8e9bd0c0 First self consumption predictor only PV > load 2024-12-21 14:57:11 +01:00
Andreas
c56d29f63d Interpolator Self Consumption 2024-12-21 14:57:11 +01:00
Andreas
1e6d11ba17 Penalty not neccessary anymore.
Self Consumption rate is FIXED!!! TODO!
2024-12-21 14:57:11 +01:00
Andreas
653f4f8d9f - discharge hour penalty from start_hour
- Inverter: Frist try of small self consumption rate (fixed) for better discharge_hour results
2024-12-21 14:57:11 +01:00
Normann
5f898e8aab translation of battery.py v3 (#262) 2024-12-19 14:50:19 +01:00
Normann
0e122a9a49 Tests for class_load_container v2 (#247)
* Tests for class_load_container v2
  - file as same name as class
  - useless numpy conversations removed
  - switched to built-in type tests
  - human readable tests included
* ruff
* removed dupicate empty list
* load_aggregator: collections.abc.Sequence

---------

Co-authored-by: Dominique Lasserre <lasserre.d@gmail.com>
2024-12-17 22:17:29 +01:00
Bobby Noelte
31bd2de18b Fix config and prediction revamp. (#259)
Extend single_test_optimization.py to be able to use real world data from new prediction classes.
- .venv/bin/python single_test_optimization.py --real_world --verbose
Can also be run with profiling "--profile".

Add single_test_prediction.py to fetch predictions from remote prediction providers
- .venv/bin/python single_test_prediction.py --verbose --provider-id PVForecastAkkudoktor | more
- .venv/bin/python single_test_prediction.py --verbose --provider-id LoadAkkudoktor | more
- .venv/bin/python single_test_prediction.py --verbose --provider-id ElecPriceAkkudoktor | more
- .venv/bin/python single_test_prediction.py --verbose --provider-id BrightSky | more
- .venv/bin/python single_test_prediction.py --verbose --provider-id ClearOutside | more
Can also be run with profiling "--profile".

single_test_optimization.py is an example on how to retrieve prediction data for optimization and
use it to set up the optimization parameters.

Changes:
- load: Only one load provider at a time (vs. 5 before)

Bug fixes:
- prediction: only use providers that are enabled to retrieve or set data.
- prediction: fix pre pendulum format strings
- dataabc: Prevent error when resampling data with no datasets.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2024-12-16 20:26:08 +01:00
Normann
810cc17c0b Inverter v2 (#245)
* inverter class rewritten second try
* cleanup
* inverter section of decives.py translation
* open api fix
* fix openapi v2
* renamed the class itself
* ruff fix
* Update genetic.py
* cleanup
* reverted indent
2024-12-16 15:33:00 +01:00
Dominique Lasserre
79ecf71353 Optimize states (#256)
* optimization states for AC, DC and IDLE now similar probab. Also AC states taken from config. Maybe a single config option for AC and E-Auto States is sensefull.
 * Ruff
 * test_class_optimize: Update testdata
 * Write pdf and json to test/testdata/new.... so it can be analyzed
   manually or just copied as new expected result.
 * workflow: Upload pytest optimization result artifacts (pdf, json)

---------

Co-authored-by: Andreas <drbacke@gmx.de>
2024-12-16 13:37:16 +01:00
Andreas
763926d8e8 optimization states for AC, DC and IDLE now similar probab. Also AC states taken from config. Maybe a single config option for AC and E-Auto States is sensefull. (#242)
* optimization states for AC, DC and IDLE now similar probab. Also AC states taken from config. Maybe a single config option for AC and E-Auto States is sensefull.
 * test_class_optimize: Update testdata
 * Write pdf and json to test/testdata/new.... so it can be analyzed
   manually or just copied as new expected result.
 * workflow: Upload pytest optimization result artifacts (pdf, json)
2024-12-15 15:32:58 +01:00
Bobby Noelte
aa334d0b61 Improve Configuration and Prediction Usability (#220)
* Update utilities in utils submodule.
* Add base configuration modules.
* Add server base configuration modules.
* Add devices base configuration modules.
* Add optimization base configuration modules.
* Add utils base configuration modules.
* Add prediction abstract and base classes plus tests.
* Add PV forecast to prediction submodule.
   The PV forecast modules are adapted from the class_pvforecast module and
   replace it.
* Add weather forecast to prediction submodule.
   The modules provide classes and methods to retrieve, manage, and process weather forecast data
   from various sources. Includes are structured representations of weather data and utilities
   for fetching forecasts for specific locations and time ranges.
   BrightSky and ClearOutside are currently supported.
* Add electricity price forecast to prediction submodule.
* Adapt fastapi server to base config and add fasthtml server.
* Add ems to core submodule.
* Adapt genetic to config.
* Adapt visualize to config.
* Adapt common test fixtures to config.
* Add load forecast to prediction submodule.
* Add core abstract and base classes.
* Adapt single test optimization to config.
* Adapt devices to config.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2024-12-15 14:40:03 +01:00
Dominique Lasserre
a5e637ab4c Update optimize full-run (#238)
* Enable full-run in github workflow
2024-12-12 14:37:46 +01:00
Andreas
9620efccf1 openAPI Template 2024-12-11 10:31:50 +01:00
Andreas
ac90abd621 mypy 2024-12-11 10:31:50 +01:00
Andreas
598221d6e3 Swagger Fix (Pydantic) Gesamtlast 2024-12-11 10:31:50 +01:00
Andreas
8baa3ae81a OpenAPI Gesamtlast changed 2024-12-11 10:14:30 +01:00
Andreas
8f341ab6c6 pre commit 2024-12-11 10:14:30 +01:00
Andreas
1c485091e4 Gesamtlast does not work anymore. Wrong FastAPI Header. Swagger also wrong 2024-12-11 10:14:30 +01:00
Your Name
4da8188022 fix tests for fixed ac charge logic 2024-12-11 08:55:54 +01:00
celle1234
d482c4bb48 fix AC charge efficiency not used for price calculation
Fix bug https://github.com/Akkudoktor-EOS/EOS/issues/215
2024-12-11 08:55:54 +01:00
Andreas
f74f895550 Bugfixes 2024-12-11 07:44:28 +01:00