Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. SQL Datenbank auslesen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

SQL Datenbank auslesen

Scheduled Pinned Locked Moved Skripten / Logik
14 Posts 4 Posters 5.2k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    noxx
    wrote on last edited by
    #1

    Hallo,

    irgendwo gabs hier mal ein Script für mySQL, was aber nicht funktionierte.

    Denke aber, das einige sowas nutzen.

    Also, wie werte ich eine SQL Datenbank aus?

    • kumulierte Werte

    zb mein Gaszähler. Der zählt ja nur hoch, ich möchte aber auch Tageswerte, Wochenwerte oder Monatswerte

    • Min / Max / Mittel

    zb Temperaturwerte auswerten (Tageswerte, Wochenwerte oder Monatswerte)

    1 Reply Last reply
    0
    • paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2

      Wozu eine SQL Datenbank ?
      @noxx:

      Gaszähler. Der zählt ja nur hoch, ich möchte aber auch Tageswerte, Wochenwerte oder Monatswerte `
      Dazu muss man nur den Zähl-Wert täglich, wöchentlich und monatlich in jeweils einem Datenpunkt speichern und die Differenz bilden.
      @noxx:

      • Min / Max / Mittel `
        Dafür gibt es ein http://www.iobroker.net/docu/?page_id=3670&lang=de, das die Werte über 24 h ermittelt. Aus den Tageswerten lassen sich nach dem gleichen Prinzip auch Wochen- und Monatswerte bilden.

      EDIT: Es gibt auch noch die Möglichkeit, die Werte mittels https://github.com/ioBroker/ioBroker.javascript#gethistory einzulesen.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Reply Last reply
      0
      • N Offline
        N Offline
        noxx
        wrote on last edited by
        #3

        @paul53:

        Wozu eine SQL Datenbank ?

        Dazu muss man nur den Zähl-Wert täglich, wöchentlich und monatlich in jeweils einem Datenpunkt speichern und die Differenz bilden. `

        In erster Line weil die Daten ja in die SQL geschrieben werden und bisher

        nur für vis genutzt werden, warum nicht auch im iobroker?

        Und, weil das 2 Beispiele waren, ich weiß ja noch nicht welche

        Datenpunkte ich ggf später benötige. Die Daten würden dann fehlen, oder

        müssten dann noch extrahiert werden.

        Und, weil ich gerne wüsste, wie es geht.

        Schöner wäre natürlich ein Adapter, der das machen würde

        (Gerät wählen, Datenbank wählen, Was man auswerten möchte, Name neuer Datenpunkt)

        Gruß

        1 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #4

          @noxx:

          Und, weil ich gerne wüsste, wie es geht. `
          Hast Du Dir https://github.com/ioBroker/ioBroker.javascript#gethistory angesehen. Damit bekommst Du die Daten für einen definierten Zeitraum aus der Datenbank und must sie "nur noch" auswerten.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          • N Offline
            N Offline
            noxx
            wrote on last edited by
            #5

            Danke, ich versuche es mal.

            Gesendet von meinem GT-I9195 mit Tapatalk

            1 Reply Last reply
            0
            • apollon77A Offline
              apollon77A Offline
              apollon77
              wrote on last edited by
              #6

              Bzw auch https://github.com/ioBroker/ioBroker.sql#get-history

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              1 Reply Last reply
              0
              • N Offline
                N Offline
                noxx
                wrote on last edited by
                #7

                danke, das Beispiel funktioniert bei mir nicht

                `var end = new Date().getTime();
                sendTo('sql.0', 'getHistory', {
                    id: 'rflink.0.channels.Cresta_4.TEMP',
                    options: {
                        start:      end - 3600000,
                        end:        end,
                        aggregate: 'minmax' // or 'none' to get raw values
                    }
                }, function (result) {
                    for (var i = 0; i < result.result.length; i++) {
                        console.log(result.result[i].id + ' ' + new Date(result.result[i].ts).toISOString());
                    }
                });`
                
                liefert:
                `~~[code]~~21:41:40.041	[info]	javascript.0 Stop script script.js.common.Wetter_MinMax_Temp
                21:41:40.042	[info]	javascript.0 Start javascript script.js.common.Wetter_MinMax_Temp
                21:41:40.043	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: registered 0 subscriptions and 0 schedules
                21:41:40.044	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T18:41:39.837Z
                21:41:40.044	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T18:45:06.279Z
                21:41:40.045	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T18:48:22.237Z
                21:41:40.045	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T18:52:27.529Z
                21:41:40.045	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T18:55:43.375Z
                21:41:40.046	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T18:58:10.233Z
                21:41:40.046	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:03:04.744Z
                21:41:40.046	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:07:09.245Z
                21:41:40.046	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:09:36.403Z
                21:41:40.047	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:16:10.837Z
                21:41:40.047	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:18:35.243Z
                21:41:40.047	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:21:02.243Z
                21:41:40.047	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:25:07.287Z
                21:41:40.048	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:30:01.266Z
                21:41:40.048	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:33:17.247Z
                21:41:40.048	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:37:22.393Z
                21:41:40.049	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:40:38.301Z
                21:41:40.049	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:41:27.251Z[/code]`[/i][/i]
                
                1 Reply Last reply
                0
                • apollon77A Offline
                  apollon77A Offline
                  apollon77
                  wrote on last edited by
                  #8

                  minmax als Aggregaotortyp gibts bei sql nicht. nimm average

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  1 Reply Last reply
                  0
                  • N Offline
                    N Offline
                    noxx
                    wrote on last edited by
                    #9

                    kommt das gleiche bei raus

                    `var end = new Date().getTime();
                    sendTo('sql.0', 'getHistory', {
                        id: 'rflink.0.channels.Cresta_4.TEMP',
                        options: {
                            start:      end - 3600000,
                            end:        end,
                            aggregate: 'average' // or 'none' to get raw values
                        }
                    }, function (result) {
                        for (var i = 0; i < result.result.length; i++) {
                            console.log(result.result[i].id + ' ' + new Date(result.result[i].ts).toISOString());
                        }
                    });`
                    
                    `~~[code]~~22:13:18.608	[info]	javascript.0 Stop script script.js.common.Wetter_MinMax_Temp
                    22:13:18.960	[info]	javascript.0 Start javascript script.js.common.Wetter_MinMax_Temp
                    22:13:18.961	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: registered 0 subscriptions and 0 schedules
                    22:13:19.010	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:13:18.953Z
                    22:13:19.011	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:16:08.153Z
                    22:13:19.012	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:18:32.153Z
                    22:13:19.012	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:21:03.353Z
                    22:13:19.012	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:25:08.153Z
                    22:13:19.013	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:30:03.353Z
                    22:13:19.013	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:33:17.753Z
                    22:13:19.013	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:37:22.553Z
                    22:13:19.013	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:40:36.953Z
                    22:13:19.014	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:41:27.353Z
                    22:13:19.014	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:42:17.753Z
                    22:13:19.014	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:47:56.153Z
                    22:13:19.014	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:54:32.153Z
                    22:13:19.015	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T19:59:27.353Z
                    22:13:19.015	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T20:01:51.353Z
                    22:13:19.015	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T20:07:36.953Z
                    22:13:19.015	[info]	javascript.0 script.js.common.Wetter_MinMax_Temp: undefined 2017-08-07T20:10:51.353Z[/code]`
                      [2880_1.png](/assets/uploads/files/2880_1.png)  [/i][/i]
                    
                    1 Reply Last reply
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by
                      #10

                      Bei vorgegebener ID wird sie nicht zurück geliefert. Was Du benötigst, ist

                       `for (var i = 0; i < result.result.length; i++) {
                              log(result.result[i].val + ' ' + new Date(result.result[i].ts).toISOString());
                          }` [/i][/i]
                      

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Reply Last reply
                      0
                      • apollon77A Offline
                        apollon77A Offline
                        apollon77
                        wrote on last edited by
                        #11

                        Hätte jetzt auch vorgeschlagen erstmal ganz einfach anzufangen und ein

                        console.log(JSON.stringify(result,null,2));
                        

                        in die Callback Methode zu schreiben, dann sieht man ganz genau was zurückkommt.

                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                        1 Reply Last reply
                        0
                        • N Offline
                          N Offline
                          noxx
                          wrote on last edited by
                          #12

                          @paul53:

                          Bei vorgegebener ID wird sie nicht zurück geliefert. Was Du benötigst, ist

                           `for (var i = 0; i < result.result.length; i++) {
                                  log(result.result[i].val + ' ' + new Date(result.result[i].ts).toISOString());
                              }` 
                          
                          danke, damit kommt was.
                          
                          sind halt mehr Infos, die ein Quereinsteiger ohne JS Kenntnisse weiß.
                          
                          versuche schon immer die Beispiele zu verstehen, aber manchmal sind das
                          
                          doch böhmische Dörfer.[/i][/i]
                          ``` ` 
                          1 Reply Last reply
                          0
                          • paul53P Offline
                            paul53P Offline
                            paul53
                            wrote on last edited by
                            #13

                            @noxx:

                            versuche schon immer die Beispiele zu verstehen, aber manchmal sind das doch böhmische Dörfer. `
                            Das liegt nicht an Dir, sondern an dem schlechten Beispiel. Ich hatte vor einiger Zeit mal getestet und herausgefunden, dass result.result.id__ nur geliefert wird, wenn man als ID übergibt id: '*'.

                            Javascript-Kenntnisse habe ich mir auch erst durch ioBroker angeeignet.__

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              mctom
                              wrote on last edited by
                              #14

                              @ noxx:

                              Hast du mittlerweile eine Lösung für dein Thema gefunden ?

                              Gruß

                              Michael

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              414

                              Online

                              32.7k

                              Users

                              82.4k

                              Topics

                              1.3m

                              Posts
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Home
                              • Recent
                              • Tags
                              • Unread 0
                              • Categories
                              • Unreplied
                              • Popular
                              • GitHub
                              • Docu
                              • Hilfe