Node-Red Ausgabewerte trennen für Grafana

Chef_2

Cadet 1st Year
Registriert
Mai 2020
Beiträge
12
Servus,

Ich habe eine Photovoltaik Anlage mit Akku und lese über den Balancer Daten aus, die ich über Node Red auslese und mir dann in Grafana anzeigen lasse... soweit sogut.

Nun habe ich bei einem Auslesewert jedoch das: "3.- 3.292"

Ich muss das aber irgendwie aufsplitten in: 3 und 3.292 (3 ist die Zellennummer und 3.292 ist die Spannung)

Wie bekomme ich das hin, dass ich das getrennt habe ?

Danke
 
Function Node:

Code:
var s = msg.payload.split('-');
msg.cell = Number(s[0]);
msg.value = Number(s[1]);
return msg;
 
  • Gefällt mir
Reaktionen: CyborgBeta und madmax2010
Danke für die schnellen Antworten. Ich habe mal ein Bild angehängt, wie das aktuell aussieht.

Ich bin bei Node Red noch ein Dummi, daher sind eure Antworten sicher richtig... aber für mich wäre eine genauere Beschreibung von nöten. Also ob man Split, Change, Switch usw. benutzen muss und so
 

Anhänge

  • Node Red.jpg
    Node Red.jpg
    86,8 KB · Aufrufe: 40
Also immerhin habe ich switch gefunden :D

Aber da kann man viel schreiben und einstellen
Ergänzung ()

Hab mir eben ein Video zu switch angesehen... das kommt glaube nicht ganz dem nahe, was ich brauche...

Hier noch ein Bild, wie ich es haben möchte
 

Anhänge

  • Node Red 2.jpg
    Node Red 2.jpg
    163,6 KB · Aufrufe: 18
  • Node Red 1.jpg
    Node Red 1.jpg
    7,7 KB · Aufrufe: 16
Zuletzt bearbeitet:
 
Nächste Problem.... mein Englisch... Ich bin Mechaniker... bei Software und Englisch bin ich total schlecht... also mal eine Konkrete Frage. Hast du Node Red und kann mir ein Beispiels Bild schicken... in etwa so:
Ergänzung ()

So nach meiner jetzigen Vermutung könnte es dann so aussehen:
Ergänzung ()

Also ich bin nun etwas weiter... aber ganz anderer Weg... also in der "Rohausgabe" steht "8.- 3.317"

Also habe ich Change genommen und hinterlegt: payload[0] und er spuckt mir nur noch "8" aus. perfekt!

Problem ist jetzt, dass payload[4] ist die 3 payload[5] ist der . usw.

Wie kann ich jetzt eingeben: payload[4, 5, 6, 7, 8]... also wie muss ich das richtig schreiben ? diese 5 zahlen ergeben dann im Ergebnis wieder 3.317
 

Anhänge

  • Node Red 3.jpg
    Node Red 3.jpg
    11,9 KB · Aufrufe: 17
  • Node Red 4.jpg
    Node Red 4.jpg
    26,6 KB · Aufrufe: 12
  • Node Red 5.jpg
    Node Red 5.jpg
    28,9 KB · Aufrufe: 11
  • Node Red 6.jpg
    Node Red 6.jpg
    12,6 KB · Aufrufe: 14
Zuletzt bearbeitet:
Jetzt spuckt Node-Red zwar eine "Wert" aus... aber Grafana sagt zu dem Wert:

unsupported mean iterator type: *query.stringInterruptIterator

Also geht auch ned
 
Chef_2 schrieb:
Hier noch ein Bild, wie ich es haben möchte
Erstelle eine Function-Node mit 2 Ausgängen (Reiter "Setup" im Bearbeitungsfenster)

Code:
var s = msg.payload.split('-');
return [{ payload: Number(s[0]), topic: 'cell' }, { payload: Number(s[1]), topic: 'voltage' }];
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: CyborgBeta
Hab das eben mal umgesetzt... Danke, genau so wollte ich das haben ;)

Du hast es mit dieser Materie wohl drauf! Vielleicht weißt du etwas zu folgendem Plan. Ich habe so einen Digitalen Stromzähler (SDM120) und der kann Modbus... nun wäre es schön, wenn man einen WEMOS D1 hätte, der diesen Modbus ausliest und die Register an meinen Raspi schickt... diese könnte ich dann auch in Node-Red einpflegen... ist das ein größeres Problem ? Die Hardware (Interface zwischen SDM120 und WEMOS) Habe ich da... WEMOS aus. Wemos sollte sich dann per W-Lan verbinden
 
Ja, so einen Adapter habe ich auch... aber ich brauch das Teil im W-Lan... zudem mag ich es galvanisch getrennt.

Dann hat dieser Stromzähler 3 Anschlüsse: A, B und GND.

Ich habe den Adapter: Klick

Zudem habe ich einen ESP8266 oder einen WEMOS D1 Mini

Im Grunde wollte ich das nachbauen: Klick

Aber so richtig gelaufen ist das nie. Das ist ja mit HTTP Server... aber ich brauch ja eigentlich nur das auslesen und weitergeben der Register an meinen Raspi als MQTT Server.

Das habe ich für meine Daly BMS im Einsatz und ich bin zufrieden... genau das wäre auch für den SDM120 klasse.

Daly MQTT
 
Zurück
Oben