house Im Letten 16/1, 71139 Ehningen

Service-Hotline +49 7034 - 279 660

time Mo - Do: 08:00-12:00 Uhr und 13.00-15.00 Uhr und Fr: 8.00-12.00 Uhr

Version: v1.02.2.4Veröffentlicht: 02.03.2026
  • 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 geschrieben

    Der 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" eingetragen

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

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. 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.
  3. 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.

zu Ihrem Angebot!