Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Script um SQL auszulesen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Script um SQL auszulesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Thisoft
      Thisoft last edited by

      Ach ja, manchmal kann's so einfach sein 😉 DA fehlt ein Hochkomma in deinem Script! Anstelle:

      function SQLAbfrage () {
      //log(id);
        sendTo('sql.0', 'query', 'SELECT * FROM datapoints WHERE name = \' + id + \'', GetResults);
      }
      

      muss es heißen:

      function SQLAbfrage () {
      //log(id);
        sendTo('sql.0', 'query', 'SELECT * FROM datapoints WHERE name = \'' + id + '\'', GetResults);
      }
      

      Deshalb findet die Abfrage auf die Tabelle "datapoints" keine ID und gibt wie in der Logzeile zu sehen "undefined" zurück.

      EDIT - da hatten sogar zwei Hochkommata gefehlt

      1 Reply Last reply Reply Quote 0
      • andre
        andre Developer last edited by

        @Thisoft:

        Ach ja, manchmal kann's so einfach sein 😉 DA fehlt ein Hochkomma in deinem Script! Anstelle:

        function SQLAbfrage () {
        //log(id);
          sendTo('sql.0', 'query', 'SELECT * FROM datapoints WHERE name = \' + id + \'', GetResults);
        }
        

        muss es heißen:

        function SQLAbfrage () {
        //log(id);
          sendTo('sql.0', 'query', 'SELECT * FROM datapoints WHERE name = \'' + id + '\'', GetResults);
        }
        

        Deshalb findet die Abfrage auf die Tabelle "datapoints" keine ID und gibt wie in der Logzeile zu sehen "undefined" zurück.

        EDIT - da hatten sogar zwei Hochkommata gefehlt `
        Das war es leider nicht. Hatte dort auch schon die Schreibweise im Verdacht und ein bisschen probiert. Daher fehlten auch zwei Hochkomma. Aber egal welche Schreibweise, der Fehler bleibt. 😞

        MfG,

        André

        1 Reply Last reply Reply Quote 0
        • Thisoft
          Thisoft last edited by

          Dann schalte bitte mal ALLE auskommentierten Logzeilen ein und poste das entprechende Log und bitte nochmal das komplette Script so wie du es jetzt hast.

          1 Reply Last reply Reply Quote 0
          • andre
            andre Developer last edited by

            @Thisoft:

            Dann schalte bitte mal ALLE auskommentierten Logzeilen ein und poste das entprechende Log und bitte nochmal das komplette Script so wie du es jetzt hast. `

            OK, hier das Script:

            // createState('javascript.0.e3dc.tageswerte.testmax', 0, {name: 'Maximalwert Stromverbrauch'});
            // createState('javascript.0.e3dc.tageswerte.testmin', 0, {name: 'Minimalwert Stromverbrauch'});
            
            var id = 'modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung';
            
            var maxid = 'javascript.0.e3dc.tageswerte.testmax';
            var minid = 'javascript.0.e3dc.tageswerte.testmin';
            var dt = 24;                                                                       //Zeitraum in Stunden
                dt = dt*3600*1000;
            
            SQLAbfrage(id);
            
            // maximum, minimum
            function minimum(result) {
              log(JSON.stringify(result.result));
              setState(minid, result.result[0].MinVal);
            }
            
            function maximum(result) {
              log('Fn Max'+ JSON.stringify(result.result));
              setState(maxid, result.result[0].MaxVal);
            }
            
            function SQLAbfrage () {
              log(id);
              sendTo('sql.0', 'query', 'SELECT * FROM datapoints WHERE name = \'' + id + '\'', GetResults);
            }
            
            function GetResults (dpoint) {
              var end_time = new Date().getTime();
              var start_time = new Date().getTime() - dt;
              log(JSON.stringify(dpoint.result)+'//'+start_time);
              log(dpoint.result[0].id + '---//---' + dpoint.result[0].name);
              sendTo('sql.0', 'query', 'SELECT Round(Min(val),1) As MinVal FROM ts_number WHERE ts >= ' + start_time + ' AND id=' + dpoint.result[0].id + ' GROUP BY id',minimum);
              sendTo('sql.0', 'query', 'SELECT Round(Max(val),1) As MaxVal FROM ts_number WHERE ts >= ' + start_time + ' AND id=' + dpoint.result[0].id + ' GROUP BY id',maximum);
            }
            

            Und hier die Log-Ausgabe:

            12:01:55.929	[info]	javascript.0 Start javascript script.js.E3DC.test_stromverbrauch
            12:01:55.929	[info]	javascript.0 script.js.E3DC.test_stromverbrauch: modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung
            12:01:55.929	[info]	javascript.0 script.js.E3DC.test_stromverbrauch: registered 0 subscriptions and 0 schedules
            12:01:55.944	[info]	javascript.0 script.js.E3DC.test_stromverbrauch: undefined//1486810915941
            12:01:55.945	[error]	TypeError: Cannot read property '0' of undefined at Object.GetResults [as cb] (script.js.E3DC.test_stromverbrauch:35:20) at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2827:71) at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30) at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:270:10) at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:228:12) at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15) at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:332:8) at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
            12:03:12.573	[info]	javascript.0 Stop script script.js.E3DC.test_stromverbrauch
            

            Ich hab irgendwie das Gefühl dass mit meinen Daten in der SQl etwas nicht stimmt, aber wenn ich das Ganze mit einem "Standard"-Temperaturwert eines Thermostats mache, bekomme ich den selben Fehler. 😞

            MfG,

            André

            1 Reply Last reply Reply Quote 0
            • Thisoft
              Thisoft last edited by

              Was mich jetzt stutzig macht ist dass die folgenden beiden Zeilen im Log "verkehrtherum" stehen.

              12:01:55.929   [info]   javascript.0 script.js.E3DC.test_stromverbrauch: modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung
              12:01:55.929   [info]   javascript.0 script.js.E3DC.test_stromverbrauch: registered 0 subscriptions and 0 schedules
              

              Das würde ja nach meinem Verständnis bedeuten dass die erste Funktion bereits ausgeführt wird bevor das Script fertig registriert ist. Ob das schlimm ist weiß ich jetzt nicht, aber nicht dass uns hier die Asynchronität eine Streich spielt…??? Hast du einen besonders schnellen Rechner auf dem ioBroker läuft?

              Weiterhin sagt diese Logzeile

              12:01:55.944   [info]   javascript.0 script.js.E3DC.test_stromverbrauch: undefined//1486810915941
              

              dass die erste Funktion (SQLAbfrage) kein Result (eben undefined) zurückgegeben hat und da liegt das Problem, der zweite Teil ist der für die nächste Abfrage berechnete Zeitstempel - der sieht OK aus, hat aber für diesen Fehler ohnehin noch keine Relevanz.

              So eine richtige Idee habe ich jetzt auch nicht mehr, aber eins kannst du mal noch machen. Ändere mal die Funktion wie folgt und poste dann nochmal das Log

              function SQLAbfrage () {
                log(id);
                log('SELECT * FROM datapoints WHERE name = \'' + id + '\'');
                sendTo('sql.0', 'query', 'SELECT * FROM datapoints WHERE name = \'' + id + '\'', GetResults);
              }
              
              
              1 Reply Last reply Reply Quote 0
              • andre
                andre Developer last edited by

                @Thisoft:

                Was mich jetzt stutzig macht ist dass die folgenden beiden Zeilen im Log "verkehrtherum" stehen.

                12:01:55.929   [info]   javascript.0 script.js.E3DC.test_stromverbrauch: modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung
                12:01:55.929   [info]   javascript.0 script.js.E3DC.test_stromverbrauch: registered 0 subscriptions and 0 schedules
                

                Das würde ja nach meinem Verständnis bedeuten dass die erste Funktion bereits ausgeführt wird bevor das Script fertig registriert ist. Ob das schlimm ist weiß ich jetzt nicht, aber nicht dass uns hier die Asynchronität eine Streich spielt…??? Hast du einen besonders schnellen Rechner auf dem ioBroker läuft? `
                Nach langer Pause habe ich heute endlich mal wieder Zeit…

                Ja, ich habe einen schnellen Rechner. Habe meinen ioBroker auf der Synology laufen. Die ist schon sehr performant...

                Ob sich das Script in irgendeiner Form "überholen" kann, weiß ich auch nicht...

                Ich habe mal ein bisschen probiert, aber irgendwie steige ich nicht dahinter. So sieht es aktuell aus:

                // createState('javascript.0.e3dc.tageswerte.testmax', 0, {name: 'Maximalwert Stromverbrauch'});
                // createState('javascript.0.e3dc.tageswerte.testmin', 0, {name: 'Minimalwert Stromverbrauch'});
                
                var id = 'modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung';
                
                var maxid = 'javascript.0.e3dc.tageswerte.testmax';
                var minid = 'javascript.0.e3dc.tageswerte.testmin';
                var dt = 24;                                                                       //Zeitraum in Stunden
                    dt = dt*3600*1000;
                
                // maximum, minimum
                function minimum(result) {
                  log(JSON.stringify(result.result));
                  setState(minid, result.result[0].MinVal);
                }
                
                function maximum(result) {
                  log('Fn Max'+ JSON.stringify(result.result));
                  setState(maxid, result.result[0].MaxVal);
                }
                
                function SQLAbfrage () {
                  log(id);
                  log('SELECT * FROM datapoints WHERE name = \'' + id + '\'');
                  sendTo('sql.0', 'query', 'SELECT * FROM datapoints WHERE name = \'' + id + '\'', GetResults);
                }
                
                function GetResults (dpoint) {
                  var end_time = new Date().getTime();
                  var start_time = new Date().getTime() - dt;
                  log(JSON.stringify(dpoint.result)+'//'+start_time);
                  log(dpoint.result[0].id + '---//---' + dpoint.result[0].name);
                  sendTo('sql.0', 'query', 'SELECT Round(Min(val),1) As MinVal FROM ts_number WHERE ts >= ' + start_time + ' AND id=' + dpoint.result[0].id + ' GROUP BY id',minimum);
                  sendTo('sql.0', 'query', 'SELECT Round(Max(val),1) As MaxVal FROM ts_number WHERE ts >= ' + start_time + ' AND id=' + dpoint.result[0].id + ' GROUP BY id',maximum);
                }
                
                SQLAbfrage(id);
                

                Und im Log so:

                22:21:50.105	[info]	javascript.0 Start javascript script.js.E3DC.test_stromverbrauch
                22:21:50.105	[info]	javascript.0 script.js.E3DC.test_stromverbrauch: modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung
                22:21:50.105	[info]	javascript.0 script.js.E3DC.test_stromverbrauch: SELECT * FROM datapoints WHERE name = 'modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung'
                22:21:50.105	[info]	javascript.0 script.js.E3DC.test_stromverbrauch: registered 0 subscriptions and 0 schedules
                22:21:50.121	[info]	javascript.0 script.js.E3DC.test_stromverbrauch: undefined//1487884910118
                22:21:50.122	[error]	TypeError: Cannot read property '0' of undefined at Object.GetResults [as cb] (script.js.E3DC.test_stromverbrauch:32:20) at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2827:71) at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30) at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:270:10) at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:228:12) at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15) at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:332:8) at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
                22:21:51.971	[info]	javascript.0 Stop script script.js.E3DC.test_stromverbrauch
                

                Vielleicht hat ja noch wer eine Idee…

                MfG,

                André

                1 Reply Last reply Reply Quote 0
                • Thisoft
                  Thisoft last edited by

                  Kannst du die folgende Abfrage mal direkt auf deine Datenbank ausführen?

                  SELECT * FROM datapoints WHERE name = 'modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung'
                  
                  1 Reply Last reply Reply Quote 0
                  • M
                    moebius last edited by

                    Man könnte zB statt 3 sql statements nur eines verwenden - ungefähr so (ist aus meinem node-red Beispiel kopiert):````
                    msg.topic = 'SELECT min(val) As Min
                    ,max(val) as Max
                    ,avg(val) as Avg
                    ,"' + msg.topic + '" as point
                    ,"' + msg.payload + '" as val
                    FROM ts_number WHERE
                    from_unixtime(ts/1000) >= (CURRENT_DATE - INTERVAL '+ hours +' HOUR)
                    AND id=(SELECT id FROM datapoints WHERE name = '' + msg.topic + '')
                    GROUP BY id having Min >= ' + msg.payload + ';';

                    1 Reply Last reply Reply Quote 0
                    • Thisoft
                      Thisoft last edited by

                      Natürlich kann man das - aber wenn's einzeln schon nicht funktioniert wird's verschachtelt auch nicht übersichtlicher 😉

                      @andre - Komische Frage fällt mir gerade noch ein. Bist du sicher dass für den fraglichen Datenpunkt auch wirklich Werte in die Db geschrieben werden???

                      1 Reply Last reply Reply Quote 0
                      • andre
                        andre Developer last edited by

                        @Thisoft:

                        @andre - Komische Frage fällt mir gerade noch ein. Bist du sicher dass für den fraglichen Datenpunkt auch wirklich Werte in die Db geschrieben werden??? `
                        Ja, Datenbank ist aus meiner Sicht ok. Daten sind auch drin, Hatte ich oben schonmal ein screenshot von gepostet. Hier nochmal mit der Abfrage der ID:
                        914_id.png
                        Und hier mit der Abfrage nach den Datensätzen:
                        914_daten.png
                        MfG,

                        André

                        1 Reply Last reply Reply Quote 0
                        • Thisoft
                          Thisoft last edited by

                          Das sieht wirklich alles soweit gut aus. So eine richtige Idee habe ich jetzt auch nicht mehr. 😢 Wenn da mal nicht irgendwo ein ganz einfacher Tippfehler drin ist den ich jetzt auch nicht sehe…

                          Du könntest aber durchaus mal die Abfrage in Node-Red versuchen wie @moebius schreibt - falls du mit Node-Red was anzufangen weisst. Ich bin da jetzt auch nicht so tief drin...

                          1 Reply Last reply Reply Quote 0
                          • andre
                            andre Developer last edited by

                            @Thisoft:

                            Das sieht wirklich alles soweit gut aus. So eine richtige Idee habe ich jetzt auch nicht mehr. 😢 Wenn da mal nicht irgendwo ein ganz einfacher Tippfehler drin ist den ich jetzt auch nicht sehe…

                            Du könntest aber durchaus mal die Abfrage in Node-Red versuchen wie @moebius schreibt - falls du mit Node-Red was anzufangen weisst. Ich bin da jetzt auch nicht so tief drin... `

                            Mhh, mit Node-Red komme ich noch nicht ganz so klar… Da fehlt mir irgendwie noch das Grundverständnis. Arbeite damit eigentlich nur im copy and paste oder try and error Modus. 🙂

                            Mit Javascript habe ich mich gerade ein wenig angefreundet und wollte da jetzt eben auch ein bisschen in das Thema Daten aus Datenbank einsteigen.

                            Dein Script ist für den Einstieg eigentlich auch ganz schick, da kann man schön nachvollziehen was wo passiert/ passieren soll.

                            Ein Rätsel ist mir dabei allerdings auch, warum mein dpoint.result "undefined" ist. 😞

                            Hab eben mal im Forum gesucht, aber leider auch keinen anderen für mich passenden Ansatz gefunden... Die meisten "abstrakten" Scripte verstehe ich schlicht nicht. Da kann ich dann nur schwer nachvollziehen was passiert und wie ich das für meine Zwecke abändern kann. Bin halt im JavaScript noch n oller Anfänger...

                            Naja, vielleicht hat ja noch jemand anderes einen Idee...

                            Trotzdem danke für die Mühe.

                            MfG,

                            André

                            1 Reply Last reply Reply Quote 0
                            • M
                              moebius last edited by

                              Leute, wo steht denn bitte "mach es in node-red"?

                              Hab da ein Beispiel reinkopiert, das zeigen soll wie man das Ganze mit einer einzigen Abfrage lösen kann…

                              Nach einer kleinen Anpassung hätte es dann vielleicht so ausgesehen:````
                              SELECT min(val) As Min ,max(val) as Max ,avg(val) as Avg
                              FROM ts_number
                              WHERE id=(SELECT id FROM datapoints WHERE name = 'modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung')

                              1 Reply Last reply Reply Quote 0
                              • Thisoft
                                Thisoft last edited by

                                @moebius - ich will dir ja nicht zu nahe treten, aber so wie du die Abfrage jetzt formuliert hast hätte es mit Sicherheit nicht ausgesehen 😉 Da fehlt erstens eine zeitliche Einschränkung und zweitens die Gruppierung womit komplett nur ein Fehler zurückkäme…

                                Und der momentane Stand ist ja, dass der Ausdruck den du hier mal locker in ein Subselect packst:

                                WHERE id=(SELECT id FROM datapoints WHERE name = 'modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung') 
                                

                                für sich genommen schon kein Ergebnis zurückliefert. Wieso hast du die Hoffnung dass der plötzlich ein Ergebnis liefert wenn du noch mehr drumherum schreibst?

                                Ausserdem meide ich Subselects nach Möglichkeit generell weil diese gewaltig auf die Performance schlagen und - Subselects werden auch gar nicht von jedem Db-System unterstützt.

                                1 Reply Last reply Reply Quote 0
                                • N
                                  noxx last edited by

                                  läuft das Script inzwischen?

                                  teste gerade und bekomme ebenfalls einen Fehler

                                  ! ````
                                  javascript.0 TypeError: Cannot read property '0' of undefined at Object.GetResults [as cb] (script.js.common.Wetter_MinMax_Temp:36:134) at Object.change
                                  (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3030:71) at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30) at Socket.Emitter.emit
                                  (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10) at
                                  Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12) at Manager. (/opt/iobroker/node_modules/component-bind/index.js:21:15) at Manager.Emitter.emit
                                  (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8) at
                                  Decoder. (/opt/iobroker/node_modules/component-bind/index.js:21:15)

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    HeiLuRa last edited by

                                    Habe mich inzwischen auch mit dem Beispiel von 'Thisoft' beschäftigt.

                                    Bei mir funktioniert das Script, wenn ich den Name der DB mit angebe. (hier z.B. "name_DB")

                                    function SQLAbfrage () {
                                    //log(id);
                                      sendTo('sql.0', 'query', 'SELECT * FROM name_DB.datapoints WHERE name = \'' + id + '\'', GetResults);
                                    }
                                    

                                    und weiter:

                                    ...
                                    sendTo('sql.0', 'query', 'SELECT Round(Max(val),1) As MaxVal FROM name_DB.ts_number WHERE ts >= ' + start_time + ' AND id=' + dpoint.result[0].id + ' GROUP BY id',maximum);
                                    ...
                                    
                                    

                                    Viele Grüße

                                    Lutz

                                    1 Reply Last reply Reply Quote 0
                                    • Thisoft
                                      Thisoft last edited by

                                      @HeiLuRa:

                                      Habe mich inzwischen auch mit dem Beispiel von 'Thisoft' beschäftigt.

                                      Bei mir funktioniert das Script, wenn ich den Name der DB mit angebe. (hier z.B. "name_DB") `

                                      Ja, gut dass Du das hier schreibst. Wir haben inzwischen in einem anderen Thread herausgefunden dass man abhängig davon welche Db man verwendet den Namen der DB vor dem Tabellennamen mit angeben muss (wie z.B. bei mySQL) oder auch nicht angeben darf (wie z.B. bei meinem MS-SQLServer)

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        Kugelkopf last edited by

                                        sendTo('sql.0', 'query', 'SELECT id FROM iobroker.datapoints WHERE name="deconz.0.Sensor_13.temperature"', function (result) {
                                            if (result.error) {
                                                console.error(result.error);
                                            } else {
                                                // show result
                                                console.log('Rows: ' + JSON.stringify(result.result));
                                                var now = new Date();
                                                var now2 = new Date();
                                                        now.setHours(-72);
                                                now2.setHours(-1);
                                                sendTo('sql.0', 'query', 'SELECT Round(Min(val),1) As MinVal FROM iobroker.ts_number WHERE ts between ' + now.getTime() + ' AND '  + now2.getTime() + ' AND id=' + result.result[0].id, function (result) {
                                                    console.log('Rows: ' + JSON.stringify(result.result));
                                        
                                                    //setState(idHistoryTemp1,test.val );
                                                });
                                                sendTo('sql.0', 'query', 'SELECT Round(Max(val),1) As MaxVal FROM iobroker.ts_number  WHERE ts between ' + now.getTime() + ' AND '  + now2.getTime() + ' AND id=' + result.result[0].id, function (result) {
                                        
                                                    console.log('Rows: ' + JSON.stringify(result.result));
                                        
                                                    //setState(idHistoryTemp1,test.val );
                                                });
                                            }
                                        });
                                        

                                        So klappts…

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          hans61 last edited by hans61

                                          Hallo,

                                          habe leider mit js nocht nicht viel am hut, aber wie müsste es aussehen wenn ich einen datenbank abruf von einem gewissen datum haben will.

                                          Würde gerne einen wert aus der datenbank von einem bestimmten zeitstempel in eine variable hinterlegen.

                                          Hintergrund:

                                          würde gerne einen zähler, der den wert ja immer nur erhöht.
                                          gerne über eine eingabe auf der vis, einen bestimmten verbrauch ausgeben.
                                          Also sagen wir mal von datum dd.mm.jjjj bis datum dd.mm.jjjj so ausgeben das ich auch nur den verbrauchten wert von dem zeitraum ausgebe.
                                          Oder gibt es dafür eine elegantere lösung?

                                          Lg Hans.

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          866
                                          Online

                                          31.8k
                                          Users

                                          79.9k
                                          Topics

                                          1.3m
                                          Posts

                                          14
                                          32
                                          8611
                                          Loading More Posts
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          The ioBroker Community 2014-2023
                                          logo