Hi All,
I just wanted to inform the people here that I extended dbus-fronius to use the solaredge enhanced power control implementation (non sunspec model 123). It could do with a bit more testing and tweaking of certain settings I guess. You can find it here in the solaredge branch. There is also a solaredge-mbs branch for which I made a tool I can used to read and write registers of the solaredge manually via dbus-spy.
If anybody wants to help out with testing this that would be great.
Here is a quick(start) outline if you wish to compile and test yourself:
- Install the SDK.
- Clone the fork of dbus-fronius with submodules:
git clone --recurse-submodules https://github.com/mpverrijt/dbus-fronius.git
- Optionally checkout the 'solaredge-mbs' branch depending on what you want (solaredge-mbs has the extra tool to manually read/write registers on the solaredge inverter via dbus-spy, but be careful, I suggest only to use it if you know what you are doing).
- In a terminal go to where you installed the sdk and enter:
source environment-setup-cortexa8hf-neon-ve-linux-gnueabi
- In the same terminal window go to the base directory of the dbus-fronius clone and enter:
./alt-build.sh
- You should now have a new exectuable (build/dbus-fronius/dbus-fronius) if all went well.
- Get root access to your cerbo-gx.
- Copy the newly created executable to the data directory of your cerbo (via scp for example):
scp build/dbus-fronius/dbus-fronius root@YOUR_CERBO_IP_ADDRESS:/data/
- ssh to your cerbo-gx
ssh root@YOUR_CERBO_IP_ADDRESS`
- There make a copy of the original executable and link the one you copied to the data directory instead:
cd /opt/victronenergy/dbus-fronius cp -a dbus-fronius dbus-fronius.orig ln -sf /data/dbus-fronius
- Restart dbus-fronius by killing the current running process (pkill dbus-fronius), the supervisor will restart with the new executable. Alternatively you can reboot your cerbo.
With respect to firmware updates, the whole root file system gets updated. This means you need to rerun step 10 (and 11) once after a firmware update.
When dbus-fronius gets updated and you want/need these updates we need to merge/maintain these updates in the fork and recompile the executable.
All of this can be made a lot simpler by creating a package and installing it via the package manager tools (opkg). I'm quite limited in the amount of time I can work on this right now, but I do want to do this when I can.
Also, I need to mention it is required to enable advanced power control on your solaredge inverter. This can be done via the SetApp or with writing registers via modbus. If you are using it with the original dbus-fronius and frequency scaling (when grid fails / standalone) this should already be enabled. All of the enhanced power control settings and enable I now send once on a inverter connect, but I believe the settings atleast can be set once (in non-volatile memory). For testing purposes I have left left them there for now. For example, I have disabled the rate of change as I believe this is also how it works for the other inverters via sunspec model 123, but I am not 100% sure.