Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Aus History Adapter Mittelwert erhalten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Aus History Adapter Mittelwert erhalten

    This topic has been deleted. Only users with topic management privileges can see it.
    • Andre Wippich
      Andre Wippich last edited by Andre Wippich

      Hallo!

      Ich glaube ich verstehe die API vom History Adapter nicht... Ich lasse ihn die Außentemperatur loggen. Ich dachte, dass ich über die API in Javascript so den Minimalwert für einen bestimmten Zeitraum erhalte. Also hier die Minimaltemperatur.

      Ich habe also etwas loggen lassen und es dann mit dem Beispiel aus der Adapter-Beschreibung (Werte der letzten Stunde) versucht. Aggregate habe ich auf min gesetzt.

      var end = Date.now();
      sendTo('history.0', 'getHistory', {
          id: 'Temp_Luftfeuchte_Sensor_Aussen.1.ACTUAL_TEMPERATURE',
          options: {
              start:      end - 3600000,
              end:        end,
              aggregate: 'min'
          }
      }, 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 kommen ein Haufen Werte zurück, aber nichts was auf einen Minimalwert schließen lässt. Kann es sein, dass ich den Adapter was das angeht falsch verstehe? Ich habe bisher überraschend wenig zum Thema History-Adapter und Minimal-/Maximal-/Durchschnittswert gefunden. Ich hätte gedacht, das wird häufiger benötigt 😉

      Wäre total nett, wenn mir jemand auf die Sprünge helfen könnte.

      paul53 O 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Andre Wippich last edited by

        @andre-wippich
        Versuche es mal mit

                aggregate: 'min',
                count: 1
        

        Auf jeden Fall funktioniert es mit

                aggregate: 'none'
        

        und Ermittlung des Minimums in der Schleife.
        Kannst ja mal beide Versionen vergleichen.

        1 Reply Last reply Reply Quote 0
        • O
          Oli @Andre Wippich last edited by

          @andre-wippich

          ich stand vor einen ähnlichen Problem und habe das so gelöst:

          let start = new Date(2022, 7, 15, 21, 45, 15, 352);
          let end = Date.now();
          let idPegel = 'pegelalarm.0.stations.wendelstein.height';
          let datumNiedrig;
          let pegelNiedrig = 1000;
          
          sendTo('history.0', 'getHistory', {
                  id: 'pegelalarm.0.stations.wendelstein.height',
                  options: {
                      start:      start,
                      end:        end,
                      aggregate: 'min',
                      count: 0
                  }
              }, function (result) {
                  for (var i = 0; i < result.result.length; i++) {
                      let pegel = parseFloat(result.result[i].val);            
                      
                      if (pegel < pegelNiedrig) {                               
                          datumNiedrig =  formatDate(result.result[i].ts,'TT.MM.JJJJ - hh:mm') + ' Uhr';
                          pegelNiedrig = pegel;
                      }                               
                  }
          
                  mySetState(`${idDatenpunktPrefix}.${idDatenPunktStrukturPrefix}.DatumNiedrig`, datumNiedrig, 'string', `Datum niedrigster Pegelstand`);
                  mySetState(`${idDatenpunktPrefix}.${idDatenPunktStrukturPrefix}.PegelNiedrig`, pegelNiedrig, 'number', `Niedrigster Pegelstand`);        
              });
          
          Andre Wippich 1 Reply Last reply Reply Quote 0
          • Andre Wippich
            Andre Wippich @Oli last edited by

            Danke Euch!

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            887
            Online

            31.9k
            Users

            80.2k
            Topics

            1.3m
            Posts

            javascript
            3
            4
            561
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo