jonasbkarlsson / ev_smart_charging

Electric vehicle smart charging for Home Assistant.
MIT License
169 stars 25 forks source link

Let two instances work in parallell and share a specific amount of amps #241

Open Henke19822 opened 9 months ago

Henke19822 commented 9 months ago

Is your feature request related to a problem? Please describe. I have two EVs and therefore have two separate instances of EV Smart Charging connected. The cars usually differ a lot when it comes to SoC, and hence the need of charging on any given day varies. If both cars needs to charge you will easilly blow fuses due to excessive power outtake.

Describe the solution you'd like I can imagine several solutions, but one that comes to mind is to have a master "controlling" instance/entities that govern some key rules of all the entities. For instance, if you in the master instance can set a max amount of amperes that the two cars can share (like 12A, or more easily to incorporate, a limited charge speed for each EV Smart Charging instance next to the one used today. This can be used to decrease % per hour when both cars are charging).

The idea is to basically limit the power per charger and/or car if both cars are charging, to set a max power out take that the cars can share.

Describe alternatives you've considered There might be other solution, both within EV Smart Charging, Charger integration or other.

Additional context Add any other context or screenshots about the feature request here.

jonasbkarlsson commented 9 months ago

Thanks for your suggestion. I have actually been thinking about this already, and as you mention there are several ways to handle this. For example to share the available power, or to charge in sequence.

Unfortunately, this integration now is very complex, containing a large number of possible configurations. It will not be manageable to add even more conditions. So therefore, my thinking have been to create a new integration, that would be able to control multiple instances of this integration. However, that is a bit in the future, and will not happen soon.

That said, I think it shold be possible to achive what you want with a set a clever designed automations.

Henke19822 commented 9 months ago

Sounds reasonably, I understand that this kind of feature may have conflicts on how it works today and that a rebuild of the integration might be needed. I do think that besides that it is a nice feature, it will most likely be a more common request as more and more people are adding more EVs to their home. Many people already have one EV, and more people are probable eager to replace their second car with another EV.

torkelsson commented 7 months ago

I have the same "problem" with two EVs that I sometimes want to charge i parallell (sharing the available power) and sometimes in sequence.

jonasbkarlsson commented 1 month ago

I have now started to think about adding the possibility to charge multiple EVs (or EV plus residential batteries) in sequence. So instead of sharing the power, they will be charging in sequence. Would that be suffcient?

Henke19822 commented 1 month ago

Sufficient? Defintely! I think the end result will be the same, multiple cars charged to the desired level. One caveat might be lack of (price) optimization, but I understand your approach. It should be easier to implement and in most cases it would be very effective.

torkelsson commented 4 weeks ago

I agree that charing in sequence should be sufficient in the normal case when everything goes well. Though if anything happens, anything interrupts the charging prematurely, you may end up with one car charged and the other one uncharged, even if it would have been better to have both partially charged. An option may be to charge the interleaved, for instance one hour a time? Or maybe have a flexible enough solution so that you can choose a charging algorithm; sequence, interleaved, shared, ... that can be extended over time with new algorithms?

If going for sequential charging (only) I think it may be good to have an option to prioritze which car to start with.