Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Kontostand in VIS - Ideen dazu

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    888

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Kontostand in VIS - Ideen dazu

Geplant Angeheftet Gesperrt Verschoben Visualisierung
30 Beiträge 7 Kommentatoren 4.5k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ChaotC Offline
    ChaotC Offline
    Chaot
    schrieb am zuletzt editiert von
    #15

    Das Script sieht bisher so aus:

    var FinTSClient = require("open-fin-ts-js-client");
    var state = "javascript.0.Allgemein.Kontostand"/*Kontostand*/;
    var count = "javascript.0.Allgemein.KontoSumme"/*KontoSumme*/;
    var pre = "javascript.0.Allgemein.KontoS_H"/*KontoS_H*/;
    // 1\. Definition der Bankenliste - Echte URLs sind hier http://www.hbci-zka.de/institute/institut_auswahl.htm erhältlich.
    
    var bankenliste = {
            '20041155':{'blz':20041155,'url':"https://fints.comdirect.de/fints"},
            "undefined":{'url':""}
    };
    // 2\. FinTSClient anlegen
    // BLZ: xxxxxxxx
    // Kunden-ID/Benutzerkennung: xxxxxxxx
    // PIN: xxxxxxxx
    // Bankenliste siehe oben
    var client = new FinTSClient(xxxxxxxx,"xxxxxxxx","xxxxxxxx",bankenliste);
    // 3\. Verbindung aufbauen
    client.EstablishConnection(function(error){
                if(error){
                    console.log("Fehler: "+error);
                }else{
                    console.log("Erfolgreich Verbunden");
                    // 4\. Kontoumsätze für das 1\. Konto(client.konten[0]) laden 
                    client.MsgGetSaldo(client.konten[0].sepa_data,function(error2,rMsg,data){
                        if(error){
                            console.log("Fehler beim laden der Umsätze: "+error2);
                        }else{
                            // Alles gut
                            // 4\. Umsätze darstellen
                            setState(state,JSON.stringify(data));
                            setState(count,['value'])
                            setState(pre ,['soll_haben'])
                            // 5\. Verbindung beenden
                            client.MsgEndDialog(function(error,recvMsg2){
                                // 6\. Secure Daten im Objekt aus dem Ram löschen
                                client.closeSecure();
                                console.log("ENDE");
                            });
                        }
                    });
                }
            });
    

    Allerdings werden die beiden Datenpunkte nicht gefüllt. Muss ich den noch irgendwie anders abgreifen?

    ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

    1 Antwort Letzte Antwort
    0
    • Jey CeeJ Offline
      Jey CeeJ Offline
      Jey Cee
      Developer
      schrieb am zuletzt editiert von
      #16

      Count und pre?

      Da fehlt doch dein JSON.

      data['value']

      Gesendet von meinem m8 mit Tapatalk

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        PrinzEisenherz1
        schrieb am zuletzt editiert von
        #17

        Hi Jey Cee

        Hab mal versucht Deine Änderung ins Script von Chaot einzufügen aber irgendwie klappt das nicht

        var FinTSClient = require("open-fin-ts-js-client");
        var state = "javascript.0.Allgemein.Kontostand"/*Kontostand*/;
        var count = "javascript.0.Allgemein.KontoSumme"/*KontoSumme*/;
        var pre = "javascript.0.Allgemein.KontoS_H"/*KontoS_H*/;
        // 1\. Definition der Bankenliste - Echte URLs sind hier http://www.hbci-zka.de/institute/institut_auswahl.htm erhältlich.
        
        var bankenliste = {
                '74261024':{'blz':74261024,'url':"https://hbci11.fiducia.de/cgi-bin/hbciservlet"},
                "undefined":{'url':""}
        };
        // 2\. FinTSClient anlegen
        // BLZ: xxxxxxxx
        // Kunden-ID/Benutzerkennung: xxxxxxxx
        // PIN: xxxxxxxx
        // Bankenliste siehe oben
        var client = new FinTSClient(xxxxxxxx,"xxxxxxxx","xxxxxxxx",bankenliste);
        // 3\. Verbindung aufbauen
        client.EstablishConnection(function(error){
                    if(error){
                        console.log("Fehler: "+error);
                    }else{
                        console.log("Erfolgreich Verbunden");
                        // 4\. Kontoumsätze für das 1\. Konto(client.konten[0]) laden 
                        client.MsgGetSaldo(client.konten[0].sepa_data,function(error2,rMsg,data){
                            if(error){
                                console.log("Fehler beim laden der Umsätze: "+error2);
                            }else{
                                // Alles gut
                                // 4\. Umsätze darstellen
                                setState(state,JSON.stringify(data));
                                setState(count,JSON.data['value']);
                                setState(pre ,JSON.data['soll_haben']);
                                // 5\. Verbindung beenden
                                client.MsgEndDialog(function(error,recvMsg2){
                                    // 6\. Secure Daten im Objekt aus dem Ram löschen
                                    client.closeSecure();
                                    console.log("ENDE");
                                });
                            }
                        });
                    }
                });
        
        

        Da bekomme ich dann für die beiden Zeilen Fehler im Log.

        Ich will eigentlich aus folgendem String ( erzeugt durch JSON.stringify(data) )

        {"desc":"Kontokorrent","cur":"EUR","saldo":{"soll_haben":"H","buchungsdatum":null,"currency":"EUR","value":xxxxxxxx},"saldo_vorgemerkt":null,"credit_line":null,"avail_amount":null,"used_amount":null,"overdraft":null,"booking_date":null,"faelligkeit_date":null}
        

        das soll_haben und value extrahieren und in einen Datenpunkt schreiben.

        Kannst de mir da vielleicht weiterhelfen?

        Gruß

        Johnny

        Intel-NUC mit ProxMox: ioBroker,SQL, logging Strom- Gas- u. Wasserzähler;10Zoll Tab im Flur für VIS; weiteres: Homematic CCU2, Homeduino, Kameras, selbstgebaute Wetterstation;

        1 Antwort Letzte Antwort
        0
        • Jey CeeJ Offline
          Jey CeeJ Offline
          Jey Cee
          Developer
          schrieb am zuletzt editiert von
          #18

          Wäre bedeutend einfacher zu helfen wenn du mir sagst welche Fehler angezeigt werden.

          Gesendet von meinem m8 mit Tapatalk

          Persönlicher Support
          Spenden -> paypal.me/J3YC33

          1 Antwort Letzte Antwort
          0
          • ChaotC Offline
            ChaotC Offline
            Chaot
            schrieb am zuletzt editiert von
            #19

            Ich vermute mal das das extrahieren der Werte nicht klappt:

             // 4\. Umsätze darstellen
                                    setState(state,JSON.stringify(data));
                                    setState(stand,JSON.parse["value"]);
                                    setState(vorz ,JSON.parse["soll_haben"]);
            
            

            Ich komme ehrlich gesagt auch nicht weiter, aber mit meiner Erkältung funktioniert das Hirn nicht so richtig.

            ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

            1 Antwort Letzte Antwort
            0
            • P Offline
              P Offline
              PrinzEisenherz1
              schrieb am zuletzt editiert von
              #20

              Konnte es mittlerweile selber lösen

              Hier mal mein Script

              /* Script zum ermitteln Kontostand */
              
              function CreateStates(){
              createState('javascript.0.Allgemein.Kontostand-JSON', {read: true, write: true, name: 'GiroKonto - Kontostand JSON-String', desc: 'GiroKonto - Kontostand JSON-String'});
              createState('javascript.0.Allgemein.KontoStand', {read: true, write: true, name: 'GiroKonto - Kontostand', desc: 'GiroKonto - Kontostand', unit: '€'});
              createState('javascript.0.Allgemein.KontoS_H', {read: true, write: true, name: 'GiroKonto - Kontostand - Soll Haben', desc: 'GiroKonto - Kontostand - Soll Haben'});
              }
              
              //CreateStates(); /* Zum erstmaligem Erstellen der Objekte auskommentieren */
              
              var logging = false; /* logging aktivieren = true, deaktivieren = false */
              
              var FinTSClient = require("open-fin-ts-js-client");
              var state = "javascript.0.Allgemein.Kontostand-JSON"/*Kontostand im JSON-Format*/;
              var count = "javascript.0.Allgemein.KontoStand"/*Kontostand Summe*/;
              var pre = "javascript.0.Allgemein.KontoS_H"/*Kontostandvorzeichen Soll oder Haben*/;
              
              // 1\. Definition der Bankenliste - Echte URLs sind hier http://www.hbci-zka.de/institute/institut_auswahl.htm erhältlich.
              
              var bankenliste = {
                      '74261024':{'blz':74261024,'url':"https://hbci11.fiducia.de/cgi-bin/hbciservlet"},
                      "undefined":{'url':""}
              };
              // 2\. FinTSClient anlegen
              // BLZ: xxxxxxxx
              // Kunden-ID/Benutzerkennung: xxxxxxxx
              // PIN: xxxxxxxx
              // Bankenliste siehe oben
              var client = new FinTSClient(xxxxxxxx,"xxxxxxx","xxxxxxx",bankenliste);
              // 3\. Verbindung aufbauen
              client.EstablishConnection(function(error){
                          if(error){
                                  if (logging) log("Fehler: "+error);
                          }else{
                                  if (logging) log("Erfolgreich Verbunden");
                              // 4\. Kontoumsätze für das 1\. Konto(client.konten[0]) laden 
                              client.MsgGetSaldo(client.konten[0].sepa_data,function(error2,rMsg,data){
                                  if(error){
                                  if (logging) log("Fehler beim laden der Umsätze: "+error2);
                                  }else{
                                      // Alles gut
                                      // 4\. Umsätze darstellen
                                      var myJSON = JSON.stringify(data);
                                      var obj = JSON.parse(myJSON);
                                      var KtoS_H = obj.saldo.soll_haben;
                                      var KtoSumme = obj.saldo.value;
              
                                  if (logging) log('Kontostand: ' + KtoS_H + ' - '+ KtoSumme + ' € ');
              
                                      setState(state,myJSON);
                                      setState(count,KtoSumme);
                                      setState(pre,KtoS_H);
                                      // 5\. Verbindung beenden
                                      client.MsgEndDialog(function(error,recvMsg2){
                                          // 6\. Secure Daten im Objekt aus dem Ram löschen
                                          client.closeSecure();
                                  if (logging) log("ENDE");
                                      });
                                  }
                              });
                          }
                      });
              

              Gruß

              Johnny

              Intel-NUC mit ProxMox: ioBroker,SQL, logging Strom- Gas- u. Wasserzähler;10Zoll Tab im Flur für VIS; weiteres: Homematic CCU2, Homeduino, Kameras, selbstgebaute Wetterstation;

              1 Antwort Letzte Antwort
              0
              • ChaotC Offline
                ChaotC Offline
                Chaot
                schrieb am zuletzt editiert von
                #21

                Ganz herzlichen Dank.

                So funktioniert bei mir das Script auch.

                ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                1 Antwort Letzte Antwort
                0
                • P Offline
                  P Offline
                  PrinzEisenherz1
                  schrieb am zuletzt editiert von
                  #22

                  Das freut mich das es bei dir jetzt auch klappt.

                  Jetzt muss ich mal kucken wie ich es umbauen kann das ich 4 Konten abrufen kann.

                  Gruß Johnny

                  Intel-NUC mit ProxMox: ioBroker,SQL, logging Strom- Gas- u. Wasserzähler;10Zoll Tab im Flur für VIS; weiteres: Homematic CCU2, Homeduino, Kameras, selbstgebaute Wetterstation;

                  1 Antwort Letzte Antwort
                  0
                  • ChaotC Offline
                    ChaotC Offline
                    Chaot
                    schrieb am zuletzt editiert von
                    #23

                    Hast du schon eine Idee das in Vis einzubauen?

                    Mein aktuelles Problem ist das Script an sich. Wenn ich das starte läuft es ja dauernd. Der Kontostand wird einmal abgefragt und dann sollte das Script wieder ausgehen.

                    Derzeit nutze ich ein On/Off Widget um das Script aus der VIS zu steuern.

                    Aber langfristig werde ich mir wohl eine schönere Lösung einfallen lassen müssen.

                    Wenn ich wieder fit bin werde ich mal das Basteln etwas intensivieren.

                    Zu mehreren Konten:

                    Ich hätte jetzt mal so spontan ab

                    // 2\. FinTSClient anlegen
                    

                    den ganzen folgende Block wiederholt mit eben den Daten des nächsten Kontos.

                    Bei mehreren Banken sollte dann auch die Bankenliste erweitert werden.

                    Ich werde mal bei mir versuchen (drei Konten bei einer Bank) den Abruf

                    // 4\. Kontoumsätze für das 1\. Konto(client.konten[0]) laden 
                                    client.MsgGetSaldo(client.konten[0].sepa_data,function(error2,rMsg,data){
                    

                    auf das nächste Konto zu erweitern:

                    // 4\. Kontoumsätze für das 1\. Konto(client.konten[1]) laden 
                                    client.MsgGetSaldo(client.konten[1].sepa_data,function(error2,rMsg,data){
                    

                    ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      PrinzEisenherz1
                      schrieb am zuletzt editiert von
                      #24

                      Was du probieren könntest ist ein weiteres Objekt anlegen als Trigger der das Script aktiviert und nach dem Durchlauf lässt du das Script im Script deaktivieren.

                      Ich hoffe du verstehst was ich da meine. Oder ne on Funktion die auf das Trigger Objekt reagiert.

                      Bzgl mehrerer Konten gibt es in der API von open-fin-ts-js-client n Beispiel für async Abgleich.

                      Das könnte evtl was sein. Muss ich mal bei Gelegenheit testen

                      Gruß Johnny

                      Intel-NUC mit ProxMox: ioBroker,SQL, logging Strom- Gas- u. Wasserzähler;10Zoll Tab im Flur für VIS; weiteres: Homematic CCU2, Homeduino, Kameras, selbstgebaute Wetterstation;

                      1 Antwort Letzte Antwort
                      0
                      • ChaotC Offline
                        ChaotC Offline
                        Chaot
                        schrieb am zuletzt editiert von
                        #25

                        dank Prinz Eisenherz habe ich die Abfrage auch etwas eleganter gelöst:

                        Ich habe einen Datenpunkt erstellt den ich aus VIS mit einem "Toggle" Button ansteuere.

                        Da bei meinem Script egal ist in welchem Zustand der Datenpunkt verbleibt reicht ein einfaches Umschalten.

                        Damit wird dann das eigentliche Abfragescript für ein paar Sekunden aktiv geschaltet und die Abfrage der Kontostände erfolgt.

                        on({id: 'javascript.0.Allgemein.Abfrage', change: "ne"}, function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          for (var count = 0; count < 1; count++) {
                            setState("javascript.0.scriptEnabled.Nachrichten.Kontostand"/*scriptEnabled.Nachrichten.Kontostand*/, true);
                          }
                          setStateDelayed("javascript.0.scriptEnabled.Nachrichten.Kontostand"/*scriptEnabled.Nachrichten.Kontostand*/, false, 10000, false);
                        });
                        

                        Die Abfrage der weiteren Konten bei der gleichen Bank funktioniert soweit. Ein weiteres Konto bei einer anderen Bank ist noch nicht integriert, aber das sehe ich als nicht so wichtig derzeit.

                        ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                        1 Antwort Letzte Antwort
                        0
                        • D Offline
                          D Offline
                          dtp
                          schrieb am zuletzt editiert von
                          #26

                          Auf Ideen kommt ihr.

                          Unser Besuch würde es sicherlich ganz amüsant finden, wenn er die Kontostände auf unserem Wand-Tablet ablesen könnte. ;)

                          Aber mal ehrlich. Dafür gibt es die finanzblick App. Die hat überdies den Vorteil, dass man sehr einfach und schnell die entsprechenden Buchungsvorgänge in das WISO Sparbuch für die Steuererklärung eingebunden bekommt.

                          Aber gut, jeder, wie er mag.

                          Bis dann,

                          Thorsten

                          ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

                          1 Antwort Letzte Antwort
                          0
                          • Jey CeeJ Offline
                            Jey CeeJ Offline
                            Jey Cee
                            Developer
                            schrieb am zuletzt editiert von
                            #27

                            Naja mein Gedanke war nicht den Kontostand auf dem Tablet anzuzeigen.

                            Ich erfasse den Heizölstand, Frage den durchschnittlichen Tages Preis ab und hab ein Konto wo nur das Geld fürs Heizöl liegt.

                            Damit wollte ich die mögliche Menge Heizöl ermitteln die ich bestellen kann.

                            Gesendet von meinem m8 mit Tapatalk

                            Persönlicher Support
                            Spenden -> paypal.me/J3YC33

                            1 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              dtp
                              schrieb am zuletzt editiert von
                              #28

                              Dein Gedanke war es vielleicht nicht, aber so, wie ich den TO verstanden habe, seiner schon, oder? 8-)

                              ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

                              1 Antwort Letzte Antwort
                              0
                              • ? Offline
                                ? Offline
                                Ein ehemaliger Benutzer
                                schrieb am zuletzt editiert von
                                #29

                                Ich finde die Idee ganz gut…hatte vorher diesen Thread leider nicht gelesen.

                                Habe das ganze also mit aqbanking gelöst. So kann ich mir auch die Umsätze direkt an IOBroker pushen.

                                Vielleicht ja nur als kleinen Tipp, wenn jemand auch mehr Infos benötigt.

                                1 Antwort Letzte Antwort
                                0
                                • ChaotC Offline
                                  ChaotC Offline
                                  Chaot
                                  schrieb am zuletzt editiert von
                                  #30

                                  Ich würde auch nicht meinen Besuchern direkt meinen Kontostand mitteilen :D

                                  Aus dem Grund habe ich extra fürs Smartphone eine weitere VIS aktiv die diese einfache Abfrage ausführt.

                                  Der Grund ist recht einfach:

                                  Meine Holde ist nicht so ganz mit Technik befreundet. Am Smartphone das Haus bedienen geht mittlerweile, aber ans Onlinebanking oder nur die Kontostandsabfrage traut sie sich nicht. Somit habe ich ihr die Möglichkeit geschaffen den Kontostand zu checken ohne das sie eine weitere App nutzen muss.

                                  Mir ist schon klar das das jetzt vielleicht seltsam klingen mag, aber für mich ist es eben eine praktikable Lösung die sich durch den ioBroker eben angeboten hat. Durch die tatkräftige Hilfe hier habe ich es somit geschafft eine einfache Lösung einzubauen.

                                  ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                                  1 Antwort Letzte Antwort
                                  0
                                  Antworten
                                  • In einem neuen Thema antworten
                                  Anmelden zum Antworten
                                  • Älteste zuerst
                                  • Neuste zuerst
                                  • Meiste Stimmen


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  347

                                  Online

                                  32.6k

                                  Benutzer

                                  82.1k

                                  Themen

                                  1.3m

                                  Beiträge
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Anmelden

                                  • Du hast noch kein Konto? Registrieren

                                  • Anmelden oder registrieren, um zu suchen
                                  • Erster Beitrag
                                    Letzter Beitrag
                                  0
                                  • Home
                                  • Aktuell
                                  • Tags
                                  • Ungelesen 0
                                  • Kategorien
                                  • Unreplied
                                  • Beliebt
                                  • GitHub
                                  • Docu
                                  • Hilfe