knuspermagier.de
Er bloggt noch? Krass!

HBCI Push und so.

Mal wieder ein Post, der etwas technisch angehauchter ist, zu einem Thema, was ich letztens mal bei Twitter erwähnte, dann aber wieder relativ in Vergessenheit geraten ließ.

Es geht um folgendes: Wie sicherlich viele von euch auch, habe ich ein Girokonto bei einer Bank. Bei mir ist das die Sparkasse. Ich bin sehr gerne darüber informiert, wer mir Geld abbucht, und vor allem wieviel Geld mir wer abbucht. Der normale Workflow um an diese Information zu kommen sieht nun so aus:

  1. Webseite öffnen
  2. Benutzerdaten eingeben
  3. 3x Klicken
  4. Sehen!

Soweit so gut, so hab ich es Jahre lang gemacht. Jedoch wünschte ich mir schon immer eine einfachere, automatischere Möglichkeit das zu erledigen.

Letztens las ich dann irgendwo irgendwas über Homebanking und kam auf diesem Wege zu dem HBCI-Protokoll, welches von verschiedenen Software-Dingern benutzt wird um mit Banken zu kommunizieren. Wunderbar.

Schnell erkundigte ich mich, was es so für Bibliotheken gibt, die HBCI implementieren. Zunächst versuchte ich AqBanking, welches ich aber nicht in einer vernünftigen aktuellen Version compiliert bekommen habe. Also Wechsel zu Java und HBCI4Java.

Da waren ein paar gute Beispiele dabei, womit es es, nach etwas rumprobieren, geschafft hab ein kleines Programm zu schreiben, was mir die letzten Umsätze von der Bank abfragt und sie in eine SQLite-Datenbank abspeichert.

kontomail.png

Dieses Progrämmchen läuft nun gemütlich auf meinem VServer, ruft alle paar Stunden die Umsätze ab und speichert sie. Soweit so gut. Jetzt kann man mit den Umsatzdaten, auf die man jetzt locker und flockig über eine Datenbank zugreifen kann, anfangen was man will.

Ich schrieb mir zum Beispiel erstmal ein kleines PHP-Skript, welches neue Umsätze via Prowl an mein iPhone pusht. Ebenso werden die Umsätze über die REST-Schnittstelle meiner "Finanzverwaltungswebapp" in ebendiese eingefügt. Ein Traum!

Natürlich ist das ganze nur relativ schnell zusammengehackt. Zum Beispiel steht Kontonummer und Onlinebanking-PIN im Klartext im Source. Nicht so schön, aber für mich ausreichend. Falls Interesse besteht, lad ich das Zeug aber trotzdem mal bei GitHub hoch, vielleicht kann jemand der Lust auf sowas hat, es ja schöner gestalten!