Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Script von SQL auf Influx umstellen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Script von SQL auf Influx umstellen

Scheduled Pinned Locked Moved JavaScript
9 Posts 3 Posters 523 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Enrico HesseE Offline
    Enrico HesseE Offline
    Enrico Hesse
    wrote on last edited by
    #1

    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

    BananaJoeB OliverIOO 2 Replies Last reply
    0
    • Enrico HesseE Enrico Hesse

      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

      BananaJoeB Online
      BananaJoeB Online
      BananaJoe
      Most Active
      wrote on last edited by
      #2

      @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)

      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

      1 Reply Last reply
      0
      • Enrico HesseE Enrico Hesse

        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

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        wrote on last edited by
        #3

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

        schlägt das Script ständig fehl

        und wie lautet der ausgegebene fehler?

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        Enrico HesseE 1 Reply Last reply
        0
        • OliverIOO OliverIO

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

          schlägt das Script ständig fehl

          und wie lautet der ausgegebene fehler?

          Enrico HesseE Offline
          Enrico HesseE Offline
          Enrico Hesse
          wrote on last edited by Enrico Hesse
          #4

          @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
          
          OliverIOO 1 Reply Last reply
          0
          • Enrico HesseE 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
            
            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            wrote on last edited by
            #5

            @enrico-hesse

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

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            Enrico HesseE 1 Reply Last reply
            0
            • OliverIOO OliverIO

              @enrico-hesse

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

              Enrico HesseE Offline
              Enrico HesseE Offline
              Enrico Hesse
              wrote on last edited by Enrico Hesse
              #6

              @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()
              
              OliverIOO 1 Reply Last reply
              0
              • Enrico HesseE 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()
                
                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                wrote on last edited by OliverIO
                #7

                @enrico-hesse

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

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                Enrico HesseE 1 Reply Last reply
                0
                • OliverIOO OliverIO

                  @enrico-hesse

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

                  Enrico HesseE Offline
                  Enrico HesseE Offline
                  Enrico Hesse
                  wrote on last edited by
                  #8

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

                  OliverIOO 1 Reply Last reply
                  0
                  • Enrico HesseE Enrico Hesse

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

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    wrote on last edited by OliverIO
                    #9

                    @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?

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    644

                    Online

                    32.6k

                    Users

                    82.1k

                    Topics

                    1.3m

                    Posts
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Home
                    • Recent
                    • Tags
                    • Unread 0
                    • Categories
                    • Unreplied
                    • Popular
                    • GitHub
                    • Docu
                    • Hilfe