NEWS
[gelöst] SendTo mit Variablen?
-
Ich habe folgendes Problem:
Phase 1: mit festen Werten
Ich sende an den SQL Adapter einen Wert - das funktioniert:sendTo("sql.0", "storeState", { id: '0_userdata.0.Solaranlage.pvforecast', state: { val: 2, ts: 1646287080000, ack: true } }, async function (result) { console.log(result); });
Phase 2: mit Variablen
nach einigen Probieren fand ich heraus das ich beival
undts
Variablen einsetzen kann wenn ich wie folgt es in Anführungszeichen setze:myVal = 2; myTS = 1646287080000; sendTo("sql.0", "storeState", { "id": '0_userdata.0.Solaranlage.pvforecast', "state": { "val": myVal, "ts": myTS, "ack": true } }, async function (result) { console.log(result); });
Das funktioniert also auch.
Was ich bisher nicht hinbekommen habe ist nun auch den Wert von
id
aus einer Variablen zu füttern.
Also, wie geht das?Danke!
-
@bananajoe Das sollte genau so funktionieren, sofern die Variable einen String enthält.
-
@ahnungsbefreit verdammt,
my_val = 7; my_ts = 1646287080022; my_Objekt = "0_userdata.0.Solaranlage.pvforecast"; sendTo("sql.0", "update", { "id": 'my_Objekt', "state": { "val": my_val, "ts": my_ts, "ack": true } }, async function (result) { console.log(result); });
hat tatsächlich gerade funktioniert ... ich hatte gestern noch versucht die
' '
mit umzuh zu bauen, das ging dann nicht -
@bananajoe
Das sollte auch so funktionieren:let my_val = 7; let my_ts = 1646287080022; const my_Objekt = '0_userdata.0.Solaranlage.pvforecast'; sendTo('sql.0', 'update', { id: my_Objekt, state: { val: my_val, ts: my_ts, ack: true } }, async function (result) { console.log(result); });
Tut es das nicht?
-
@paul53 So hatte ich das auch gemeint.
-
@paul53 doch , es geht. Ich hatte einfach zu kompliziert gedacht das ich die
' '
auch übergeben muss und so etwas wiemy_Objekt = "'0_userdata.0.Solaranlage.pvforecast'";
versucht. Ich hatte vorher mit der Blockly-Variante gekämpft die das immer falsch übergab
-
@bananajoe
"
und'
sind beides Möglichkeiten, Zeichenketten zu definieren. Wenn du die schachtelst, enthält deine Zeichenkette halt Anführungszeichen. Und wenn du den Namen der Variablen in Anführungszeichen übergibst, dann ist das eine Zeichenkette mit dem Namen der Variablen drin und nicht ihrem Wert.