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. JavaScript
  5. Täglicher Durchschnitt aus InfluxDB

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Täglicher Durchschnitt aus InfluxDB

Geplant Angeheftet Gesperrt Verschoben JavaScript
2 Beiträge 2 Kommentatoren 248 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.
  • eierfeileE Offline
    eierfeileE Offline
    eierfeile
    schrieb am zuletzt editiert von eierfeile
    #1

    Hi, also ich hab von JS eigentlich kaum Ahnung. Ziel ist den Durschnitt für den aktuellen Tag zu errechnen. Die Historie des DPs liegt in der InfluxDB. Von diesem DP wird der aktuelle Durschnitt benötigt.
    Mithilfe einer Vorlage, ChatGPT und paar Ergänzungen meiner Wenigkeit sieht mein Skript wie folgt aus:

    var now = new Date();
    var startOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1, 0, 0, 0).getTime();
    var endOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1, 23, 59, 59).getTime();
    
    
    var end = Date.now();
    sendTo('influxdb.0', 'getHistory', {
        id: '0_userdata.0.AutarkieinProzent',
        options: {
            start: startOfDay,
            end: endOfDay,
            aggregate: 'onchange',
            addId: true
        }
    }, function (result) {
        for (var i = 0; i < result.result.length; i++) {
            console.log(i + ' ' + new Date(result.result[i].ts).toISOString());
        }
    });
    
    
    //        console.log(result.result[i].id + ' ' + new Date(result.result[i].ts).toISOString());
    
    
    

    Die Daten habe ich, aber wie komme ich jetzt an den Durschnittswert? Es gibt ja auch eine average option...aber wie krieg ich das da korrekt rein?
    Und das Ergebnis soll in ein DP geschrieben werden. Aber wie?

    T 1 Antwort Letzte Antwort
    0
    • eierfeileE eierfeile

      Hi, also ich hab von JS eigentlich kaum Ahnung. Ziel ist den Durschnitt für den aktuellen Tag zu errechnen. Die Historie des DPs liegt in der InfluxDB. Von diesem DP wird der aktuelle Durschnitt benötigt.
      Mithilfe einer Vorlage, ChatGPT und paar Ergänzungen meiner Wenigkeit sieht mein Skript wie folgt aus:

      var now = new Date();
      var startOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1, 0, 0, 0).getTime();
      var endOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1, 23, 59, 59).getTime();
      
      
      var end = Date.now();
      sendTo('influxdb.0', 'getHistory', {
          id: '0_userdata.0.AutarkieinProzent',
          options: {
              start: startOfDay,
              end: endOfDay,
              aggregate: 'onchange',
              addId: true
          }
      }, function (result) {
          for (var i = 0; i < result.result.length; i++) {
              console.log(i + ' ' + new Date(result.result[i].ts).toISOString());
          }
      });
      
      
      //        console.log(result.result[i].id + ' ' + new Date(result.result[i].ts).toISOString());
      
      
      

      Die Daten habe ich, aber wie komme ich jetzt an den Durschnittswert? Es gibt ja auch eine average option...aber wie krieg ich das da korrekt rein?
      Und das Ergebnis soll in ein DP geschrieben werden. Aber wie?

      T Nicht stören
      T Nicht stören
      ticaki
      schrieb am zuletzt editiert von
      #2

      @eierfeile

      fritzdect... durch deine ID ersetzen

      sendTo('influxdb.0', 'query', 'SELECT mean("value") as "value" FROM "fritzdect.0.DECT_111111111.power" GROUP BY time(1d)', function (result) {
          if (result.error) {
              console.error(result.error);
          } else {
              // show result
               for (let a = 0; a < result.result[0].length;a++) {
                  console.log('Mean values: ' + result.result[0][a].value);
               }
          }
      });
      

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      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

      723

      Online

      32.6k

      Benutzer

      82.2k

      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