NEWS
Daten in SQL Datenbank schreiben mit Blockly / sendTo
-
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);
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 :)
-
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);
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 :)
@schwede70 sagte in Daten in SQL Datenbank schreiben mit Blockly / sendTo:
INSERT INTO test (Netzbezug) VALUES(500);
?
INSERT INTO iobroker.test(Netzbezug) VALUES(500); -
@schwede70 sagte in Daten in SQL Datenbank schreiben mit Blockly / sendTo:
INSERT INTO test (Netzbezug) VALUES(500);
?
INSERT INTO iobroker.test(Netzbezug) VALUES(500); -
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);
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 :)
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>
(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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden