ING/README.md
2026-06-05 17:19:01 +02:00

129 lines
No EOL
2.4 KiB
Markdown

# ING Kontostandsabfrage für ioBroker
## Zweck
Dieses Python-Skript ruft den aktuellen Kontostand eines ING-Kontos per FinTS ab und schreibt den Wert automatisch in einen ioBroker-Datenpunkt über die Simple-API.
## Systemumgebung
- Betriebssystem: Debian Linux
- Benutzer: `banking`
- Ausführungsort: VM `Applikationen`
- Bank: ING Deutschland
- Übertragung: HTTP Simple-API an ioBroker
## Verzeichnisstruktur
```text
/home/banking/
├── .ing.conf
├── bin/
│ └── balance.py
└── logs/
└── balance.log
```
## Konfigurationsdatei
Datei:
```text
/home/banking/.ing.conf
```
Inhalt:
```ini
# ING
ING_USER=1234567890
ING_PIN=geheimepin
ING_IBAN=DE00123456789012345678
# ioBroker
IOBROKER_HOST=10.0.1.122
IOBROKER_PORT=8087
IOBROKER_DP=javascript.0.Finanzen.ING.Kontostand
```
## Berechtigungen
```bash
chmod 700 /home/banking
chmod 700 /home/banking/bin
chmod 700 /home/banking/bin/balance.py
chmod 700 /home/banking/logs
chmod 600 /home/banking/.ing.conf
```
## Installation
Python-Abhängigkeit installieren:
```bash
python3 -m pip install --user --break-system-packages fints
```
Prüfen:
```bash
python3 -c "from fints.client import FinTS3PinTanClient; print('OK')"
```
## Manuelle Ausführung
```bash
python3 /home/banking/bin/balance.py
```
Bei erfolgreicher Ausführung erfolgt keine Konsolenausgabe.
Der aktuelle Kontostand wird direkt in den konfigurierten ioBroker-Datenpunkt geschrieben.
## Logging
Fehler werden protokolliert in:
```text
/home/banking/logs/balance.log
```
Logdatei anzeigen:
```bash
tail -f /home/banking/logs/balance.log
```
## Cronjob
Ausführung Montag bis Samstag alle 4 Stunden:
```cron
0 */4 * * 1-6 /usr/bin/python3 /home/banking/bin/balance.py
```
Cronjob bearbeiten:
```bash
crontab -e
```
Cronjobs anzeigen:
```bash
crontab -l
```
## Sicherheit
- Zugangsdaten werden nicht im Skript gespeichert.
- Die Konfiguration liegt ausschließlich in `/home/banking/.ing.conf`.
- Die Datei ist nur für den Benutzer `banking` lesbar.
- Die ING-Zugangsdaten werden nicht auf dem ioBroker-System gespeichert.
- Die Kommunikation erfolgt ausschließlich zwischen der VM `Applikationen`, der ING und dem lokalen ioBroker-Server.
## Hinweise
- 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.