Hallo,
ich habe bei meinem Cerbo GX auf die aktuell neuste Version v3.67 Large geupdatet um mit den neuen Node-RED Node Virtual Device und dem Custom Control einen Wechselrichter einbinden zu können.
Hier mal der Flow:
Woran kann diese falsche Anzeige in der System- und Verbrauchsübersicht liegen?
Kann einer erkennen was ich falsch gemacht habe, oder muss irgendwo noch etwas eingestellt werden?
Das Problem war, das der gelieferte Wert noch durch 1000 dividiert werden musste.
Es scheint jetzt zu funktionieren.
Weiß einer warum ich bei dem “Virtual Device” die “Dynamische Leistungsgrenze” nicht anpassen kann?
Bei mir steht da 1000 ich bräuchte da aber mehr.
Gibt es eine Erklärung, warum Victron den Wert 1000 definiert hat und dem beim “PV-Inverter” read only gemacht hat?
Die beiden Probleme habe ich hier 1:1 genau so.
Was hast Du durch 1000 dividiert? Energyforward?
edit: Das Problem mit Energyforward besteht nach meiner Beobachtung nur beim Auslesen der Shellys. Bei Tasmota geflashten Geräten und bei der OpenDTU besteht das Problem nicht. Dort werden die Daten korrekt übermittelt.
1000W ist ein Vorgabewert aus VenusOS. Das wird benötigt um die Berechnungen zum Regeln zu machen, wenn die Anlage in den Inselbetrieb geht.
Das kann man abändern. Bei mir habe ich es wie folgt gemacht:
Hallo,
ich habe den Wert der bei “payload.pm10.aenergy.total” vom Shelly PM Mini Gen3 zurückgegeben wird durch 1000 dividiert und an “/AC/L1/Energy/Forward” und “/AC/Energy/Forward” zurückgegeben. Dann wird der Wert korrekt im UI ausgegeben und auch in das VRM-Portal richtig übernommen.
Das mit dem Setzen des PowerLimit habe ich versucht es gibt da auch keinen Fehler.
Nur ändert sich der Wert “Dynamische Leistungsgrenze” im Victron UI beim Gerät nicht.
Du hast ja 800 eingegeben.
Wenn ich da 800 eingebe steht das dann auch im UI.
So wie ich das ermitteln konnte kann der Wert nur auf max.1000 gesetzt werden.
Kleiner geht.
Ich hoffe nun auf die nächste UI Version. Da sollen Shelly-Geräte dann direkt eingebunden werden können. Steht jedenfalls bei der Beta von 3.7xx.
Durch Deinen Tipp konnte ich mein Problem mit der vollkommen falschen Anzeige im VRM lösen. Danke dafür!
Allerdings habe ich das mit einer einzigen Function-Node gemacht. Scheint zu funktionieren.
let v;
if (msg.payload &&
msg.payload.emeters &&
msg.payload.emeters[0] &&
msg.payload.emeters[0].total !== undefined) {
v = msg.payload.emeters[0].total;
}
if (v === undefined || v === null || v === "") {
return msg;
}
msg.payload = Number(v) / 1000;
return msg;
Bezüglich der Änderung des Wertes habe ich auch einen WR, der auf 2000W eingestellt ist. Klappt ebenso. Bei mir V3.67.