Wo muss die MQTT-In Node hin für Werte auf Nextion Display

Servus.

Das darstellen der Werte aller Victron Geräte per MQTT-In in Pekaway ist ja relativ simpel. Sie kommen bei mir vom zusätzlichen Pi mit Venus Software.
Problem bereitet mir die Darstellung der drei Shunt Werte auf dem Nextion Display! Wo müssen die MQTT-In nodes hin damit die Werte auch im Touchdisplay angezeigt werden?
Danke für jede Hilfe.

Die Shunt Werte für Victron auf dem Touchdisplay werden im Flow “VE.Direct” den entsprechenden Variablen zugeordnet.

Du könntest aber im Prinzip auch irgendwo anders diese Variablen mit deinen Werten überschreiben.

Hier im Flow “Pekaway Display 1” werden die Variablen zum Anzeigen ausgelesen.

1 Like

Danke @Vincent , da weiß ich wo ich ansetzen muß.

Danke @Vincent , das hat geklappt! Der Wert wird auch an die App weiter geleitet.
Für alle die das vielleicht auch möchten: die drei Nodes unten hinter die jeweilige MQTT-in Node , also current, Voltage und SOC, vom Victron Shunt hängen hängen, das war es schon.

[ { "id": "1f587d8a6e8060ce", "type": "function", "z": "013c27e6e1e7446d", "name": "Set SOC", "func": "global.set(\"MainBattSoc\", msg.payload.value);\n\n// Den SOC-Wert aus msg.payload lesen und in eine Zahl konvertieren\nlet soc = parseFloat(msg.payload.value);\n\n// Überprüfen, ob der Wert keine \"NaN\" (Not a Number) ist\nif (!isNaN(soc)) {\n // Auf 2 Dezimalstellen begrenzen und in globaler Variable speichern\n global.set(\"MainBattSoc\", soc.toFixed(2));\n} else {\n node.warn(\"SOC payload is NaN\");\n}\n\n// Die Nachricht zurückgeben, falls weitere Verarbeitung nötig ist\nreturn msg;", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 240, "y": 40, "wires": [ [] ] }, { "id": "02b7764c38dc6329", "type": "function", "z": "013c27e6e1e7446d", "name": "Set AMPS", "func": "global.set(\"MainBattAmps\", msg.payload.value);\n// Den AMPS-Wert aus msg.payload lesen und in eine Zahl konvertieren\nlet amps = parseFloat(msg.payload.value);\n\n// Überprüfen, ob der Wert keine \"NaN\" (Not a Number) ist\nif (!isNaN(amps)) {\n // Auf 2 Dezimalstellen begrenzen und in globaler Variable speichern\n global.set(\"MainBattAmps\", amps.toFixed(2));\n} else {\n node.warn(\"AMPS payload is NaN\");\n}\n\n// Die Nachricht zurückgeben, falls weitere Verarbeitung nötig ist\nreturn msg;\n", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 230, "y": 120, "wires": [ [] ] }, { "id": "33c6da9aa10e456a", "type": "function", "z": "013c27e6e1e7446d", "name": "Set VOLT", "func": "global.set(\"MainBattVolt\", msg.payload.value);\n\n// Die Spannung aus msg.payload lesen und in eine Zahl konvertieren\nlet voltage = parseFloat(msg.payload.value);\n\n// Überprüfen, ob der Wert keine \"NaN\" (Not a Number) ist\nif (!isNaN(voltage)) {\n // Auf 2 Dezimalstellen begrenzen und in globaler Variable speichern\n global.set(\"MainBattVolt\", voltage.toFixed(2));\n} else {\n node.warn(\"Voltage payload is NaN\");\n}\n\n// Die Nachricht zurückgeben, falls weitere Verarbeitung nötig ist\nreturn msg;\n", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 220, "y": 200, "wires": [ [] ] } ]

Achso, ich habe noch ein Inject Node vor die Node “Send Status Main Batt” in Pekaway Display1 gesetzt, ob das zwingend nötig ist weiss ich nicht, aber es schadet nicht.