How can the ‘Maximum Charge Voltage’ (DVCC setting in Venus, I think settings/MaxChargeVoltage on MQTT) get controlled by another application, e.g. my Python script?
Background: I like to control charging, e.g. limit to 80% SOC, but up to this cause as much charge current as possible.
I think with ESS this is built in (Battery Life…) but I do not have MultiPlus or like that, only SmartSolar Chargers an SmartShunt, so I can not activate ESS.
If there is another way to set up charging up to a certain SOC, please tell me also!
I tried to write the MQTT topic, but it seems not to get applied.
Worst case I could write the requested charge voltage of the BMS (charge control by BMS activated), but I think there should be a more ‘direct’ way…
You can set the d-bus path corresponding with the above presented “Maximum charge voltage” option.
The path is: com.victronenergy.settings/Settings/SystemSetup/MaxChargeVoltage
That path contains a value of 0.0
As soon as you put there a different than zero value, the “Limit managed battery charge voltage” option gets activated automatically and in the “Maximum charge voltage” appears your just set-up value.
Never used MQTT, but, who know, maybe there is a topic to use there too, that maps to that value.
As for using d-bus via Python, just use as an example the dbus-systemcalc-py project on GitHub.
It’s the engine that powers the DVCC on Venus OS.
You can see there a lot of interaction with dbus through VeDbusService class.
@alexpescaru could you please kindly give me an example line how to change the value of com.victronenergy.settings/Settings/SystemSetup/MaxChargeVoltage?!
At the command prompt level, yes.
But put a space between the node key and the path.
Like this: dbus -y com.victronenergy.settings /Settings/SystemSetup/MaxChargeVoltage SetValue 54.0
man, man, man, it seems to be really hard to access the dbus from a remote system! why does Victron make it that complicated to limit the charge voltage in an automated way? …
in fact Victron did a very good job - I understood when reading the dbus-flashmq article. yesterday I got frustrated sitting there half the night trying dbus access ‘from externally’ and failing… But the way Victron solved it is a really good thing - sorry Victron!