VanPi v1.01 BMS Anzeige

Hallo,
ich habe ein Frage zum neuen VanPi v1.01.
Mein System hat den VanPi Shunt und ein JBD BMS.
Bei den bisherigen Versionen hat er mir das BMS sobald ich es im Bluetooth Menü
ausgewählt habe eine Augenblick später im Info Menü angezeigt. Das funktioniert aktuell nur sporadisch.
Seltsam ist auch das es unter mit dem Firefox Browser und Windows 10 ab und zu angezeigt wird und
mit Safari oder Firefox unter IOS15 nie. Die Bluetooth Verbindung funktioniert da ich im Terminal mit
dem Python Script die Werte angezeigt bekomme.
Habt ihr eine Idee woran das liegt ?

Viele Grüße Thomas

Hey,
das scheint etwas damit zu tun zu haben, wie und vor allem wann das Interface (neu) aufgebaut wird, das passiert an mehreren Stellen. Ist mir aber auch bereits aufgefallen… Wir beobachten das Ganze und hoffen es mit dem nächsten Update beheben zu können.
Die Nodes, die das UI neu bauen findest du im Node-Red Backend im Config Tab gleich oben links.

@terdt

folgendes könntest du versuchen:
Du suchst im Init_Flow die function Node “check BTbat”, und änderst dort den Code zu folgendem:

var usb1 = parseInt(global.get("usb1uart"));
var usb2 = parseInt(global.get("usb2uart"));
var usb3 = parseInt(global.get("usb3uart"));
var usb4 = parseInt(global.get("usb4uart"));
var btbat = global.get("btbat");
var showhide

if (usb1 == 0 && usb2 == 0 && usb3 == 0 && usb4 == 0) {
msg.payload = {"group":{"hide":["Info_BMS_INFO"]}};
}
if (usb1 != 0 || usb2 != 0 || usb3 != 0 || usb4 != 0) {
    msg.payload = {"group":{"show":["Info_BMS_INFO"]}};
}

//check bluetooth battery
if(btbat == 0 || btbat == "" || btbat == undefined || btbat == "turn off" || btbat == "turned off" || btbat == "Scan Bluetooth first") {
    msg.payload = {"group":{"hide":["Info_BMS_INFO"]}};
}
else {
    msg.payload = {"group":{"show":["Info_BMS_INFO"]}};
}

return msg

Scheint im ersten Moment so wieder besser zu funktionieren

Danke Vincent, funktioniert wieder auf allen Geräten.

1 Like

@Vincent ich habe das gleiche Problem, finde aber im Init_Flow die function Node “check BTbat” nicht.
Kannst du mir helfen?

Gruß, Stefan

@Vincent, meine JDB BMS Anzeige verschwindet, sobald ich VE.Direkt über USB3 (mit eurem USB VE.Direkt Adapter) von “nothing” auf “VE.Direkt” setze, verschwindet die BMS Anzeige, obwohl ich nur den MPTT 100/20 Regler am VE BUS angeschlossen habe.
Der VanPI Shunt ist auch angeschlossen und läuft.
Gruß, Stefan

ich habe das gleiche Problem, finde aber im Init_Flow die function Node “check BTbat” nicht.
Kannst du mir helfen?

Welche Version benutzt du denn? Die Node wurde in v1.0.3 überarbeitet und besteht so nicht mehr wie in v1.0.1. Die function Node heißt ab v1.0.3 “MUART, USB, BTbatt, Shunt” und befindet sich im init_flow ganz oben leicht rechts. Dort wird aktuell das Interface aufgebaut.

image

meine JDB BMS Anzeige verschwindet, sobald ich VE.Direkt über USB3 (mit eurem USB VE.Direkt Adapter) von “nothing” auf “VE.Direkt” setze, verschwindet die BMS Anzeige, obwohl ich nur den MPTT 100/20 Regler am VE BUS angeschlossen habe.
Der VanPI Shunt ist auch angeschlossen und läuft.

Ist die BMS Anzeige wieder da, wenn du USB3 von VE.Direct wieder auf “nothing” stellst? Das BMS ist weiterhin verbunden in den Einstellungen? Also entweder per USB oder Bluetooth?

@Vincent ich benutze die aktuellste Version.
Ja BMS ist wieder da , wenn ich USB 3 wieder auf „nothing „stelle.
BMS ist über BT verbunden.
Gruß Stefan

Das war ein Fehler in der Logik, bzw. wurde diese Situation in v1.0.4 nicht berücksichtigt und ist in der neuen v1.1.0b behoben.

Hier die oben genannte Function Node aus der neuen Version:

[{"id":"068ec4f6bd7a5f66","type":"function","z":"1f780f8f.dbcd5","name":"MUART, USB, BTbatt, Shunt","func":"// @ts-nocheck\nvar multiuart = global.get(\"multiuart1\");\nvar multiuart2 = global.get(\"multiuart2\");\nvar BLE = global.get(\"BLEdevice\");\nvar usb1 = parseInt(global.get(\"usb1uart\"));\nvar usb2 = parseInt(global.get(\"usb2uart\"));\nvar usb3 = parseInt(global.get(\"usb3uart\"));\nvar usb4 = parseInt(global.get(\"usb4uart\"));\nvar btbat = global.get(\"btbat\");\nvar btbat1 = 1;\n\nvar bms_info = {\"group\":{\"hide\":[\"Info_BMS_INFO\"]}};\nvar victron = {\"tabs\":{\"hide\":[\"Victron\"]}};\nvar webasto = {\"group\":{\"hide\":[\"Heater_Info_Webasto\"]}};\nvar chinaheater = {\"group\":{\"hide\":[\"Heater_Info_China_Heater\"]}};\nvar autoterm = {\"group\":{\"hide\":[\"Heater_Info_Autoterm\"]}};\nvar vanpishunt = {\"group\":{\"hide\":[\"Info_VanPI_Shunt\"]}};\nvar victronshunt = {\"group\":{\"hide\":[\"Info_Victron_Shunt\"]}};\nvar dimmytemp = {\"group\":{\"hide\":[\"Info_Dimmy_Temperature\", \"Sensors_Dimmy_Temperature_Names\"]}};\n\nif (btbat == 0 || btbat == \"\" || btbat == undefined || btbat == \"turn off\" || btbat == \"turned off\" || btbat == \"Scan Bluetooth first\") {\n    btbat1 = 0;   \n}\n\n//USB-Ports + Bluetooth Batt/BMS\nif (usb1 == 0 && usb2 == 0 && usb3 == 0 && usb4 == 0) {\n    if(btbat == 0 || btbat == \"\" || btbat == undefined || btbat == \"turn off\" || btbat == \"turned off\" || btbat == \"Scan Bluetooth first\") {\n        bms_info = {\"group\":{\"hide\":[\"Info_BMS_INFO\"]}};\n    }\n    else {\n        bms_info = {\"group\":{\"show\":[\"Info_BMS_INFO\"]}};\n    }\n}\n\nif(usb1==1 || usb1==6 || usb1 == 7 || usb2==1 || usb2==6 || usb2 == 7 || usb3==1 || usb3==6 || usb3 == 7 || usb4==1 || usb4==6 || usb4 == 7 || multiuart==1 || multiuart==6 || multiuart == 7 || BLE == 1 || multiuart2 == 1 || multiuart2 == 6 || multiuart2 == 7 || btbat1 == 1) {\n    bms_info = {\"group\":{\"show\":[\"Info_BMS_INFO\"]}};\n}\nif(usb1==2 || usb2==2 || usb3==2 || usb4==2) {\n    victron = {\"tabs\":{\"show\":[\"Victron\"]}};\n}\nif(usb1==3 || usb2==3 || usb3==3 || usb4==3) {\n    webasto = {\"group\":{\"show\":[\"Heater_Info_Webasto\"]}};\n}\nif(usb1==4 || usb2==4 || usb3==4 || usb4==4) {\n    chinaheater = {\"group\":{\"show\":[\"Heater_Info_China_Heater\"]}};\n}\nif(usb1==5 || usb2==5 || usb3==5 || usb4==5) {\n    autoterm = {\"group\":{\"show\":[\"Heater_Info_Autoterm\"]}};\n}\n\n//MUART\nif(multiuart==2 || multiuart2==2) {\n    victron = {\"tabs\":{\"show\":[\"Victron\"]}};\n}\n\n//Shunt\nif(global.get(\"pkwshuntactive\")==true) {\n    vanpishunt = {\"group\":{\"show\":[\"Info_VanPI_Shunt\"]}};\n}\nif(global.get(\"BatteryDataDelivery\")==\"VICTRON\") {\n    victronshunt = {\"group\":{\"show\":[\"Info_Victron_Shunt\"]}};\n}\n\n//Dimmy temp sensors\nif (global.get(\"dimmytemp\") == true) {\n    dimmytemp = {\"group\":{\"show\":[\"Info_Dimmy_Temperature\", \"Sensors_Dimmy_Temperature_Names\"]}};\n}\n\n//send variables to build ui\nmsg.payload = bms_info\nnode.send(msg)\nmsg.payload = victron\nnode.send(msg)\nmsg.payload = webasto\nnode.send(msg)\nmsg.payload = chinaheater\nnode.send(msg)\nmsg.payload = autoterm\nnode.send(msg)\nmsg.payload = vanpishunt\nnode.send(msg)\nmsg.payload = victronshunt\nnode.send(msg)\nmsg.payload = dimmytemp\nnode.send(msg)","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1660,"y":220,"wires":[["21d02601345bcaa5"]]}]

Meine Version :
grafik