evcc icon indicating copy to clipboard operation
evcc copied to clipboard

Single 15 minute charging slots are skipped

Open PTiTDaV opened this issue 2 months ago • 6 comments

Describe the bug

When the planner makes a charging plan that is spread along a couple of hours, single slots are defined. Like hereunder.

Image

But when the charging should start it gets skipped didn't try the latest nightly

Steps to reproduce

  1. Set repeating plan
  2. Plug in car
  3. wait ...

Configuration details

site:
  title: Home # display name for UI
  meters:
    grid: my_grid
    pv:
      - my_pv

# define your loadpoints according your needs
# see https://docs.evcc.io/en/docs/reference/configuration/loadpoints
loadpoints:
  - title: Alfen  # display name for UI
    charger: alfen # charger
    vehicle: ix3 #default vehicle
    circuit: main
    maxCurrent: 32
  - title: EvBox # display name for UI
    charger: EvBox # charger
    vehicle: i3 #default vehicle
    circuit: main
    priority: 10
# meter definitions
meters:
  # replace with your real grid meter
  - name: my_grid
    type: template
    template: homewizard
    usage: grid
    host: 10.0.0.61 # IP address or hostname
  # replace with your real solar system
  - name: my_pv
    type: template
    template: solaredge-hybrid
    usage: pv
    modbus: tcpip
    id: 1
    host: 10.0.0.60 # Hostname
    port: 1502 # Port
    timeout: 15s # Time
    watchdog: 60s # Watchdog, optional
    
# replace with your real charger
# see https://docs.evcc.io/docs/devices/chargers
chargers:
  - name: alfen
    type: template
    template: alfen
    modbus: tcpip
    id: 1
    host: 10.0.0.63 # Hostname
    port: 502 # Port
  - name: EvBox
    type: template
    template: ocpp-evbox-elvi
    stationid: EVB-P21192008 

# replace with your real vehicle (optional)
# see https://docs.evcc.io/docs/devices/vehicles
vehicles:
  - name: ix3
    type: template
    template: cardata 
    capacity: 74 # Battery capacity (kWh), optional
    clientid: xxx
    #cache: 20m
    #priority: 2
    vin: xxx
  - name: i3
    type: template
    template: cardata 
    capacity: 27 # Battery capacity (kWh), optional
    clientid: xxx
    #cache: 20m
    #priority: 1
    vin: xxx
circuits:
  - name: main # if there is only one circuit defined the name needs to be 'main'
    title: 'main circuit' # name for the UI (not implemented in UI yet)
    maxCurrent: 39 
    meter: my_grid
    
# enter your real grid tariff and feed-in price
# see https://docs.evcc.io/docs/tariffs
tariffs:
  grid:
    type: template
    template: nordpool 
    region: BE
    currency: EUR
    charges: 0.136571
    tax: 1.0645
    #bijz_accijns: 0.050329
    #energiebijdrage: 0.002042
    #kost_gsc: 0.0116
    #kost_wkk: 0.0036
    #afnametarief: 0.062
    #marge_procentueel: 1.0645
    #marge_per_kwh: 0.007
    formula: ((price * tax) + charges ) * 1
modbusproxy:
  port: 1502        # Port that Home Assistant will connect to (default 1502)
  uri: 10.0.0.60:1502  # IP of your SolarEdge inverter
  readonly: false

Log details

**[lp-2 ] DEBUG 2025/10/16 16:59:54 plan: charge 1h35m42s between 2025-10-16 17:00:00 +0200 CEST until 2025-10-17 07:00:00 +0200 CEST (power: 3680W, avg cost: 0.222)**
[lp-2 ] DEBUG 2025/10/16 16:59:54 pv charge current: 0A = 0A + -2.19A (503W @ 1p)
[lp-2 ] DEBUG 2025/10/16 17:00:09 charge power: 4W
[lp-2 ] DEBUG 2025/10/16 17:00:09 charge currents: [0 0 0]A
[lp-2 ] DEBUG 2025/10/16 17:00:24 charge power: 4W
[lp-2 ] DEBUG 2025/10/16 17:00:24 charge currents: [0 0 0]A
[lp-2 ] DEBUG 2025/10/16 17:00:24 charge voltages: [225 1 0]V
[lp-2 ] DEBUG 2025/10/16 17:00:24 detected connected phases: 1p
[lp-2 ] DEBUG 2025/10/16 17:00:24 charge total import: 6680.102kWh
[lp-2 ] DEBUG 2025/10/16 17:00:24 charger status: B
**[lp-2 ] DEBUG 2025/10/16 17:00:24 plan: charge 1h35m42s between 2025-10-16 17:00:25 +0200 CEST until 2025-10-17 07:00:00 +0200 CEST (power: 3680W, avg cost: 0.222)
[lp-2 ] DEBUG 2025/10/16 17:00:24 plan: slot too short- ignoring remaining 14m35s**
[lp-2 ] DEBUG 2025/10/16 17:00:24 pv charge current: 0A = 0A + -1.87A (430W @ 1p)
[lp-2 ] DEBUG 2025/10/16 17:00:39 charge power: 0W
[lp-2 ] DEBUG 2025/10/16 17:00:39 charge currents: [0 0 0]A
[lp-2 ] DEBUG 2025/10/16 17:00:54 charge power: 0W

What type of operating system or environment does evcc run on?

Docker container

External automation

  • [x] I have made sure that no external automation like HomeAssistant or Node-RED is active or accessing any of the mentioned devices when this issue occurs.

Nightly build

  • [ ] I have verified that the issue is reproducible with the latest nightly build

Version

0.209.2

PTiTDaV avatar Oct 16 '25 17:10 PTiTDaV

Due to 1ee48a5, discussed in https://github.com/evcc-io/evcc/issues/24240. We might revert this in favor of https://github.com/evcc-io/evcc/pull/24423.

/cc @machristoph1

andig avatar Oct 17 '25 09:10 andig

I would really like to have similar feature - but with the flavor of possibility to configure optimization using only hourly interval. In my use case my grid meter in doing all calculations on hour basis until 2030 (due to grid company being lazy of changing the energy meters). Also many components could potentially not benefit from switching contactors on and off all the time - e.g. I've understood (rumors, not confirmed knowledge) that some EVs would behave badly from too many interceptions in loading.

jonilehtola avatar Oct 26 '25 10:10 jonilehtola

Also many components could potentially not benefit from switching contactors on and off all the time - e.g. I've understood (rumors, not confirmed knowledge) that some EVs would behave badly from too many interceptions in loading.

I think relays (=contactors) in the cars can switch an incredible number of time before failure. I don't know how regenerative charging works but with that the battery-pack gets charges sometimes for only a few seconds....

i'd love to see 15 minute charging moments realized.

AtariAndre42 avatar Nov 17 '25 22:11 AtariAndre42

Regenerative charging works digitally, same as during regular driving - motor inverter switches current for different motor windings on and off - many times a second.. While contactors are mechanical devices with some large, but still limited time of life cycles.

Regardless, I think it would be better to not ignore single 15 minute intervals. Incidentally noticed price jump yesterday - a single period of 0.78 Eur/kWh , (price was at 26ct before and 31ct after..) I would like my chargers and other consumers to react to such price jumps or falls, not to ignore them.

But - some vehicles could decide that a charger that switches on or off too many times is faulty and stop charging. Could this be a optional setting with a toggle ?

RTTTC avatar Nov 17 '25 22:11 RTTTC

The bad behaviour is most likely due to vehicle or BMS software bugs. But none the less why not let the end user decide and give the property a decent default. Then everybody would be satisfied.

jonilehtola avatar Nov 18 '25 12:11 jonilehtola

For me, the single 15 min slot is not skipped, but is started 10 minutes too late, i.e., it only runs for 5 minutes. Plan UI shows that first slot is from 3:45 to 4:00, see picture:

Image

However, the plan really starts at 3:55. WHat is curious is that the second 15 min slot does start in time (at 4:15).

{
    "start": "2025-12-15T03:55:05+02:00",
    "end": "2025-12-15T04:00:00+02:00",
    "value": 0.0867125
  },
  {
    "start": "2025-12-15T04:15:00+02:00",
    "end": "2025-12-15T04:30:00+02:00",
    "value": 0.086225
  },

jpalo avatar Dec 14 '25 14:12 jpalo

Is there anything planned on the question of charging strategies with 15 min slots? There doesn't seem to be recent progress in #24423. Again, this night, I had the problem that the last charging interval did not start properly. While acknowledging that this is not an evcc Problem (my current assumption is that the car "dislikes" too frequent restarts), I would still very much appreciate a configuration option that allows to circumvent the problem.

machristoph1 avatar Dec 17 '25 11:12 machristoph1

Working on getting PR merged

andig avatar Dec 17 '25 11:12 andig