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. Blockly
  5. JS-Funktion mit Ergebnis - Result aus SQL an Blockly

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

JS-Funktion mit Ergebnis - Result aus SQL an Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
12 Beiträge 4 Kommentatoren 1.7k 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.
  • M Offline
    M Offline
    Mystisch
    schrieb am zuletzt editiert von Jey Cee
    #1

    Hallo zusammen,

    versuche gerade eine Funktion mit Ergebnis in Blockly zu erstellen, aber bekomme das mit dem Return Wert nicht hin.
    Wo liegt mein Fehler?
    das consolen log gibt mir ein value aus
    der blockly debug undefined?

    sendTo('sql.0', 'query', 'SELECT id FROM iobroker.datapoints WHERE name="javascript.0.variables.test"', function (result) {
      if (result.error) {
        console.error(result.error);
      } else {
        var now = new Date;
            sendTo('sql.0', 'query', 'SELECT ts,val FROM iobroker.ts_number WHERE _from = 6 AND id=' + result.result[0].id, function (ergebnis) {
            console.log('result sql: ' +JSON.stringify(result.result[0]));
             return result.result[0];
            }); 
        }
    });
    

    funktion-Blockly.png

    Ich möchte ein Ergebnis aus SQL soweit aufbereiten, dass ich es in einer Liste Anzeigen kann.

    Ziel ist es, eine Gegenüberstellung von monatlichen Werten der letzten Jahre zu bekommen.

    Besten Dank schon mal
    david

    paul53P 1 Antwort Letzte Antwort
    0
    • M Mystisch

      Hallo zusammen,

      versuche gerade eine Funktion mit Ergebnis in Blockly zu erstellen, aber bekomme das mit dem Return Wert nicht hin.
      Wo liegt mein Fehler?
      das consolen log gibt mir ein value aus
      der blockly debug undefined?

      sendTo('sql.0', 'query', 'SELECT id FROM iobroker.datapoints WHERE name="javascript.0.variables.test"', function (result) {
        if (result.error) {
          console.error(result.error);
        } else {
          var now = new Date;
              sendTo('sql.0', 'query', 'SELECT ts,val FROM iobroker.ts_number WHERE _from = 6 AND id=' + result.result[0].id, function (ergebnis) {
              console.log('result sql: ' +JSON.stringify(result.result[0]));
               return result.result[0];
              }); 
          }
      });
      

      funktion-Blockly.png

      Ich möchte ein Ergebnis aus SQL soweit aufbereiten, dass ich es in einer Liste Anzeigen kann.

      Ziel ist es, eine Gegenüberstellung von monatlichen Werten der letzten Jahre zu bekommen.

      Besten Dank schon mal
      david

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @mystisch
      Man kann nicht das Ergebnis aus einer Callback-Funktion zurück geben, denn die Callback-Funktion wird asynchron aufgerufen.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      M 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @mystisch
        Man kann nicht das Ergebnis aus einer Callback-Funktion zurück geben, denn die Callback-Funktion wird asynchron aufgerufen.

        M Offline
        M Offline
        Mystisch
        schrieb am zuletzt editiert von
        #3

        @paul53 wie kann ich dann das ergebnis aus der query an blockly schicken? geht dann nur der Umweg über setstate?

        paul53P 1 Antwort Letzte Antwort
        0
        • M Mystisch

          @paul53 wie kann ich dann das ergebnis aus der query an blockly schicken? geht dann nur der Umweg über setstate?

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @mystisch sagte: wie kann ich dann das ergebnis aus der query an blockly schicken?

          Du kannst eine Blockly-Funktion erstellen und diese aus der Callback-Funktion aufrufen.
          Weshalb nutzt Du nicht das Blockly-sendTo() ?

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            Mystisch
            schrieb am zuletzt editiert von Mystisch
            #5

            @paul53 Ich habe erst vor ein paar monaten mit ioBroker angefangen und finde mich erst solangsam rein, daher sind mir noch nicht alle Funktionen geläufig.
            Und das sendTo mit SQL hat auch nicht zum gewünschten Ziel geführt. Bei dem sendTo bekomme gar kein Ergebnis zurück oder was auch immer.

            paul53P 1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              Mystisch
              schrieb am zuletzt editiert von
              #6

              Vielleicht kann mir hier einer mal ein Beispiel dazu schicken oder einen Hinweis im Netz schicken wo das mal näher beschrieben wird. Komme hier grad nicht weiter.

              1 Antwort Letzte Antwort
              0
              • M Mystisch

                @paul53 Ich habe erst vor ein paar monaten mit ioBroker angefangen und finde mich erst solangsam rein, daher sind mir noch nicht alle Funktionen geläufig.
                Und das sendTo mit SQL hat auch nicht zum gewünschten Ziel geführt. Bei dem sendTo bekomme gar kein Ergebnis zurück oder was auch immer.

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @mystisch sagte: sendTo mit SQL hat auch nicht zum gewünschten Ziel geführt.

                Dann solltest Du die Überschrift ändern, damit SQL-kundige helfen.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                M 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @mystisch sagte: sendTo mit SQL hat auch nicht zum gewünschten Ziel geführt.

                  Dann solltest Du die Überschrift ändern, damit SQL-kundige helfen.

                  M Offline
                  M Offline
                  Mystisch
                  schrieb am zuletzt editiert von
                  #8

                  @paul53 das SQL ist nicht das Problem, in der JavaScript bekomme ich mein gewünchstes Ergebnis in der Console, nur bekomme ich das Ergebnis nicht ins Blockly.
                  Bei dem Blockly SendTo bekomme ich gar nichts zurück, bin mir aber auch nicht sicher, ob ich das Richtig nutze, da ich in Google auch keine Beschreibung fand.

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • M Mystisch

                    @paul53 das SQL ist nicht das Problem, in der JavaScript bekomme ich mein gewünchstes Ergebnis in der Console, nur bekomme ich das Ergebnis nicht ins Blockly.
                    Bei dem Blockly SendTo bekomme ich gar nichts zurück, bin mir aber auch nicht sicher, ob ich das Richtig nutze, da ich in Google auch keine Beschreibung fand.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #9

                    @mystisch sagte in JS-Funktion mit Ergebnis - Result aus SQL an Blockly:

                    bekomme ich das Ergebnis nicht ins Blockly.

                    Dann erstelle eine Blockly-Funktion zur Auswertung der SQL-Abfrage

                    Bild_2021-09-05_184836.png

                    In der Javascript-Funktion ersetze

                    return result.result[0];
                    

                    durch

                    auswertung(result.result[0]);
                    

                    besser in einer Javascript-Funktion (ohne Ergebnis).

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    M Jey CeeJ 2 Antworten Letzte Antwort
                    0
                    • paul53P paul53

                      @mystisch sagte in JS-Funktion mit Ergebnis - Result aus SQL an Blockly:

                      bekomme ich das Ergebnis nicht ins Blockly.

                      Dann erstelle eine Blockly-Funktion zur Auswertung der SQL-Abfrage

                      Bild_2021-09-05_184836.png

                      In der Javascript-Funktion ersetze

                      return result.result[0];
                      

                      durch

                      auswertung(result.result[0]);
                      

                      besser in einer Javascript-Funktion (ohne Ergebnis).

                      M Offline
                      M Offline
                      Mystisch
                      schrieb am zuletzt editiert von
                      #10

                      @paul53 Super vielen Dank. Das hat mir jetzt weiter geholfen.

                      liv-in-skyL 1 Antwort Letzte Antwort
                      0
                      • M Mystisch

                        @paul53 Super vielen Dank. Das hat mir jetzt weiter geholfen.

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von liv-in-sky
                        #11

                        @mystisch

                        es gibt auch noch die gethistory

                        ein beispiel - dort bekommst , je nach zeitangabe, die daten in ein array und kannst dann dieses arr verarbeiten

                        var end = new Date().getTime();
                        let myArrTemp=[]
                        getHistory('sql.0', {
                                id:         'javascript.0.variables.test', //''0_userdata.0.CONTROL-OWN.FUTRO.CPUTempNUC1',
                                start:      end - 60000000,
                                end:        end,
                              //  aggregate:  'm4',
                                timeout:    2000
                            }, function (err, result) {
                                if (err) console.error(err);
                                if (result) {
                                  //  log(JSON.stringify(result))
                                    for (var i = 0; i < result.length; i++) {
                                        myArrTemp.push({
                                            "ts": new Date(result[i].ts).toISOString(),
                                            "val":result[i].val
                                        })
                                //    console.log(result[i].val + ' ' + new Date(result[i].ts).toISOString());
                                  
                                    } // log ("ende func1 "+JSON.stringify(myArrTemp)) ;
                                // return 
                                log(JSON.stringify(myArrTemp));
                                }
                            });
                        

                        bin mir nicht ganz sicher, ob ich verstehe, was du machen willst :-(

                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                        1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @mystisch sagte in JS-Funktion mit Ergebnis - Result aus SQL an Blockly:

                          bekomme ich das Ergebnis nicht ins Blockly.

                          Dann erstelle eine Blockly-Funktion zur Auswertung der SQL-Abfrage

                          Bild_2021-09-05_184836.png

                          In der Javascript-Funktion ersetze

                          return result.result[0];
                          

                          durch

                          auswertung(result.result[0]);
                          

                          besser in einer Javascript-Funktion (ohne Ergebnis).

                          Jey CeeJ Online
                          Jey CeeJ Online
                          Jey Cee
                          Developer
                          schrieb am zuletzt editiert von Jey Cee
                          #12

                          @paul53 was ist das den für ein Block? Ich finde keinen mit Ergebnis.

                          Edit: Hat sich erledigt.
                          Für andere mit der gleichen Frage: Funktionen -> etwas tun -> Zahnrad -> Variable in Parameter ziehen
                          Dann kann man die Variable unter Variablen finden.

                          Persönlicher Support
                          Spenden -> paypal.me/J3YC33

                          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

                          798

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          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