This is a reply to this post. Can’t really understand why some posts get locked for comments…
Thanks a lot for your great guide, @zlomennypez! It was a superb starting point for me. Now I have finished most of my struggles and would like to share back some of my findings!
First I waited for months for the release of SolaX wifi+LAN dongle, which was supposed to be the first dongle that could be used for Modbus TCP over ethernet, as I don’t want to use wireless for this. It turned out that Modbus in that dongle is really crappy. I don’t know if it’s the same in other SolaX dongles, but every other poll makes the dongle crash completely, the only way to recover is to physically pull it out and put it back again. So I gave up and bought a Waveshare converter instead. It’s working like a charm, really rock solid. AND it’s cheaper than the SolaX dongle. For anyone interested in trying it, I can recommend this Youtube video which explains the physical installation in detail.
Anyway… You are warning about the limited EEPROM writes. I found out that the really good Modbus registers don’t write anything to EEPROM at all and they are not even mentioned in the Modbus documentation, at least not in the version I got from SolaX. So I urge you to look at this page instead. Things like charging the battery to a specific percentage or temporarily stopping the battery from being used is really easy using those registers!
So for example I now have a rule that does this when the electricity price is at the lowest:
Solax_Chargedischarge_power.sendCommand(5000)
Solax_SoC_target.sendCommand(60)
Solax_Power_Control.sendCommand(3)
(ie go to power control mode 3 (SoC target control) and charge the battery with 5000 watts until it’s 60% full)
Probably I’ll continue tweaking this, I thought I’d take solar prognosis numbers into account as well, I have the solarforecast binding up and running…
I’m not using textual config but made all my things and items in GUI, so they’re not all that easy to share, but if anyone is interested give me a shout and I’ll do my best. For example it’s not obvious how to read the current power control mode back, I had to do another Thing for that and rules to sync them together.