nordicopen / easee_hass

Custom component for Easee EV charger integration with Home Assistant
207 stars 34 forks source link

Are Disable / Enable charger safe to use? #155

Open hmorkemo opened 2 years ago

hmorkemo commented 2 years ago

I have a Hyundai Kona. Charger current limiting doesn't work with that (at least not while the car is plugged in). Neither does start/stop charging. But disable/enable works just fine! So I've made a "smart night charge" mode based on that. It's quite easy to do as well, since you have a HA switch for it! Question: Are there any problems with this way to stop/restart charging?

olalid commented 2 years ago

I am a bit puzzled by what you are writing. Please try to describe in more detail what you have tried and why it is not working. I.e. what service for what limit etc have you tried calling? Did you get an error message in your logs? Does the corresponding sensor for that limit change after you called the service?

I assume you are talking about the "is_enabled" switch? It will end up calling the https://api.easee.cloud/api/chargers/{id}/settings API and change the "enabled" setting to true or false. I am honestly not sure what that setting does, it may write to flash memory which would be a bad thing.

Anyway, it is not the recommended way to control the charger, unless you have some sort of specific requirement you should use the circuit current limit or the pause/resume. I.e the easee.set_circuit_dynamic_limit, easee.pause or easee.resume service.

hmorkemo commented 2 years ago

Yes, it's the is_enabled switch.

When I use set_charger_dynamic_limit with current=10, charging stops and status changes from charging to _awaitingstart, and _reason_for_nocurrent=undefined. Then, after I try start or resume, nothing happens at the charger. The only way to get the charger back to life is a restart. After the restart, I've tried stop: No response.

But: pause/resume works! After pause, it pauses, and the _reason_for_nocurrent is max_dynamic_charger_current_too_low, and that's strange, but resume restarts it again anyway, so my automation now uses pause/resume and works just fine. My car is a Hyundai Kona 2020.

skela commented 2 years ago

Pausing sets the dynamic charger current to 0 , hence why you get max_dynamic_charger_current_too_low, totally fine. Any property with "dynamic" in it, is safe because its stored in volatile memory, not written to the flash.

Enabling / disabling it, is more akin to switch it off, i.e. don't allow charging at all. Its not something you should be doing often though. Better to stick with pause / resume.

olalid commented 2 years ago

There is some information on the easee developer page that is kind of required reading to understand what the different limits and functions actually does. (I guess we should link to this in the readme). https://developer.easee.cloud/docs/controlling-a-charger https://developer.easee.cloud/docs/current-limits-and-control https://developer.easee.cloud/docs/load-balancing