Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Script von SQL auf Influx umstellen

    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

    Script von SQL auf Influx umstellen

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

      Hallo Gemeinde,

      ich stelle aktuelle von SQL auf Influx um und muss eine Scripte daher auch umstellen. Leider komme ich an einigen stellen hier nicht so richtig weiter.
      Ich habe ein Script, das mir aus der SQL Datenbank von allen Temperaturen zum aktuellen Tag geschrieben wurden, einen Durchschnitt zieht und diesen an einem Punkt ablegt.

      schedule({hour: 23, minute: 59}, RunDailyScript );
       
      function RunDailyScript() {
        
      // SQL Script holt die Temperaturdaten und errechnet den Schnitt
      sendTo('sql.0', 'query', 'SELECT AVG(val) as \'temp\' from iobrokerbl.ts_number WHERE id = 81 AND TIMEDIFF(CURRENT_TIMESTAMP(),(select from_unixtime(cast(ts/1000 AS INT)))) < \'24:00:00\'', function (result) {
          if (result.error) {
              console.error(result.error);
          } else {
              // Trägt Schnitt in Tabelle
               //console.log('Rows: ' + JSON.stringify(result.result[0].temp));
               setState('0_userdata.0.wetter-aktuell.tagesschnitt',JSON.stringify(result.result[0].temp));
          }
      });
        
      }
      

      Nun versuche ich dieses auch für Influx anzulegen leider schlägt das Script ständig fehl.

      schedule({hour: 10, minute: 30}, RunDailyScript );
       
      function RunDailyScript() {
        
      // SQL Script holt die Temperaturdaten und errechnet den Schnitt
      sendTo('influxdb.0', 'query', 'SELECT MEAN("value") as \'temp\' FROM "jeelink.0.LaCrosse_3.temp" WHERE time > now() - 24h', function (result) {
          if (result.error) {
              console.error(result.error);
          } else {
              // Trägt Schnitt in Tabelle
               console.log('Rows: ' + JSON.stringify(result.result[0].temp));
               setState('0_userdata.0.wetter-aktuell.Temp_test',JSON.stringify(result.result[0].temp));
          }
      });
        
      }
      

      Vielleicht kann mir da jemand helfen.
      Viele Grüße
      Enrico

      BananaJoe OliverIO 2 Replies Last reply Reply Quote 0
      • BananaJoe
        BananaJoe Most Active @Enrico Hesse last edited by

        @enrico-hesse schau dir mal diesen Thread an:
        https://forum.iobroker.net/topic/12482/frage-migrate-mysql-nach-influxdb

        Da sind verschiedenen Lösungen vorgeschlagen, ein Skript davon hatte ich auch verwendet (bin aber wieder zurück zu MySQL)

        1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @Enrico Hesse last edited by

          @enrico-hesse sagte in Script von SQL auf Influx umstellen:

          schlägt das Script ständig fehl

          und wie lautet der ausgegebene fehler?

          Enrico Hesse 1 Reply Last reply Reply Quote 0
          • Enrico Hesse
            Enrico Hesse @OliverIO last edited by Enrico Hesse

            @oliverio der Fehler ist leider nicht sehr aussagekräftig:

            2024-10-04 14:47:00.041  - error: influxdb.0 (12711) queries: Error: 1 Error happened while processing 1 queries
            2024-10-04 14:47:00.044  - error: javascript.0 (7078) script.js.Wetter.temp_durch_aus_tageswerten1_Influx: Invalid call
            
            OliverIO 1 Reply Last reply Reply Quote 0
            • OliverIO
              OliverIO @Enrico Hesse last edited by

              @enrico-hesse

              das bedeutet das im query ein fehler ist.
              versuche mal die abfrage im influx data explorer auszuführen bzw dort aufzubauen

              Enrico Hesse 1 Reply Last reply Reply Quote 0
              • Enrico Hesse
                Enrico Hesse @OliverIO last edited by Enrico Hesse

                @oliverio im influx data explorer geht die Query so nicht , dort sieht er etwas anders aus und funktioniert:

                from(bucket: "iobroker")
                  |> range(start: -24h)
                  |> filter(fn: (r) => r._measurement == "Aussen_Temp" and r._field == "value")
                  |> mean()
                
                OliverIO 1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO @Enrico Hesse last edited by OliverIO

                  @enrico-hesse

                  ok dann hast du ja eine funktionierende query.
                  funktioniert die nicht über den sendto befehl?

                  Enrico Hesse 1 Reply Last reply Reply Quote 0
                  • Enrico Hesse
                    Enrico Hesse @OliverIO last edited by

                    @oliverio nein, die funktioniert leider nicht über den sendto Befehl.

                    OliverIO 1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO @Enrico Hesse last edited by OliverIO

                      @enrico-hesse

                      im influx adapter readme sind aber beispiele, in der gleichen notation
                      https://github.com/ioBroker/ioBroker.influxdb?tab=readme-ov-file#influx-2x

                      sorry, ich selbst habe aktuell kein influx. hab über sendto früher selbst nicht abgerufen.
                      warum denkst du das das so nicht funktioniert bzw. gibt es eine fehlermeldung?

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      930
                      Online

                      31.8k
                      Users

                      80.0k
                      Topics

                      1.3m
                      Posts

                      3
                      9
                      276
                      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