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. Daten in SQL Datenbank schreiben mit Blockly / sendTo

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

  • 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

Daten in SQL Datenbank schreiben mit Blockly / sendTo

Geplant Angeheftet Gesperrt Verschoben Blockly
4 Beiträge 3 Kommentatoren 1.2k Aufrufe 4 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.
  • S Offline
    S Offline
    schwede70
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,
    ich würde gerne einzelne Werte im Rahmen einer Auswertung von Messdaten manuell in eine SQL Datenbank schreiben.
    SQL Datenbank (MariaDB) ist installiert und läuft. SQL-Adapter in iobroker ist installiert, eingerichtet und läuft auch.

    In der Datenbank gibt es als Beispiel die Tabelle "test", die ein Feld "Netzbezug" enthält. In diese Tabelle würde ich gerne einen Wert schreiben mit folgender einfacher Query:

    INSERT INTO test (Netzbezug) VALUES(500);

    SQL-Query ist an sich korrekt, über die SQL-Konsole im Terminal kann ich damit Daten in die Tabelle schreiben.

    Nun würde ich das gerne über ein Blockly-Script machen. Dazu habe ich den sendTo Befehl benutzt, bekomme aber keine Daten in die Tabelle..

    var schedule1, result;
    
    
    schedule1 = schedule('10 22 * * *', async function () {
      sendTo("sql.0", "query", 'INSERT INTO test (Netzbezug) VALUES(500);');
      console.log("sql.0: " + "");
    });
    
    console.log(result);
    

    blockly.png

    In der Konsole wird folgendes ausgegeben: "javascript.0 (585) script.js.common.PV.Auswertung_SQL_taeglich: sendTo(adapter=sql.0, cmd=query, msg="INSERT INTO test (Netzbezug) VALUES(500);")"

    Wo liegt mein Fehler?

    Danke für Support :)

    M David G.D 2 Antworten Letzte Antwort
    0
    • S schwede70

      Hallo zusammen,
      ich würde gerne einzelne Werte im Rahmen einer Auswertung von Messdaten manuell in eine SQL Datenbank schreiben.
      SQL Datenbank (MariaDB) ist installiert und läuft. SQL-Adapter in iobroker ist installiert, eingerichtet und läuft auch.

      In der Datenbank gibt es als Beispiel die Tabelle "test", die ein Feld "Netzbezug" enthält. In diese Tabelle würde ich gerne einen Wert schreiben mit folgender einfacher Query:

      INSERT INTO test (Netzbezug) VALUES(500);

      SQL-Query ist an sich korrekt, über die SQL-Konsole im Terminal kann ich damit Daten in die Tabelle schreiben.

      Nun würde ich das gerne über ein Blockly-Script machen. Dazu habe ich den sendTo Befehl benutzt, bekomme aber keine Daten in die Tabelle..

      var schedule1, result;
      
      
      schedule1 = schedule('10 22 * * *', async function () {
        sendTo("sql.0", "query", 'INSERT INTO test (Netzbezug) VALUES(500);');
        console.log("sql.0: " + "");
      });
      
      console.log(result);
      

      blockly.png

      In der Konsole wird folgendes ausgegeben: "javascript.0 (585) script.js.common.PV.Auswertung_SQL_taeglich: sendTo(adapter=sql.0, cmd=query, msg="INSERT INTO test (Netzbezug) VALUES(500);")"

      Wo liegt mein Fehler?

      Danke für Support :)

      M Offline
      M Offline
      MCU
      schrieb am zuletzt editiert von
      #2

      @schwede70 sagte in Daten in SQL Datenbank schreiben mit Blockly / sendTo:

      INSERT INTO test (Netzbezug) VALUES(500);

      ?

      INSERT INTO iobroker.test(Netzbezug) VALUES(500);
      

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      S 1 Antwort Letzte Antwort
      0
      • M MCU

        @schwede70 sagte in Daten in SQL Datenbank schreiben mit Blockly / sendTo:

        INSERT INTO test (Netzbezug) VALUES(500);

        ?

        INSERT INTO iobroker.test(Netzbezug) VALUES(500);
        
        S Offline
        S Offline
        schwede70
        schrieb am zuletzt editiert von
        #3

        @mcu Danke! So einfach kann es ja manchmal sein.. Klappt, wunderbar :)

        1 Antwort Letzte Antwort
        0
        • S schwede70

          Hallo zusammen,
          ich würde gerne einzelne Werte im Rahmen einer Auswertung von Messdaten manuell in eine SQL Datenbank schreiben.
          SQL Datenbank (MariaDB) ist installiert und läuft. SQL-Adapter in iobroker ist installiert, eingerichtet und läuft auch.

          In der Datenbank gibt es als Beispiel die Tabelle "test", die ein Feld "Netzbezug" enthält. In diese Tabelle würde ich gerne einen Wert schreiben mit folgender einfacher Query:

          INSERT INTO test (Netzbezug) VALUES(500);

          SQL-Query ist an sich korrekt, über die SQL-Konsole im Terminal kann ich damit Daten in die Tabelle schreiben.

          Nun würde ich das gerne über ein Blockly-Script machen. Dazu habe ich den sendTo Befehl benutzt, bekomme aber keine Daten in die Tabelle..

          var schedule1, result;
          
          
          schedule1 = schedule('10 22 * * *', async function () {
            sendTo("sql.0", "query", 'INSERT INTO test (Netzbezug) VALUES(500);');
            console.log("sql.0: " + "");
          });
          
          console.log(result);
          

          blockly.png

          In der Konsole wird folgendes ausgegeben: "javascript.0 (585) script.js.common.PV.Auswertung_SQL_taeglich: sendTo(adapter=sql.0, cmd=query, msg="INSERT INTO test (Netzbezug) VALUES(500);")"

          Wo liegt mein Fehler?

          Danke für Support :)

          David G.D Online
          David G.D Online
          David G.
          schrieb am zuletzt editiert von David G.
          #4

          @schwede70

          Ich mache das mit einer Funktion

          <block xmlns="https://developers.google.com/blockly/xml" type="procedures_defcustomnoreturn" id="byaN9|n~rP|LoWSf8_V~" x="-187" y="-1187">
            <mutation statements="false">
              <arg name="id" varid="Civ)@a`PPOAP;Au`yrk7"></arg>
              <arg name="value" varid="He?L*;%S5ZxhQdVQ|nwK"></arg>
              <arg name="ts" varid="}H`Md*ym;;=9MQYQ+d#g"></arg>
              <arg name="ack" varid="}FYTizs{~u7qb%G~dwNB"></arg>
              <arg name="from" varid="mbSwYNv,Ng@m[=[1wvlp"></arg>
              <arg name="q" varid="n]Oh`3dmP!HF^Id)E2cC"></arg>
            </mutation>
            <field name="NAME">Sql</field>
            <field name="SCRIPT">ewogICAgbGV0IHN0YXRlbWVudCA9IGAKICAgICAgICBSRVBMQUNFIElOVE8gaW9icm9rZXIudHNfbnVtYmVyIAogICAgICAgICAgICAoaWQsIHRzLCB2YWwsIGFjaywgX2Zyb20sIHEpIAogICAgICAgICAgICBWQUxVRVMgKChTRUxFQ1QgaWQgRlJPTSBpb2Jyb2tlci5kYXRhcG9pbnRzIFdIRVJFIG5hbWUgPSAiJHtpZH0iKSwgJHt0c30sICR7dmFsdWV9LCAke2Fja30sICR7ZnJvbX0sICR7cX0pCiAgICBgCiAgICAKICAgIHNlbmRUbygic3FsLjAiLCAicXVlcnkiLCBzdGF0ZW1lbnQsIGUgPT4gewogICAgICAgIGlmIChlICYmIGUuZXJyb3IpIHsKICAgICAgICAgICAgbG9nKGUuZXJyb3IpCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gbG9nKCJEb25lISIpCiAgICAgICAgfQogICAgfSkKfQo=</field>
            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
          </block>
          

          Screenshot_20230522_164127_Chrome.jpg
          (Ausschnitt aus einen Skript von mir)

          id ist der Name des Datenpunktes für den die SQL-Aufzeichnung aktiviert wurde

          ts der gewünschte Zeitstempel in ms seit dem 1.1.1970

          value der Wert der geschrieben werden soll

          ack mit 1 für True oder 0 für False (Acknowledge)

          from ist der Adapter der den Wert schreibt. Was da in der Histoty hinter steht. Eigentlich egal. Einfach testen, wenn man was möchte (Oder in der DB nachschauen)

          q nehme ich immer 0, ka was das ist.

          Zeigt eure Lovelace-Visualisierung klick
          (Auch ideal um sich Anregungen zu holen)

          Meine Tabellen für eure Visualisierung klick

          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

          518

          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