NEWS
Visualisierung mit Node Red erstellen
-
@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.
-
@mickym Stimmt, aber ohne Taschenrechner
-
@damrak2022 Modulo also das % Zeichen gibt Dir immer den ganzzahligen Rest einer Division zurück. So wie man das ganz früher halt in der Schule gerechnet hat. Da hat man bei
309 / 60 = 5 Rest 9 geschrieben und den Rest nicht mehr weiter geteilt, um Dezimalzahlen zu erhalten. Gibt auch Taschenrechner, die haben die mod Funktion drauf.Im Windows Rechner - muss man nur auf wissenschaftlich umstellen.
vielleicht hat der Mac das ja auch.
-
@mickym Ja hat er
-
@mickym Möchtest Du die mir die zweite Übung mit der join node erklären?
-
@damrak2022 OK - können wir machen. Dafür müssen wir jedoch wieder mal etwas Theorie im Vorfeld besprechen.
Wie würdest Du den Unterschied zwischen einem Array und einem Objekt beschreiben?