302 Commits

Author SHA1 Message Date
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
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
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
Andreas
d63601d742 Price Prediction failed, used Normanns fixes for the new code 2024-12-11 07:44:28 +01:00
Andreas
daffcddbf4 Update README.md
Windows Description
2024-12-11 06:35:43 +01:00
Andreas
39d366dd2d Update README.md (#232)
Windows venv paths updated
2024-12-11 00:33:52 +01:00
dependabot[bot]
4f90459ef6 Bump timezonefinder from 6.5.5 to 6.5.7 (#228)
Bumps [timezonefinder](https://github.com/jannikmi/timezonefinder) from 6.5.5 to 6.5.7.
- [Release notes](https://github.com/jannikmi/timezonefinder/releases)
- [Changelog](https://github.com/jannikmi/timezonefinder/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jannikmi/timezonefinder/compare/6.5.5...6.5.7)

---
updated-dependencies:
- dependency-name: timezonefinder
  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-11 00:29:58 +01:00
dependabot[bot]
b1059adb91 Bump pydantic from 2.10.1 to 2.10.3 (#227)
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.10.1 to 2.10.3.
- [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.1...v2.10.3)

---
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-11 00:29:46 +01:00
dependabot[bot]
91705bd257 Bump pandas-stubs from 2.2.3.241009 to 2.2.3.241126 (#229)
Bumps [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) from 2.2.3.241009 to 2.2.3.241126.
- [Changelog](https://github.com/pandas-dev/pandas-stubs/blob/main/docs/release_procedure.md)
- [Commits](https://github.com/pandas-dev/pandas-stubs/compare/v2.2.3.241009...v2.2.3.241126)

---
updated-dependencies:
- dependency-name: pandas-stubs
  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-11 00:27:40 +01:00
dependabot[bot]
2430fd9b2e Bump scikit-learn from 1.5.2 to 1.6.0 (#230)
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.5.2 to 1.6.0.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.5.2...1.6.0)

---
updated-dependencies:
- dependency-name: scikit-learn
  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-11 00:26:59 +01:00
dependabot[bot]
5cd75e964a Bump numpy from 2.1.3 to 2.2.0 (#231)
Bumps [numpy](https://github.com/numpy/numpy) from 2.1.3 to 2.2.0.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v2.1.3...v2.2.0)

---
updated-dependencies:
- dependency-name: numpy
  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-11 00:25:44 +01:00
Dominique Lasserre
6db7e96bc1 pre-commit: Fix mypy hook (#233)
* Install missing deps. In the future we probably just want to reuse
   the dev environment (e.g. poetry shell) to have same result for hook
   and explicit execution in venv.
2024-12-11 00:21:07 +01:00
Dominique Lasserre
1163ddb4ac Mypy (#217)
* Mypy: Initial support

 * Add to pre-commit (currently installs own deps, could maybe changed
   to poetry venv in the future to reuse environment and don't need
   duplicated types deps).
 * Add type hints.

* Mypy: Add missing annotations
2024-11-26 22:28:05 +01:00
Jürgen Eckel
2a163569bc renamed haushaltsgeräte to home appliance (#196)
* * rename Haushaltsgeraete to home appliance
* renamed strafe to penalty (optimization problem)

Signed-off-by: Jürgen Eckel <juergen.eckel@gmail.com>

* removed penalty renaming

Signed-off-by: Jürgen Eckel <juergen.eckel@gmail.com>

* renamed one variable

Signed-off-by: Jürgen Eckel <juergen.eckel@gmail.com>

* * renamed variable names and methods of the home appliance class

* renamed missed method names

* fixed renamed variable

* renamed object

* adjusted to latest repo changes

* renamed file to class_home_applianc.py

* renamed method

---------

Signed-off-by: Jürgen Eckel <juergen.eckel@gmail.com>
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2024-11-26 00:53:16 +01:00
dependabot[bot]
12679b6ab1 Bump timezonefinder from 6.5.4 to 6.5.5 (#223)
Bumps [timezonefinder](https://github.com/jannikmi/timezonefinder) from 6.5.4 to 6.5.5.
- [Release notes](https://github.com/jannikmi/timezonefinder/releases)
- [Changelog](https://github.com/jannikmi/timezonefinder/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jannikmi/timezonefinder/compare/6.5.4...6.5.5)

---
updated-dependencies:
- dependency-name: timezonefinder
  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-11-26 00:40:05 +01:00
dependabot[bot]
d92aab373f Bump pydantic from 2.9.2 to 2.10.1 (#222)
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.9.2 to 2.10.1.
- [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.9.2...v2.10.1)

---
updated-dependencies:
- dependency-name: pydantic
  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-11-26 00:39:24 +01:00
dependabot[bot]
2491c0ffaf Bump uvicorn from 0.32.0 to 0.32.1 (#221)
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.32.0 to 0.32.1.
- [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.0...0.32.1)

---
updated-dependencies:
- dependency-name: uvicorn
  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>
Co-authored-by: Normann <github@koldrack.com>
2024-11-26 00:33:58 +01:00
dependabot[bot]
cfa67481b8 Bump fastapi[standard] from 0.115.0 to 0.115.5 (#210)
Bumps [fastapi[standard]](https://github.com/fastapi/fastapi) from 0.115.0 to 0.115.5.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.115.0...0.115.5)

---
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-11-26 00:31:09 +01:00
Dominique Lasserre
d697d0c079 Fix docs creation Closes #218 (#219)
* Fix swagger link in sphynx docs.
2024-11-23 16:44:46 +01:00
Michael Osthege
22f72e2f13 Structure code in logically separated submodules (#188) 2024-11-19 21:47:43 +01:00
dependabot[bot]
a1cc30f33d Bump sphinx-rtd-theme from 3.0.1 to 3.0.2 (#209)
Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 3.0.1 to 3.0.2.
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/3.0.1...3.0.2)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  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-11-19 01:29:33 +01:00
dependabot[bot]
4bcaa17e0d Bump uvicorn from 0.31.1 to 0.32.0 (#208)
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.31.1 to 0.32.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.31.1...0.32.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-11-19 01:28:57 +01:00
Dominique Lasserre
777303a2b7 optimize: Enforce start solution with at least two elements Closes #205 (#207)
* mate -> cxTwoPoints needs at least two elements.
2024-11-18 20:54:39 +01:00
Dominique Lasserre
edfe309a26 Update README/CONTRIBUTING Closes #180 (#204)
* Update README/CONTRIBUTING Closes #180

 * Remove duplicated files in docs/develop and copy them from project
   root to there on documentation generation.

* Makefile: Use fastapi to start server, set port to 8503
2024-11-17 15:27:43 +01:00
Dominique Lasserre
b3914ab16b visualize: Keep shape of plots the same on dst change Closes #185 (#203)
* Currently prediction hours are relative from current hour and don't
   adjust on daylight saving change.
 * ist_dst_wechsel now unused.
2024-11-16 21:52:51 +01:00
Dominique Lasserre
69212c3cff Update startup instructions. Closes #201 (#202) 2024-11-16 20:35:09 +01:00
Dominique Lasserre
f61665669f Migrate from Flask to FastAPI (#163)
* Migrate from Flask to FastAPI

 * FastAPI migration:
    - Use pydantic model classes as input parameters to the
      data/calculation classes.
    - Interface field names changed to constructor parameter names (for
      simplicity only during transition, should be updated in a followup
      PR).
    - Add basic interface requirements (e.g. some values > 0, etc.).
 * Update tests for new data format.
 * Python requirement down to 3.9 (TypeGuard no longer needed)
 * Makefile: Add helpful targets (e.g. development server with reload)

* Move API doc from README to pydantic model classes (swagger)

 * Link to swagger.io with own openapi.yml.
 * Commit openapi.json and check with pytest for changes so the
   documentation is always up-to-date.

* Streamline docker

* FastAPI: Run startup action on dev server

 * Fix config for /strompreis, endpoint still broken however.

* test_openapi: Compare against docs/.../openapi.json

* Move fastapi to server/ submodule

 * See #187 for new repository structure.
2024-11-15 22:27:25 +01:00
Chris
ed3226e522 Json configuration (#141)
* Add json config
* Adjust code to new config

---------

Co-authored-by: Chris <git@nootch.de>
2024-11-11 21:38:13 +01:00
Bobby Noelte
fc74cde56f Skip test for pv forecast timezone behaviour on Windows. (#195)
The 'other_timezone' fixture does not work on Windows. Skip the test case.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2024-11-11 21:28:53 +01:00
Bobby Noelte
82cbf0f649 Round pv forecast report data. (#194)
Report data are floats.

The report is used for unit testing which may be affected by the float precision of the test environment.
Round to make the test result more robust without loosing the general test case.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2024-11-11 21:27:08 +01:00