Commit Graph
302 Commits
Author SHA1 Message Date
AndreasandAndreas 8a9fe297c5 Path 2024-12-21 14:57:11 +01:00
AndreasandAndreas 3f67da1326 Price Prediction as JSON simulation output, config fixed electricty fees configurable + MyPy & Ruff 2024-12-21 14:57:11 +01:00
AndreasandAndreas 43da234a06 Price Forceast (use mean of last 7 days instead of repeat) 2024-12-21 14:57:11 +01:00
AndreasandAndreas 6416b119cc EV Charge Bug fixed 2024-12-21 14:57:11 +01:00
AndreasandAndreas e1f4c75a5d Start solution Bug 2024-12-21 14:57:11 +01:00
AndreasandAndreas 54f7989ec4 Small penalty when EV 100% and charge >0 2024-12-21 14:57:11 +01:00
AndreasandAndreas 0d529d7533 Time stop in verbose + LRU Cache / Vectoriz. 2024-12-21 14:57:11 +01:00
AndreasandAndreas af031b1a93 Bug 2024-12-21 14:57:11 +01:00
AndreasandAndreas 0e7350b1e9 First self consumption predictor only PV > load 2024-12-21 14:57:11 +01:00
AndreasandAndreas 41747a02f8 Interpolator Self Consumption 2024-12-21 14:57:11 +01:00
AndreasandAndreas eaf39925ca Penalty not neccessary anymore.
Self Consumption rate is FIXED!!! TODO!
2024-12-21 14:57:11 +01:00
AndreasandAndreas 2ec3f87732 - 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
3d8a97e128 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 LasserreandGitHub da419dbf39 Update optimize full-run (#238)
* Enable full-run in github workflow
2024-12-12 14:37:46 +01:00
AndreasandAndreas fff685aad9 openAPI Template 2024-12-11 10:31:50 +01:00
AndreasandAndreas 143814fe18 mypy 2024-12-11 10:31:50 +01:00
AndreasandAndreas 8264b94131 Swagger Fix (Pydantic) Gesamtlast 2024-12-11 10:31:50 +01:00
AndreasandAndreas 8d75ad3f61 OpenAPI Gesamtlast changed 2024-12-11 10:14:30 +01:00
AndreasandAndreas b9c1ea3454 pre commit 2024-12-11 10:14:30 +01:00
AndreasandAndreas a00f9593ce Gesamtlast does not work anymore. Wrong FastAPI Header. Swagger also wrong 2024-12-11 10:14:30 +01:00
Your NameandAndreas 9ccc9d930f fix tests for fixed ac charge logic 2024-12-11 08:55:54 +01:00
celle1234andAndreas 1b1fec444b 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
AndreasandAndreas 5c2bbb4de2 Bugfixes 2024-12-11 07:44:28 +01:00
AndreasandAndreas c115435ab3 Price Prediction failed, used Normanns fixes for the new code 2024-12-11 07:44:28 +01:00
Andreas 4fbfff2baf Update README.md
Windows Description
2024-12-11 06:35:43 +01:00
AndreasandGitHub 1831de1270 Update README.md (#232)
Windows venv paths updated
2024-12-11 00:33:52 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8585d875c8 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
a0ff85aa3f 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9655b8fd50 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8c364878b7 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4a7ec0d55c 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 LasserreandGitHub e4aa267390 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 LasserreandGitHub 6e52c9bef2 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 EckelandGitHub 595b73359c 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5b58e6375d 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9274d16523 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Normann
c86f181d84 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cecea9adc6 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 LasserreandGitHub ab4cef4b0b Fix docs creation Closes #218 (#219)
* Fix swagger link in sphynx docs.
2024-11-23 16:44:46 +01:00
Michael OsthegeandGitHub 5e2eae7331 Structure code in logically separated submodules (#188) 2024-11-19 21:47:43 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
345e78888f 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7da4bfc6b4 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 LasserreandGitHub c7eb3ec63b 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 LasserreandGitHub e18201dcb3 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 LasserreandGitHub e936aaf134 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 LasserreandGitHub fe9c8ecbbb Update startup instructions. Closes #201 (#202) 2024-11-16 20:35:09 +01:00
Dominique LasserreandGitHub 2f5f844018 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
057f86d580 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 NoelteandGitHub f2ecb5a33f 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 NoelteandGitHub a4c2358fc7 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