Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Hilfe fürScript mit SQL

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Hilfe fürScript mit SQL

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

      Ich möchte die total Regenmenge ermitteln, die von Zeitpunkt x bis y ergeben hat.

      Die Regenmenge wird in der Variablen "variablen.0.Regenzaehler" gemessen, die in sql.0 gespeichert wird

      für den Zeitraum würde ich die Variablen wo ich für meinen Dymamischen Float gebrauche verwenden

      von:

      variablen.0.flot.von // Datum

      variablen.0.flot.vonH // Zeit

      bis:

      variablen.0.flot.bis // Datum

      variablen.0.flot.bisH // Zeit

      Kann mir jemand helfen?

      Ich habe mit SQL keine Ahnung
      3100_regen.jpg

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Als schneller Ansatz:

        Das geht per Javascript indem Du einen SQL-Query schreibst die dann "min-max oder was auch immer macht mit den Daten und so bekommst DU die Differenz oder was auch immer.

        Wie Custom-Queries gehen: https://github.com/ioBroker/ioBroker.sql#custom-queries

        1 Reply Last reply Reply Quote 0
        • D
          dpt last edited by

          @apollon77:

          Wie Custom-Queries gehen: https://github.com/ioBroker/ioBroker.sql#custom-queries `

          Danke

          Da war ich auch schon, aber wenn ich ehrlich bin, das überschreitet meine hobby programmiererische Fähigkeiten.

          Daher der hilferuf

          Das blick ich nicht durch

          1 Reply Last reply Reply Quote 0
          • Thisoft
            Thisoft last edited by

            Das wäre mal ein Beispiel für den Anfang:

            var dpName = "variablen.0.Regenzaehler";
            
            var end_time = new Date().getTime();
            var start_time = new Date().getTime() - (30 * 24 * 3600);//wäre eine Beispiel für 30 Tage zurück
            var sql_string ="SELECT Round(Sum(val),1) As SumVal FROM ts_number INNER JOIN datapoints ON ts_number.id = datapoints.id WHERE (ts >= " + start_time + " AND ts <= " + end_time + ") AND datapoints.name = '" + dpName + "' GROUP BY ts_number.id";
            log(sql_string);
            sendTo('sql.0', 'query', sql_string,summe);
            
            function summe(result) {
              log(JSON.stringify(result.result));
              log("Summe von " + dpName + " = " + result.result[0].SumVal);
            }
            

            Kommst Du damit weiter?

            1 Reply Last reply Reply Quote 0
            • D
              dpt last edited by

              @Thisoft:

              Kommst Du damit weiter? `

              Super Danke

              Glaube ja, habe momentan wenig Zeit, Antwort kommt dann mal 😉

              muss jetzt nur noch durch das Thema Zeit durchlesen, zudsammennehmen meines Datums und der Zeit.

              Dann sollte es hinhauen.

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

              Support us

              ioBroker
              Community Adapters
              Donate

              827
              Online

              31.7k
              Users

              79.8k
              Topics

              1.3m
              Posts

              3
              5
              1161
              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