Closed tosog closed 3 weeks ago
/cc @oscarminus @naltatis seems there are two issues here
@tosog Could you tell me the vrm instance of your grid meter?
@oscarminus I hope this is what you're looking for:
I should mention that I'm not using a real fronius or victron smartmeter. I'm simulating a fronius smartmeter using a forked project which can be found here: https://github.com/tosog/venus.dbus-nbsm-smartmeter The grid data comes from a script which connects directly to the smartmeter from the grid operator. The script can be found here: https://github.com/tosog/nbsm
I'm also still on v2.85 of Venus OS (never change a running system..)
@tosog yes, that was the information i was looking for. It seems that the vrm instance may vary between various installations. I will check how we can deal with that. Perhaps we have to implement a new configuration parameter to define the grid meter instance.
If you are compiling the code from scratch, you can change the lines "id: 30" in /templates/definition/meter/victron-energy.yaml to id: 40 (starting at line 53) as a quick fix.
The SQL error is unrelated. E.g. happens when you start evcc with an empty database. See fix: https://github.com/evcc-io/evcc/pull/15620
Für was verwendet evcc die Ströme denn überhaupt?-- ausschlaggebend sollten ja die Leistungswerte sein. Ich frage, denn viele, die ein "simuliertes" GridMeter in VenusOS einbinden werden primär nur die Leistungswerte übergeben, da dies ausreichend ist. Sprich als Rückgabewert wird dann natürlich entsprechend 0A kommen.
@mdkeil ja stimmt, ich simuliere die Stromstärke bei meinem Tool auch, indem ich einfach die Gesamtleistung durch die Spannung dividiere und das dann pro Phase drittle. Mein Netz-Smartmeter gibt mir diese Informationen leider nicht.
Warum evcc das benötigt? Es kann ja sein, dass man zwar unterhalb der Gesamtleistung ist, man aber trotzdem eine Phase überlastet.
Beispiel: Ich habe zwei Wallboxen an einer 16A Sicherung und möchte einphasig per Überschuss laden, also 2x 16A = 7,4 kW maximal. Das wäre noch unterhalb der maximalen Last von 11 kW, aber sind beide Wallboxen identisch verdrahtet, wäre auf einer Phase 7,4 kW und die Sicherung würde fallen. Verdrahtet man die Wallboxen unterschiedlich (2. Wallbox auf L2 L3 L1), sind zwei Phasen zu je 3,7 kW belastet und es wäre wieder OK. EVCC kann das nicht wissen und benötigt daher die Infos von den grid meters Ich weiß nicht, wie evcc damit umgeht, wenn es diese Informationen nicht hat. Ich denke, dass so eine Konstellation nicht möglich sein wird und ich werde wohl weiterhin das Lastmanagement von go-e selbst verwenden müssen - dort kann ich angeben, wie die Leitungen verdrahtet sind.
evcc schaut nach dem maximalen Strom auf den drei Phasen als Führungsgröße. Im Normalfall daher völlig problemlos und einfach, in speziellen Konstallation kann es im Gegensatz zu einer genau definierten (und richtig konfigurierten) Phasenzuordnung dadurch jedoch vorkommen dass evcc übervorsichtig ist und den Strom ggf. stärker reduziert als theoretisch im Optimalfall nötig.
Wir haben diesen Ansatz aber erstmal ganz bewusst so gewählt weil weniger komplex zu implementieren und auch deutlich einfacher zu konfigurieren. Im Fall der Berücksichtigung der genauen Phasenzuordnung für jeden Ladepunkt ist das Fehlerpotenzial durch fehlerhafte Konfiguration erheblich größer. Noch viel komplizierter wird es dabei wenn auch noch Phasenumschaltung hinzu kommt und bei Fahrzeugen die nicht alle (richtig) konfigurierten Phasen auch wie erwartet nutzen.
Ich nutze zum Auslesen des EVU-Zählers Tasmota (https://ottelo.jimdofree.com/stromz%C3%A4hler-auslesen-tasmota/) und ein passendes Script zur Einbindung in Venus-OS (https://github.com/AchimKre/venus.dbus-tasmota-smartmeter). In letzterem einfach in Zeile 149 die deviceinstance von 40 auf 30 ändern, Script neu starten und schon sind die Fehlermeldungen in evcc weg (und die Ströme werden angezeigt). Venus-OS scheint sich daran bisher nicht zu stören.
Auch bei allen anderen in Venus-OS per Script integrierbaren "Fremdzählern" sollte die deviceinstance (VRM Instanz) problemlos änderbar sein.
After upgrading from 0.130.2 to .6 I now get the error messages regarding currents
grid currents: read failed: modbus: exception '10' (gateway path unavailable), function '4'
Anything I need to configure differently in evcc.yaml
?
meters:
- type: template
template: victron-energy
usage: grid
host: 192.168.1.179
port: 502
minsoc: 20
maxsoc: 100
name: grid1
- type: template
template: victron-energy
usage: pv
host: 192.168.1.179
port: 502
minsoc: 20
maxsoc: 100
name: pv2
- type: template
template: victron-energy
usage: battery
host: 192.168.1.179
port: 502
minsoc: 20
maxsoc: 100
name: battery3
Edit: I implemented the EM24 directly instead of the energy meter over cerbo as a workaround and the error is gone. But still would like to know why the error came in the first place and what to do to prevent it.
you have to add the meterid
(VRM instance) of the EM24.
meters:
- type: template
template: victron-energy
usage: grid
host: 192.168.1.179
port: 502
meterid: 40
name: grid1
- type: template
template: victron-energy
usage: pv
host: 192.168.1.179
port: 502
minsoc: 20
maxsoc: 100
name: pv2
- type: template
template: victron-energy
usage: battery
host: 192.168.1.179
port: 502
minsoc: 20
maxsoc: 100
name: battery3
Ja, siehe https://github.com/evcc-io/evcc/pull/15625.
Danke! Bedeutet das nicht auch gleichzeitig, dass alle Victron User nun den Fehler bekommen? Oder war nur meine Config "falsch" bzw. unvollständig?
Ist die "meterid" ab sofort nun ein Pflichtfeld? Wird als optional markiert in der Doku
Der Fehler tritt bei denen auf, wo das Gridmeter nicht id 30 hat, was aktuell als default im victron-template hinterlegt ist.
Den Fehler werden alle bekommen, die ihr Grid-Meter auf ID 40 haben. Bei mir z.B. ist der EM24 per RS485 angebunden und läuft auf ID 30. Bei der Implementierung musste man sich für eine ID als default entscheiden.
Danke euch allen!
Describe the bug
While verifying another bug, I came across a new error, which might be related to PR https://github.com/evcc-io/evcc/pull/15544
I'm getting these errors:
grid currents: read failed: modbus: exception '10' (gateway path unavailable), function '4'
and:error executing query: sql: Scan error on column index 0, name \"SUM(charged_kwh * co2_per_kwh) / SUM(charged_kwh)\": converting NULL to float64 is unsupported
Steps to reproduce
error message is displayed as a red warning sign on the gui. victron site: https://vrm.victronenergy.com/installation/181297/share/8fb1ce3a
Configuration details
Log details
What type of operating system are you running?
Linux
Version
5253d6f9aa0a250f5118a4c18b093f5f34a13ed7