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. Werte aus influxDB auslesen

NEWS

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

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

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

Werte aus influxDB auslesen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
9 Beiträge 4 Kommentatoren 6.0k 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.
  • F Offline
    F Offline
    flubb
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    für eine aktuelle Idee von mir benötige ich eine maximal-Temperatur innerhalb der letzten 10 Minuten. Geloggt wird die Temperatur mit Hilfe einer InfluxDB. Mein Javascript schaut aktuell so aus (beispielhaft jetzt mit der RPI.temp):

    `var end = new Date().getTime();
    var max = 0;
    sendTo('influxdb.0', 'getHistory', {
        id: 'rpi2.0.temperature.soc_temp',
        options: {
            start:      end - 600000,
            end:        end,
            aggregate: 'none' // or 'none' to get raw values
        }
    }, function (result) {
        for (var i = 0; i < result.result.length; i++) {
            console.log(result.result[i].val + ' ' + new Date(result.result[i].ts).toISOString());
            if (result.result[i].val > max) {
            max = result.result[i].val;
            }
        }
        console.log(max)
    });`
    
    Als Ergebnis erhalte ich folgendes:
     ` ~~[quote]~~14:41:34.323	info	javascript.0 script.js.Skript_1: 47.77 2019-01-30T13:31:30.218Z
    
    14:41:34.324	info	javascript.0 script.js.Skript_1: 47.24 2019-01-30T13:32:30.671Z
    
    14:41:34.324	info	javascript.0 script.js.Skript_1: 47.24 2019-01-30T13:33:31.091Z
    
    14:41:34.324	info	javascript.0 script.js.Skript_1: 47.77 2019-01-30T13:34:31.561Z
    
    14:41:34.324	info	javascript.0 script.js.Skript_1: 48.31 2019-01-30T13:35:31.970Z
    
    14:41:34.324	info	javascript.0 script.js.Skript_1: 47.77 2019-01-30T13:36:32.417Z
    
    14:41:34.324	info	javascript.0 script.js.Skript_1: 47.24 2019-01-30T13:37:32.821Z
    
    14:41:34.324	info	javascript.0 script.js.Skript_1: 47.77 2019-01-30T13:38:33.149Z
    
    14:41:34.324	info	javascript.0 script.js.Skript_1: 47.24 2019-01-30T13:39:33.455Z
    
    14:41:34.325	info	javascript.0 script.js.Skript_1: 47.77 2019-01-30T13:40:33.862Z
    
    14:41:34.325	info	javascript.0 script.js.Skript_1: 48.31 `  ` 
    
    Soweit passt das eigentlich, nur verstehe ich nicht wieso der Wert von 13:31:30 in meinem "result" enthalten ist?! Die Abfrage war ja um 14:41:34 für die letzten 10min. Da sollte doch 13:31:30 nicht dabei sein, oder?[/i][/i][/i][/i]
    
    1 Antwort Letzte Antwort
    0
    • SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      Das <u>könnte</u> an "47.77 2019-01-30T13:31:30.218Z" liegen. "Z" steht für Zulu, oder genauer gesagt für Zeitzone UTC +/-0. Nur sind wir UTC +1

      Deine ganzen Werte sind nämlich um eine Stunde verschoben. Musst du also beim Schreiben in die InfluxDB berücksichtigen (falls dort falsch), oder beim Script berücksichtigen.

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      1 Antwort Letzte Antwort
      0
      • apollon77A Offline
        apollon77A Offline
        apollon77
        schrieb am zuletzt editiert von
        #3

        Stell den influxdb adapter mal auf debug, und schicke dann getHistory … dann solltest DU im Log sehen was er genau tut. Mach mal.

        Die Vermutung ist das das Absicht ist weil zur Grafischen Darstellung immer ein Wert kurz vor dem ersten sinnvoll ist weil sonst die Darstellung blöd ist 8weil sie mitten im Graphen anfängt).

        bedeutet für dich: Ignoriere einfach den ersten Wert

        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
        • F Offline
          F Offline
          flubb
          schrieb am zuletzt editiert von
          #4

          Ja das ist es. getHistory nimmt immer noch einen Wert vor und nach dem definierten Zeitraum hinzu.

          Indem ich dann einfach erst bei i = 1 anfange passt das für mich aber.

          Nun habe ich aber noch ein anderes Problem: Habe den Code jetzt in eine Blockly-Funktion mit Rückgabewert gepackt und dafür ans Ende folgendes noch hinzugefügt:

          return max;
          

          Jedoch ist dieser Rückgabewert immer 0, obwohl eine Zeile darüber (jedoch steht das noch innerhalb der sendTo-Anweisung)````
          console.log(max);

          1 Antwort Letzte Antwort
          0
          • apollon77A Offline
            apollon77A Offline
            apollon77
            schrieb am zuletzt editiert von
            #5

            Sorry, gar nicht. Das ist Asychnon.

            Du kannst eine nächste Funktion aufrufen die dann den rest macht

            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
            • F Offline
              F Offline
              flubb
              schrieb am zuletzt editiert von
              #6

              kannst du das bitte näher erläutern. Bin in JS leider ziemlicher Anfänger… Wenn ich das richtig sehe kann ich ja auf keinerlei Daten von innerhalb des sendto-Blocks zugreifen? Wie kann dann eine weitere Funktion darauf zugreifen?

              1 Antwort Letzte Antwort
              0
              • apollon77A Offline
                apollon77A Offline
                apollon77
                schrieb am zuletzt editiert von
                #7

                Du machst eine neue funktion

                verarbeiteErgebnis(max) {
                   log(max);
                  // tue was immer Du magst
                }
                

                und diese rufst Du dann aus dem sendTo Ergebnis-Block auf indem Du den parameter übergibst

                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
                • F Offline
                  F Offline
                  flubb
                  schrieb am zuletzt editiert von
                  #8

                  ok, das hab ich verstanden. Aber mein Hauptscript ist mit Blockly erstellt, und damit weiß ich nicht wirklich wie ich dieses Workaround hinbekommen soll?! Oder gibt es z.B. eine Möglichkeit innerhalb des "Javascript-Funktions"-Block eine "Blockly-Variable" zu verändern?

                  C 1 Antwort Letzte Antwort
                  0
                  • F flubb

                    ok, das hab ich verstanden. Aber mein Hauptscript ist mit Blockly erstellt, und damit weiß ich nicht wirklich wie ich dieses Workaround hinbekommen soll?! Oder gibt es z.B. eine Möglichkeit innerhalb des "Javascript-Funktions"-Block eine "Blockly-Variable" zu verändern?

                    C Offline
                    C Offline
                    cainam
                    schrieb am zuletzt editiert von
                    #9

                    @flubb
                    Kannst du mal das Blockly zeigen. Möchte auch gerne daten wieder aus influxdb auswerten in iobroker (durchschnitte etc.) keinen plan wie ich von iobroker auf influx daten abrufen kann... schreiben tue ich sie mit dem adapter...

                    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

                    865

                    Online

                    32.4k

                    Benutzer

                    81.5k

                    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