E3DC Remote Storage Control Protocol (RSCP)

Hi,
in the last weeks I’ve created an integration based on the pye3dc library giving direct access to the E3DC energy management systems combining PV inverters and battery management among other stuff. The integration is usable as an MVP, providing meter readings of all core sensors, control over the battery charge/discharge and manual charging of the battery from the grid.

Details can be found on the GitHub, where you can find current releases and of course the issue tracking system.

Testers would be very welcome, especially with various types and configurations of E3DC units to give me a broader access to different system configurations.

Thanks and kudos to fsantini for his fablous work implementing an RSCP python lib.

Cheers, Torben

6 Likes

Releases 2.1 and 3.0 add:

  • Compatibility with Python 3.11 and current HA
  • Service to manually charge your battery from the grid
  • Power Limits can now be cleared
  • Documentation (Readme) has been improved
1 Like

Release 3.1

  • Obfuscate possibly private data from diagnostic dump

Release 3.2:

  • Fix manual charged energy sesnsor and work around its kAh weirdness.
1 Like

Hello Torben,

After upgrading the integration the set-power-limits service is not working anymore but resulting in errors:
-Unknown device ID
-Device is no E3DC

I think the issue is caused by 2.1.0 changes.
I already re-added the device but it does not have any effect.

Please let me know if could support you by debugging.

BR and thanks for this amazing integration.

Rene

Sorry for not answering here as well, svlsbrg, Somehow the notification of this topic got lost.

For everybody else with the same problem, please upgrade to the latest version and switch to using the device id of the config:

I will update the documentation with regard to this. Sorry also for the inconvenience.

First of all thank you so much for your work on this.

I just finished installing your integration and so far almost everything is working just fine. Only one sensor is acting weirdly:

s10x_installed_battery_capacity shows 0 in my configuration. Where does this value come from? I’ve been checking the S10X itself and i can’t find any kwh value anywhere in the system itself.

Is there a way to set this, just like you have to set the kwp value in the software?

I just saw that in the offical E3DC app it shows 21kwh as expected.

This is a known problem I’ve not yet found time to debug:

You could help if you upgrade to 3.3 (just released) and provide a diagnostics dump of your system along with any errors in the debug log.

Release 3.3 provides more translations and more resilient diagnostic dumps. Requires HA 2023.08:

Hi torben,

thx for the nice integration.
My problem is i can’t reach the S10. It says Unknown error occured. Modbus is activated, rscp passwort set. It seems HA can’t communicate with the S10. Do u have an idea?
Thx

Hi Torben your Installation description for HACS installation does not work for me on 9.2. Error Message provided as png below.

Will now try manual install.

Thanks for all the work you‘ve done

kind regards
Michael

It does not use ModBus, it is connecting via TCP/IP directly. Ensure, that you come from the same network as the E3DC is in (it does not accept connects outside of its local net), also ensure, that you have online connectivity, User/Pass of your E3DC account must be set as the unit authenticates against the E3DC Servers before letting you in.
If this doesn’t work, please create an issue in the GitHub Project, outline exactly(!) what you’ve done, including the Debug Log you get when connecting, it might show additional insights.

Sorry to hear that. I’ll have to check that, my local production is still running at 2023.07, not .09. That’ll take some time as I first have to check if any breaking changes affect my install.

What does the debug log say?

i don`t know what changed, but now it runs…

Hello Torben,

I’m relatively new to HA und managed to display all relevant E3/DC data in the dashboard.
Now I would like to set the charging power limit in the dashboard. Is there any tile available to enter a value for the power limit and submit it?
Best regards

Hello Torben !
Thank you so much for this great project.
I have been looking for an E3DC integration very long and I am currently using modbus queries and remote shell calls with e3dcset installed on a raspi.
Your project is a big step forward :slightly_smiling_face:

In HA I was missing these sensors and had to create helpers, maybe its worth creating them with the integration :

  • Additional source production - today
  • Total production
  • Total production - today

After I created the helper additional_source_production_today that sensor showed up via the integration too. That makes me wonder if it’s possibly already installed with the integration but only partially ?

I have one question for the use within automations:
If I call a manual charge of 3kWh while another one is still running, what will be the result ?
Total of 6kWh or the current SoC when triggered plus 3kWh ?

HI Aktendully,
sorry for not answering faster, I still seem to have some misconfiguration in my forum account, so that I don’t get notified.

The integration does not bring any UI controls with it for charging power limiting, just the two services at the moment. You’ll have to build your own integration for now. You can file a feature request at the Github project, although I’ve a few other things on my list first, as there are still a few strange bugs hidden in the integration I yet have to find.

Cheers, Torben

Thanks, that’s great to here. It’s a pleasure, although I don’t find as much time as I’d like to to move things forward. Still happy if it helps you!

There will be an update shortly, the next version will use a new feature in pye3dc to auto-detect additional powermeters accross the board. Bug #31 is already filed for the generic statistics item, that I’ll have to add.

Total production is something, that could be added, but I’ll have to check with the new features mentioned above. The integration would have to add this up dynamically, given the broad range of configuration, this could be hairy in some scenarios.

What you can do for yourself is using template sensors to add the current powerlevel together, that should work well. The Riemann sum integral integration could give you your personal accumulated sensors for the meantime.

Please feel free to log missing feature requests on GitHub.

Not sure, because this is difficult to test. Calls to manual charging are rate limited (something like once per 2 hours or so, not sure). I would guess(!) that a successive call overwrites the previous one. So if you issue another 3 kWh call, the unit will charge those 3 kWh from the point of the call, dropping the earlier operation. That’s what the web interface corresponding to this functionality implies.

However, the mentioned rate limit is a bigger blocker here.

Also, please be aware that manual charging is actually something to be used with care, both for regulatory reasons (law) on one hand and the charging losses on the other, combined with battery wear.

I personally use it rarely only at times, where the cost delta is high, perhaps at least 10-15 cent.

Cheers, Torben

Good morning Torben,

thank you for all the information.
Winter is coming and we are heating our home with multiple ac systems. I am looking forward using your integration in combination with the Tibber integration to control the E3DC storage and will gladly share my experience.

Chris

I’d be happy to hear from you with your experiences, ideas are always welcome based on such scenarios.

Torben

1 Like

Release 3.4 is out of the door, Highlights

  • Auto-detect additional powermeters if you have them, adds them as sensors now.
  • Upgrades to recent version of pye3dc, fixing a few bugs.
  • Clarifying the implications of manual charging.