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. Skripten / Logik
  4. SQL Datenbank auslesen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

SQL Datenbank auslesen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
14 Beiträge 4 Kommentatoren 5.1k 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.
  • paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • N Offline
      N Offline
      noxx
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • N Offline
          N Offline
          noxx
          schrieb am zuletzt editiert von
          #5

          Danke, ich versuche es mal.

          Gesendet von meinem GT-I9195 mit Tapatalk

          1 Antwort Letzte Antwort
          0
          • apollon77A Offline
            apollon77A Offline
            apollon77
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • N Offline
              N Offline
              noxx
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • apollon77A Offline
                apollon77A Offline
                apollon77
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • N Offline
                  N Offline
                  noxx
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • apollon77A Offline
                      apollon77A Offline
                      apollon77
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • N Offline
                        N Offline
                        noxx
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            mctom
                            schrieb am zuletzt editiert von
                            #14

                            @ noxx:

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

                            Gruß

                            Michael

                            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

                            798

                            Online

                            32.4k

                            Benutzer

                            81.6k

                            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