Node-Blue Anfänger-Fragen / einzelner Wert aus JSON / average

Ich habe eine ganz simple Frage, wahrscheinlich ist den Experten gar nicht klar, wieso man so etwas gar nicht weiss. :wink:

Ich bekomme eine JSON-Nachricht und möchte aus dieser aber nur einen einzelnen Wert weiter verwenden.

JSON:

"{"temperature":32.49,"linkquality":5,"humidity":24.92,"pressure":1010,"battery":"100.00","voltage":3075}"

Ich möchte jetzt einzig und allein mit dem Temperaturwert 32.49 als float weiter arbeiten. Welche node sollte ich dafür verwenden?

Vielen Dank!

So, jetzt habe ich also auch die Logik der Template-Node rausgefunden. Damit geht es wohl. Gibt es noch eine andere Möglichkeit?

timtowtdi … du kannst auch die json-parser-node nehmen. Dann steht anschliessend die Temperatur z.B. in

$message['payload']['temperature']

– Micha

Danke, das muss ich mir nochmal anschauen, wie ich die dann später verwenden kann. Mit dem template bekomme ich zumindest den Wert einzeln.

Mein nächstes Problem ist, dass ich den aktuellen Wert mit dem Durchschnitt der letzten 3(oder so?) Minuten vergleichen möchte. Die average-Node liefert aber immer nur 0. Braucht die vielleicht noch irgendwas?

Ich möchte eigentlich nur wissen, ob ich steigende oder fallende Temperatur habe.

Danke.

Die “average”-Node liefert “nur” den Durchschnitt des Einganges ueber einen bestimmten Zeitraum, nicht ueber die Anzahl der eingegangenen Werte. Und sie liefert auch erst nach dem Erreichen des eingestellten Zeitraumes einen Wert zurueck.

Wenn du z.B. den Durchschnitt der Temperatur ueber einen Zeitraum von 2 Minuten haben moechtest, bekommst du auch erst nach 2 Minuten einen Wert von der Node zurueck.

Alternativ kannst du das ueber eine “function”-Node scripten, indem du die Werte & die Anzahl der eingegangenen Werte per “setFlowData” selber speicherst.

– Micha

2 Likes

Danke.

Ich lass den Flow jetzt mal laufen, der soll die 5 Minuten average bilden. Ich persönlich fände das besser, wenn der Durchschnitt sofort bereitstehen würde (dann eben mit kleinerem Zeitraum).
Das ist aber nur beim Erstellen der Flows ein Problem, von daher halb so wild wenn man es weiss.

Du kannst dir viele Sachen bei node-red abgucken, dort gibt es z.B. auch den JSON-Node, ist dann eben nur JavaScript-Notation - in node-blue dann eben PHP.

Ja klar. Ich möchte nur auch gerne hier für alle dokumentieren, woran ich als Anfänger in node-blue scheitere. Als Hinweis wo Dokumentations bzw. Beispielbedarf besteht. Ich wollte auch alles in diesen Thread schreiben, nicht immer einen Neuen machen. Wenn die Fragen nerven, einfach ignorieren. :wink:

Gibt es eigentlich eine zentrale Stelle, an der man Node-Blue-Flows herunterladen kann? Das Beispiel von @Micha mit den Hue-Birnen war sehr hilfreich, da wusste ich sofort, was zu tun ist.

1 Like

Finde ich super - und das nervt in keinem Fall :+1:

Das Beispiel hatte ich eben schnell bei mir zusammengeschraubt, ein zentrales “Repository” gibt es nicht. Aber ist ne nette Idee, wie würdest du dir das vorstellen?

– Micha

Das dachte ich mir, das es so etwas nicht gibt. :wink:

Ich dachte auch an nichts Wildes oder Aufwändiges. Vielleicht einfach nur ein Post oder ein Subforum. Kurz ein Zweizeiler was das Ding macht, kurze Auflistung der Hardware-Typen und dann der Flow als Attachment.

2 Likes

flows.nodered.org macht das aus gists von git…

Wäre ein github repo sinnig, wo man wenn man flows dazu packt einfach einen pull-request macht?