# 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.