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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Script.js - undefined

NEWS

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

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

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

Script.js - undefined

Geplant Angeheftet Gesperrt Verschoben JavaScript
7 Beiträge 3 Kommentatoren 512 Aufrufe 2 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.
  • R Offline
    R Offline
    rhrh11
    schrieb am zuletzt editiert von
    #1

    Hallo,
    guten Morgen an Alle.
    Ich bemühe mich gerade einbißchen in script einzuarbeiten. Als Anlehnung gibt es ja viele gute Beispiele, danke dafür.
    Jetzt komme ich aber mit einem nicht weiter.

    schedule ( "12 10 * * *" , async function () {
    sendTo('sql.0', 'query', 'select sum(val) from iobroker.ts_number where  id=86 ', function (sumsolarfeb22) {
        if (sumsolarfeb22.error) {
            console.error(sumsolarfeb22.error);
        } else {
            // show result
             log('Rows: ' + JSON.stringify(sumsolarfeb22.result));
             var test = JSON.stringify(sumsolarfeb22.result[0]["sumsolarfeb22"]);
             log(test);
        }
    setState("0_userdata.0.SumSoFeb22", parseFloat(sumsolarfeb22.result[0]["sumsolarfeb22"]), true); 
        } ) } ) ;
    
    
    13.2.2022, 10:22:00.048	[info ]: javascript.0 (26225) script.js.Skript-SumSolarFeb22: sendTo(adapter=sql.0, cmd=query, msg="select sum(val) from iobroker.ts_number where  id=86 ")
    13.2.2022, 10:22:00.081	[info ]: javascript.0 (26225) script.js.Skript-SumSolarFeb22: Rows: [{"sum(val)":223.24739}]
    13.2.2022, 10:22:00.082	[info ]: javascript.0 (26225) script.js.Skript-SumSolarFeb22: undefined
    13.2.2022, 10:22:00.083	[info ]: javascript.0 (26225) script.js.Skript-SumSolarFeb22: setForeignState(id=0_userdata.0.SumSoFeb22, state={"val":null,"ack":true,"c":"script.js.Skript-SumSolarFeb22"})
    
    
    

    Der Wert wird durch die sql-Abfrage richtig übergeben, aber nicht im Datenpunkt eingetragen. Ich habe schon mal den Datenpunkt als string bzw. number geändert und neuangelegt, leider keine Änderung.
    Solche Scripte mit sql-Abfrage habe ich mehrere im Einsatz, laufen alle bestens.

    Habt Ihr einen Hinweis für mich??
    Danke im Voraus.

    Gruß Reinald

    T paul53P 2 Antworten Letzte Antwort
    0
    • R rhrh11

      Hallo,
      guten Morgen an Alle.
      Ich bemühe mich gerade einbißchen in script einzuarbeiten. Als Anlehnung gibt es ja viele gute Beispiele, danke dafür.
      Jetzt komme ich aber mit einem nicht weiter.

      schedule ( "12 10 * * *" , async function () {
      sendTo('sql.0', 'query', 'select sum(val) from iobroker.ts_number where  id=86 ', function (sumsolarfeb22) {
          if (sumsolarfeb22.error) {
              console.error(sumsolarfeb22.error);
          } else {
              // show result
               log('Rows: ' + JSON.stringify(sumsolarfeb22.result));
               var test = JSON.stringify(sumsolarfeb22.result[0]["sumsolarfeb22"]);
               log(test);
          }
      setState("0_userdata.0.SumSoFeb22", parseFloat(sumsolarfeb22.result[0]["sumsolarfeb22"]), true); 
          } ) } ) ;
      
      
      13.2.2022, 10:22:00.048	[info ]: javascript.0 (26225) script.js.Skript-SumSolarFeb22: sendTo(adapter=sql.0, cmd=query, msg="select sum(val) from iobroker.ts_number where  id=86 ")
      13.2.2022, 10:22:00.081	[info ]: javascript.0 (26225) script.js.Skript-SumSolarFeb22: Rows: [{"sum(val)":223.24739}]
      13.2.2022, 10:22:00.082	[info ]: javascript.0 (26225) script.js.Skript-SumSolarFeb22: undefined
      13.2.2022, 10:22:00.083	[info ]: javascript.0 (26225) script.js.Skript-SumSolarFeb22: setForeignState(id=0_userdata.0.SumSoFeb22, state={"val":null,"ack":true,"c":"script.js.Skript-SumSolarFeb22"})
      
      
      

      Der Wert wird durch die sql-Abfrage richtig übergeben, aber nicht im Datenpunkt eingetragen. Ich habe schon mal den Datenpunkt als string bzw. number geändert und neuangelegt, leider keine Änderung.
      Solche Scripte mit sql-Abfrage habe ich mehrere im Einsatz, laufen alle bestens.

      Habt Ihr einen Hinweis für mich??
      Danke im Voraus.

      Gruß Reinald

      T Nicht stören
      T Nicht stören
      ticaki
      schrieb am zuletzt editiert von ticaki
      #2

      @rhrh11 sagte in Script.js - undefined:

      [{"sum(val)":223.24739}]

      var test = JSON.stringify(sumsolarfeb22.result[0]["sum(val)"]);
      

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      1 Antwort Letzte Antwort
      0
      • R rhrh11

        Hallo,
        guten Morgen an Alle.
        Ich bemühe mich gerade einbißchen in script einzuarbeiten. Als Anlehnung gibt es ja viele gute Beispiele, danke dafür.
        Jetzt komme ich aber mit einem nicht weiter.

        schedule ( "12 10 * * *" , async function () {
        sendTo('sql.0', 'query', 'select sum(val) from iobroker.ts_number where  id=86 ', function (sumsolarfeb22) {
            if (sumsolarfeb22.error) {
                console.error(sumsolarfeb22.error);
            } else {
                // show result
                 log('Rows: ' + JSON.stringify(sumsolarfeb22.result));
                 var test = JSON.stringify(sumsolarfeb22.result[0]["sumsolarfeb22"]);
                 log(test);
            }
        setState("0_userdata.0.SumSoFeb22", parseFloat(sumsolarfeb22.result[0]["sumsolarfeb22"]), true); 
            } ) } ) ;
        
        
        13.2.2022, 10:22:00.048	[info ]: javascript.0 (26225) script.js.Skript-SumSolarFeb22: sendTo(adapter=sql.0, cmd=query, msg="select sum(val) from iobroker.ts_number where  id=86 ")
        13.2.2022, 10:22:00.081	[info ]: javascript.0 (26225) script.js.Skript-SumSolarFeb22: Rows: [{"sum(val)":223.24739}]
        13.2.2022, 10:22:00.082	[info ]: javascript.0 (26225) script.js.Skript-SumSolarFeb22: undefined
        13.2.2022, 10:22:00.083	[info ]: javascript.0 (26225) script.js.Skript-SumSolarFeb22: setForeignState(id=0_userdata.0.SumSoFeb22, state={"val":null,"ack":true,"c":"script.js.Skript-SumSolarFeb22"})
        
        
        

        Der Wert wird durch die sql-Abfrage richtig übergeben, aber nicht im Datenpunkt eingetragen. Ich habe schon mal den Datenpunkt als string bzw. number geändert und neuangelegt, leider keine Änderung.
        Solche Scripte mit sql-Abfrage habe ich mehrere im Einsatz, laufen alle bestens.

        Habt Ihr einen Hinweis für mich??
        Danke im Voraus.

        Gruß Reinald

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

        @rhrh11 sagte: Rows: [{"sum(val)":223.24739}]

                 let test = sumsolarfeb22.result[0]['sum(val)'];
                 log(test);
                 setState("0_userdata.0.SumSoFeb22", Math.round(test), true); 
            }
          });
        });
        

        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
        • R Offline
          R Offline
          rhrh11
          schrieb am zuletzt editiert von
          #4

          Hallo,
          danke für eure Hinweise, muss ich mir erstmal anschauen.
          Ich hbe noch einges ausprobiert(bin schon ganz wuschig).
          Wenn ich in der sql-abfrage statt sum ein max-wert berechne, funktioniert alles. Schreibt die sum-Funktion einen anderes Datenformat???

          T paul53P 2 Antworten Letzte Antwort
          0
          • R rhrh11

            Hallo,
            danke für eure Hinweise, muss ich mir erstmal anschauen.
            Ich hbe noch einges ausprobiert(bin schon ganz wuschig).
            Wenn ich in der sql-abfrage statt sum ein max-wert berechne, funktioniert alles. Schreibt die sum-Funktion einen anderes Datenformat???

            T Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von
            #5

            @rhrh11
            Ich weiß nicht was die andere Funktion ausgibt aber:

            javascript.0 (26225) script.js.Skript-SumSolarFeb22: Rows: [{"sum(val)":223.24739}]
            

            das ist ein Objekt. Auf ein Objekt greift man zu in dem man objektbezeichnung.schlüssel oder objektbezeichnung["schlüssel"] verwendet. In deinem Fall

            sumsolarfeb22.result[0]["sum(val)"]
            

            ["sum(val)"] ist der Schlüssel.

            Das JSON.stringify() hab ich übersehen und ist falsch/unnötig. Da der Wert von "sum(val)" eine Zahl(number) ist.

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            1 Antwort Letzte Antwort
            0
            • R rhrh11

              Hallo,
              danke für eure Hinweise, muss ich mir erstmal anschauen.
              Ich hbe noch einges ausprobiert(bin schon ganz wuschig).
              Wenn ich in der sql-abfrage statt sum ein max-wert berechne, funktioniert alles. Schreibt die sum-Funktion einen anderes Datenformat???

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

              @rhrh11 sagte: Wenn ich in der sql-abfrage statt sum ein max-wert berechne, funktioniert alles.

              Von SQL habe ich keine Ahnung. Ich sehe nur an der Log-Ausgabe "Rows: ...", was in .result geliefert wird.

              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

              R 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @rhrh11 sagte: Wenn ich in der sql-abfrage statt sum ein max-wert berechne, funktioniert alles.

                Von SQL habe ich keine Ahnung. Ich sehe nur an der Log-Ausgabe "Rows: ...", was in .result geliefert wird.

                R Offline
                R Offline
                rhrh11
                schrieb am zuletzt editiert von
                #7

                Danke euch beiden,

                das war der Schlüssel, und natürlich ein klassischer Namensfehler( ich werde heute noch Asche auf mein haupt tun).
                Klar kommt da sum(val) hin!!!!
                Also wieder was gelernt und nicht nur Sport gekuckt.

                Dann kann ich ja jetzt meine Solartabellen über die Monate und Jahre aufbauen.

                Gruß Reinald

                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

                754

                Online

                32.4k

                Benutzer

                81.4k

                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