Hey all,
some months ago, I finished the migration to a victron-centric system, and started to dig into phython and the posibilities of venus os. I’m a professional software engineer with about 20 years of experience and therefore creating the second helpful script was no option - it had to become a service-based, modular tool belt to ensure maintainability during the (hopefully) next 10 years
So, es-ESS
was born.
Every service works independent (with some dependencies) and can be enabled or disabled based on personal favour.
I’ve written a quite nice and detailed documention on github (link bellow), but here is a brief overview of what is currently contained - with more stuff to come in the future
TimeToGoCalculator
Tiny helper filling out the Time to Go
field in VRM, when BMS do not report this value.
MqttTemperatures
You have temperature sensors communicating with your Mqtt-Server? Use this helper to subscribe and display temperature and optionally humidity and pressure in the GX / VRM.
MqttExporter
You need some values on your local mqtt, but keeping the local cerbo mqtt alive 24/7 just to read 10 values feels wrong? MqttExporter allows you to directly export any value from dbus to your local mqtt, without having to take the expensive way.
FroniusWattpilot
You are owning a Fronius Wattpilot? This is your Musst-Have Service: Full Integration of Fronous Wattpilot into VRM, including bidirectional communication beetween the cerbo and the wattpilot app including Solaroverhead-Charging.
NoBatToEV
You are charging an EV from the AC-OUT side, but you basically don’t want to use your battery for that? NoBatToEV will constantly monitor your local consumption, solar production and ev-charge rate and adjust the grid set point in a way that no energy flows from the battery to the ev.
Shelly3EMGrid
Implementation to use the Shelly3EM as a grid meter in Venus OS. Script-based implementation of NET-Metering for D, CH, AT (etc.)
ShellyPMInverter
Got some microinverters that you measure with ShellyPM Devices? Integrate them into your system. (Configurable Phase)
and last but absolutely not least:
SolarOverheadDistributor
The SolarOverheadDistributor is a service running on your gx device. It can control your consumers in various ways. Starting with a config-based definition to simply turn on/off some http or mqtt controllable devices as soon as conditions are met, It also provides a Request/Approval
connection endpoint (mqtt), where you can connect any (complex) external script you like. (Powershell, Arduino devices, bash, …)
Multiple consumers can co-exist at the same time, and will be either directly controlled - or just receive an allowance-report on mqtt to start consumption.
es-ESS
is basically starting into it’s open beta now. Instructions on Installation / Configuration and generall documentation is available on github.
For the beginning, I would recommend users with a medium skill-level in the unix world. I’m running the majority of services since some months, but the configuration file is currently not validated, any typo or wrong configuration may break the script execution. Having a minimum understanding of reading logs and eventually beeing able to figure out the problem would be kinda helpful to not endup frustrated
If you have found any bugs or have feature requests, Feel Free to create a Issue on github - Please avoid floading this topic with comments, after several pages no one will be able to figure out, that a problem was already reported / solved or what’s the cause / solution.
Contributions of devs welcome as well, implementing a new Service is kinda easy, just implement the esESSService class and you don’t have to mind any deep-technical stuff (beside the actual implementation of what should happen, ofc.)
Project-Page: