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. Script von SQL auf Influx umstellen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.8k

Script von SQL auf Influx umstellen

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 3 Kommentatoren 481 Aufrufe 3 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.
  • Enrico HesseE Offline
    Enrico HesseE Offline
    Enrico Hesse
    schrieb am zuletzt editiert von
    #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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #8

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

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • Enrico HesseE Enrico Hesse

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

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von 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 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

                    722

                    Online

                    32.4k

                    Benutzer

                    81.5k

                    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