Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use TAG_EMS_REQ_SET_POWER for battery charging #215

Open
3 tasks done
torbennehmer opened this issue Jan 15, 2025 · 7 comments
Open
3 tasks done

Use TAG_EMS_REQ_SET_POWER for battery charging #215

torbennehmer opened this issue Jan 15, 2025 · 7 comments
Labels
enhancement New feature or request

Comments

@torbennehmer
Copy link
Owner

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

The current battery charging using manual charge is suboptimal, as E3DC limits its availability. It should be replaced by the ioBroker approach, using TAG_EMS_REQ_SET_POWER

Describe the solution you'd like

Check the functionality of TAG_EMS_REQ_SET_POWER and implement it. It needs to be discussed, what options are sensible here, once the interface is understood.

See also sendEmsSetPower in ioBroker:
https://github.com/git-kick/ioBroker.e3dc-rscp/blob/master/main.js#L923

Alternative permalink, probably out of date
https://github.com/git-kick/ioBroker.e3dc-rscp/blob/a1e3179b1578d7c9976eabd0bd1eca0992d5207d/main.js#L923-L951

Describe alternatives you've considered

Using EMS Manual Charging is instable and difficult to judge, so it basically has to be ruled out.

Additional context

Split of #211

Diagnostics dump

No response

@torbennehmer torbennehmer added the enhancement New feature or request label Jan 15, 2025
@torbennehmer
Copy link
Owner Author

@volkerrichert

If you want to give it a shot, adding it to HA is only the second step. Try to make it work on the command line, with a simple Python PoC using pye3dc directly. I don't completely understand yet, what ioBroker's doing there, and what opportunities it gives beyond simple charging. If there's a way to regulate what the unit is doing, you could even have more dynamics in there (for whatever that could be used on the long run).

Moving it into the integration would be the second step then.

@bullitt186 FYI, this might be of interest to you too

@volkerrichert
Copy link

ok, i'll take a look at pye3dc first

@volkerrichert
Copy link

pye3dc defines the TAGs, but doesn't implement it. It's obvious why.... e3dc will reset this state after a few seconds (AFAIK) and it has to be re-set after 10 (or less) seconds

@volkerrichert
Copy link

By default iobroker-e3dc does this every 10 sec. But I saw some charges being ended without any interactions after a 1-2 hours. I'm testing 8sec

@torbennehmer
Copy link
Owner Author

The official E3DC tag documentation (you can download it from the old portal, don't know where it is on the new one) formally defines that any non-standard mode set by this command will be reset after 30 seconds, which is why ioBroker updates it continously.

@volkerrichert
Copy link

volkerrichert commented Feb 28, 2025

@torbennehmer I had time to start implementing and make some basic steps in coding HA. But the pyE3DC doesn't any of those requests. But the lib doesn't seems to be actively maintained. Even basic requests are answered.

What do you think about polling & setting data using e3dc sendRequest directly in the integration and bypass the provided methods? It doesn't make sense to implement some stuff, if you deny using sendRequest directly.

Volker

@volkerrichert
Copy link

Ah, I just saw the diag part. Your are using sendRequest directly. Fine, question answered!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants