NEWS
Mehrere Werte Trennen
-
Screenshots bitte direkt einbinden und nicht auf externen Quellen ablegen
Alle Werte sind Komma separiert, das könntest Du bspw. über eine RegEX abfragen
-
const text = getState("deine.state.id").val; const values = text.split(",").map(part => parseInt(part)); // ^ values enthält die einzelnen Einträge als Zahl.
-
@AlCalzone said in Mehrere Werte Trennen:
const text = getState("deine.state.id").val; const values = text.split(",").map(part => parseInt(part)); // ^ values enthält die einzelnen Einträge als Zahl.
Vielen Dank! Aber wo und wie kann ich den Wert aus values beziehen und weiter bearbeiten? ich benötige nur den aller ersten Wert.
-
var derErsteWert = values[0];
-
Hallo.
Kann man das auch irgendwie in Blockly darstellen?
Ich will die Daten ja in meine Visualisierung darstellen und ich weiß nicht wie ich dann auf die Daten zugreifen kann.
Vielen Dank!Sirius
-
Ich habe es mit Blockly hinbekommen.
Vielen Dank!
-
@djsirius dann stell es doch hier für andere User als Besipiel rein, so hilft es nur Dir
-
@djsirius habe das gleiche Problem.
Gibt es eine Lösung mit Blockly?
Gruß Einstein -
@einstein-0 du erstellst eine Liste mit dem trennzeichen Komma.
-
@mickym danke, kannst du mir kurz einen Screenshot hier hochladen?
Bild sagt mehr als...
Dank dir. -
@einstein-0
Bei so einem Datenpunkt oder Werterzeugst Du eine Liste und kannst dann auf die einzelnen Elemente direkt zugreifen:
-
@mickym also egal wie ich es drehe, es will einfach nicht funktionieren
Er bleibt einfach immer beim ersten debug output hängen und scheint die Werte nicht weiter nach unten zu reichen.Noch eine Idee woran das liegen kann?
-
@einstein-0 sagte in Mehrere Werte Trennen:
immer beim ersten debug output
der debug Baustein befindet sich außerhalb von einem Trigger und wird nur bei Skriptstart aktiv
-
@einstein-0 das mit meinem Trigger war doch nur ein Beispiel. Du hast doch schon eine Liste - auf welche Werte willst Du denn zugreifen? Und wenn das Deine Liste ist - die in Deinem Debug ist und Du möchtest die Sortieren - dann kannst Du das direkt mit dem JSONATA machen - ausserdem ist das ja eine Liste in einer Liste.
-
@mickym ich brauch immer den ersten Wert aus dem Ergebnis der Tabelle.
-
@einstein-0 OK - um es mal klar zu machen, Du hast folgende Liste erstellt:
[['4',0.2543],['3',0.2545],['2',0.2605]]
und möchtest dieses Ergebnis haben?
[['2',0.2605],['3',0.2545],['4',0.2543]]
-
@mickym also ich möchte das hier nur die Stunde steht, also die Zahl.
Es wird aber der ganze Wert also Stunde und Preis rein geschrieben. -
@einstein-0 Das sind Listen in der Liste - um die einzelnen Werte herauszulösen musst Du die Liste über eine Schleife iterieren.
Den Index kannst Dir ja auch ausgeben lassen, damit Du das dann in den entsprechenden Datenpunkt zuweisen kannst.
Du könntest die Werte aber auch vorher sortieren, dann brauchst Du das nicht so mühsam machen da du dann die Datenpunkte den Werten direkt zurodnen kannst.
-
Wenn Du Deine Werte aber einfach sortieren willst, dann solltest du keine Verrenkungen mit der Liste in Liste machen.
Das sortiert Dir die Liste und du kannst jeden Wert in einen anderen Datenpunkt schreiben.
Und wenn Du ganz schlau bist, dann nimmst Du Node-Red - damit kannst Du Werte sortieren und sogar die Datenpunkte selbst erstellen lassen.
-
@mickym hab jetzt mal so versucht und es schreibt mir den letzten höchsten Wert in den Datenpunkt. (Wert 6)
Weis auch nicht warum er nicht den ersten Wert der sortierten Liste nimmt.