NEWS
Visualisierung mit Node Red erstellen
-
@mickym Noch nicht so ganz. Habe 75% des Namens
-
@mickym Ah jetzt:
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Ah jetzt:
Glückwunsch.
UND WAS WOLLTE ICH DIR DAMIT ZEIGEN??
Nun dass der Reduktionsausdruck nicht nur für Summen, mathematische Operationen, sondern auch für andere Zwecke (die mit JSONATA möglich sind) - zum Beispiel das Zusammenfügen von Zeichenketten.
Und meinst Du dass Du das mit diesem Erfolgserlebnis auf Deine Tour begeben kannst und Du es das nächste Mal selbst anwenden kannst?
-
@mickym Mein Tour beginnt so gegen 03:00 Uhr. Ob ich das selbst hinbekomme - ganz ehrlich, ich hoffe es. Ich wollte ja auch nur die Summen der ganzen Jahre zusammenzählen, habe aber nicht geahnt das dies so schwierig sein könnte.
-
@damrak2022 Nein - das hat mit Deinem großen Flow noch gar nichts zu tun. Aber manchmal geht es darum generell was zu lernen. Du musst nicht immer nur deine Ziele sehen, sondern es geht darum, dass Du lernst wie die Dinge funktionieren. Dabei ging es jetzt überhaupt nicht um das Zusammenzählen deiner Teilsummen. Wir wollen ja keine Buchstaben kombinieren.
Im Prinzip musst Du die Ausgabe aller Teilsummen in einer Nachricht zusammenfassen und am Besten wieder in einem Array. Falls Dir das zuviele Linien sind, machst Du einfach hinter Deine ganzen JOIN Node link-out Nodes und lass die in eine link-In Node zusammenlaufen und dort in einer JOIN Node sammeln.
Ich weiß doch, wenn das Ziel erreicht ist, dann interessiert Dich die ganze Theorie nicht mehr und Du suchst Dir wieder andere Aufgaben anstelle Dich mit dem visuellen Editor zu beschäftigen!
-
@mickym Okay, aber jetzt erhole ich mich erstmal. Es gibt ja noch mehr Tage, wo ich das versuchen kann.
-
@mickym Habe nochmal geübt:
-
@damrak2022 gut wir werden denke ich erst mal ein paar solcher Beispiele machen, die Du Dir ja auch abspeichern kannst, damit Du die Funktionsweise der Nodes an Beispielen kennenlernst und ggf. Nachschauen kannst. Das halte ich für zielführende, als nur Deine Ideen umzusetzen. Ich hab den Hauptflow ja noch im Hinterkopf. Aber nachdem wir ja alle verschiedenen Nachrichten für die Gesamtsumme wieder in ein Nachrichtenobjekt überführen müssen, wäre es sinnvoll wenn du erst mal alle Möglichkeiten der Join Node kennenlernst und wie du ja sagst, wir haben es nicht eilig und ein paar Tage kann Deine Gesamtsumme noch warten.
-
@mickym Damit bin ich einverstanden, zumal ich jetzt das eine anscheinend begriffen habe.
Vorher habe ich aber eine Frage, weil ich das nicht verstehe.
Ich habe zwei Blockly Skripte:
Das zweite bezieht sich auf meine TV Nutzung.
Diese Werte werden in jeweils einen Datenpunkt unter 0.Userdata geschrieben - siehe hier:
Wenn ich nun aber den Datenpunkt
0_userdata.0.Zeiterfassung.Imac.Imac_Tagesaktivität
über eine iobroker in node einfüge und eine Chart, oder Text Node dahinter setze, wird mir kein Wert angezeigt.
Ich verstehe nicht warum, denn in den Objekten wird der Tageswert brav hochgezählt.Kannst Du mir das erklären?
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
kein Wert angezeigt
Debug Node an "ioBrokerInNode" sagt was ?
-
@damrak2022 wahrscheinlich hast du auf ack=true gefiltert. Mach einfach den Filter raus bzw. Mach einfach in dem Blockly auf aktualisiere den Datenpunkt anstatt steuere. Unter userdata.0 gibts schließlich nichts, was einen Wert sonst bestätigen könnte.
-
@mickym Stimmt, Du hast recht. Die andere Einstellung bleibt so?
-
Ja@damrak2022
-
@mickym Okay, danke
-
@damrak2022 verschoben
-
Ich scheitere am zweiten Teil des Codes, denn ich möchte einen Wert von 309 Minuten so darstellen, das mir der Wert als 5Std. 15 Minuten dargestellt wird.
$floor(payload/60) & " Std. " & $floor(payload%3600/60)& " Min. "
Bitte den zweiten Teil des Codes nicht beachten, denn ich weiß das der falsch ist. Ich habe hier schon soviel rumprobiert, bekomme aber die Minuten nicht korrekt angezeigt. Auch die JSONATA Doku hat mich nicht schlauer gemacht.
Wie muss der Code richtig lauten? -
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
$floor(payload/60) & " Std. " & $floor(payload%3600/60)& " Min. "
Also
- 309 Minuten sind 5 Std. und 9 Minuten und nicht 5 Std. und 15 Minuten, da 5 Std * 60 Minuten = 300 Minuten sind.
- Wenn Du eh Minuten als Eingabe hast, was rechnest Du mit 3600 usw. Du warst doch schon auf dem richtigen Weg, es ist einfach der Rest, der aus der Division mit 60 übrig bleibt.
$floor(payload/60) & " Std. " & payload%60 & " Min."
Wenn Du allerdings darauf bestehst, dass 309 Minuten 5 Std. und 15 Minuten sein müssen, dann musst halt jedesmal 6 Minuten dazuzählen.
-
@mickym Habe es gerade gefunden. So geht es
$round(payload/60, 2)
Wenn ich mit dem Taschenrechner 309 durch 60 teile komme ich auch auf 5,15, wobei Du recht hast 300 min = 5 Std. 9min. übrig
-
@mickym Habe jetzt Deinen Code genommen - der ist nämlich logisch
-
@damrak2022 Nein so geht es eben nicht bzw. mit der round - Formel bekommst Du doch nur die Stunden im Dezimalformat.
Sprich 309 Minuten sind 5,15 Stunden. Das ist richtig. Aber Du willst ja Stunden und Minuten haben. Mathematisch müsstest Du dann aber 0,15 Stunden * 60 Minuten rechnen, um aus dem Dezimalanteil der Stunden, Minuten zu machen.
Das kannst ja mit dem Taschenrechner probieren und dann sollte bei 0,15 * 60 = 9 rauskommen.