Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Wert aus Influx auslesen

NEWS

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

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

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

Wert aus Influx auslesen

Geplant Angeheftet Gesperrt Verschoben Blockly
6 Beiträge 2 Kommentatoren 2.2k Aufrufe 3 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.
  • B Offline
    B Offline
    Banis
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich würde gerne in einem Blockly Werte aus meiner Influx auslesen, z.B. min,max oder avg Werte. Der Adapter Statistics ist zwar super, für mein Vorhaben aber leider zu unflexibel. Deshlab mein Versuch über Blockly. Beim Influx Adapter gibt es ja die Fuktion get history.

    var end = new Date().getTime();
    sendTo('influxdb.0', 'getHistory', {
        id: 'system.adapter.admin.0.memRss',
        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].val + ' ' + new Date(result.result[i].ts).toISOString());
        }
    });
    

    Da ich mich mit Java Script leider gar nicht auskenne, versuche ich gerade das ganze mit dem Blockly Baustein JS Funktion mit ergebnis hinzubekommen. Kann mir jemand sagen wie ich hier weiter vorgehen muss, ich bekomme den obigen Code so gar nicht in den Baustein rein, weil ich das gar nicht speichern kann. Beim Datenpunkt hab ich natürilich einen gewählt der auch existiert. Ansonsten hab ich an dem Code nichts angepasst.

    Die Blockly Variable "result" liefert leider das Ergebnis "undefined". Kann mir hier jemand helfen?

    M 1 Antwort Letzte Antwort
    0
    • B Banis

      Hallo zusammen,

      ich würde gerne in einem Blockly Werte aus meiner Influx auslesen, z.B. min,max oder avg Werte. Der Adapter Statistics ist zwar super, für mein Vorhaben aber leider zu unflexibel. Deshlab mein Versuch über Blockly. Beim Influx Adapter gibt es ja die Fuktion get history.

      var end = new Date().getTime();
      sendTo('influxdb.0', 'getHistory', {
          id: 'system.adapter.admin.0.memRss',
          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].val + ' ' + new Date(result.result[i].ts).toISOString());
          }
      });
      

      Da ich mich mit Java Script leider gar nicht auskenne, versuche ich gerade das ganze mit dem Blockly Baustein JS Funktion mit ergebnis hinzubekommen. Kann mir jemand sagen wie ich hier weiter vorgehen muss, ich bekomme den obigen Code so gar nicht in den Baustein rein, weil ich das gar nicht speichern kann. Beim Datenpunkt hab ich natürilich einen gewählt der auch existiert. Ansonsten hab ich an dem Code nichts angepasst.

      Die Blockly Variable "result" liefert leider das Ergebnis "undefined". Kann mir hier jemand helfen?

      M Online
      M Online
      MCU
      schrieb am zuletzt editiert von MCU
      #2

      @banis Du musst auch einen Wert zurückgeben, "return" muss drin stehen.
      Funktioniert aber in dem Fall so nicht, da die Daten nicht sofort da sind. Da muss man mit async arbeiten. Aber wie genau, weiß ich leider auch nicht.

      NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      B 1 Antwort Letzte Antwort
      0
      • M MCU

        @banis Du musst auch einen Wert zurückgeben, "return" muss drin stehen.
        Funktioniert aber in dem Fall so nicht, da die Daten nicht sofort da sind. Da muss man mit async arbeiten. Aber wie genau, weiß ich leider auch nicht.

        B Offline
        B Offline
        Banis
        schrieb am zuletzt editiert von
        #3

        @mcu Vielen Dank für die Info. Eine Verzögerung ins Blockly einzubauen würde da wohl auch nichts helfen oder? Kennt sich den jemand mit async aus?

        M 1 Antwort Letzte Antwort
        0
        • B Banis

          @mcu Vielen Dank für die Info. Eine Verzögerung ins Blockly einzubauen würde da wohl auch nichts helfen oder? Kennt sich den jemand mit async aus?

          M Online
          M Online
          MCU
          schrieb am zuletzt editiert von MCU
          #4

          @banis
          3e705191-91c5-4f69-932f-2525fa8794da-image.png

          var end = new Date().getTime();
          var ergebnis ='';
          sendTo('influxdb.0', 'getHistory', {
              id: '0_userdata.0.Power1',
              options: {
                  start:      end - 5*24*60*60*1000,
                  end:        end,
                  aggregate: 'none' // average or 'none' to get raw values
              }
          }, function (result) {
              setTimeout(function(){
              for (var i = 0; i < result.result.length; i++) {
                  console.log(result.result[i].val + ' ' + new Date(result.result[i].ts).toISOString());
                  //res = result.result.length;
                  //ergebnis = result;
              }
              ergebnis = result;
              },1000);
              
          });
          setTimeout(function(){ res = JSON.stringify(ergebnis); },1500);
          
          

          Ergebnis: {"result":[{"val":15,"ts":1634287471594}],"error":null}

          Der Anzahl der Tage könnte man noch mit an die Funktion übergeben.

          NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          B 1 Antwort Letzte Antwort
          0
          • M MCU

            @banis
            3e705191-91c5-4f69-932f-2525fa8794da-image.png

            var end = new Date().getTime();
            var ergebnis ='';
            sendTo('influxdb.0', 'getHistory', {
                id: '0_userdata.0.Power1',
                options: {
                    start:      end - 5*24*60*60*1000,
                    end:        end,
                    aggregate: 'none' // average or 'none' to get raw values
                }
            }, function (result) {
                setTimeout(function(){
                for (var i = 0; i < result.result.length; i++) {
                    console.log(result.result[i].val + ' ' + new Date(result.result[i].ts).toISOString());
                    //res = result.result.length;
                    //ergebnis = result;
                }
                ergebnis = result;
                },1000);
                
            });
            setTimeout(function(){ res = JSON.stringify(ergebnis); },1500);
            
            

            Ergebnis: {"result":[{"val":15,"ts":1634287471594}],"error":null}

            Der Anzahl der Tage könnte man noch mit an die Funktion übergeben.

            B Offline
            B Offline
            Banis
            schrieb am zuletzt editiert von
            #5

            @mcu Super vielen Dank das klappt.

            Ist es auch möglich die Anzahl der Tage die ausgewertet werden sollen mit einer Variablen aus Blockly an das script zu übergeben? Falls ja wie müsste ich hier vorgehen?

            B 1 Antwort Letzte Antwort
            0
            • B Banis

              @mcu Super vielen Dank das klappt.

              Ist es auch möglich die Anzahl der Tage die ausgewertet werden sollen mit einer Variablen aus Blockly an das script zu übergeben? Falls ja wie müsste ich hier vorgehen?

              B Offline
              B Offline
              Banis
              schrieb am zuletzt editiert von
              #6

              Hab jetzt erst gesehen, dass Variablen ja ganz einfach über die Einstellungen des Javascript Bausteins eingefügt werden können. Damit bin ich wunschlos glücklich 🙂

              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

              761

              Online

              32.4k

              Benutzer

              81.4k

              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
              • Aktuell
              • Tags
              • Ungelesen 0
              • Kategorien
              • Unreplied
              • Beliebt
              • GitHub
              • Docu
              • Hilfe