{"id":2535,"date":"2014-01-09T16:14:17","date_gmt":"2014-01-09T15:14:17","guid":{"rendered":"http:\/\/www.b.shuttle.de\/hayek\/Hayek\/Jochen\/wp\/blog-de\/?p=2535"},"modified":"2019-09-19T13:34:58","modified_gmt":"2019-09-19T11:34:58","slug":"hbcifints-mit-hibiscus-und-perl","status":"publish","type":"post","link":"https:\/\/wp.jochen.hayek.name\/blog-de\/2014\/01\/09\/hbcifints-mit-hibiscus-und-perl\/","title":{"rendered":"HBCI\/FinTS mit HIBISCUS und ein bisschen Perl (f\u00fcr mich)"},"content":{"rendered":"<p>\t\t\t\tIch bin heute auf Twitter \u00fcber einen Thread zum Thema <a title=\"http:\/\/de.wikipedia.org\/wiki\/Financial_Transaction_Services\" href=\"http:\/\/de.wikipedia.org\/wiki\/Financial_Transaction_Services\">HBCI \/ FinTS <\/a>\/ <a title=\"http:\/\/www.willuhn.de\/products\/hibiscus-server\/\" href=\"http:\/\/www.willuhn.de\/products\/hibiscus-server\/\">hibiscus<\/a> gesto\u00dfen,\u00a0und ich m\u00f6chte &#8220;jeden&#8221; ermutigen, <a title=\"http:\/\/www.willuhn.de\/products\/hibiscus-server\/\" href=\"http:\/\/www.willuhn.de\/products\/hibiscus-server\/\">hibiscus-server<\/a>\u00a0zu benutzen.<\/p>\n<p>Ich hatte schon vor einiger Zeit einige Links und Notizen hier zusammengeschrieben:<\/p>\n<ul>\n<li><a title=\"http:\/\/Jochen.Hayek.name\/wp\/blog-en\/2013\/11\/15\/hibiscus-payment-server-hbci-banking\/\" href=\"http:\/\/Jochen.Hayek.name\/wp\/blog-en\/2013\/11\/15\/hibiscus-payment-server-hbci-banking\/\">http:\/\/Jochen.Hayek.name\/wp\/blog-en\/2013\/11\/15\/hibiscus-payment-server-hbci-banking\/<\/a><\/li>\n<\/ul>\n<p>Bei Bedarf erl\u00e4utere ich auch gerne meine Vorgehensweise mit Shell und Perl noch etwas ausf\u00fchrlicher.<\/p>\n<p>Meine Motivation zu diesem Thema: Ich habe etliche Jahre lang per Web-Scraping (Perl) die Konto-Ums\u00e4tze von ein paar Konten bei der Postbank und bei der Berliner Sparkasse abgeholt. Das wuchs mir schlicht \u00fcber den Kopf. Der Ausweg: <a title=\"http:\/\/de.wikipedia.org\/wiki\/Financial_Transaction_Services\" href=\"http:\/\/de.wikipedia.org\/wiki\/Financial_Transaction_Services\">HBCI\/FinTS<\/a>.<\/p>\n<p>Hier nur kurz:<\/p>\n<ul>\n<li><a title=\"http:\/\/www.willuhn.de\/products\/hibiscus-server\/\" href=\"http:\/\/www.willuhn.de\/products\/hibiscus-server\/\">hibiscus-server<\/a>+jameica <a title=\"http:\/\/www.willuhn.de\/products\/hibiscus-server\/download.php\" href=\"http:\/\/www.willuhn.de\/products\/hibiscus-server\/download.php\">herunterladen<\/a> + entpacken<\/li>\n<li>(ungef\u00e4hr) so starten: \/usr\/local\/hibiscus-server\/jameicaserver.sh<\/li>\n<li>man kann als Datenbank <a title=\"http:\/\/en.wikipedia.org\/wiki\/H2_(DBMS)\" href=\"http:\/\/en.wikipedia.org\/wiki\/H2_(DBMS)\">H2<\/a> (&#8220;Embedded&#8221;) oder MySQL verwenden, ich verwende <a title=\"http:\/\/en.wikipedia.org\/wiki\/H2_(DBMS)\" href=\"http:\/\/en.wikipedia.org\/wiki\/H2_(DBMS)\">H2<\/a><\/li>\n<li>mit der neuen Software ein <a title=\"http:\/\/de.wikipedia.org\/wiki\/Financial_Transaction_Services\" href=\"http:\/\/de.wikipedia.org\/wiki\/Financial_Transaction_Services\">HBCI\/FinTS<\/a>-f\u00e4higes Konto einrichten<\/li>\n<\/ul>\n<p>Bis hierher geht das in garantiert weniger als 2 Stunden und total reibungslos,\u00a0jedenfalls im Vergleich zu &#8220;allem&#8221;, was ich bisher in diesem Bereich versuchte.<\/p>\n<ul>\n<li>Der Server bietet etliche REST-Services an, die liefern als Ergebnis JSON.<\/li>\n<li>Ich rufe die mit curl ab.<\/li>\n<li>Ich konvertiere JSON mit dem CPAN-Modul <a title=\"https:\/\/metacpan.org\/pod\/JSON\" href=\"https:\/\/metacpan.org\/pod\/JSON\">JSON<\/a> in eine Perl-Datenstruktur \u00a0(siehe <a title=\"http:\/\/Hayek.name\/Jochen\/Business\/Financial_Services\/Banking_Services\/Online_Banking\/Computers.Programming.Languages.Perl\/hibiscus-json2csv.pl\" href=\"http:\/\/Hayek.name\/Jochen\/Business\/Financial_Services\/Banking_Services\/Online_Banking\/Computers.Programming.Languages.Perl\/hibiscus-json2csv.pl\">u.a. Perl-Script<\/a>!).<\/li>\n<li>Bei Bedarf (manchmal mehrmals am Tag) hole ich per Browser-Schnittstelle f\u00fcr (derzeit) 3 Konten (alle auf einmal ohne weitere Einstellungen) per <a title=\"http:\/\/www.willuhn.de\/products\/hibiscus-server\/\" href=\"http:\/\/www.willuhn.de\/products\/hibiscus-server\/\">hibiscus<\/a> die aktuellen Kontoums\u00e4tze ab: &#8220;<em>Synchronisierung jetzt manuell starten<\/em>&#8220;, dabei verfolge ich per tailf das Log-File\u00a0.jameica\/jameica.log .<\/li>\n<li>Danach starte ich ein Shell-Script, welches aus dem JSON wiederum per Perl-Script\u00a0[<a title=\"http:\/\/Hayek.name\/Jochen\/Business\/Financial_Services\/Banking_Services\/Online_Banking\/Computers.Programming.Languages.Perl\/hibiscus-json2csv.pl\" href=\"http:\/\/Hayek.name\/Jochen\/Business\/Financial_Services\/Banking_Services\/Online_Banking\/Computers.Programming.Languages.Perl\/hibiscus-json2csv.pl\">hibiscus-json2csv.pl<\/a>]\u00a0ein sehr spezielles CSV-Format erzeugt. Dieses &#8220;sehr spezielle CSV-Format&#8221; habe ich mal aus dem HTML f\u00fcr Kontoums\u00e4tze der Postbank abstrahiert \/ spezifiziert.<\/li>\n<li>Dieses Shell-Script vergleicht so ein CSV-File mit dem letzten CSV-File f\u00fcr das selbe Konto.<\/li>\n<li>Wenn es einen Unterschied gibt, wird das Delta an das &#8220;<em>rohe Gesamt-CSV<\/em>&#8221; und an das &#8220;<em>von Hand gepflegte Gesamt-CSV<\/em>&#8221; angeh\u00e4ngt, und in ein Log-File wird f\u00fcr jeden Check geschrieben, ob es eben einen Unterschied und also neue Ums\u00e4tze gibt. (Das &#8220;<em>von Hand gepflegte Gesamt-CSV<\/em>&#8221; ist mein &#8220;Kontof\u00fchrungs-Schatz&#8221; \u2013 da schreibe ich alles hinein, was mir zu Abbuchungen \/ \u00dcberweisungen \/ etc. einf\u00e4llt.)<\/li>\n<\/ul>\n<p>Ich mag <a title=\"http:\/\/de.wikipedia.org\/wiki\/Financial_Transaction_Services\" href=\"http:\/\/de.wikipedia.org\/wiki\/Financial_Transaction_Services\">HBCI\/FinTS<\/a> und insbesondere mit <a title=\"http:\/\/www.willuhn.de\/products\/hibiscus-server\/\" href=\"http:\/\/www.willuhn.de\/products\/hibiscus-server\/\">hibiscus<\/a>+jameica,\u00a0weil ich das Gef\u00fchl habe, dass die &#8220;Synchronisation&#8221; von <a title=\"http:\/\/de.wikipedia.org\/wiki\/Financial_Transaction_Services\" href=\"http:\/\/de.wikipedia.org\/wiki\/Financial_Transaction_Services\">HBCI\/FinTS<\/a>-Server und -Client dazu f\u00fchren, dass immer nur die neuesten Kontoauszugsdaten quasi als Delta zum Client \u00fcbertragen werden.<\/p>\n<p>Ich w\u00fcrde den <a title=\"http:\/\/www.willuhn.de\/\" href=\"http:\/\/www.willuhn.de\/\">Entwickler Olaf Willuhn<\/a> gerne finanziell unterst\u00fctzen.\u00a0Was mich bisher davon abhielt?\u00a0Er schrieb mir, es gebe da im hibiscus-Client einen Men\u00fcpunkt &#8230;\u00a0Bisher benutze ich den hibsicus-Client aber gar nicht,\u00a0denn mein eigentliches Banking betreibe ich (einigerma\u00dfen) zufrieden mit Lexware Quicken.<\/p>\n<p>Fortsetzung folgt (evtl)\u2026\t\t\t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich bin heute auf Twitter \u00fcber einen Thread zum Thema HBCI \/ FinTS \/ hibiscus gesto\u00dfen,\u00a0und ich m\u00f6chte &#8220;jeden&#8221; ermutigen, hibiscus-server\u00a0zu benutzen. Ich hatte schon vor einiger Zeit einige Links und Notizen hier zusammengeschrieben: http:\/\/Jochen.Hayek.name\/wp\/blog-en\/2013\/11\/15\/hibiscus-payment-server-hbci-banking\/ Bei Bedarf erl\u00e4utere ich auch gerne meine Vorgehensweise mit Shell und Perl noch etwas ausf\u00fchrlicher. Meine Motivation zu diesem Thema: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_share_on_mastodon":"0"},"categories":[49,197,207,352],"tags":[1238],"class_list":["post-2535","post","type-post","status-publish","format-standard","hentry","category-banking","category-hbci-fints","category-hibiscus","category-nicht-zugeordnet","tag-shell"],"share_on_mastodon":{"url":"","error":""},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paO0l8-ET","jetpack_likes_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/posts\/2535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/comments?post=2535"}],"version-history":[{"count":1,"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/posts\/2535\/revisions"}],"predecessor-version":[{"id":10468,"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/posts\/2535\/revisions\/10468"}],"wp:attachment":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/media?parent=2535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/categories?post=2535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/tags?post=2535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}