Commit Graph
93 Commits
Author SHA1 Message Date
NormannandGitHub 3ffa466c9c myst-parser & markdown-it-py update (#856)
* Upgrade markdown-it-py to version 4.0.0

markdown-it-py update

* Update myst-parser version to 5.0.0
2026-01-25 18:05:37 +01:00
NormannandBobby Noelte 61c5efc74f Update requirements.txt for dev branch 2025-03-24 08:04:12 +01:00
NormannandGitHub 2c1f16a3fb Update requirements for dev branch (#488)
* Update requirements

* Update requirements-dev.txt

* Update pyproject.toml

* Update README.md
2025-03-23 22:31:49 +01:00
NormannandGitHub 60bd320fbc Python req. to 3.11 for sphinx update (#487)
* Python req. to 3.11 for sphinx update

* Update pyproject.toml
2025-03-23 22:09:02 +01:00
NormannandGitHub a7d58eed9a pre-commit update and ignore changes (#461)
* pre-commit autoupdate
* type: ignore changes
* [attr-defined,unused-ignore] usage
2025-02-24 10:00:09 +01:00
NormannandBobby Noelte 1cd38d93ba moved linkify-it-py 2025-02-15 14:09:53 +01:00
NormannandBobby Noelte 7dfd50475a Update requirements.txt with linkify-it-py´ 2025-02-15 14:09:53 +01:00
NormannandGitHub 1bb74ed836 replacing import logging (#425) 2025-01-27 21:18:15 +01:00
NormannandGitHub 6743d8df4f Info text for intentional errors Closes #416 (#422)
* info before error
* core.logging usage
2025-01-26 22:42:54 +01:00
NormannGitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Dominique Lasserredependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
480adf8100 Data prefetch ems for feature (#420)
* Pre-fetch data

* maintanance and extend tests

* comment clean up

* nansum usage (to be save)

* Feature/config nested (#421)

* Nested config, devices registry

 * All config now nested.
    - Use default config from model field default values. If providers
      should be enabled by default, non-empty default config file could
      be provided again.
    - Environment variable support with EOS_ prefix and __ between levels,
      e.g. EOS_SERVER__EOS_SERVER_PORT=8503 where all values are case
      insensitive.
      For more information see:
      https://docs.pydantic.dev/latest/concepts/pydantic_settings/#parsing-environment-variable-values
    - Use devices as registry for configured devices. DeviceBase as base
      class with for now just initializion support (in the future expand
      to operations during optimization).
    - Strip down ConfigEOS to the only configuration instance. Reload
      from file or reset to defaults is possible.

 * Fix multi-initialization of derived SingletonMixin classes.

* Documentation: Support nested config

 * Add examples to pydantic models.

* EOSdash: Support nested types

* Rename settings variables (remove prefixes)

* Fix API endpoint

* Fix EOSdash startup (docker)

 * Docker: Copy the same directory structure (src/) to support the
   lifespan startup of EOSdash.
   Use EOS_SERVER_EOSDASH_SESSKEY environment variable to provide
   EOSdash with session key.

* PR review

* PVForecast: planes as nested config (list)

* Update manual documentation for nested config.

 * Add config_file_path, config_folder_path back to general
   (ConfigCommonSettings). Overwrite in docs generation.

* Config: Move lat/long/timezone from prediction to general

* Docs: Add global example documentation.

 * merge_models: Use deecopy to not change input data.

* EOSdash: Sort config by name

* Review comments

* Feature/config nested dependabot req. (#415)

* Bump numpydantic from 1.6.4 to 1.6.7 (#413)

Bumps [numpydantic](https://github.com/p2p-ld/numpydantic) from 1.6.4 to 1.6.7.
- [Release notes](https://github.com/p2p-ld/numpydantic/releases)
- [Changelog](https://github.com/p2p-ld/numpydantic/blob/main/docs/changelog.md)
- [Commits](https://github.com/p2p-ld/numpydantic/compare/v1.6.4...v1.6.7)

---
updated-dependencies:
- dependency-name: numpydantic
  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>

* Bump timezonefinder from 6.5.7 to 6.5.8 (#414)

Bumps [timezonefinder](https://github.com/jannikmi/timezonefinder) from 6.5.7 to 6.5.8.
- [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.7...6.5.8)

---
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>

* Bump pydantic from 2.10.5 to 2.10.6 (#412)

Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.10.5 to 2.10.6.
- [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.5...v2.10.6)

---
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>

* Bump fastapi[standard] from 0.115.6 to 0.115.7 (#411)

Bumps [fastapi[standard]](https://github.com/fastapi/fastapi) from 0.115.6 to 0.115.7.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.115.6...0.115.7)

---
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>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Readme: Add hint for interfering ports on Synology Closes #408 (#419)

* Pics or it didn't happen (#402)

* inverter added

* png creation

* save svg into cache folder

* mypy

* comment

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Dominique Lasserre <lasserre.d@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* inverter, prediction.hours

* self.config.general.data_cache_path

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Dominique Lasserre <lasserre.d@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-26 19:12:14 +01:00
NormannandGitHub 1a2da7636b Data prefetch for ems (#418)
docker-build / platform-excludes (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
* Pre-fetch data

* maintanance and extend tests

* comment clean up

* nansum usage (to be save)
2025-01-26 18:29:26 +01:00
NormannandGitHub 90688a36f2 Pics or it didn't happen (#402)
* inverter added

* png creation

* save svg into cache folder

* mypy

* comment
2025-01-26 18:27:09 +01:00
NormannGitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
84683cd195 Feature/config nested dependabot req. (#415)
* Bump numpydantic from 1.6.4 to 1.6.7 (#413)

Bumps [numpydantic](https://github.com/p2p-ld/numpydantic) from 1.6.4 to 1.6.7.
- [Release notes](https://github.com/p2p-ld/numpydantic/releases)
- [Changelog](https://github.com/p2p-ld/numpydantic/blob/main/docs/changelog.md)
- [Commits](https://github.com/p2p-ld/numpydantic/compare/v1.6.4...v1.6.7)

---
updated-dependencies:
- dependency-name: numpydantic
  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>

* Bump timezonefinder from 6.5.7 to 6.5.8 (#414)

Bumps [timezonefinder](https://github.com/jannikmi/timezonefinder) from 6.5.7 to 6.5.8.
- [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.7...6.5.8)

---
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>

* Bump pydantic from 2.10.5 to 2.10.6 (#412)

Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.10.5 to 2.10.6.
- [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.5...v2.10.6)

---
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>

* Bump fastapi[standard] from 0.115.6 to 0.115.7 (#411)

Bumps [fastapi[standard]](https://github.com/fastapi/fastapi) from 0.115.6 to 0.115.7.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.115.6...0.115.7)

---
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>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-25 19:43:43 +01:00
NormannandGitHub 3b142ad514 single_test_optimization: inverter added (#401)
docker-build / platform-excludes (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
2025-01-22 18:04:39 +01:00
NormannandGitHub 98f1105c38 Probability typo fix (#383)
* Propability->Probability
2025-01-16 18:20:39 +01:00
NormannandGitHub 85bbe0b094 fix for #375 (#377)
docker-build / platform-excludes (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
* fix for #375

* comment
2025-01-14 13:27:51 +01:00
30cb51846d EOS_DIR checks for an existing EOS.config.json (#378)
Co-authored-by: Andre Busche <busche@ismll.de>
2025-01-14 13:27:30 +01:00
NormannandGitHub c024bd51bd tz added (#379) 2025-01-14 13:16:18 +01:00
NormannandGitHub 745086c2eb Visualisation footer with current date and time (#364)
* footer with date and version

* ruff

* replace toml module with build in

* using re to extract the string

* optimize re usage

* use of use pendulum in Akkudoktor-EOS

* create_line_chart_date function added

* replace datetime with pendulum

* align ax2 with ax1 and 0 first point

* dynamic ticks

* all charts with dates

* style changes

* mypy fixes

* fix test

* fixed current time
2025-01-13 21:42:52 +01:00
NormannandGitHub d317aa9937 Feature Branch: Generation Fitness plot (#362)
docker-build / platform-excludes (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
* Generation Fitness plot

* comment change

* -

* print on debug, add_json_page, add_text_page

* set debug for example

* known seed if debug

* removed unused code

* -

* bugfix empty page
2025-01-12 14:33:02 +01:00
NormannandGitHub 1bf49c8c52 feature: Pv forecast refactoring (#354)
* refactoring
2025-01-12 00:00:14 +01:00
NormannandGitHub b43bf105aa test_elecpriceakkudoktor bugfix (#360)
* test_elecpriceakkudoktor bugfix

* remove print

* warning
2025-01-10 23:20:55 +01:00
NormannandAndreas 05a1ade3a3 needed_prediction_hours fixed 2025-01-09 12:15:00 +01:00
NormannandAndreas ca6b4f89ec revert changes used for testing 2025-01-09 12:15:00 +01:00
NormannandAndreas bfb8db6d56 remove print 2025-01-09 12:15:00 +01:00
NormannandAndreas 902a8cbacd test fix 2025-01-09 12:15:00 +01:00
NormannandAndreas 8c41d291bd review improvements 2025-01-09 12:15:00 +01:00
NormannandAndreas ed8c6580ee restrict data for history array 2025-01-09 12:15:00 +01:00
NormannandAndreas df54303284 comments, cleanup 2025-01-09 12:15:00 +01:00
NormannandAndreas b16a545379 test output 2025-01-09 12:15:00 +01:00
NormannandAndreas ad7d110064 cases added 2025-01-09 12:15:00 +01:00
NormannandAndreas c334cf4b33 amount_datasets cases added 2025-01-09 12:15:00 +01:00
NormannandAndreas f3d3eac500 initially working 2025-01-09 12:15:00 +01:00
NormannandAndreas 4d29261914 day end 2025-01-09 12:15:00 +01:00
NormannandAndreas aec2171570 median 2025-01-09 12:15:00 +01:00
NormannandAndreas 3121490a23 mypy, req 2025-01-09 12:15:00 +01:00
NormannandAndreas e0bdbdcb81 base functions 2025-01-09 12:15:00 +01:00
NormannandAndreas 6bcae41213 comment 2025-01-09 12:15:00 +01:00
NormannandAndreas 4c0afb6a2a initial commit 2025-01-09 12:15:00 +01:00
NormannandGitHub d695e08bd0 filepath fix for load_forecast main function (#322)
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
2025-01-01 18:44:26 +01:00
NormannandGitHub 9dda128caf remove temp. test skip (#313) 2025-01-01 12:28:19 +01:00
NormannandGitHub ee75670713 temp. skip test_server (#311)
* temp. skip test_server
2024-12-31 15:58:10 +01:00
NormannandGitHub 45079ca29c python version 3.10 for feature branch (#298)
* switch to python version 3.10 from 3.9 because of Numpy requirements
2024-12-30 14:26:12 +01:00
NormannandGitHub 4f51c891d3 duplicate line removed (#290) 2024-12-27 21:42:50 +01:00
NormannandGitHub 2a8e11d7dc default filename changed back (#289) 2024-12-27 10:46:36 +01:00
NormannandGitHub 043f9e74e5 default filename changed back (#288) 2024-12-27 10:46:13 +01:00
NormannandGitHub c3aa567b4d heatpump translated (#282) 2024-12-26 19:34:16 +01:00
NormannandGitHub 343cb0e138 backport visualize v3 (#279)
* backport visualize v3

* test backport

* compare file

* old test files removed
2024-12-24 13:11:15 +01:00
NormannandGitHub 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
NormannandGitHub 5f898e8aab translation of battery.py v3 (#262) 2024-12-19 14:50:19 +01:00
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
NormannandGitHub 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
NormannandGitHub 1ed06fc270 set min_soc_prozent 0 by default (#184)
#183 the current default value of "Null" is not compatible with the class_akku. A default value of 0 is more reasonable.
2024-11-10 17:37:24 +01:00
NormannandAndreas 987bffe148 JSON files for test_class_optimize.py
Update test_class_optimize.py

added Skipped per default

Fix optimization test

Fix optimization test
2024-10-09 17:05:36 +02:00
NormannandAndreas 0526f2417b Update README.md
clarify the None/Null/NaN values of the output.
2024-10-09 17:03:05 +02:00
NormannandAndreas 1e78abb074 convert np arrys to lists before changing 2024-10-08 18:55:51 +02:00
NormannandAndreas dc8f2f94b8 revert check in test for ems 2024-10-08 18:55:51 +02:00
NormannandAndreas 62339a0e6c set current hour value None in class_ems.py 2024-10-08 18:55:51 +02:00
NormannandAndreas 3050320607 remove unused function
replace_nan_with_none(data) is not needed anymore since we don't have any NaN values. Another 13% speed increase.
2024-10-08 18:55:51 +02:00
NormannandAndreas 03efff52d9 TypeGuard[float] added to isfloat 2024-10-08 07:53:07 +02:00
NormannandAndreas 56587305e0 README-DE Python req. pushed to 3.10 2024-10-08 07:53:07 +02:00
NormannandAndreas 4e0e363ba5 README.md Python req. pushed to 3.10 2024-10-08 07:53:07 +02:00
NormannandAndreas 76be16b06a empty line added 2024-10-08 07:53:07 +02:00
NormannandAndreas cbfd7c45c7 import sort#2 2024-10-08 07:53:07 +02:00
NormannandAndreas b54b4f8228 sort imports 2024-10-08 07:53:07 +02:00
NormannandAndreas 290e6293f2 moved isfloat(num)
improved isfloat for case "None" and strings with surrounding whitespace and special types like +-inf.
2024-10-08 07:53:07 +02:00
NormannandAndreas 2613e71bda remove isfloat()
function is not used here
2024-10-08 07:53:07 +02:00
NormannandAndreas a16490523d fixed optimize test
fixed first our values for optimize test
2024-10-06 15:20:37 +02:00
NormannandAndreas fb59c9dd14 fixed_seed for single_test_optimization
sets the seed for random to a fixed value to be able to compare results.
Value chosen for obvious reason. Same value is used in the test case.
2024-10-06 15:20:37 +02:00
NormannandAndreas 27bab20606 Update test_class_ems.py 2024-10-06 14:35:11 +02:00
NormannandAndreas a80d4c1901 cleanup class_ems.py
- type hints added
- translated to English
- reduced not needed function calls 

improves optimization time by 50%
2024-10-06 14:35:11 +02:00
NormannandDaniel Molkentin dd3363b714 test for class_optimize in PR #88
Test meant for class_optimize.
Will only work with PR #88 since the old class has no way to use a fixed random seed.
2024-10-05 23:54:05 +02:00
NormannandAndreas fb1aa06ddd Refactored class_optimize.py
- Optimized Imports: Removed unused imports and organized them.
- Refactored Code: Introduced split_individual function for clarity.
- Improved Efficiency: Enhanced penalty calculation and streamlined loops.
- Updated Evaluation Logic: Better handling of penalties in evaluate.
- Type Hints added
- fixed seed option added for automated tests
- verbose comment added, default False

Notes:
- isfloat is only used in flask_server.py
- start_hour is not used in this class
2024-10-05 08:50:23 +02:00
NormannandAndreas 1eed420131 bugfix visualize module
datetime.datetime.now() is incorrectly accessing the datetime class
2024-10-04 16:16:03 +02:00
NormannandAndreas 8595b91692 Update requirements.txt 2024-10-03 10:03:05 +02:00
NormannandAndreas e5bfbe757a Delete modules/class_battery_soc_predictor.py 2024-10-03 10:03:05 +02:00
NormannKandAndreas 8959bd8693 Update class_strompreis.py
initial clean up, translations, os.makedirs improved
2024-10-01 07:16:13 +02:00
NormannKandAndreas 922042ced1 Update class_sommerzeit.py
initial clean up. translations, minor changes
2024-10-01 07:12:58 +02:00
NormannKandAndreas baa22e973d Update class_load_corrector.py
initial clean up. translations, imports cleaned and sorted
2024-10-01 07:12:41 +02:00
NormannKandAndreas c14a94e6f9 Update class_load_container.py
initial clean up, unused imports removed, translations, very minor code changes
2024-10-01 07:11:08 +02:00
NormannKandAndreas cf3b610b72 Update class_load.py
initial clean up, unused imports removed, translations, minor error handling for file added
2024-10-01 07:10:47 +02:00
NormannKandAndreas 89e84b39e5 Update class_inverter.py
initial clean up, comments translated. no code changes
2024-10-01 07:07:31 +02:00
NormannKandAndreas 258267fad4 Update class_heatpump.py
initial clean up. comments translated, parameters pulled top the top
2024-10-01 07:05:55 +02:00
NormannKandAndreas d1ab1d0184 Update class_akku.py
initial cleanup, translations, minimal code changes
2024-10-01 07:04:46 +02:00
NormannKandAndreas 362fb2221b Update class_battery_soc_predictor.py
initial clean up. import sorted and unused removed, comments translated, commented debug functions removed
2024-10-01 07:02:14 +02:00
NormannKandAndreas b9b6b16437 Update class_haushaltsgeraet.py
initial clean up, only translations
2024-10-01 06:56:37 +02:00
NormannKanddrbacke 29315427f0 Update flask_server.py
first step of cleanup. only formatting and very minor code changes
To Do:
- implement proper config 
- move parameters into config
- remove not needed commented code (idk which is useful)
- logic in has_no_empty_params is unnecessary complicated
2024-09-30 08:16:05 +02:00
NormannKanddrbacke c2254dc5ed Update visualize.py
initial clean up, translations
2024-09-30 07:54:19 +02:00
NormannKanddrbacke a2770e8410 Update test.py
degree is a non-UTF-8 code. too risky to have that
2024-09-30 07:53:12 +02:00
NormannKanddrbacke ec996fe410 Update server_load_profile.py
- general clean up
- constants pulled to the top
- improved error handeling
2024-09-30 07:46:05 +02:00
NormannKanddrbacke 1f01455825 restructure and optimization of class_optimize.py
- removed unused functions
- restructure code
-optimized parameters of optimization
2024-09-30 07:37:18 +02:00
NormannKandDaniel Molkentin 5d38a7c982 Update flask_server.py
- sorted and organized import section according to PEP 8 guidelines
- removed unused "import string"
- translated to english
2024-09-20 00:05:35 +02:00
NormannKandDaniel Molkentin 709211784b Update test.py
- removed unused/duplicate imports
- organized parameters
- input values got rounded!
2024-09-20 00:05:08 +02:00