NEWS
String aufteilen
-
@mickym Das habe ich schon gemacht, bringt keine Änderung
-
@hafo sagte in String aufteilen:
@mickym Ja, es läuft auch Rund ohne die out Node. Das hat keinen Einfluss.
Aus der Split Node kommt dasselbe raus "false"Dann stimmt was an Deinem Trigger nicht. Der ist mir eh nicht koscher mit dem false und true usw. Im Prinzip sollte das ja ein Button sein. Dann Eingangstrigger stoppen.
-
@mickym Es fängt immer erst nach dem Speichern an und hört erst auf wenn ich den Flow leicht ändere und neu übernehme.
-
@hafo Ja dann feuert was an Deinem Trigger. Mach mal nur 1 Inject Node dran und lös einmal manuell aus mit true und schau, ob dann auch nur 1 Nachricht erzeugt wird.
-
@mickym Interessant, auf diese Art wird der Strang mit dem Change Nod gar nicht ausgelöst.
-
@hafo sagte in String aufteilen:
@mickym Interessant, auf diese Art wird der Strang mit dem Change Nod gar nicht ausgelöst.
Du triggerst die Inject Node manuell und es kommt gar nichts????
Dann hänge eine Debug Node an die get Node - da muss ja in jedem Fall was rauskommen? -
@mickym Die iobroker get Nodes werden ausgelesen, bei den anderen geht nichts
-
@hafo Unterbrich bitte mal die Verbindung von der Trigger Node - so dass nur die Inject Node triggert.
-
@mickym habe ich gemacht, ändert nichts.
Für mich reicht es für heute. Vielen Dank für deinen Einsatz und gute Nacht. -
@hafo OK - dann halt Schritt für Schritt vorgehen. Die nächste Node wird natürlich nur gefüllt, wenn die Flow Variable gefüllt ist usw.
-
@mickym müssen die Flows im selben Tab sein? Wenn ich den Tab offen habe in welchem die Variable gebildet wird, wird sie mir angezeigt. Im Tab wo sie ausgelesen werde sollte aber nicht.
-
@hafo Na dann ist es kein Wunder. Ein Flow ist ein Tab und eine Flowvariable gilt nur für einen Flow und somit für einen Tab. Entweder Du bringst Deine Flows auf einen Tab, anderenfalls musst Du halt alles in Globale Variablen speichern. Die haben dann in allen Tabs Gültigkeit.
Tipp: Nutze die 4 Icons unten rechts im Hauptfenster um Dich innerhalb eines Flows / Tabs zu bewegen oder um größere Teil Deines Flows zu verschieben oder zu bewegen. Außerdem rufe ich Node red immer aus den Kacheln auf, dann macht sich im Browser ein eigener <tab auf, das bringt auch noch etwas Fläche.
-
@mickym Habe es bereits geändert, ich depp!
im vis eingetragen und gespeichert
es wird alles übernommen
auch mit dem Timer klappts nun
-
@hafo Na super. Dann klappt ja nun alles. Glückwunsch!!!
Auf die Idee wäre ich wahrlich erst zuletzt gekommen. Man sollte doch nichts für selbstverständlich nehmen. -
-
@mickym so ganz fertig sind wir leider noch nicht.
Der String wird wild durcheinander gewürfelt. Ich versuche mich gerade am Sort Node, das arbeitet aber nicht so wie ich möchte.
Der Rechner übernimmt teilweise auch falsche Werte. Da muss ich mit meinen Rechner Nodes noch arbeiten. -
@hafo Schau mal in die Kontextdaten, ob da die Tage in der richtigen Reihenfolge stehen.
Wenn nicht würde ich
- Die Flow Variable bei jedem Neustart von Node-Red neu initialisieren.
- In den JOIN Nodes die Anzahl der Nachrichten bis eine Nachricht versendet wird zwingend auf 7 festlegen.
Ggf. muss man diese Node noch resetten, aber erst mal so schauen, ob das geht.
Das Wichtigste ist aber dass im Flow-Kontext die richtige Reihenfolge steht. Das war zumindest in der letzten Debugausgabe nicht der Fall.
- Die Flow Variable bei jedem Neustart von Node-Red neu initialisieren.
-
@mickym Ja, so läufts richtig.
-
@mickym Ich würde noch gerne bei meinen Rechner aufräumen. Es gibt folgende 4 Operationen:
- (Number(msg.payload) - 1) * 60;
- (Number(msg.payload) + Number(msg.min)) * 60000;
- payload x 60000;
- Number(msg.payload) + Number(msg.lauf)
Für die Nummer 3 habe ich Testweise den Calculator genommen, die anderen Laufen im Functions Node. Macht es Sinn alle in das Functions Node zu setzen, oder wie macht man das am besten? Mit dem Change Nod habe ich seltsame Resultate erhalten und das Aggregator Node scheint nicht dafür gedacht zu sein.
-
@hafo Ich habe aber auch gerade mal die sort Node getestet und die funktioniert schon, aber nachdem ich sie nicht genutzt hatte habe ich auch etwas gebraucht.
Wenn Du die split Node nicht anfasst - dann kannst Du einfach folgende Sort Node vorne dran hängen. Da Du Deine Datenpunkte ja durchnummeriert hast, bleibt die Reihenfolge.
Hier mal eine Demo:
Mit dieser Inject-Node habe ich Objekt indem die Eigenschaften unsortiert im Objekt stehen
Zur Veranschaulichung habe ich in der split Node den key (also die Eigenschaft oder der Name des Datenpunktes in den Topic kopieren lassen). Das braucht man aber nicht, da ich wie Du sieht in der sort Node ein anderes Sortierkriterium genommen habe.
Also das dient nur zur Illustration:
Die Ausgabe des Split-Nodes ist deshalb auch in der Reihenfolge des Objekts und deshalb durcheinander:
Die Debug Node nach der Sort Node gibt es in der IMMER richtigen Reihenfolge aus - es wäre also in Deinem Fall die SICHERERE METHODE
Was man verstehen muss - dass die Standardeinstellung ein Array sortiert und wir wollen aber eine Nachrichtensequenz und können uns an msg.part.keys zunutze machen, die die split Node automatisch generiert:
so habe ich auch wieder was gelernt.
Hier der Flow zum Spielen:
EDIT:
Wenn man die sort Node, wie im Standard nutzt, dann sortiert man innerhalb einer Nachricht - zum Beispiel ein Array: