- docs
- example
- src
- tests
- .editorconfig
- .gitattributes
- .gitignore
- changelog.md
- changelog.vorlage.md
- LICENSE
- mkdocs.yml
- pyproject.toml
- README.md
- requirements.txt
- requirements_info.md
- requirements-dev.txt
eSaver Ausw Ersparnis v1.02.2 packages
Auswertung Ersparnis v1.02.2 - (c) GMarder /eSaver GmbH
Motivation
Die Projekt-Daten werden in zur Zeit in 2 unterschiedlichen VIDA-Daten-Erfassungen aufgezeichnet.
-
Für eine Jahresauswertung müssend diese Dateien zu erst in 12 Monatstateien
vom VIDA System exportiert werden. -
Dann werden die hinterlegten Werte in eine Import-Datei konvertioert und die
Einheiten ggf. angepasst z.B.: W/h in kW/h -
Die aufbereiteten Monats-Dateien werden danach in die Jahresauswertung übernommen,
und werden dort unter Excel weiter berechnet.
Funktions Ablauf
Alle Benötigten Dateinamen und ablageorte werden in einer Excel-Datei gesammelt,
mit der dann die Konvertierung erfolgt
Zum testen der Verbindung zum Python-Programm wurden 2 Buttons eingebunden;
bei erfolgreicher Verbindung werden je 2 Texte invertiert ausgegeben.
Zum Umsetzen der Werte in den Dateien wurden 3 Buttons eingebunden;
bei erfolgter Verbindung spricht der Button aus seiner gedrückten
Position wieder zurück.
Einstellungen in der Excel-Datei
Hinterlegen der Projekt - Kennung
| items | Wert |
|---|---|
| Projekt-Name | Name1-Name2 |
| Projekt-Typ | G 63 M / 1000 kVA |
| Projekt-Nr. | PJJ0X0XX |
| Datum | 18.02.2026 |
| Jahresübersicht | 2025 |
| Datum_Start | 01.01.2025 |
| Datum_Ende | 31.12.2025 |
Hinterlegen der VIDA-Version und ablageortde der Dateien
| items | Wert |
|---|---|
| VIDA-Version | VIDA-SystemX |
| Export VIDA | Stundenverbrauch |
| Path_Export_Files | C:\ ...\VIDA-Export-Path\ ...\eSaver_Ausw_Erspar\example |
| Path_Import_Files | C:\ ...\VIDA-Import-Path\ ...\eSaver_Ausw_Erspar\example |
| -> Die Verz. können auch den gleiche Path haben | |
Hinterlegen der Export-Files von den jeweiligen VIDA-Datenerfassungen
| items | Wert |
|---|---|
| Export_File_01_Jan | PJJ0X0XX Export_VIDA-Data_2025_0101_2025_0201_StdVerBer_GM.csv |
| Export_File_xx_mon | PJJ0X0XX Export_VIDA-Data_2025_xx01_2025_yy01_StdVerBer_GM.csv |
| Export_File_12_Jan | PJJ0X0XX Export_VIDA-Data_2025_1201_2025_1201_StdVerBer_GM.csv |
| -> beinhaltet 12 Dateien für eine Jahres Auswertung | |
Hinterlegen der Import-Files von den jeweiligen VIDA-Datenerfassungen
| items | Wert |
|---|---|
| Import_File_01_Jan | PJJ0X0XX Import_VIDA-Data_2025_0101_2025_0201_StdVerBer_Imp.csv |
| Import_File_xx_mon | PJJ0X0XX Import_VIDA-Data_2025_xx01_2025_yy01_StdVerBer_Imp.csv |
| Import_File_12_Jan | PJJ0X0XX Import_VIDA-Data_2025_1201_2025_1201_StdVerBer_Imp.csv |
| -> beinhaltet 12 Dateien für eine Jahres Auswertung | |
Hinterlegen des Ersparnis-File in das alle Werte eingelesen werden
| items | Wert |
|---|---|
| PJJ0X0XX_Ersparnis_File | PJJ0X0XX_Name1-Name2 Ersparnis 2025_01-12 - Stundenbasiert ID.xlsx |
| -> Die Jahres-Auswertungs Datei wird im Path_Import_Files erwartet | |
Bedienung der Excel-Datei
Zur leichteren Bedienung der Konvertierung der Dateien und die Übernahme der Werte
in die Jahresauswertungs-Datei wurden Bedien-Buttons eingebunden.
Button zum Testen der Verbindung zu Python
| [test main] | [test ahoy] |
|---|
-
[Test Main]
Damit wird die Funktion "xw_main_req" in python aufgerufen,
und eine Nachricht in die Zeile A1 geschriebenDer Text wird Invertiert, um eine Rückmeldung von Python zu erkennen
Button zum Bearbeiten der VIDA-Daten
| [init Excel Datei] | [gen Import Dateien] | [Import in Auswertungs Datei] |
|---|---|---|
-
[Step 1:]
[Init Excel Datei]Damit wird die Funktion (Initialisierung der Excel-Import einträge) in python aufgerufen,
mit dieser Funktion werden die Dateinamen aus en Spalten "Export-Files_MM_mmm" gelesen und
die Erweiterungen gegen _Imp.xlsx getauscht. Diese Dateinamen werden dann in der Excel unter den "Import_Files_MM_mmm" eingetragenAls Rückmeldung sind die Eintragungen zu erkannen.
-
[Step 2:]
[gen Import Datei]Damit wird die Funktion (generieren der Import Dateien) in python aufgerufen,
mit dieser Funktion werden die einzelnen Export-Dateien eingelesen und die gelesenen Werte überprüft. Die Werte werden auf eine genormte Einheit konvertiert und in das Excel-Format überführt. Danach werden die einzelnen Import-Files "Import_Files_MM_mmm" erstellt.Als Rückmeldung springt der Button wieder aus seiner gedrückten Position zurück.
-
[Step 3:]
[Import in Auswertungs Datei]Damit wird die Funktion (Importiere generierte Werte in die Jahresauswertungs-Datei) in python aufgerufen,
mit dieser Funktion werden die einzelnen Import-Dateien eingelesen und die gelesenen Werte überprüft. Das Datum in den Import-Dateien bestimmen welche Tabelle in der "Auswertungs-Datei" geöffnet wird. Danach werden die einzelnen Werte in die "Auswertungs-Datei" übertragen.Als Rückmeldung springt der Button wieder aus seiner gedrückten Position zurück.
Programm Infos
Struktur
├── pyproject.toml
├── ... other config files ...
├── docs
│ ├── api_eS_Ausw_1_xlsm_Init_reads.md
│ ├── api_eS_Ausw_2_csv_to_excel_and_scan_kw.md
│ ├── api_eS_Ausw_2_xlsx_to_excel_and_scan_kw.md
│ ├── api_eS_Ausw_3_Imports_to_Ausw.md
│ ├── api_eS_Ausw_Erspar.md
│ ├── api_eS_Data_App.md
│ ├── api_eS_Data_XLS.md
│ ├── api.md
│ └── index.md
├── examples
├── ├── PJJ0X0XX_Emty
├── ├── ├── PJJ0X0XX Export_VIDA-Data_2025_xx01_2025_xx01_StdVerBer_GM.csv
├── ├── ├── "=" // Muster-Dateien ohne Werte
├── ├── └── ...
├── ├── PJJ0X0XX_Values
├── ├── ├── PJJ0X0XX Export_VIDA-Data_2025_xx01_2025_xx01_StdVerBer_GM.csv
├── ├── ├── "=" // Muster-Dateien mit Werten
├── ├── └── ...
│ ├── eSaver_Export_VIDA_Ausw_Erspar_SVB_PJJ0X0XX.xlsm
│ ├── PJJ0X0XX Export_VIDA-Data_2025_0101_2025_0101_StdVerBer_GM.csv
│ ├── PJJ0X0XX Export_VIDA-Data_2025_xx01_2025_xx01_StdVerBer_GM.csv
│ ├── PJJ0X0XX Export_VIDA-Data_2025_1201_2026_0101_StdVerBer_GM.csv
│ ├── PJJ0X0XX_Name1-Name2 Ersparnis 2025_01-12 - Stundenbasiert GMpk.xlsx
│ └── ...
├── src
│ ├── __init__.py
│ ├── eSaver_Ausw_1_xlsm_Init_reads.py
│ ├── eSaver_Ausw_2_csv_to_excel_and_scan_kw_v.py
│ ├── eSaver_Ausw_2_xlsx_to_excel_and_scan_kw_v.py
│ ├── eSaver_Ausw_3_excel_Imp_to_excel_Ausw.py
│ ├── eSaver_Data_App.py
│ └── eSaver_Data_XLS.py
└── tests
├── __init__.py
└── test_eSaver_Data_App_pytest.py.py
Commands
# Build and Install (local)
pip install -e . # OR
pip install -e ../eSaver_Ausw_Erspar_py_v1.02.2.5_py31403 # OR
pip install -e ../eSaver_Ausw_Erspar_py_v1.02.2.5_py31403[all]
# Test
pytest tests # OR
pytest . # OR
pytest
# Code Coverage
pytest --cov=src tests --cov-report=html
End of File
BSD 3-Clause License
Copyright (c) 2021-2026 by the eSaver GmbH
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.




