[DESS HACK] Unexpected Bat2Grid and Solar-Feedin. (Green Mode)

Installation for Version 3.51, 3.52:

I understand it's 100% my own Risk, and i'm running the right version.
wget https://raw.githubusercontent.com/realdognose/dbus-systemcalc-py/refs/heads/feature/v3.52/delegates/dynamicess.py
wget https://raw.githubusercontent.com/realdognose/dbus-systemcalc-py/refs/heads/feature/v3.52/temp/PageSettingsDynamicEss.qml

test -a /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.backup.py || cp /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.py /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.backup.py
test -a /opt/victronenergy/gui/qml/PageSettingsDynamicEss.backup.qml || cp /opt/victronenergy/gui/qml/PageSettingsDynamicEss.qml /opt/victronenergy/gui/qml/PageSettingsDynamicEss.backup.qml

mv dynamicess.py /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.py
mv PageSettingsDynamicEss.qml /opt/victronenergy/gui/qml/PageSettingsDynamicEss.qml

shutdown -r -t 10 now

Installation for Version 3.50:

I understand it's 100% my own Risk, and i'm running the right version.
wget https://raw.githubusercontent.com/realdognose/dbus-systemcalc-py/refs/heads/feature/v3.50/delegates/dynamicess.py
wget https://raw.githubusercontent.com/realdognose/dbus-systemcalc-py/refs/heads/feature/v3.50/temp/PageSettingsDynamicEss.qml

test -a /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.backup.py || cp /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.py /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.backup.py
test -a /opt/victronenergy/gui/qml/PageSettingsDynamicEss.backup.qml || cp /opt/victronenergy/gui/qml/PageSettingsDynamicEss.qml /opt/victronenergy/gui/qml/PageSettingsDynamicEss.backup.qml

mv dynamicess.py /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.py
mv PageSettingsDynamicEss.qml /opt/victronenergy/gui/qml/PageSettingsDynamicEss.qml

shutdown -r -t 10 now

Installation for Version 3.41, 3.42:

I understand it's 100% my own Risk, and i'm running the right version.

SSH into the cerbo and run the following lines directly from the terminal. (the last one is a reboot, so don’t worry :stuck_out_tongue: )

wget https://raw.githubusercontent.com/realdognose/dbus-systemcalc-py/91c529a9beca7afd327617e2e2a7da38364919e5/delegates/dynamicess.py
wget https://raw.githubusercontent.com/realdognose/dbus-systemcalc-py/91c529a9beca7afd327617e2e2a7da38364919e5/temp/PageSettingsDynamicEss.qml

test -a /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.backup.py || cp /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.py /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.backup.py
test -a /opt/victronenergy/gui/qml/PageSettingsDynamicEss.backup.qml || cp /opt/victronenergy/gui/qml/PageSettingsDynamicEss.qml /opt/victronenergy/gui/qml/PageSettingsDynamicEss.backup.qml

mv dynamicess.py /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.py
mv PageSettingsDynamicEss.qml /opt/victronenergy/gui/qml/PageSettingsDynamicEss.qml

shutdown -r -t 10 now

To verify the changes are active, you can check that the following command returns a value:

dbus -y com.victronenergy.system /DynamicEss/FinalStrategy GetValue

or check the FinalStrategy-Value in the cerbo UI under SettingsESSDynamicESS.

Will now be either of
None:
There is no schedule provided, matching the target window.

SCHEDULED_SELFCONSUME:
VRM says “Just use regular ESS mode”.

SCHEDULED_CHARGE:
VRM scheduled a certain soc to reach, may include charging from grid.

SCHEDULED_CHARGE_SUPPRESS_FEEDIN :
If a scheduled charge is resulting in a lower charge-rate than the available solar-surplus, the hack will pretend a 0-Feedin-Restriction upto 90% soc, so the system has to increase it’s battery charge rate.

SELFCONSUME_ACCEPT_CHARGE:
System is in regular ESS mode, because despite any target_soc it noted PV Surplus beeing available.

SELFCONSUME_ACCEPT_DISCHARGE:
System is in regular ESS mode, because even if there is PV shortage, our SOC is ahead of plan, so we can power the loads.

IDLE_MAINTAIN_TARGET_SOC:
System enters battery idle, because it tries to stick to plan and we have not yet reached the “feel-well-value”, we are sitting at targetsoc and there is a PV-shortage.

ADHOC_CHARGE:
A AdHoc Charge Rate has been set, to boost charging upto the set up SoC.

To Rollback any changes, in case there are issues, just run the following commands:

cp /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.backup.py /opt/victronenergy/dbus-systemcalc-py/delegates/dynamicess.py
cp /opt/victronenergy/gui/qml/PageSettingsDynamicEss.backup.qml /opt/victronenergy/gui/qml/PageSettingsDynamicEss.qml

shutdown -r -t 10 now

That’s it. Current Hack-Version is 2024-11-27 (for 3.51, 3.52):

5 Likes