NEWS
MariaDB 10 Werte manuell eintragen
-
Hallo,
Ich bin ein bischen Verzweifelt ....
Ich möchte manuell über ein JavaScript Werte in die Datenbanktabelle eintragen.sendTo('sql.0', 'query', 'INSERT INTO iobroker.Skripteintrag (ZtotalIN, ZtotalOUT) VALUES (5, 200)');
Das funktioniert. Möchte ich jetzt aber die 2 Werte durch Variablen ersetzen wird nichts in die Datenbank eingetragen, folgender Code wurde getestet ohne Erfolg:
var sm_1 = getState("sonoff.0.Tasmota.SENSOR.Strom_Total_in").val; sendTo('sql.0', 'query', 'INSERT INTO iobroker.Skripteintrag (ZtotalIN, ZtotalOUT) VALUES (sm_1, 200)'); // sendTo('sql.0', 'query', 'INSERT INTO iobroker.Skripteintrag (ZtotalIN, ZtotalOUT) VALUES (sm_1.var, 200)'); // sendTo('sql.0', 'query', 'INSERT INTO iobroker.Skripteintrag (ZtotalIN, ZtotalOUT) VALUES (getState("sonoff.0.Tasmota.SENSOR.Strom_Total_in").val, 200)');
Hab nun gefühlt 3 Stunden rumprobiert heute, ich blicks nicht .....
Für ne kleine Hilfestellung vielen Dank .... -
der string "insert into...;" wird direkt an die datenbank gesendet.
die datenbank kann aber mit sm_1, sm1.var oder getState(
nix anfangen.
du musst die werte selbst in den string einbauensendTo('sql.0', 'query', 'INSERT INTO iobroker.Skripteintrag (ZtotalIN, ZtotalOUT) VALUES ('+sm_1+', 200)');
bei numerischen werten ist es einfach, wenn du strings einfügen willst, dann musst du noch die anführungsstriche esacapen (\') u8nd den string dazwischen einfügen
-
Vielen Dank, funktioniert nun ...