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. Daten mit Blockly aus InfluxDB abrufen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    254

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

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

Daten mit Blockly aus InfluxDB abrufen

Scheduled Pinned Locked Moved Skripten / Logik
35 Posts 6 Posters 4.0k Views 5 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.
  • T tobidd

    @tobidd
    Im Protokoll vom iobrocker steht folgendes drin:

    
    influxdb.1
    2024-05-30 12:23:10.802	warn	Error in received multiQuery: TypeError: queriesString.split is not a function
    

    kannst du damit vielleicht etwas anfangen?

    HomoranH Do not disturb
    HomoranH Do not disturb
    Homoran
    Global Moderator Administrators
    wrote on last edited by
    #14

    @tobidd sagte in Daten mit Blockly aus InfluxDB abrufen:

    Im Protokoll vom iobrocker steht folgendes drin:

    @homoran sagte in Daten mit Blockly aus InfluxDB abrufen:

    Warum so geizig mit dem gezeigten. Nur Schnipsel ohne Zusammenhang helfen nicht wirklich.

    und jetzt noch was Tröpfchenweise

    und Nein, ich kenne mich mit influx nicht aus

    kein Support per PN! - Fragen im Forum stellen -
    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Reply Last reply
    0
    • HomoranH Homoran

      @tobidd sagte in Daten mit Blockly aus InfluxDB abrufen:

      es hat sich leider nichts geändert:

      uninteressant, der output als solcher ist erstmal wichtig.
      Demnach kommt nichts zurück (leeres array) und auch kein Fehler (leeres JSON)

      Da müsstest du dir wahrscheinlich die Query noch mal ansehen

      T Offline
      T Offline
      tobidd
      wrote on last edited by
      #15

      @homoran

      Die Query funktioniert ja im Querybuilder von Influx, da kommt auch genau ein Wert zurück.
      Ich wüsste gern wie das Array result innen aussieht, also ob es da Indizes gibt oder ob nicht.

      HomoranH T 2 Replies Last reply
      0
      • T tobidd

        @homoran

        Die Query funktioniert ja im Querybuilder von Influx, da kommt auch genau ein Wert zurück.
        Ich wüsste gern wie das Array result innen aussieht, also ob es da Indizes gibt oder ob nicht.

        HomoranH Do not disturb
        HomoranH Do not disturb
        Homoran
        Global Moderator Administrators
        wrote on last edited by
        #16

        @tobidd sagte in Daten mit Blockly aus InfluxDB abrufen:

        wie das Array result innen aussieht

        leer

        kein Support per PN! - Fragen im Forum stellen -
        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
        Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Reply Last reply
        0
        • T tobidd

          @homoran

          Die Query funktioniert ja im Querybuilder von Influx, da kommt auch genau ein Wert zurück.
          Ich wüsste gern wie das Array result innen aussieht, also ob es da Indizes gibt oder ob nicht.

          T Offline
          T Offline
          tobidd
          wrote on last edited by
          #17

          @tobidd

          wieso nur Schnipsel?
          Oben steht doch der gesamte Code?
          Und der Logoutput gibt nun mal nur diese wenigen Infos her. Wenn ich wüsste, wie ich da mehr Informationen rausbekomme, würde ich es ja tun. Der Adapter steht auch schon auf Debug.

          HomoranH 1 Reply Last reply
          0
          • T tobidd

            @tobidd

            wieso nur Schnipsel?
            Oben steht doch der gesamte Code?
            Und der Logoutput gibt nun mal nur diese wenigen Infos her. Wenn ich wüsste, wie ich da mehr Informationen rausbekomme, würde ich es ja tun. Der Adapter steht auch schon auf Debug.

            HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #18

            @tobidd sagte in Daten mit Blockly aus InfluxDB abrufen:

            wieso nur Schnipsel?

            ehrlich jetzt?

            hat früher nichts im iobroker log gestanden?
            erst jetzt?

            kein Support per PN! - Fragen im Forum stellen -
            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            T 1 Reply Last reply
            0
            • HomoranH Homoran

              @tobidd sagte in Daten mit Blockly aus InfluxDB abrufen:

              wieso nur Schnipsel?

              ehrlich jetzt?

              hat früher nichts im iobroker log gestanden?
              erst jetzt?

              T Offline
              T Offline
              tobidd
              wrote on last edited by
              #19

              @homoran

              nein, erst jetzt und immer wieder nur das:

              Error in received multiQuery: TypeError: queriesString.split is not a function
              
              K 1 Reply Last reply
              0
              • T tobidd

                Hallo liebe Gemeinde,

                ich versuche jetzt schon seit 3 Tagen werte aus meiner InfluxDB 2 via Blockly Skripten abzurufen.
                Da ich mich mit Java nicht auskenne, versuche ich das eben über Blockly.
                Leider bin ich dabei überhaupt nicht erfolgreich.

                Ich habe es, wie in diesem Post beschrieben, versucht, natürlich mit meinen eigenen Werten aber es klappt nicht.

                Re: Blockly InfluxDB2.0 Flux Abfrage

                Ich habe zu erst im Influx Querybuilder eine Abfrage erstellt, die funktioniert.

                from(bucket: "iobroker")
                  |> range(start: -1m)
                  |> filter(fn: (r) => r["_measurement"] == "mqtt.1.solaranzeige.huawei.pv1_leistung")
                  |> filter(fn: (r) => r["_field"] == "value")
                  |> last()
                

                Da kommt genau ein Wert raus (die Sinnhaftigkeit sei jetzt mal dahin gestellt, es geht erst mal darum, das es funktioniert)

                Das ganze habe ich dann ins Blockly wie folgt eingebaut.
                9b175914-99b5-4d39-b61e-c8bd8d0455ae-image.png

                var flux, result;
                
                
                on({ id: 'mqtt.0.solaranzeige.sh10rt.hausverbrauch' /* solaranzeige/sh10rt/hausverbrauch */, change: 'ne' }, async (obj) => {
                  let value = obj.state.val;
                  let oldValue = obj.oldState.val;
                  flux = ['from(bucket: "iobroker")','|> range(start: -1m)','|> filter(fn: (r) => r["_measurement"] == "mqtt.1.solaranzeige.huawei.pv1_leistung")','|> filter(fn: (r) => r["_field"] == "value")','|> last()'].join('');
                  sendTo('influxdb.1', 'query', { 'result': flux }, async (result) => {
                    setState('0_userdata.0.Solar.pv_ertrag_heute' /* pv_ertrag_heute */, parseFloat(getAttr(JSON.stringify(result, null, 2), 'result.0.0._value')));
                    console.log(parseFloat(getAttr(JSON.stringify(result, null, 2), 'result.0.0._value')));
                    console.log(getAttr(JSON.stringify(result, null, 2), 'result.0.0._value'));
                  });
                  console.log("influxdb.1: " + "");
                });
                

                Wenn ich das Script starte, steht im Log folgendes:

                11:27:21.080	info	javascript.0 (421) Start JavaScript script.js.common.Berechnungen.solar (Blockly)
                11:27:21.082	info	javascript.0 (421) script.js.common.Berechnungen.solar: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                11:28:12.350	info	javascript.0 (421) script.js.common.Berechnungen.solar: influxdb.1:
                11:28:12.374	info	javascript.0 (421) script.js.common.Berechnungen.solar: NaN
                11:28:12.378	info	javascript.0 (421) script.js.common.Berechnungen.solar: null
                

                Der Adapter influxdb.1 ist auch der richtige.
                Was mache ich falsch?
                Ich habe es vorher mit einer Influxdb 1.8 und Select Statements, welche mir ehrlich gesagt besser gefallen würden, versucht aber das Ergebnis war das gleiche.

                Ich hoffe, Ihr könnt mich auf den richtigen Pfad zurück bringen.

                Grüße Tobi

                W Offline
                W Offline
                wolfi913
                wrote on last edited by
                #20

                @tobidd
                Nach langem Probieren würd' ich so was aus der influxDB rausbekommen:
                Screenshot 2024-05-30 131731.png
                Screenshot 2024-05-30 131754.png
                Inhalt der JS Funktion:

                var ergebnis;
                sendTo('influxdb.0', 'query', flux, function (result) {
                    if (result.error) {
                        console.error(result.error);
                    } else {
                        // show result
                        // console.log('Rows: ' + JSON.stringify(result));
                        ergebnis = JSON.stringify(result);
                    }
                });
                await wait(1000);
                return ergebnis;
                

                Vielleicht kannst Du ja damit was anfangen.
                Mit dem sendTo-Block klappt's irgendwie gar nicht.

                HomoranH S 2 Replies Last reply
                0
                • W wolfi913

                  @tobidd
                  Nach langem Probieren würd' ich so was aus der influxDB rausbekommen:
                  Screenshot 2024-05-30 131731.png
                  Screenshot 2024-05-30 131754.png
                  Inhalt der JS Funktion:

                  var ergebnis;
                  sendTo('influxdb.0', 'query', flux, function (result) {
                      if (result.error) {
                          console.error(result.error);
                      } else {
                          // show result
                          // console.log('Rows: ' + JSON.stringify(result));
                          ergebnis = JSON.stringify(result);
                      }
                  });
                  await wait(1000);
                  return ergebnis;
                  

                  Vielleicht kannst Du ja damit was anfangen.
                  Mit dem sendTo-Block klappt's irgendwie gar nicht.

                  HomoranH Do not disturb
                  HomoranH Do not disturb
                  Homoran
                  Global Moderator Administrators
                  wrote on last edited by
                  #21

                  @wolfi913 sagte in Daten mit Blockly aus InfluxDB abrufen:

                  würd' ich so was aus der influxDB rausbekommen:

                  bitte als Text in code-tags posten

                  @wolfi913 sagte in Daten mit Blockly aus InfluxDB abrufen:

                  Mit dem sendTo-Block klappt's irgendwie gar nicht.

                  wie gesagt kenne ich den nicht.

                  kein Support per PN! - Fragen im Forum stellen -
                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  W 1 Reply Last reply
                  0
                  • HomoranH Homoran

                    @wolfi913 sagte in Daten mit Blockly aus InfluxDB abrufen:

                    würd' ich so was aus der influxDB rausbekommen:

                    bitte als Text in code-tags posten

                    @wolfi913 sagte in Daten mit Blockly aus InfluxDB abrufen:

                    Mit dem sendTo-Block klappt's irgendwie gar nicht.

                    wie gesagt kenne ich den nicht.

                    W Offline
                    W Offline
                    wolfi913
                    wrote on last edited by
                    #22

                    @homoran

                    {"result":[[{"result":"_result","table":0,"_start":"2024-05-30T10:16:41.25298107Z","_stop":"2024-05-30T11:16:41.25298107Z","_time":"2024-05-30T11:02:48.423Z","_value":74,"_field":"value","_measurement":"hmip.0.devices.3014F711A0000EDD89A1774D.channels.1.humidity","ts":1717066968423}]],"ts":1717067801258,"error":null}
                    
                    1 Reply Last reply
                    0
                    • W wolfi913

                      @tobidd
                      Nach langem Probieren würd' ich so was aus der influxDB rausbekommen:
                      Screenshot 2024-05-30 131731.png
                      Screenshot 2024-05-30 131754.png
                      Inhalt der JS Funktion:

                      var ergebnis;
                      sendTo('influxdb.0', 'query', flux, function (result) {
                          if (result.error) {
                              console.error(result.error);
                          } else {
                              // show result
                              // console.log('Rows: ' + JSON.stringify(result));
                              ergebnis = JSON.stringify(result);
                          }
                      });
                      await wait(1000);
                      return ergebnis;
                      

                      Vielleicht kannst Du ja damit was anfangen.
                      Mit dem sendTo-Block klappt's irgendwie gar nicht.

                      S Do not disturb
                      S Do not disturb
                      stenmic
                      wrote on last edited by
                      #23

                      @wolfi913 falls du es noch brauchst, so bekommt man den "value" raus.

                      2024-06-21 13 07 12.jpg

                      S 1 Reply Last reply
                      0
                      • S stenmic

                        @wolfi913 falls du es noch brauchst, so bekommt man den "value" raus.

                        2024-06-21 13 07 12.jpg

                        S Offline
                        S Offline
                        SpacerX
                        wrote on last edited by SpacerX
                        #24

                        @stenmic mal eine Variante um Daten aus influxdb mit Blockly zu bekommen.

                        https://forum.iobroker.net/topic/56125/blockly-influxdb2-0-flux-abfrage

                        DS720|Nuc8i3BEH|Proxmox|RaspberryMatic|ioBroker|influxDB2|Grafana

                        W S 2 Replies Last reply
                        0
                        • S SpacerX

                          @stenmic mal eine Variante um Daten aus influxdb mit Blockly zu bekommen.

                          https://forum.iobroker.net/topic/56125/blockly-influxdb2-0-flux-abfrage

                          W Offline
                          W Offline
                          wolfi913
                          wrote on last edited by
                          #25

                          @spacerx sagte in Daten mit Blockly aus InfluxDB abrufen:

                          @stenmic mal eine Variante um Daten aus influxdb mit Blockly zu bekommen.

                          https://forum.iobroker.net/topic/56125/blockly-influxdb2-0-flux-abfrage

                          Das ist der eingangs verlinkte Thread von @tobidd der ja bei ihm nicht funktioniert hatte.

                          @stenmic

                          falls du es noch brauchst, so bekommt man den "value" raus.

                          Danke. Aber ich hatte es ja nicht gebraucht. Und @tobidd hatte es ja oben schon korrekt in seinem Blockly drinnen wie der value zu extrahieren ist result.0.0._value. Daher bin ich darauf nicht extra eingegangen.

                          1 Reply Last reply
                          0
                          • S SpacerX

                            @stenmic mal eine Variante um Daten aus influxdb mit Blockly zu bekommen.

                            https://forum.iobroker.net/topic/56125/blockly-influxdb2-0-flux-abfrage

                            S Do not disturb
                            S Do not disturb
                            stenmic
                            wrote on last edited by
                            #26

                            @spacerx ???
                            mit meiner Lösung gehts auch :)

                            S 1 Reply Last reply
                            0
                            • S stenmic

                              @spacerx ???
                              mit meiner Lösung gehts auch :)

                              S Offline
                              S Offline
                              SpacerX
                              wrote on last edited by
                              #27

                              @stenmic ja klar. Viele Wege führen nach Rom.

                              DS720|Nuc8i3BEH|Proxmox|RaspberryMatic|ioBroker|influxDB2|Grafana

                              1 Reply Last reply
                              0
                              • T tobidd

                                @homoran

                                nein, erst jetzt und immer wieder nur das:

                                Error in received multiQuery: TypeError: queriesString.split is not a function
                                
                                K Offline
                                K Offline
                                kdtcat
                                wrote on last edited by
                                #28

                                @tobidd Ich habe jetzt auch festgestellt, dass das Blockly "sendTo" nicht mehr funktioniert. Scheinbar ist durch ein Update die Query Funktion geändert worden. Blockly generiert jetzt immer ein Query Array, welches bei InfluxDb nicht erlaubt ist. Im Javascript Code erkennt man das am { Zeichen.

                                Meine bis jetzt einzige Lösung ist das Script als Native Script weiterzuführen.

                                T 1 Reply Last reply
                                0
                                • K kdtcat

                                  @tobidd Ich habe jetzt auch festgestellt, dass das Blockly "sendTo" nicht mehr funktioniert. Scheinbar ist durch ein Update die Query Funktion geändert worden. Blockly generiert jetzt immer ein Query Array, welches bei InfluxDb nicht erlaubt ist. Im Javascript Code erkennt man das am { Zeichen.

                                  Meine bis jetzt einzige Lösung ist das Script als Native Script weiterzuführen.

                                  T Offline
                                  T Offline
                                  tobidd
                                  wrote on last edited by
                                  #29

                                  @kdtcat
                                  Hallo, kannst du mir eventuell ein Beispiel zeigen, wie du das gelöst hast.
                                  Ich hatte jetzt lange keine Lust mehr dem Thema nachzugehen. Jetzt bin ich wieder etwas motivierter.

                                  Grüße Tobi

                                  K 1 Reply Last reply
                                  0
                                  • T tobidd

                                    @kdtcat
                                    Hallo, kannst du mir eventuell ein Beispiel zeigen, wie du das gelöst hast.
                                    Ich hatte jetzt lange keine Lust mehr dem Thema nachzugehen. Jetzt bin ich wieder etwas motivierter.

                                    Grüße Tobi

                                    K Offline
                                    K Offline
                                    kdtcat
                                    wrote on last edited by
                                    #30

                                    @tobidd sagte in Daten mit Blockly aus InfluxDB abrufen:

                                    @kdtcat
                                    Hallo, kannst du mir eventuell ein Beispiel zeigen, wie du das gelöst hast.
                                    Ich hatte jetzt lange keine Lust mehr dem Thema nachzugehen. Jetzt bin ich wieder etwas motivierter.

                                    Grüße Tobi

                                    Hier als Beispiel die beiden ersten Werte meines Scripts:

                                    schedule("*/2 * * * *", async () => {
                                      result = !''.length;
                                      sendTo('influxdb.0', 'query', 'from(bucket: "solar")  |> range(start: -1m) |> filter(fn: (r) => r["_field"] == "Energy.Battery.Charge.Level") |> aggregateWindow(every: 2m, fn: mean)', async (result) => {
                                        test1 = (await jsonataExpression(result,'*[0]._value '));
                                        setStateDelayed('0_userdata.0.Enpal.BatteryLevel', Math.round(test1 * 100) / 100, true, parseInt(((0) || '').toString(), 10), false);
                                      });
                                      await wait(3000);
                                      result = !''.length;
                                      sendTo('influxdb.0', 'query', 'from(bucket: "solar")  |> range(start: -1m) |> filter(fn: (r) => r["_field"] == "Power.Consumption.Total") |> aggregateWindow(every: 2m, fn: mean)', async (result) => {
                                        test2 = (await jsonataExpression(result,'*[0]._value '));
                                        setStateDelayed('0_userdata.0.Enpal.PowerConsumptionTotal', test2, true, parseInt(((0) || '').toString(), 10), false);
                                      });
                                      await wait(3000);
                                    });
                                    
                                    T 1 Reply Last reply
                                    0
                                    • K kdtcat

                                      @tobidd sagte in Daten mit Blockly aus InfluxDB abrufen:

                                      @kdtcat
                                      Hallo, kannst du mir eventuell ein Beispiel zeigen, wie du das gelöst hast.
                                      Ich hatte jetzt lange keine Lust mehr dem Thema nachzugehen. Jetzt bin ich wieder etwas motivierter.

                                      Grüße Tobi

                                      Hier als Beispiel die beiden ersten Werte meines Scripts:

                                      schedule("*/2 * * * *", async () => {
                                        result = !''.length;
                                        sendTo('influxdb.0', 'query', 'from(bucket: "solar")  |> range(start: -1m) |> filter(fn: (r) => r["_field"] == "Energy.Battery.Charge.Level") |> aggregateWindow(every: 2m, fn: mean)', async (result) => {
                                          test1 = (await jsonataExpression(result,'*[0]._value '));
                                          setStateDelayed('0_userdata.0.Enpal.BatteryLevel', Math.round(test1 * 100) / 100, true, parseInt(((0) || '').toString(), 10), false);
                                        });
                                        await wait(3000);
                                        result = !''.length;
                                        sendTo('influxdb.0', 'query', 'from(bucket: "solar")  |> range(start: -1m) |> filter(fn: (r) => r["_field"] == "Power.Consumption.Total") |> aggregateWindow(every: 2m, fn: mean)', async (result) => {
                                          test2 = (await jsonataExpression(result,'*[0]._value '));
                                          setStateDelayed('0_userdata.0.Enpal.PowerConsumptionTotal', test2, true, parseInt(((0) || '').toString(), 10), false);
                                        });
                                        await wait(3000);
                                      });
                                      
                                      T Offline
                                      T Offline
                                      tobidd
                                      wrote on last edited by tobidd
                                      #31

                                      @kdtcat
                                      siehe nächster Post :)

                                      1 Reply Last reply
                                      0
                                      • T Offline
                                        T Offline
                                        tobidd
                                        wrote on last edited by tobidd
                                        #32

                                        @kdtcat

                                        ich habe das jetzt so gelöst:

                                        var flux, hausverbrauch, bezug;
                                        
                                        // Beschreibe diese Funktion …
                                        async function query_influx(flux) {
                                            var ergebnis;
                                            sendTo('influxdb.0', 'query', flux, function (result) {
                                                if (result.error) {
                                                    console.error(result.error);
                                                } else {
                                                    //show result
                                                    //console.log('Rows: ' + JSON.stringify(result));
                                                   ergebnis = JSON.stringify(result);
                                                }
                                            });
                                            await wait(1000);
                                            return ergebnis;
                                        }
                                        
                                        
                                        on({ id: 'mqtt.0.solaranzeige.sh10rt.hausverbrauch' /* solaranzeige/sh10rt/hausverbrauch */, change: 'any' }, async (obj) => {
                                          let value = obj.state.val;
                                          let oldValue = obj.oldState.val;
                                          hausverbrauch = await query_influx(['from(bucket: "solaranzeige2")',' |> range(start: today(), stop: now())','|> filter(fn: (r) => r["_measurement"] == "mqtt.0.solaranzeige.sh10rt.hausverbrauch")','|> filter(fn: (r) => r["_field"] == "value")','|> sum()',''].join(''));
                                          hausverbrauch = parseFloat(getAttr((() => { try { return JSON.parse(hausverbrauch); } catch (e) { return {}; }})(), 'result.0.0._value'));
                                          bezug = await query_influx(['from(bucket: "solaranzeige2")',' |> range(start: today(), stop: now())','|> filter(fn: (r) => r["_measurement"] == "mqtt.0.solaranzeige.sh10rt.bezug")','|> filter(fn: (r) => r["_field"] == "value")','|> sum()',''].join(''));
                                          bezug = parseFloat(getAttr((() => { try { return JSON.parse(bezug); } catch (e) { return {}; }})(), 'result.0.0._value'));
                                          setState('0_userdata.0.Solar.autarkiegrad_heute' /* autarkiegrad_heute */, ((1 - bezug / hausverbrauch) * 100), true);
                                        });
                                        

                                        Ich hoffe an Hand der Bilder ist klar was wo hin gehört.
                                        Vielleicht hilft es ja jemandem.
                                        Einen Herzlichen Dank an ALLE, die mir Hinweise zur Lösungsfindung gegeben haben.

                                        blockly.jpg
                                        js2.jpg
                                        js.jpg

                                        K 1 Reply Last reply
                                        0
                                        • T tobidd

                                          @kdtcat

                                          ich habe das jetzt so gelöst:

                                          var flux, hausverbrauch, bezug;
                                          
                                          // Beschreibe diese Funktion …
                                          async function query_influx(flux) {
                                              var ergebnis;
                                              sendTo('influxdb.0', 'query', flux, function (result) {
                                                  if (result.error) {
                                                      console.error(result.error);
                                                  } else {
                                                      //show result
                                                      //console.log('Rows: ' + JSON.stringify(result));
                                                     ergebnis = JSON.stringify(result);
                                                  }
                                              });
                                              await wait(1000);
                                              return ergebnis;
                                          }
                                          
                                          
                                          on({ id: 'mqtt.0.solaranzeige.sh10rt.hausverbrauch' /* solaranzeige/sh10rt/hausverbrauch */, change: 'any' }, async (obj) => {
                                            let value = obj.state.val;
                                            let oldValue = obj.oldState.val;
                                            hausverbrauch = await query_influx(['from(bucket: "solaranzeige2")',' |> range(start: today(), stop: now())','|> filter(fn: (r) => r["_measurement"] == "mqtt.0.solaranzeige.sh10rt.hausverbrauch")','|> filter(fn: (r) => r["_field"] == "value")','|> sum()',''].join(''));
                                            hausverbrauch = parseFloat(getAttr((() => { try { return JSON.parse(hausverbrauch); } catch (e) { return {}; }})(), 'result.0.0._value'));
                                            bezug = await query_influx(['from(bucket: "solaranzeige2")',' |> range(start: today(), stop: now())','|> filter(fn: (r) => r["_measurement"] == "mqtt.0.solaranzeige.sh10rt.bezug")','|> filter(fn: (r) => r["_field"] == "value")','|> sum()',''].join(''));
                                            bezug = parseFloat(getAttr((() => { try { return JSON.parse(bezug); } catch (e) { return {}; }})(), 'result.0.0._value'));
                                            setState('0_userdata.0.Solar.autarkiegrad_heute' /* autarkiegrad_heute */, ((1 - bezug / hausverbrauch) * 100), true);
                                          });
                                          

                                          Ich hoffe an Hand der Bilder ist klar was wo hin gehört.
                                          Vielleicht hilft es ja jemandem.
                                          Einen Herzlichen Dank an ALLE, die mir Hinweise zur Lösungsfindung gegeben haben.

                                          blockly.jpg
                                          js2.jpg
                                          js.jpg

                                          K Offline
                                          K Offline
                                          kdtcat
                                          wrote on last edited by
                                          #33

                                          @tobiddGute Idee mit der Function. Damit habe ich mein Script auch wieder "Blockly fähig" gemacht.

                                          K 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

                                          577

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          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