diff --git a/README.md b/README.md index 93ea1f8..329c08c 100644 --- a/README.md +++ b/README.md @@ -126,4 +126,111 @@ crontab -l - Für die ING wird FinTS verwendet. - FinTS-Server: `https://fints.ing.de/fints/` - Der ioBroker-Datenpunkt sollte vom Typ `number` sein. -- Die ING kann aufgrund regulatorischer Vorgaben eine regelmäßige Anmeldung im normalen Online-Banking verlangen. \ No newline at end of file +- Die ING kann aufgrund regulatorischer Vorgaben eine regelmäßige Anmeldung im normalen Online-Banking verlangen. +## Transaktions-Export + +Zusätzlich zum Kontostandsabruf steht ein separates Skript für den Export der Kontotransaktionen zur Verfügung. + +Datei: + +```text +/home/banking/bin/transactions.py +``` + +### Funktion + +Das Skript: + +- verbindet sich per FinTS mit der ING +- liest die Transaktionen der letzten 7 Tage +- exportiert die Daten als CSV-Datei +- exportiert die Daten als JSON-Datei +- schreibt statistische Kennzahlen nach ioBroker + +### Verzeichnisstruktur + +```text +/home/banking/Transaktionen/ +└── / + ├── csv/ + │ └── transactions__KW.csv + └── json/ + └── transactions__KW.json +``` + +Beispiel: + +```text +/home/banking/Transaktionen/ +└── 2026/ + ├── csv/ + │ └── transactions_2026_KW23.csv + └── json/ + └── transactions_2026_KW23.json +``` + +### CSV-Inhalt + +```csv +date;amount;posting_text;applicant_name;purpose +2026-06-01;-17.80 EUR;Lastschrifteinzug;ERGO Krankenversicherung AG;... +2026-06-05;-10.99 EUR;Kartenzahlung;Amazon;... +``` + +### JSON-Inhalt + +```json +[ + { + "date": "2026-06-01", + "amount": "-17.80 EUR", + "posting_text": "Lastschrifteinzug", + "applicant_name": "ERGO Krankenversicherung AG", + "purpose": "..." + } +] +``` + +### ioBroker-Datenpunkte + +Das Skript aktualisiert folgende Datenpunkte: + +| Datenpunkt | Beschreibung | +|------------|-------------| +| `javascript.0.Variablen.Konto_Transaktionen` | Anzahl der Transaktionen der letzten 7 Tage | +| `javascript.0.Variablen.Konto_Wochensumme` | Summe aller Transaktionen der letzten 7 Tage | +| `javascript.0.Variablen.Konto_Wochenausgaben` | Summe aller Ausgaben der letzten 7 Tage | + +### Cronjob + +Ausführung jeden Sonntag um 23:00 Uhr: + +```cron +0 23 * * 0 /usr/bin/python3 /home/banking/bin/transactions.py +``` + +Cronjobs anzeigen: + +```bash +crontab -l +``` + +Cronjobs bearbeiten: + +```bash +crontab -e +``` + +### Manuelle Ausführung + +```bash +python3 /home/banking/bin/transactions.py +``` + +### Hinweise + +- Die Exportdateien werden pro Kalenderwoche neu erstellt. +- Vorhandene Dateien derselben Kalenderwoche werden überschrieben. +- CSV und JSON werden getrennt nach Jahr archiviert. +- Die ING-Zugangsdaten werden aus der Datei `.ing.conf` gelesen. +- Das Skript verwendet dieselbe Konfiguration wie `balance.py`. \ No newline at end of file diff --git a/test.py b/balance.py similarity index 100% rename from test.py rename to balance.py