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. [gelöst] Problem mit Javascript-Funktion in Blockly

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • 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.4k

[gelöst] Problem mit Javascript-Funktion in Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
3 Beiträge 2 Kommentatoren 289 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.
  • E Offline
    E Offline
    el-lutschi
    schrieb am zuletzt editiert von el-lutschi
    #1

    Hallo zusammen,

    ich versuche gerade eine Javascript Funktion in einem Blockly-Funktionsblock zu definieren. Leider lässt sich der Block nicht abspeichern. Es kommt aber auch keine Fehlermeldung. Wenn ich das Script komplett in Javascript schreibe funktioniert alles. Ich würde es aber gerne in Blockly definieren.

    Hier ist das funktionierende Javascript. Kann mir bitte jemand sagen, wie ich es richtig umbauen muss?

    function updateOrInsertBarcode(dbPath, barcode, name) {
        const sqlite3 = require('sqlite3').verbose();
        const db = new sqlite3.Database(dbPath);
    
        db.serialize(() => {
            db.get("SELECT anzahl FROM produkte WHERE barcode = ?", [barcode], (err, row) => {
                if (err) {
                    console.error('Fehler beim Ausführen der SELECT-Abfrage:', err.message);
                    db.close();
                    return;
                }
    
                if (row) {
                    db.run("UPDATE produkte SET anzahl = anzahl + 1 WHERE barcode = ?", [barcode], (err) => {
                        if (err) {
                            console.error('Fehler beim Ausführen der UPDATE-Abfrage:', err.message);
                        } else {
                            console.log(`Anzahl für Barcode ${barcode} wurde um 1 erhöht.`);
                        }
                        db.close();
                    });
                } else {
                    db.run("INSERT INTO produkte (barcode, name, anzahl) VALUES (?, ?, 1)", [barcode, name], (err) => {
                        if (err) {
                            console.error('Fehler beim Ausführen der INSERT-Abfrage:', err.message);
                        } else {
                            console.log(`Neuer Eintrag für Barcode ${barcode} hinzugefügt.`);
                        }
                        db.close();
                    });
                }
            });
        });
    }
    
    

    In Blockly will ich dann die 3 Variablen barcode, name, dbPath immer wieder neu definieren können, wenn die Funktion abgerufen wird.

    haus-automatisierungH 1 Antwort Letzte Antwort
    0
    • E el-lutschi

      Hallo zusammen,

      ich versuche gerade eine Javascript Funktion in einem Blockly-Funktionsblock zu definieren. Leider lässt sich der Block nicht abspeichern. Es kommt aber auch keine Fehlermeldung. Wenn ich das Script komplett in Javascript schreibe funktioniert alles. Ich würde es aber gerne in Blockly definieren.

      Hier ist das funktionierende Javascript. Kann mir bitte jemand sagen, wie ich es richtig umbauen muss?

      function updateOrInsertBarcode(dbPath, barcode, name) {
          const sqlite3 = require('sqlite3').verbose();
          const db = new sqlite3.Database(dbPath);
      
          db.serialize(() => {
              db.get("SELECT anzahl FROM produkte WHERE barcode = ?", [barcode], (err, row) => {
                  if (err) {
                      console.error('Fehler beim Ausführen der SELECT-Abfrage:', err.message);
                      db.close();
                      return;
                  }
      
                  if (row) {
                      db.run("UPDATE produkte SET anzahl = anzahl + 1 WHERE barcode = ?", [barcode], (err) => {
                          if (err) {
                              console.error('Fehler beim Ausführen der UPDATE-Abfrage:', err.message);
                          } else {
                              console.log(`Anzahl für Barcode ${barcode} wurde um 1 erhöht.`);
                          }
                          db.close();
                      });
                  } else {
                      db.run("INSERT INTO produkte (barcode, name, anzahl) VALUES (?, ?, 1)", [barcode, name], (err) => {
                          if (err) {
                              console.error('Fehler beim Ausführen der INSERT-Abfrage:', err.message);
                          } else {
                              console.log(`Neuer Eintrag für Barcode ${barcode} hinzugefügt.`);
                          }
                          db.close();
                      });
                  }
              });
          });
      }
      
      

      In Blockly will ich dann die 3 Variablen barcode, name, dbPath immer wieder neu definieren können, wenn die Funktion abgerufen wird.

      haus-automatisierungH Online
      haus-automatisierungH Online
      haus-automatisierung
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @el-lutschi sagte in Problem mit Javascript-Funktion in Blockly:

      Kann mir bitte jemand sagen, wie ich es richtig umbauen muss?

      Du darfst natürlich nur den Inhalt der Funktion in einen Blockly-Baustein kopieren. Also die erste und letzte Zeile weglassen.

      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
      📚 Meine inoffizielle ioBroker Dokumentation

      E 1 Antwort Letzte Antwort
      0
      • haus-automatisierungH haus-automatisierung

        @el-lutschi sagte in Problem mit Javascript-Funktion in Blockly:

        Kann mir bitte jemand sagen, wie ich es richtig umbauen muss?

        Du darfst natürlich nur den Inhalt der Funktion in einen Blockly-Baustein kopieren. Also die erste und letzte Zeile weglassen.

        E Offline
        E Offline
        el-lutschi
        schrieb am zuletzt editiert von
        #3

        @haus-automatisierung

        Vielen Dank für die schnelle Hilfe. Das hatte ich zwar bereits erfolglos versucht, aber nachdem ich es nun noch einmal probiert habe funktioniert es. Scheinbar hatte ich beim letzten Versuch doch noch irgendwo einen Fehler. Ich habe es direkt mit weiteren Funktionen getestet. Jetzt läuft alles. Vielen Dank!

        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

        516

        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