izak / bms-bridge Goto Github PK
View Code? Open in Web Editor NEWDisable MPPT charge if the BMS says so.
Disable MPPT charge if the BMS says so.
During a grid failure, the ESS mechanism in the CCGX/Multi will let the Multi continue inverting until one of these conditions apply:
Besides those, something extra is necessary: when /Info/MaxDischargeCurrent == 0
it should stop inverting. Aka go to charger only mode:
dbus -y com.victronenergy.vebus.ttyO1 /Mode SetValue %2
And once /Info/MaxDischargeCurrent != 0
, set it back to full operation, which is Mode 3.
All possible modes are:
1=Charger Only;
2=Inverter Only;
3=On;
4=Off
Note that I think that the best way to do this is to use the charger only mode. If that is really the case is something we'll need to find out by testing.
In Venus v1.73 the naming of the Battery/BMS related D-Bus service was changed. See here:
https://git.victronenergy.com/can/lg_resu_interface/commit/e91f248689e9bd911a4d1e2a43ee9f5b8153ed6f
Some info from a v2.00 system (which is the same as v1.73 and v1.74 for this aspect of BMS D-Bus service naming):
root@ccgx:~# dbus -y
org.freedesktop.DBus
com.victronenergy.hub4
com.victronenergy.qwacs
com.victronenergy.system
com.victronenergy.logger
com.victronenergy.fronius
com.victronenergy.vebus.ttyO1
com.victronenergy.battery.socketcan_can0
com.victronenergy.settings
net.connman
fi.epitest.hostap.WPASupplicant
fi.w1.wpa_supplicant1
root@ccgx:~# dbus -y com.victronenergy.battery.socketcan_can0 / GetValue
value = {'Alarms/CellImbalance': 0,
'Alarms/HighChargeCurrent': 0,
'Alarms/HighChargeTemperature': 0,
'Alarms/HighDischargeCurrent': 0,
'Alarms/HighTemperature': 0,
'Alarms/HighVoltage': 0,
'Alarms/InternalFailure': 0,
'Alarms/LowChargeTemperature': 0,
'Alarms/LowTemperature': 0,
'Alarms/LowVoltage': 0,
'Connected': 1,
'Dc/0/Current': 0.0,
'Dc/0/Power': 0,
'Dc/0/Temperature': 25.5,
'Dc/0/Voltage': 49.069999694824219,
'DeviceInstance': 512,
'Info/BatteryLowVoltage': 0.0,
'Info/MaxChargeCurrent': 110.0,
'Info/MaxChargeVoltage': 58.099998474121094,
'Info/MaxDischargeCurrent': 110.0,
'Mgmt/Connection': 'CAN-bus',
'ProductId': 45060,
'ProductName': 'LG resu battery',
'Redetect': 0,
'Soc': 15,
'Soh': 100}
bms-bridge doesn't properly work against Venus v2.00. The reason is that dbus-systemcalc is now also writing to /link/network mode. Which is a bit mask, so dbus-systemcalc & bms-bridge were undoing each-others changes. The result is that solarchargers show Error #67
again.
A fix is coming: Venus v2.01 has a new version of dbus-systemcalc that also takes care of writing the bms/max-charge-current to the solar-chargers.
victronenergy/dbus-systemcalc-py@af23489
So what needs to be done is removing the lines of code related to writing the max-charge-current. Which leaves only the code that sets a Multi to Charger-only when the max-discharge-current == 0.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.