# eSaver Ausw Ersparnis v1.02.2 packages

Auswertung Ersparnis v1.02.2 - (c) <span style="color:blue"> GMarder </span>/[eSaver][312] GmbH  

[312]: https://www.esaver.eu/

## 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:]<br>\[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:]<br>\[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:]<br>\[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

``` text
├── 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

```bash
# 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]
```

```bash
# Test
pytest tests  # OR
pytest .  # OR
pytest
```

```bash
# Code Coverage
pytest --cov=src tests --cov-report=html
```

---
End of File
