ING/README.md
2026-06-21 18:33:50 +02:00

276 lines
4 KiB
Markdown

# ING FinTS Auswertung
![Dashboard](static/dashboard.png)
Python-Skripte und Web-Dashboard zur automatisierten Auswertung eines ING-Kontos über FinTS.
---
## Funktionen
### balance.py
* Aktuellen Kontostand abrufen
* Übertragung an ioBroker
* Logging
### transactions.py
* Abruf der Kontobewegungen einer Kalenderwoche
* Export als CSV und JSON
* Übertragung von Kennzahlen an ioBroker
### categorize_transactions.py
* Kategorisierung anhand von Kategorien.json
* Erzeugung von Auswertungen
* Erstellung der Excel-Jahresauswertung
### Flask Web-Dashboard
* Dashboard mit aktueller Kalenderwoche
* Aktueller Kontostand aus ioBroker
* Kontostand-Ampel
* Einnahmen / Ausgaben / Saldo
* Transaktionen der aktuellen Woche
* Unbekannte Buchungen
* Kategorienverwaltung
* Wartungsbereich
* Log-Anzeige
---
## Web-Dashboard
### Dashboard
Anzeige von:
* Kontostand
* Einnahmen
* Ausgaben
* Saldo
* Transaktionen der aktuellen Kalenderwoche
* Unbekannte Buchungen
### Unbekannte Buchungen
Alle Transaktionen mit Kategorie:
```text
Unbekannt
```
werden in einer eigenen Kachel angezeigt.
Von dort kann direkt zur Kategorienverwaltung gewechselt werden.
### Kontostand-Ampel
Konfigurierbar über:
```ini
BALANCE_YELLOW_DAY=15
BALANCE_YELLOW_LIMIT=400
BALANCE_RED_DAY=28
BALANCE_RED_LIMIT=300
```
Beispiel:
* ab Tag 15 und unter 400 € → Orange
* ab Tag 28 und unter 300 € → Rot
### Wartung
Über die Weboberfläche können folgende Aktionen gestartet werden:
* Kontostand aktualisieren
* Transaktionen laden
* Kategorisierung starten
* Wochenupdate
### Wochenupdate
Führt automatisch aus:
```text
transactions.py
categorize_transactions.py
```
### Popup-Meldungen
Erfolgreiche Aktionen werden direkt im Dashboard angezeigt.
---
## Verzeichnisstruktur
```text
/home/banking
├── .ing.conf
├── logs
│ ├── balance.log
│ ├── transactions.log
│ └── categorize_transactions.log
├── ING
│ ├── app.py
│ ├── balance.py
│ ├── transactions.py
│ ├── categorize_transactions.py
│ ├── Kategorien.json
│ ├── templates/
│ ├── static/
│ └── README.md
└── Transaktionen
└── YYYY
├── csv
├── json
├── categorized_csv
├── categorized_json
├── summary
└── jahresauswertung
```
---
## Konfiguration
Datei:
```text
~/.ing.conf
```
Beispiel:
```ini
ING_USER=12345678
ING_PIN=geheim
ING_IBAN=DExxxxxxxx
IOBROKER_HOST=10.0.1.122
IOBROKER_PORT=8087
IOBROKER_DP_BALANCE=javascript.0.Variablen.Konto
IOBROKER_DP_TRANSACTIONS=javascript.0.Variablen.Konto_Transaktionen
IOBROKER_DP_WEEKSUM=javascript.0.Variablen.Konto_Wochensumme
IOBROKER_DP_WEEKEXPENSES=javascript.0.Variablen.Konto_Wochenausgaben
BALANCE_YELLOW_DAY=15
BALANCE_YELLOW_LIMIT=400
BALANCE_RED_DAY=28
BALANCE_RED_LIMIT=300
```
---
## Installation
Repository klonen:
```bash
git clone https://git.hintergasse.de/hubobel/ING.git
```
Abhängigkeiten installieren:
```bash
pip install -r requirements.txt
```
---
## Wichtige Befehle
Repository aktualisieren:
```bash
git -C ~/ING pull
```
Kontostand abrufen:
```bash
python3 ~/ING/balance.py
```
Transaktionen laden:
```bash
python3 ~/ING/transactions.py
```
Bestimmte Kalenderwoche laden:
```bash
python3 ~/ING/transactions.py 2026 25
```
Kategorisieren:
```bash
python3 ~/ING/categorize_transactions.py
```
Bestimmte Kalenderwoche kategorisieren:
```bash
python3 ~/ING/categorize_transactions.py 2026 25
```
---
## Logging
Linux:
```text
/home/banking/logs
```
Windows (PyCharm):
```text
<Projektverzeichnis>/logs
```
---
## Betriebssysteme
### Linux
* Debian
* Ubuntu
* Proxmox VE
### Windows
* Windows 11
* PyCharm
Die Skripte erkennen automatisch die Umgebung und verwenden passende Log- und Konfigurationspfade.
---
## ioBroker
Verwendete Datenpunkte:
* Kontostand
* Anzahl Transaktionen
* Wochensumme
* Wochenausgaben
Der Kontostand wird zusätzlich im Dashboard angezeigt.
---
## Lizenz
Privates Projekt.