mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2025-04-19 00:45:22 +00:00
Add english translation for readme.
Moving german readme to READEME-DE.md. Add sensible gitignore defaults for most operating systems, VS code and Python.
This commit is contained in:
parent
c2254dc5ed
commit
af7b745d15
246
.gitignore
vendored
246
.gitignore
vendored
@ -1,3 +1,247 @@
|
||||
.venv/
|
||||
docs/
|
||||
data/
|
||||
|
||||
# Default ignore folders and files for VS Code, Python
|
||||
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
!.vscode/*.code-snippets
|
||||
|
||||
# Local History for Visual Studio Code
|
||||
.history/
|
||||
|
||||
# Built Visual Studio Code Extensions
|
||||
*.vsix
|
||||
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
share/python-wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.nox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
*.py,cover
|
||||
.hypothesis/
|
||||
.pytest_cache/
|
||||
cover/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
db.sqlite3-journal
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
.pybuilder/
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# IPython
|
||||
profile_default/
|
||||
ipython_config.py
|
||||
|
||||
# pyenv
|
||||
# For a library or package, you might want to ignore these files since the code is
|
||||
# intended to run in multiple environments; otherwise, check them in:
|
||||
# .python-version
|
||||
|
||||
# pipenv
|
||||
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||
# install all needed dependencies.
|
||||
#Pipfile.lock
|
||||
|
||||
# poetry
|
||||
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
||||
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
||||
# commonly ignored for libraries.
|
||||
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
||||
#poetry.lock
|
||||
|
||||
# pdm
|
||||
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
||||
#pdm.lock
|
||||
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
||||
# in version control.
|
||||
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
|
||||
.pdm.toml
|
||||
.pdm-python
|
||||
.pdm-build/
|
||||
|
||||
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
||||
__pypackages__/
|
||||
|
||||
# Celery stuff
|
||||
celerybeat-schedule
|
||||
celerybeat.pid
|
||||
|
||||
# SageMath parsed files
|
||||
*.sage.py
|
||||
|
||||
# Environments
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
# mkdocs documentation
|
||||
/site
|
||||
|
||||
# mypy
|
||||
.mypy_cache/
|
||||
.dmypy.json
|
||||
dmypy.json
|
||||
|
||||
# Pyre type checker
|
||||
.pyre/
|
||||
|
||||
# pytype static type analyzer
|
||||
.pytype/
|
||||
|
||||
# Cython debug symbols
|
||||
cython_debug/
|
||||
|
||||
# PyCharm
|
||||
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
||||
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
||||
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||
#.idea/
|
||||
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
*~
|
||||
|
||||
# temporary files which can be created if a process still has a handle open of a deleted file
|
||||
.fuse_hidden*
|
||||
|
||||
# KDE directory preferences
|
||||
.directory
|
||||
|
||||
# Linux trash folder which might appear on any partition or disk
|
||||
.Trash-*
|
||||
|
||||
# .nfs files are created when an open file is removed but is still being accessed
|
||||
.nfs*
|
||||
|
||||
# Windows thumbnail cache files
|
||||
Thumbs.db
|
||||
Thumbs.db:encryptable
|
||||
ehthumbs.db
|
||||
ehthumbs_vista.db
|
||||
|
||||
# Dump file
|
||||
*.stackdump
|
||||
|
||||
# Folder config file
|
||||
[Dd]esktop.ini
|
||||
|
||||
# Recycle Bin used on file shares
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Windows Installer files
|
||||
*.cab
|
||||
*.msi
|
||||
*.msix
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
# Windows shortcuts
|
||||
*.lnk
|
||||
|
333
README-DE.md
Normal file
333
README-DE.md
Normal file
@ -0,0 +1,333 @@
|
||||
# Energiesystem Simulation und Optimierung
|
||||
|
||||
Dieses Projekt bietet eine umfassende Lösung zur Simulation und Optimierung eines Energiesystems, das auf erneuerbaren Energiequellen basiert. Mit Fokus auf Photovoltaik (PV)-Anlagen, Batteriespeichern (Akkus), Lastmanagement (Verbraucheranforderungen), Wärmepumpen, Elektrofahrzeugen und der Berücksichtigung von Strompreisdaten ermöglicht dieses System die Vorhersage und Optimierung des Energieflusses und der Kosten über einen bestimmten Zeitraum.
|
||||
|
||||
## Mitmachen
|
||||
|
||||
Die Diskussion findet im [Forum](https://www.akkudoktor.net/forum/diy-energie-optimierungssystem-opensource-projekt/) statt. Bugs bitte im [Issue Tracker](https://github.com/Akkudoktor-EOS/EOS/issues) melden, Code-Beiträge und Bug-Fixes nehmen wir gerne als [Pull-Requests](https://github.com/Akkudoktor-EOS/EOS/pulls) entgegen.
|
||||
|
||||
## Installation
|
||||
|
||||
Gute Install Anleitung:
|
||||
https://meintechblog.de/2024/09/05/andreas-schmitz-joerg-installiert-mein-energieoptimierungssystem/
|
||||
|
||||
Das Projekt erfordert Python 3.8 oder neuer.
|
||||
|
||||
### Schnellanleitung
|
||||
|
||||
Unter Linux (Ubuntu/Debian):
|
||||
|
||||
```bash
|
||||
sudo apt install make
|
||||
```
|
||||
|
||||
Unter Macos (benötigt [Homebrew](https://brew.sh)):
|
||||
|
||||
```zsh
|
||||
brew install make
|
||||
```
|
||||
|
||||
Nun `config.example.py` anpassen und dann in `config.py` umbennenen. Anschließend kann der Server über `make run` gestartet werden.
|
||||
Eine vollständige Übersicht über die wichtigsten Kurzbefehle gibt `make help`.
|
||||
|
||||
### Ausführliche Anleitung
|
||||
|
||||
Alle notwendigen Abhängigkeiten können über `pip` installiert werden. Klonen Sie das Repository und installieren Sie die erforderlichen Pakete mit:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/Akkudoktor-EOS/EOS
|
||||
cd EOS
|
||||
```
|
||||
Als Nächstes legen wir ein virtuelles Environment an. Es dient zur Ablage der Python-Abhängigkeiten,
|
||||
die wir später per `pip` installieren:
|
||||
|
||||
```bash
|
||||
virtualenv .venv
|
||||
```
|
||||
|
||||
Schließlich installieren wir die Python-Abhängigkeiten von EOS:
|
||||
|
||||
```bash
|
||||
.venv/bin/pip install -r requirements.txt
|
||||
```
|
||||
|
||||
Um immer die Python-Version aus dem Virtual-Env zu verwenden, sollte vor der Arbeit in
|
||||
EOS Folgendes aufgerufen werden:
|
||||
|
||||
```bash
|
||||
source .venv/bin/activate
|
||||
```
|
||||
|
||||
(für Bash-Nutzende, der Standard unter Linux) oder
|
||||
|
||||
```zsh
|
||||
. .venv/bin/activate
|
||||
```
|
||||
|
||||
(wenn zsh verwendet wird, vor allem MacOS-Nutzende).
|
||||
|
||||
Sollte `pip install` die mariadb-Abhängigkeit nicht installieren können,
|
||||
dann helfen folgende Kommandos:
|
||||
|
||||
* Debian/Ubuntu: `sudo apt-get install -y libmariadb-dev`
|
||||
* Macos/Homebrew: `brew install mariadb-connector-c`
|
||||
|
||||
gefolgt von einem erneuten `pip install -r requirements.txt`.
|
||||
|
||||
## Nutzung
|
||||
|
||||
`config.example.py` anpassen und dann in config.py umbennenen
|
||||
Um das System zu nutzen, führen Sie `flask_server.py` aus, damit wird der Server gestartet
|
||||
|
||||
|
||||
```bash
|
||||
./flask_server.py
|
||||
```
|
||||
## Klassen und Funktionalitäten
|
||||
|
||||
In diesem Projekt werden verschiedene Klassen verwendet, um die Komponenten eines Energiesystems zu simulieren und zu optimieren. Jede Klasse repräsentiert einen spezifischen Aspekt des Systems, wie nachfolgend beschrieben:
|
||||
|
||||
- `PVAkku`: Simuliert einen Batteriespeicher, einschließlich der Kapazität, des Ladezustands und jetzt auch der Lade- und Entladeverluste.
|
||||
|
||||
- `PVForecast`: Stellt Vorhersagedaten für die Photovoltaik-Erzeugung bereit, basierend auf Wetterdaten und historischen Erzeugungsdaten.
|
||||
|
||||
- `Load`: Modelliert die Lastanforderungen des Haushalts oder Unternehmens, ermöglicht die Vorhersage des zukünftigen Energiebedarfs.
|
||||
|
||||
- `HeatPump`: Simuliert eine Wärmepumpe, einschließlich ihres Energieverbrauchs und ihrer Effizienz unter verschiedenen Betriebsbedingungen.
|
||||
|
||||
- `Strompreis`: Bietet Informationen zu den Strompreisen, ermöglicht die Optimierung des Energieverbrauchs und der -erzeugung basierend auf Tarifinformationen.
|
||||
|
||||
- `EMS`: Das Energiemanagementsystem (EMS) koordiniert die Interaktion zwischen den verschiedenen Komponenten, führt die Optimierung durch und simuliert den Betrieb des gesamten Energiesystems.
|
||||
|
||||
Diese Klassen arbeiten zusammen, um eine detaillierte Simulation und Optimierung des Energiesystems zu ermöglichen. Für jede Klasse können spezifische Parameter und Einstellungen angepasst werden, um verschiedene Szenarien und Strategien zu testen.
|
||||
|
||||
### Anpassung und Erweiterung
|
||||
|
||||
Jede Klasse ist so gestaltet, dass sie leicht angepasst und erweitert werden kann, um zusätzliche Funktionen oder Verbesserungen zu integrieren. Beispielsweise können neue Methoden zur genaueren Modellierung des Verhaltens von PV-Anlagen oder Batteriespeichern hinzugefügt werden. Entwickler sind eingeladen, das System nach ihren Bedürfnissen zu modifizieren und zu erweitern.
|
||||
|
||||
|
||||
# Input für den Flask Server (Stand 30.07.204)
|
||||
Beschreibt die Struktur und Datentypen des JSON-Objekts, das an den Flask-Server gesendet wird. Hier mit einem Prognosezeitraum von 48 Stunden!
|
||||
|
||||
## Felder des JSON-Objekts
|
||||
|
||||
### strompreis_euro_pro_wh
|
||||
- **Beschreibung**: Ein Array von Floats, das den Strompreis in Euro pro Wattstunde für verschiedene Zeitintervalle darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 48
|
||||
|
||||
### gesamtlast
|
||||
- **Beschreibung**: Ein Array von Floats, das die Gesamtlast (Verbrauch) in Watt für verschiedene Zeitintervalle darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 48
|
||||
|
||||
### pv_forecast
|
||||
- **Beschreibung**: Ein Array von Floats, das die prognostizierte Photovoltaik-Leistung in Watt für verschiedene Zeitintervalle darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 48
|
||||
|
||||
### temperature_forecast
|
||||
- **Beschreibung**: Ein Array von Floats, das die Temperaturvorhersage in Grad Celsius für verschiedene Zeitintervalle darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 48
|
||||
|
||||
### pv_soc
|
||||
- **Beschreibung**: Ein Integer, der den Ladezustand des PV Akkus zum START der aktuellen Stunde anzeigt, das ist nicht der aktuelle!!!
|
||||
- **Typ**: Integer
|
||||
|
||||
### pv_akku_cap
|
||||
- **Beschreibung**: Ein Integer, der die Kapazität des Photovoltaik-Akkus in Wattstunden darstellt.
|
||||
- **Typ**: Integer
|
||||
|
||||
### einspeiseverguetung_euro_pro_wh
|
||||
- **Beschreibung**: Ein Float, der die Einspeisevergütung in Euro pro Wattstunde darstellt.
|
||||
- **Typ**: Float
|
||||
|
||||
### eauto_min_soc
|
||||
- **Beschreibung**: Ein Integer, der den minimalen Ladezustand (State of Charge) des Elektroautos in Prozent darstellt.
|
||||
- **Typ**: Integer
|
||||
|
||||
### eauto_cap
|
||||
- **Beschreibung**: Ein Integer, der die Kapazität des Elektroauto-Akkus in Wattstunden darstellt.
|
||||
- **Typ**: Integer
|
||||
|
||||
### eauto_charge_efficiency
|
||||
- **Beschreibung**: Ein Float, der die Ladeeffizienz des Elektroautos darstellt.
|
||||
- **Typ**: Float
|
||||
|
||||
### eauto_charge_power
|
||||
- **Beschreibung**: Ein Integer, der die Ladeleistung des Elektroautos in Watt darstellt.
|
||||
- **Typ**: Integer
|
||||
|
||||
### eauto_soc
|
||||
- **Beschreibung**: Ein Integer, der den aktuellen Ladezustand (State of Charge) des Elektroautos in Prozent darstellt.
|
||||
- **Typ**: Integer
|
||||
|
||||
### start_solution
|
||||
- **Beschreibung**: Kann null sein oder eine vorherige Lösung enthalten (wenn vorhanden).
|
||||
- **Typ**: null oder object
|
||||
|
||||
### haushaltsgeraet_wh
|
||||
- **Beschreibung**: Ein Integer, der den Energieverbrauch eines Haushaltsgeräts in Wattstunden darstellt.
|
||||
- **Typ**: Integer
|
||||
|
||||
### haushaltsgeraet_dauer
|
||||
- **Beschreibung**: Ein Integer, der die Dauer der Nutzung des Haushaltsgeräts in Stunden darstellt.
|
||||
- **Typ**: Integer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# JSON-Output Beschreibung
|
||||
|
||||
Dieses Dokument beschreibt die Struktur und Datentypen des JSON-Outputs, den der Flask-Server zurückgibt. Hier mit einem Prognosezeitraum von 48h
|
||||
|
||||
## Felder des JSON-Outputs (Stand 30.7.2024)
|
||||
|
||||
### discharge_hours_bin
|
||||
- **Beschreibung**: Ein Array von Binärwerten (0 oder 1), das anzeigt, ob in einer bestimmten Stunde Energie entladen wird.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Integer (0 oder 1)
|
||||
- **Länge**: 48
|
||||
|
||||
### eauto_obj
|
||||
- **Beschreibung**: Ein Objekt, das Informationen über das Elektroauto enthält.
|
||||
- **charge_array**: Ein Array von Binärwerten (0 oder 1), das anzeigt, ob das Elektroauto in einer bestimmten Stunde geladen wird.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Integer (0 oder 1)
|
||||
- **Länge**: 48
|
||||
- **discharge_array**: Ein Array von Binärwerten (0 oder 1), das anzeigt, ob das Elektroauto in einer bestimmten Stunde entladen wird.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Integer (0 oder 1)
|
||||
- **Länge**: 48
|
||||
- **entlade_effizienz**: Die Entladeeffizienz des Elektroautos.
|
||||
- **Typ**: Float
|
||||
- **hours**: Die Anzahl der Stunden, für die die Simulation durchgeführt wird.
|
||||
- **Typ**: Integer
|
||||
- **kapazitaet_wh**: Die Kapazität des Elektroauto-Akkus in Wattstunden.
|
||||
- **Typ**: Integer
|
||||
- **lade_effizienz**: Die Ladeeffizienz des Elektroautos.
|
||||
- **Typ**: Float
|
||||
- **max_ladeleistung_w**: Die maximale Ladeleistung des Elektroautos in Watt.
|
||||
- **Typ**: Integer
|
||||
- **soc_wh**: Der Ladezustand (State of Charge) des Elektroautos in Wattstunden.
|
||||
- **Typ**: Integer
|
||||
- **start_soc_prozent**: Der initiale Ladezustand (State of Charge) des Elektroautos in Prozent.
|
||||
- **Typ**: Integer
|
||||
|
||||
### eautocharge_hours_float
|
||||
- **Beschreibung**: Ein Array von Binärwerten (0 oder 1), das anzeigt, ob das Elektroauto in einer bestimmten Stunde geladen wird.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Integer (0 oder 1)
|
||||
- **Länge**: 48
|
||||
|
||||
### result
|
||||
- **Beschreibung**: Ein Objekt, das die Ergebnisse der Simulation enthält.
|
||||
- **E-Auto_SoC_pro_Stunde**: Ein Array von Floats, das den Ladezustand des Elektroautos für jede Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Eigenverbrauch_Wh_pro_Stunde**: Ein Array von Floats, das den Eigenverbrauch in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Einnahmen_Euro_pro_Stunde**: Ein Array von Floats, das die Einnahmen in Euro pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Gesamt_Verluste**: Die gesamten Verluste in Wattstunden.
|
||||
- **Typ**: Float
|
||||
- **Gesamtbilanz_Euro**: Die gesamte Bilanz in Euro.
|
||||
- **Typ**: Float
|
||||
- **Gesamteinnahmen_Euro**: Die gesamten Einnahmen in Euro.
|
||||
- **Typ**: Float
|
||||
- **Gesamtkosten_Euro**: Die gesamten Kosten in Euro.
|
||||
- **Typ**: Float
|
||||
- **Haushaltsgeraet_wh_pro_stunde**: Ein Array von Floats, das den Energieverbrauch eines Haushaltsgeräts in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Kosten_Euro_pro_Stunde**: Ein Array von Floats, das die Kosten in Euro pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Netzbezug_Wh_pro_Stunde**: Ein Array von Floats, das den Netzbezug in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Netzeinspeisung_Wh_pro_Stunde**: Ein Array von Floats, das die Netzeinspeisung in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Verluste_Pro_Stunde**: Ein Array von Floats, das die Verluste pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **akku_soc_pro_stunde**: Ein Array von Floats, das den Ladezustand des Akkus in Prozent pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
|
||||
### simulation_data
|
||||
- **Beschreibung**: Ein Objekt, das die simulierten Daten enthält.
|
||||
- **E-Auto_SoC_pro_Stunde**: Ein Array von Floats, das den simulierten Ladezustand des Elektroautos pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Eigenverbrauch_Wh_pro_Stunde**: Ein Array von Floats, das den simulierten Eigenverbrauch in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Einnahmen_Euro_pro_Stunde**: Ein Array von Floats, das die simulierten Einnahmen in Euro pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Gesamt_Verluste**: Die gesamten simulierten Verluste in Wattstunden.
|
||||
- **Typ**: Float
|
||||
- **Gesamtbilanz_Euro**: Die gesamte simulierte Bilanz in Euro.
|
||||
- **Typ**: Float
|
||||
- **Gesamteinnahmen_Euro**: Die gesamten simulierten Einnahmen in Euro.
|
||||
- **Typ**: Float
|
||||
- **Gesamtkosten_Euro**: Die gesamten simulierten Kosten in Euro.
|
||||
- **Typ**: Float
|
||||
- **Haushaltsgeraet_wh_pro_stunde**: Ein Array von Floats, das den simulierten Energieverbrauch eines Haushaltsgeräts in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Kosten_Euro_pro_Stunde**: Ein Array von Floats, das die simulierten Kosten in Euro pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Netzbezug_Wh_pro_Stunde**: Ein Array von Floats, das den simulierten Netzbezug in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Netzeinspeisung_Wh_pro_Stunde**: Ein Array von Floats, das die simulierte Netzeinspeisung in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Verluste_Pro_Stunde**: Ein Array von Floats, das die simulierten Verluste pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **akku_soc_pro_stunde**: Ein Array von Floats, das den simulierten Ladezustand des Akkus in Prozent pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
|
||||
### spuelstart
|
||||
- **Beschreibung**: Kann `null` sein oder ein Objekt enthalten, das den Spülstart darstellt (wenn vorhanden).
|
||||
- **Typ**: null oder object
|
||||
|
||||
### start_solution
|
||||
- **Beschreibung**: Ein Array von Binärwerten (0 oder 1), das eine mögliche Startlösung für die Simulation darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Integer (0 oder 1)
|
||||
- **Länge**: 48
|
362
README.md
362
README.md
@ -1,333 +1,217 @@
|
||||
# Energiesystem Simulation und Optimierung
|
||||
# Energy System Simulation and Optimization
|
||||
|
||||
Dieses Projekt bietet eine umfassende Lösung zur Simulation und Optimierung eines Energiesystems, das auf erneuerbaren Energiequellen basiert. Mit Fokus auf Photovoltaik (PV)-Anlagen, Batteriespeichern (Akkus), Lastmanagement (Verbraucheranforderungen), Wärmepumpen, Elektrofahrzeugen und der Berücksichtigung von Strompreisdaten ermöglicht dieses System die Vorhersage und Optimierung des Energieflusses und der Kosten über einen bestimmten Zeitraum.
|
||||
This project provides a comprehensive solution for simulating and optimizing an energy system based on renewable energy sources. With a focus on photovoltaic (PV) systems, battery storage (batteries), load management (consumer requirements), heat pumps, electric vehicles, and consideration of electricity price data, this system enables forecasting and optimization of energy flow and costs over a specified period.
|
||||
|
||||
## Mitmachen
|
||||
## Getting Involved
|
||||
|
||||
Die Diskussion findet im [Forum](https://www.akkudoktor.net/forum/diy-energie-optimierungssystem-opensource-projekt/) statt. Bugs bitte im [Issue Tracker](https://github.com/Akkudoktor-EOS/EOS/issues) melden, Code-Beiträge und Bug-Fixes nehmen wir gerne als [Pull-Requests](https://github.com/Akkudoktor-EOS/EOS/pulls) entgegen.
|
||||
The discussion takes place in the [forum](https://www.akkudoktor.net/forum/diy-energie-optimierungssystem-opensource-projekt/). Please report bugs in the [Issue Tracker](https://github.com/Akkudoktor-EOS/EOS/issues). We welcome code contributions and bug fixes via [Pull Requests](https://github.com/Akkudoktor-EOS/EOS/pulls).
|
||||
|
||||
## Installation
|
||||
|
||||
Gute Install Anleitung:
|
||||
Good installation guide:
|
||||
https://meintechblog.de/2024/09/05/andreas-schmitz-joerg-installiert-mein-energieoptimierungssystem/
|
||||
|
||||
Das Projekt erfordert Python 3.8 oder neuer.
|
||||
The project requires Python 3.8 or newer.
|
||||
|
||||
### Schnellanleitung
|
||||
### Quick Start Guide
|
||||
|
||||
Unter Linux (Ubuntu/Debian):
|
||||
On Linux (Ubuntu/Debian):
|
||||
|
||||
```bash
|
||||
sudo apt install make
|
||||
```
|
||||
|
||||
Unter Macos (benötigt [Homebrew](https://brew.sh)):
|
||||
On MacOS (requires [Homebrew](https://brew.sh)):
|
||||
|
||||
```zsh
|
||||
brew install make
|
||||
```
|
||||
|
||||
Nun `config.example.py` anpassen und dann in `config.py` umbennenen. Anschließend kann der Server über `make run` gestartet werden.
|
||||
Eine vollständige Übersicht über die wichtigsten Kurzbefehle gibt `make help`.
|
||||
Next, adjust `config.example.py` and rename it to `config.py`. The server can then be started with `make run`. A full overview of the main shortcuts is given by `make help`.
|
||||
|
||||
### Ausführliche Anleitung
|
||||
### Detailed Instructions
|
||||
|
||||
Alle notwendigen Abhängigkeiten können über `pip` installiert werden. Klonen Sie das Repository und installieren Sie die erforderlichen Pakete mit:
|
||||
All necessary dependencies can be installed via `pip`. Clone the repository and install the required packages with:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/Akkudoktor-EOS/EOS
|
||||
cd EOS
|
||||
```
|
||||
Als Nächstes legen wir ein virtuelles Environment an. Es dient zur Ablage der Python-Abhängigkeiten,
|
||||
die wir später per `pip` installieren:
|
||||
|
||||
Next, create a virtual environment. This serves to store the Python dependencies, which we will install later using `pip`:
|
||||
|
||||
```bash
|
||||
virtualenv .venv
|
||||
```
|
||||
|
||||
Schließlich installieren wir die Python-Abhängigkeiten von EOS:
|
||||
Finally, install the Python dependencies for EOS:
|
||||
|
||||
```bash
|
||||
.venv/bin/pip install -r requirements.txt
|
||||
```
|
||||
|
||||
Um immer die Python-Version aus dem Virtual-Env zu verwenden, sollte vor der Arbeit in
|
||||
EOS Folgendes aufgerufen werden:
|
||||
To always use the Python version from the virtual environment, you should activate it before working in EOS:
|
||||
|
||||
```bash
|
||||
source .venv/bin/activate
|
||||
```
|
||||
|
||||
(für Bash-Nutzende, der Standard unter Linux) oder
|
||||
(for Bash users, the default under Linux) or
|
||||
|
||||
```zsh
|
||||
. .venv/bin/activate
|
||||
```
|
||||
(if using zsh, primarily for MacOS users).
|
||||
|
||||
(wenn zsh verwendet wird, vor allem MacOS-Nutzende).
|
||||
|
||||
Sollte `pip install` die mariadb-Abhängigkeit nicht installieren können,
|
||||
dann helfen folgende Kommandos:
|
||||
If `pip install` fails to install the mariadb dependency, the following commands may help:
|
||||
|
||||
* Debian/Ubuntu: `sudo apt-get install -y libmariadb-dev`
|
||||
* Macos/Homebrew: `brew install mariadb-connector-c`
|
||||
* MacOS/Homebrew: `brew install mariadb-connector-c`
|
||||
|
||||
gefolgt von einem erneuten `pip install -r requirements.txt`.
|
||||
Followed by a renewed `pip install -r requirements.txt`.
|
||||
|
||||
## Nutzung
|
||||
|
||||
`config.example.py` anpassen und dann in config.py umbennenen
|
||||
Um das System zu nutzen, führen Sie `flask_server.py` aus, damit wird der Server gestartet
|
||||
## Usage
|
||||
|
||||
Adjust `config.example.py` and rename it to `config.py`. To use the system, run `flask_server.py`, which starts the server:
|
||||
|
||||
```bash
|
||||
./flask_server.py
|
||||
```
|
||||
## Klassen und Funktionalitäten
|
||||
|
||||
In diesem Projekt werden verschiedene Klassen verwendet, um die Komponenten eines Energiesystems zu simulieren und zu optimieren. Jede Klasse repräsentiert einen spezifischen Aspekt des Systems, wie nachfolgend beschrieben:
|
||||
## Classes and Functionalities
|
||||
|
||||
- `PVAkku`: Simuliert einen Batteriespeicher, einschließlich der Kapazität, des Ladezustands und jetzt auch der Lade- und Entladeverluste.
|
||||
This project uses various classes to simulate and optimize the components of an energy system. Each class represents a specific aspect of the system, as described below:
|
||||
|
||||
- `PVForecast`: Stellt Vorhersagedaten für die Photovoltaik-Erzeugung bereit, basierend auf Wetterdaten und historischen Erzeugungsdaten.
|
||||
- `PVAkku`: Simulates a battery storage system, including capacity, state of charge, and now charge and discharge losses.
|
||||
|
||||
- `Load`: Modelliert die Lastanforderungen des Haushalts oder Unternehmens, ermöglicht die Vorhersage des zukünftigen Energiebedarfs.
|
||||
- `PVForecast`: Provides forecast data for photovoltaic generation, based on weather data and historical generation data.
|
||||
|
||||
- `HeatPump`: Simuliert eine Wärmepumpe, einschließlich ihres Energieverbrauchs und ihrer Effizienz unter verschiedenen Betriebsbedingungen.
|
||||
- `Load`: Models the load requirements of a household or business, enabling the prediction of future energy demand.
|
||||
|
||||
- `Strompreis`: Bietet Informationen zu den Strompreisen, ermöglicht die Optimierung des Energieverbrauchs und der -erzeugung basierend auf Tarifinformationen.
|
||||
- `HeatPump`: Simulates a heat pump, including its energy consumption and efficiency under various operating conditions.
|
||||
|
||||
- `EMS`: Das Energiemanagementsystem (EMS) koordiniert die Interaktion zwischen den verschiedenen Komponenten, führt die Optimierung durch und simuliert den Betrieb des gesamten Energiesystems.
|
||||
- `Strompreis`: Provides information on electricity prices, enabling optimization of energy consumption and generation based on tariff information.
|
||||
|
||||
Diese Klassen arbeiten zusammen, um eine detaillierte Simulation und Optimierung des Energiesystems zu ermöglichen. Für jede Klasse können spezifische Parameter und Einstellungen angepasst werden, um verschiedene Szenarien und Strategien zu testen.
|
||||
- `EMS`: The Energy Management System (EMS) coordinates the interaction between the various components, performs optimization, and simulates the operation of the entire energy system.
|
||||
|
||||
### Anpassung und Erweiterung
|
||||
These classes work together to enable a detailed simulation and optimization of the energy system. For each class, specific parameters and settings can be adjusted to test different scenarios and strategies.
|
||||
|
||||
Jede Klasse ist so gestaltet, dass sie leicht angepasst und erweitert werden kann, um zusätzliche Funktionen oder Verbesserungen zu integrieren. Beispielsweise können neue Methoden zur genaueren Modellierung des Verhaltens von PV-Anlagen oder Batteriespeichern hinzugefügt werden. Entwickler sind eingeladen, das System nach ihren Bedürfnissen zu modifizieren und zu erweitern.
|
||||
### Customization and Extension
|
||||
|
||||
Each class is designed to be easily customized and extended to integrate additional functions or improvements. For example, new methods can be added for more accurate modeling of PV system or battery behavior. Developers are invited to modify and extend the system according to their needs.
|
||||
|
||||
|
||||
# Input für den Flask Server (Stand 30.07.204)
|
||||
Beschreibt die Struktur und Datentypen des JSON-Objekts, das an den Flask-Server gesendet wird. Hier mit einem Prognosezeitraum von 48 Stunden!
|
||||
# Input for the Flask Server (as of 30.07.2024)
|
||||
|
||||
## Felder des JSON-Objekts
|
||||
Describes the structure and data types of the JSON object sent to the Flask server, with a forecast period of 48 hours.
|
||||
|
||||
### strompreis_euro_pro_wh
|
||||
- **Beschreibung**: Ein Array von Floats, das den Strompreis in Euro pro Wattstunde für verschiedene Zeitintervalle darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 48
|
||||
## JSON Object Fields
|
||||
|
||||
### gesamtlast
|
||||
- **Beschreibung**: Ein Array von Floats, das die Gesamtlast (Verbrauch) in Watt für verschiedene Zeitintervalle darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 48
|
||||
### `strompreis_euro_pro_wh`
|
||||
- **Description**: An array of floats representing the electricity price in euros per watt-hour for different time intervals.
|
||||
- **Type**: Array
|
||||
- **Element Type**: Float
|
||||
- **Length**: 48
|
||||
|
||||
### pv_forecast
|
||||
- **Beschreibung**: Ein Array von Floats, das die prognostizierte Photovoltaik-Leistung in Watt für verschiedene Zeitintervalle darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 48
|
||||
### `gesamtlast`
|
||||
- **Description**: An array of floats representing the total load (consumption) in watts for different time intervals.
|
||||
- **Type**: Array
|
||||
- **Element Type**: Float
|
||||
- **Length**: 48
|
||||
|
||||
### temperature_forecast
|
||||
- **Beschreibung**: Ein Array von Floats, das die Temperaturvorhersage in Grad Celsius für verschiedene Zeitintervalle darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 48
|
||||
### `pv_forecast`
|
||||
- **Description**: An array of floats representing the forecasted photovoltaic output in watts for different time intervals.
|
||||
- **Type**: Array
|
||||
- **Element Type**: Float
|
||||
- **Length**: 48
|
||||
|
||||
### pv_soc
|
||||
- **Beschreibung**: Ein Integer, der den Ladezustand des PV Akkus zum START der aktuellen Stunde anzeigt, das ist nicht der aktuelle!!!
|
||||
- **Typ**: Integer
|
||||
### `temperature_forecast`
|
||||
- **Description**: An array of floats representing the temperature forecast in degrees Celsius for different time intervals.
|
||||
- **Type**: Array
|
||||
- **Element Type**: Float
|
||||
- **Length**: 48
|
||||
|
||||
### pv_akku_cap
|
||||
- **Beschreibung**: Ein Integer, der die Kapazität des Photovoltaik-Akkus in Wattstunden darstellt.
|
||||
- **Typ**: Integer
|
||||
### `pv_soc`
|
||||
- **Description**: An integer representing the state of charge of the PV battery at the **start** of the current hour (not the current state).
|
||||
- **Type**: Integer
|
||||
|
||||
### einspeiseverguetung_euro_pro_wh
|
||||
- **Beschreibung**: Ein Float, der die Einspeisevergütung in Euro pro Wattstunde darstellt.
|
||||
- **Typ**: Float
|
||||
### `pv_akku_cap`
|
||||
- **Description**: An integer representing the capacity of the photovoltaic battery in watt-hours.
|
||||
- **Type**: Integer
|
||||
|
||||
### eauto_min_soc
|
||||
- **Beschreibung**: Ein Integer, der den minimalen Ladezustand (State of Charge) des Elektroautos in Prozent darstellt.
|
||||
- **Typ**: Integer
|
||||
### `einspeiseverguetung_euro_pro_wh`
|
||||
- **Description**: A float representing the feed-in compensation in euros per watt-hour.
|
||||
- **Type**: Float
|
||||
|
||||
### eauto_cap
|
||||
- **Beschreibung**: Ein Integer, der die Kapazität des Elektroauto-Akkus in Wattstunden darstellt.
|
||||
- **Typ**: Integer
|
||||
### `eauto_min_soc`
|
||||
- **Description**: An integer representing the minimum state of charge (SOC) of the electric vehicle in percentage.
|
||||
- **Type**: Integer
|
||||
|
||||
### eauto_charge_efficiency
|
||||
- **Beschreibung**: Ein Float, der die Ladeeffizienz des Elektroautos darstellt.
|
||||
- **Typ**: Float
|
||||
### `eauto_cap`
|
||||
- **Description**: An integer representing the capacity of the electric vehicle battery in watt-hours.
|
||||
- **Type**: Integer
|
||||
|
||||
### eauto_charge_power
|
||||
- **Beschreibung**: Ein Integer, der die Ladeleistung des Elektroautos in Watt darstellt.
|
||||
- **Typ**: Integer
|
||||
### `eauto_charge_efficiency`
|
||||
- **Description**: A float representing the charging efficiency of the electric vehicle.
|
||||
- **Type**: Float
|
||||
|
||||
### eauto_soc
|
||||
- **Beschreibung**: Ein Integer, der den aktuellen Ladezustand (State of Charge) des Elektroautos in Prozent darstellt.
|
||||
- **Typ**: Integer
|
||||
### `eauto_charge_power`
|
||||
- **Description**: An integer representing the charging power of the electric vehicle in watts.
|
||||
- **Type**: Integer
|
||||
|
||||
### start_solution
|
||||
- **Beschreibung**: Kann null sein oder eine vorherige Lösung enthalten (wenn vorhanden).
|
||||
- **Typ**: null oder object
|
||||
### `eauto_soc`
|
||||
- **Description**: An integer representing the current state of charge (SOC) of the electric vehicle in percentage.
|
||||
- **Type**: Integer
|
||||
|
||||
### haushaltsgeraet_wh
|
||||
- **Beschreibung**: Ein Integer, der den Energieverbrauch eines Haushaltsgeräts in Wattstunden darstellt.
|
||||
- **Typ**: Integer
|
||||
### `start_solution`
|
||||
- **Description**: Can be `null` or contain a previous solution (if available).
|
||||
- **Type**: `null` or object
|
||||
|
||||
### haushaltsgeraet_dauer
|
||||
- **Beschreibung**: Ein Integer, der die Dauer der Nutzung des Haushaltsgeräts in Stunden darstellt.
|
||||
- **Typ**: Integer
|
||||
### `haushaltsgeraet_wh`
|
||||
- **Description**: An integer representing the energy consumption of a household device in watt-hours.
|
||||
- **Type**: Integer
|
||||
|
||||
### `haushaltsgeraet_dauer`
|
||||
- **Description**: An integer representing the usage duration of a household device in hours.
|
||||
- **Type**: Integer
|
||||
|
||||
|
||||
|
||||
# JSON Output Description
|
||||
|
||||
This document describes the structure and data types of the JSON output returned by the Flask server, with a forecast period of 48 hours.
|
||||
|
||||
## JSON Output Fields (as of 30.7.2024)
|
||||
|
||||
### Explanation of the Output Fields
|
||||
|
||||
# JSON-Output Beschreibung
|
||||
#### 1. **discharge_hours_bin**
|
||||
An array that indicates for each hour of the forecast period (in this example, 48 hours) whether energy is discharged from the battery or not. The values are either `0` (no discharge) or `1` (discharge).
|
||||
|
||||
Dieses Dokument beschreibt die Struktur und Datentypen des JSON-Outputs, den der Flask-Server zurückgibt. Hier mit einem Prognosezeitraum von 48h
|
||||
#### 2. **eauto_obj**
|
||||
This object contains information related to the electric vehicle and its charging and discharging behavior:
|
||||
|
||||
## Felder des JSON-Outputs (Stand 30.7.2024)
|
||||
- **charge_array**: Indicates for each hour whether the EV is charging (`0` for no charging, `1` for charging).
|
||||
- **discharge_array**: Indicates for each hour whether the EV is discharging (`0` for no discharging, `1` for discharging).
|
||||
- **entlade_effizienz**: The discharge efficiency as a float.
|
||||
- **kapazitaet_wh**: The capacity of the EV’s battery in watt-hours.
|
||||
- **lade_effizienz**: The charging efficiency as a float.
|
||||
- **max_ladeleistung_w**: The maximum charging power of the EV in watts.
|
||||
- **soc_wh**: The state of charge of the battery in watt-hours at the start of the simulation.
|
||||
- **start_soc_prozent**: The state of charge of the battery in percentage at the start of the simulation.
|
||||
|
||||
### discharge_hours_bin
|
||||
- **Beschreibung**: Ein Array von Binärwerten (0 oder 1), das anzeigt, ob in einer bestimmten Stunde Energie entladen wird.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Integer (0 oder 1)
|
||||
- **Länge**: 48
|
||||
#### 3. **result**
|
||||
This object contains the results of the simulation and provides insights into various parameters over the entire forecast period:
|
||||
|
||||
### eauto_obj
|
||||
- **Beschreibung**: Ein Objekt, das Informationen über das Elektroauto enthält.
|
||||
- **charge_array**: Ein Array von Binärwerten (0 oder 1), das anzeigt, ob das Elektroauto in einer bestimmten Stunde geladen wird.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Integer (0 oder 1)
|
||||
- **Länge**: 48
|
||||
- **discharge_array**: Ein Array von Binärwerten (0 oder 1), das anzeigt, ob das Elektroauto in einer bestimmten Stunde entladen wird.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Integer (0 oder 1)
|
||||
- **Länge**: 48
|
||||
- **entlade_effizienz**: Die Entladeeffizienz des Elektroautos.
|
||||
- **Typ**: Float
|
||||
- **hours**: Die Anzahl der Stunden, für die die Simulation durchgeführt wird.
|
||||
- **Typ**: Integer
|
||||
- **kapazitaet_wh**: Die Kapazität des Elektroauto-Akkus in Wattstunden.
|
||||
- **Typ**: Integer
|
||||
- **lade_effizienz**: Die Ladeeffizienz des Elektroautos.
|
||||
- **Typ**: Float
|
||||
- **max_ladeleistung_w**: Die maximale Ladeleistung des Elektroautos in Watt.
|
||||
- **Typ**: Integer
|
||||
- **soc_wh**: Der Ladezustand (State of Charge) des Elektroautos in Wattstunden.
|
||||
- **Typ**: Integer
|
||||
- **start_soc_prozent**: Der initiale Ladezustand (State of Charge) des Elektroautos in Prozent.
|
||||
- **Typ**: Integer
|
||||
|
||||
### eautocharge_hours_float
|
||||
- **Beschreibung**: Ein Array von Binärwerten (0 oder 1), das anzeigt, ob das Elektroauto in einer bestimmten Stunde geladen wird.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Integer (0 oder 1)
|
||||
- **Länge**: 48
|
||||
|
||||
### result
|
||||
- **Beschreibung**: Ein Objekt, das die Ergebnisse der Simulation enthält.
|
||||
- **E-Auto_SoC_pro_Stunde**: Ein Array von Floats, das den Ladezustand des Elektroautos für jede Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Eigenverbrauch_Wh_pro_Stunde**: Ein Array von Floats, das den Eigenverbrauch in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Einnahmen_Euro_pro_Stunde**: Ein Array von Floats, das die Einnahmen in Euro pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Gesamt_Verluste**: Die gesamten Verluste in Wattstunden.
|
||||
- **Typ**: Float
|
||||
- **Gesamtbilanz_Euro**: Die gesamte Bilanz in Euro.
|
||||
- **Typ**: Float
|
||||
- **Gesamteinnahmen_Euro**: Die gesamten Einnahmen in Euro.
|
||||
- **Typ**: Float
|
||||
- **Gesamtkosten_Euro**: Die gesamten Kosten in Euro.
|
||||
- **Typ**: Float
|
||||
- **Haushaltsgeraet_wh_pro_stunde**: Ein Array von Floats, das den Energieverbrauch eines Haushaltsgeräts in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Kosten_Euro_pro_Stunde**: Ein Array von Floats, das die Kosten in Euro pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Netzbezug_Wh_pro_Stunde**: Ein Array von Floats, das den Netzbezug in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Netzeinspeisung_Wh_pro_Stunde**: Ein Array von Floats, das die Netzeinspeisung in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Verluste_Pro_Stunde**: Ein Array von Floats, das die Verluste pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **akku_soc_pro_stunde**: Ein Array von Floats, das den Ladezustand des Akkus in Prozent pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
|
||||
### simulation_data
|
||||
- **Beschreibung**: Ein Objekt, das die simulierten Daten enthält.
|
||||
- **E-Auto_SoC_pro_Stunde**: Ein Array von Floats, das den simulierten Ladezustand des Elektroautos pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Eigenverbrauch_Wh_pro_Stunde**: Ein Array von Floats, das den simulierten Eigenverbrauch in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Einnahmen_Euro_pro_Stunde**: Ein Array von Floats, das die simulierten Einnahmen in Euro pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Gesamt_Verluste**: Die gesamten simulierten Verluste in Wattstunden.
|
||||
- **Typ**: Float
|
||||
- **Gesamtbilanz_Euro**: Die gesamte simulierte Bilanz in Euro.
|
||||
- **Typ**: Float
|
||||
- **Gesamteinnahmen_Euro**: Die gesamten simulierten Einnahmen in Euro.
|
||||
- **Typ**: Float
|
||||
- **Gesamtkosten_Euro**: Die gesamten simulierten Kosten in Euro.
|
||||
- **Typ**: Float
|
||||
- **Haushaltsgeraet_wh_pro_stunde**: Ein Array von Floats, das den simulierten Energieverbrauch eines Haushaltsgeräts in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Kosten_Euro_pro_Stunde**: Ein Array von Floats, das die simulierten Kosten in Euro pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Netzbezug_Wh_pro_Stunde**: Ein Array von Floats, das den simulierten Netzbezug in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Netzeinspeisung_Wh_pro_Stunde**: Ein Array von Floats, das die simulierte Netzeinspeisung in Wattstunden pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **Verluste_Pro_Stunde**: Ein Array von Floats, das die simulierten Verluste pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
- **akku_soc_pro_stunde**: Ein Array von Floats, das den simulierten Ladezustand des Akkus in Prozent pro Stunde darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Float
|
||||
- **Länge**: 35
|
||||
|
||||
### spuelstart
|
||||
- **Beschreibung**: Kann `null` sein oder ein Objekt enthalten, das den Spülstart darstellt (wenn vorhanden).
|
||||
- **Typ**: null oder object
|
||||
|
||||
### start_solution
|
||||
- **Beschreibung**: Ein Array von Binärwerten (0 oder 1), das eine mögliche Startlösung für die Simulation darstellt.
|
||||
- **Typ**: Array
|
||||
- **Element-Typ**: Integer (0 oder 1)
|
||||
- **Länge**: 48
|
||||
- **E-Auto_SoC_pro_Stunde**: The state of charge of the EV for each hour.
|
||||
- **Eigenverbrauch_Wh_pro_Stunde**: The self-consumption of the system in watt-hours per hour.
|
||||
- **Einnahmen_Euro_pro_Stunde**: The revenue from grid feed-in or other sources in euros per hour.
|
||||
- **Gesamt_Verluste**: The total losses in watt-hours over the entire period.
|
||||
- **Gesamtbilanz_Euro**: The total balance of revenues minus costs in euros.
|
||||
- **Gesamteinnahmen_Euro**: The total revenues in euros.
|
||||
- **Gesamtkosten_Euro**: The total costs in euros.
|
||||
- **Haushaltsgeraet_wh_pro_stunde**: The energy consumption of a household appliance in watt-hours per hour.
|
||||
- **Kosten_Euro_pro_Stunde**: The costs in euros per hour.
|
||||
- **Netzbezug_Wh_pro_Stunde**: The grid energy drawn in watt-hours per hour.
|
||||
- **Netzeinspeisung_Wh_pro_Stunde**: The energy fed into the grid in watt-hours per hour.
|
||||
- **Verluste_Pro_Stunde**: The losses in watt-hours per hour.
|
||||
- **akku_soc_pro_stunde**: The state of charge of the battery (not the EV) in percentage per hour.
|
Loading…
x
Reference in New Issue
Block a user