Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Daten mit Blockly aus InfluxDB abrufen

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    211

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

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

Daten mit Blockly aus InfluxDB abrufen

Daten mit Blockly aus InfluxDB abrufen

Scheduled Pinned Locked Moved Skripten / Logik
35 Posts 6 Posters 3.4k 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 Offline
    T Offline
    tobidd
    wrote on last edited by
    #1

    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

    HomoranH T W 3 Replies 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

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

      @tobidd was steht denn in result

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      T 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

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

        @tobidd
        gibt es eine Möglichkeit, ähnlich zu PHP und print_r($array), sich den Inhalt eines Arrays komplett anzeigen zu lassen?

        1 Reply Last reply
        0
        • HomoranH Homoran

          @tobidd was steht denn in result

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

          @homoran
          Genau das würde ich auch gern wissen aber wie gesagt, ich weiß nicht, wie ich mir das anzeigen lassen kann.

          HomoranH 1 Reply Last reply
          0
          • T tobidd

            @homoran
            Genau das würde ich auch gern wissen aber wie gesagt, ich weiß nicht, wie ich mir das anzeigen lassen kann.

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

            @tobidd sagte in Daten mit Blockly aus InfluxDB abrufen:

            ich weiß nicht, wie ich mir das anzeigen lassen kann.

            mit debug block und daran result

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            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:

              ich weiß nicht, wie ich mir das anzeigen lassen kann.

              mit debug block und daran result

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

              @homoran
              Du meinst so ?
              12b234f3-02f4-477e-bc8b-9f25c317a4ad-image.png

              Das ist das Ergebnis:

              11:36:11.742	info	javascript.0 (421) script.js.common.Berechnungen.solar: { result: [], error: {} }
              
              T HomoranH 2 Replies Last reply
              0
              • T tobidd

                @homoran
                Du meinst so ?
                12b234f3-02f4-477e-bc8b-9f25c317a4ad-image.png

                Das ist das Ergebnis:

                11:36:11.742	info	javascript.0 (421) script.js.common.Berechnungen.solar: { result: [], error: {} }
                
                T Offline
                T Offline
                tobidd
                wrote on last edited by
                #7

                Muss ich eventuell noch etwas nachinstallieren im iobroker?

                1 Reply Last reply
                0
                • T tobidd

                  @homoran
                  Du meinst so ?
                  12b234f3-02f4-477e-bc8b-9f25c317a4ad-image.png

                  Das ist das Ergebnis:

                  11:36:11.742	info	javascript.0 (421) script.js.common.Berechnungen.solar: { result: [], error: {} }
                  
                  HomoranH Do not disturb
                  HomoranH Do not disturb
                  Homoran
                  Global Moderator Administrators
                  wrote on last edited by Homoran
                  #8

                  @tobidd sagte in Daten mit Blockly aus InfluxDB abrufen:

                  Das ist das Ergebnis:

                  von dem debug, oder sind noch andere debugs aktiv?
                  ist result hier die richtige Variable?

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

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  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:

                    Das ist das Ergebnis:

                    von dem debug, oder sind noch andere debugs aktiv?
                    ist result hier die richtige Variable?

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

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

                    @homoran

                    Ich habe jetzt alle deaktiviert, bis auf einen.
                    Ich denke, das result die richtige Variable ist, steht ja in dem Blockly unter Ergebnisse so drin oder interpretiere ich das falsch?

                    2151373f-98b7-469f-9cfc-a1ffde623661-image.png

                    HomoranH 1 Reply Last reply
                    0
                    • T tobidd

                      @homoran

                      Ich habe jetzt alle deaktiviert, bis auf einen.
                      Ich denke, das result die richtige Variable ist, steht ja in dem Blockly unter Ergebnisse so drin oder interpretiere ich das falsch?

                      2151373f-98b7-469f-9cfc-a1ffde623661-image.png

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

                      @tobidd sagte in Daten mit Blockly aus InfluxDB abrufen:

                      steht ja in dem Blockly unter Ergebnisse so drin oder interpretiere ich das falsch?

                      kann ich dir eben nicht sagen, ich nutze diesen Block mangels InfluxDB nicht, aber wenn du mir jetzt sagst was, nachdem du

                      @tobidd sagte in Daten mit Blockly aus InfluxDB abrufen:

                      jetzt alle deaktiviert, bis auf einen.

                      hast im log steht, kann ich vielleicht weiterhelfen.

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      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:

                        steht ja in dem Blockly unter Ergebnisse so drin oder interpretiere ich das falsch?

                        kann ich dir eben nicht sagen, ich nutze diesen Block mangels InfluxDB nicht, aber wenn du mir jetzt sagst was, nachdem du

                        @tobidd sagte in Daten mit Blockly aus InfluxDB abrufen:

                        jetzt alle deaktiviert, bis auf einen.

                        hast im log steht, kann ich vielleicht weiterhelfen.

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

                        @homoran

                        es hat sich leider nichts geändert:

                        javascript.0 (421) script.js.common.Berechnungen.solar: **{ result: [], error: {} }**
                        
                        T HomoranH 2 Replies Last reply
                        0
                        • T tobidd

                          @homoran

                          es hat sich leider nichts geändert:

                          javascript.0 (421) script.js.common.Berechnungen.solar: **{ result: [], error: {} }**
                          
                          T Offline
                          T Offline
                          tobidd
                          wrote on last edited by
                          #12

                          @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 1 Reply Last reply
                          0
                          • T tobidd

                            @homoran

                            es hat sich leider nichts geändert:

                            javascript.0 (421) script.js.common.Berechnungen.solar: **{ result: [], error: {} }**
                            
                            HomoranH Do not disturb
                            HomoranH Do not disturb
                            Homoran
                            Global Moderator Administrators
                            wrote on last edited by
                            #13

                            @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

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            T 1 Reply Last reply
                            0
                            • 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 - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              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 - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  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 - es gibt fast nichts, was nicht auch für andere interessant ist.

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          83

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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