evcc-io / evcc

Sonne tanken ☀️🚘
https://evcc.io
MIT License
3.58k stars 661 forks source link

bufferSoc: PV modus startet Laden des E-Autos, wenn die Batterie nicht mehr geladen wird #6213

Closed binderth closed 1 year ago

binderth commented 1 year ago

Describe the bug

Wenn ein E-Auto angesteckt ist und der Modus auf "pv" im evcc steht, wird das Auto in dem Moment geladen, wenn die Haus-Batterie nicht mehr geladen wird - was meist abends der Fall ist, wenn die PV-Leistung eh nicht mehr ausreichend ist - aber die Haus-Batterie über bufferSoC geladen ist: 2023-02-12_12h34_40 hier im Bild zu sehen ab 16:36 wurde geladen, bei Haus-SoC 75% wurde gestoppt.

expected behavior

Das Auto wird weiterhin nicht geladen, weil die PV-Leistung bei weitem nicht ausreicht, das Auto zu laden:

=> d.h. rein rechnerisch stünden im Bild ca. 700Watt zur Verfügung, die nichtmal 1p Ladeleistung erlaubten.

Steps to reproduce

  1. E-Auto anstecken
  2. Warten, bis die Haus-Batterie nicht mehr geladen wird
  3. zusehen, wie der Lade-Befehl an den Ladepunkt geht, an dem das Auto angesteckt ist
  4. trotz nicht ausreichender PV-Leistung

Configuration details

network:
  # schema is the HTTP schema
  # setting to `https` does not enable https, it only changes the way URLs are generated
  schema: http

  # host is the hostname or IP address
  # if the host name contains a `.local` suffix, the name will be announced on MDNS
  # docker: MDNS announcements don't work. Host must be set to the docker host's name
  #host: evcc.local
  host: 0.0.0.0

  # port is the listening port for UI and api
  # evcc will listen on all available interfaces
  port: 7070

  # per default, evcc should be available at http://evcc.local:7070

interval: 10s # control cycle interval
log: info

meters:
# meter definitions
# name can be freely chosen and is used as reference when assigning meters to site and loadpoints
# for examples see https://github.com/evcc-io/config#meters
- type: custom
  name: PVErzeugung
  power:
    source: http
    uri: http://192.168.78.10:8080/rest/items/KOS_PVPower
    method: GET
    headers:
    - content-type: application/json
    jq: .state|split(" ")[0]|split(".")[0]
- type: custom
  name: Netzbezug
  power:
    source: http
    uri: http://192.168.78.10:8080/rest/items/KOS_HomeConsumptionGrid
    method: GET
    headers:
    - content-type: application/json
    jq: .state|split(" ")[0]|split(".")[0]
    scale: 1
- type: custom
  name: BYD10
  power:
    source: http
    uri: http://192.168.78.10:8080/rest/items/KOS_BatteryChargeDischarge
    method: GET
    headers:
    - content-type: application/json
    jq: .state|split(" ")[0]|split(".")[0]
    scale: 1
  soc:
    source: http
    uri: http://192.168.78.10:8080/rest/items/KOS_BatterySoC
    method: GET
    headers:
    - content-type: application/json
    jq: .state|split(" ")[0]|split(".")[0]

chargers:
# charger definitions
# name can be freely chosen and is used as reference when assigning charger to vehicle
# for examples see https://github.com/evcc-io/config#chargers
- type: template
  template: tinkerforge-warp
  fw2: true
  host: 192.168.78.18
  port: 1883
  topic: devices/Warp2
  timeout: 30s
  name: WarpWallbox

vehicles:
# vehicle definitions
# name can be freely chosen and is used as reference when assigning vehicle to loadpoint
# for examples see https://github.com/evcc-io/config#vehicles
- name: 500e
  type: template
  template: offline
  title: Fiat 500e
  capacity: 22
- name: EV6
  type: custom
  title: Kia EV6 # display name for UI
  capacity: 77 # byttery capacity (kWh)
  soc: # battery soc (%)
    source: http
    uri: http://192.168.78.10:8080/rest/items/EV6_batteryStatus
    method: GET
    headers:
    - content-type: application/json
    jq: .state|split(" ")[0]|split(".")[0]
  range: # optional electric range (km)
    source: http
    uri: http://192.168.78.10:8080/rest/items/EV6_availableRange 
    method: GET
    headers:
    - content-type: application/json
    jq: .state|split(" ")[0]|split(".")[0]
  status: # FahrzeugStatus (%)
    source: http
    uri: http://192.168.78.10:8080/rest/items/EV6_vehicleStatus
    method: GET
    headers:
    - content-type: application/json
    jq: .state|split(" ")[0]|split(".")[0]
  onIdentify: # set defaults when vehicle is identified
    mode: pv
    minSoC: 25
    targetSoC: 80

tariffs:
# tariffs are the fixed or variable tariffs
# cheap (tibber/awattar) can be used to define a tariff rate considered cheap enough for charging
  currency: EUR # (default EUR)
  grid:
    #type: fixed
    #price: 0.319 # [currency]/kWh
    type: tibber
    cheap: 0.25
    token: "xxx"
    homeid: "yyy"
  feedin:
    type: fixed
    price: 0.065 # [currency]/kWh

loadpoints:
# loadpoint describes the charger, charge meter and connected vehicle
- title: Warp
  charger: WarpWallbox
  mode: pv
  phases: 3
  mincurrent: 6
  maxcurrent: 16
  resetOnDisconnect: true
  vehicle: 500e

site:
# site describes the EVU connection, PV and home battery
  title: Zuhause
  meters:
    grid: Netzbezug
    pvs:
    - PVErzeugung
    batteries:
    - BYD10
  prioritySoC: 66
  bufferSoC: 75
  residualPower: 600

mqtt:
  broker: 192.168.78.18:1883
  topic: servers/evcc

# sponsor token enables optional features (request at https://cloud.evcc.io)
sponsortoken: xxxx
plant: yyyy

Log details

zum Zeitpunkt leider kein DEBUG-Log vorhanden, Verhalten kann aber immer nachvollzogen werden, wenn:

* der aktuelle Haus-SoC > bufferSoC ist
* die Haus-Batterie nicht mehr geladen wird
* auch wenn PV-Leistung nicht mehr ausreichend ist

What type of operating system are you running?

Docker container

Version

0.112.5

VolkerK62 commented 1 year ago

Durch mehrere Diskussionen und einen Selbstversuch habe ich folgendes herausgefunden: Ausgangssituation: Auto ist angesteckt, Modus PV, es wird nicht geladen, BatterySoc > bufferSoc

Solange die Hausbatterie geladen wird, startet die Fahrzeugladung nicht. Wird die Hausbatterie nicht mehr geladen bzw. entladen (Kipppunkt konnte ich nicht testen), dann startet die Fahrzeugladung sofort, ohne Timer.

Offensichtlich hat bufferSoc keine Wirkung, solange die Batterie geladen wird.

andig commented 1 year ago

Siehe https://github.com/evcc-io/evcc/discussions/1361

andig commented 1 year ago

Solange die Hausbatterie geladen wird, startet die Fahrzeugladung nicht.

Das ergibt wenig Sinn, da Batterieladung immer als verfügbare Leistung gewertet wird. Sollte das so sein wärs ein Bug, ist aber wirklich schwer zu glauben. Hat aber m.E. nichts mit dem beschriebenen Problem zu tun.

Mangels Logfile mache ich hier zu. Gerne weiter wenn es etwas Nachvollziehbares gibt.

andig commented 1 year ago

Im Eingangspost (anderes Thema!) startet die Ladung nicht weil einfach nicht genug Leistung dafür vorhanden ist. Die Batterie zählt nicht weil nicht bekannt ist, welche Leistung sie beisteuern könnte. Würde einmal geladen (Min+PV) so würde die Ladung bis bufferSoc fortgesetzt sofern die Batterie ausreichend Leistung liefert.

binderth commented 1 year ago

Im Eingangspost (anderes Thema!) startet die Ladung nicht weil einfach nicht genug Leistung dafür vorhanden ist. Die Batterie zählt nicht weil nicht bekannt ist, welche Leistung sie beisteuern könnte.

Problem ist ja eben, dass exakt dann der Ladevorgang beginnt, wenn die Haus-Batterie nicht mehr geladen wird und (und das sehe ich als Fehler) die PV-Leistung weiterhin nicht ausreicht, selbst mit residualPower nicht.

Kanns morgen abend gern nochmal nachstellen, morgen sollte das Auto bewegt werden und <100% haben.

andig commented 1 year ago

Ja, das wäre falsch.

VolkerK62 commented 1 year ago

Gestern diesen Test gemacht. PV Modus, nur wenig PV Power, Hausbatterie wurde leicht geladen. bufferSoc auf 10% gestellt. Erstmal ist nix passiert, Dann habe ich die Herdplatte eingeschaltet, Batterie ging in die Entladung und das Auto fing sofort an zu laden.

Feb 12 12:20:24 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:24 ----
Feb 12 12:20:24 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:24 charge power: 0W
Feb 12 12:20:24 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:24 pv power: 839W
Feb 12 12:20:24 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:24 battery soc: 20%
Feb 12 12:20:24 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:24 battery power: -232W
Feb 12 12:20:25 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:25 grid power: -10W
Feb 12 12:20:25 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:25 grid powers: [-12 21 -19]W
Feb 12 12:20:25 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:25 grid currents: [-1.14 0.86 -1.03]A
Feb 12 12:20:25 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:25 site power: -143W
Feb 12 12:20:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:25 charge currents: [0 0 0]A
Feb 12 12:20:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:25 charger status: B
Feb 12 12:20:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:25 next soc poll remaining time: 47m14s
Feb 12 12:20:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:25 pv charge current: 0.62A = 0A + 0.62A (-143W @ 1p)
Feb 12 12:20:39 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:39 ----
Feb 12 12:20:39 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:39 charge power: 0W
Feb 12 12:20:39 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:39 pv power: 836W
Feb 12 12:20:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:40 battery soc: 21%
Feb 12 12:20:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:40 battery power: 14W
Feb 12 12:20:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:40 grid power: 1720W
Feb 12 12:20:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:40 grid powers: [1769 4 -52]W
Feb 12 12:20:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:40 grid currents: [7.75 0.86 -1.02]A
Feb 12 12:20:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:40 site power: 1834W
Feb 12 12:20:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:40 charge currents: [0 0 0]A
Feb 12 12:20:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:40 charger status: B
Feb 12 12:20:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:40 next soc poll remaining time: 46m59s
Feb 12 12:20:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:40 pv charge current: 0A = 0A + -7.97A (1834W @ 1p)
Feb 12 12:20:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:40 max charge current: 6A
Feb 12 12:20:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:40 charger enable
Feb 12 12:20:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:40 wake-up timer: start
Feb 12 12:20:54 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:54 ----
Feb 12 12:20:54 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:54 charge power: 400W
Feb 12 12:20:54 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:54 pv power: 837W
Feb 12 12:20:54 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:54 battery soc: 21%
Feb 12 12:20:54 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:54 battery power: 1059W
Feb 12 12:20:55 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:55 grid power: 1955W
Feb 12 12:20:55 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:55 grid powers: [722 4 1230]W
Feb 12 12:20:55 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:55 grid currents: [3.19 0.88 5.66]A
Feb 12 12:20:55 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:55 site power: 3114W
Feb 12 12:20:55 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:55 charge currents: [2.6 0 0]A
Feb 12 12:20:55 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:55 charger status: C
Feb 12 12:20:55 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:55 charge start energy: 99.3kWh
Feb 12 12:20:55 raspberrypi evcc[10762]: [lp-1  ] INFO 2023/02/12 12:20:55 start charging ->
Feb 12 12:21:11 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:11 soc estimated: 59.00% (vehicle: 59.00%)
Feb 12 12:21:11 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:11 vehicle soc: 59%
Feb 12 12:21:11 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:11 vehicle soc limit: 100%
Feb 12 12:21:11 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:11 vehicle range: 218km
Feb 12 12:21:11 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:11 pv charge current: 0A = 4.6A + -13.5A (3114W @ 1p)
Feb 12 12:21:11 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:11 ----
Feb 12 12:21:11 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:11 telemetry: charge: Δ2/3Wh @ 400W
Feb 12 12:21:11 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:11 charge power: 1200W
andig commented 1 year ago

Problem ist ja eben, dass exakt dann der Ladevorgang beginnt, wenn die Haus-Batterie nicht mehr geladen wird und (und das sehe ich als Fehler) die PV-Leistung weiterhin nicht ausreicht, selbst mit residualPower nicht.

@VolkerK62 also gleiche Fehlerbeschreibung? Hast Du noch 10 Zeilen Log mehr damit man den eingeschwungenen Zustand danach sehen kann?

VolkerK62 commented 1 year ago

Ich habe dann kurz nach dem Einschalten bufferSoc wieder hochgesetzt, dann fing der disable Timer an

Feb 12 12:20:55 raspberrypi evcc[10762]: [lp-1  ] INFO 2023/02/12 12:20:55 start charging ->
Feb 12 12:21:11 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:11 soc estimated: 59.00% (vehicle: 59.00%)
Feb 12 12:21:11 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:11 vehicle soc: 59%
Feb 12 12:21:11 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:11 vehicle soc limit: 100%
Feb 12 12:21:11 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:11 vehicle range: 218km
Feb 12 12:21:11 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:11 pv charge current: 0A = 4.6A + -13.5A (3114W @ 1p)
Feb 12 12:21:11 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:11 ----
Feb 12 12:21:11 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:11 telemetry: charge: Δ2/3Wh @ 400W
Feb 12 12:21:11 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:11 charge power: 1200W
Feb 12 12:21:11 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:11 pv power: 835W
Feb 12 12:21:11 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:11 battery soc: 21%
Feb 12 12:21:11 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:11 battery power: 1015W
Feb 12 12:21:11 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:11 grid power: -69W
Feb 12 12:21:12 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:12 grid powers: [-1271 9 1176]W
Feb 12 12:21:12 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:12 grid currents: [-5.54 0.9 5.48]A
Feb 12 12:21:12 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:12 site power: 1047W
Feb 12 12:21:12 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:12 charge currents: [5.5 0 0]A
Feb 12 12:21:12 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:12 detected active phases: 1p
Feb 12 12:21:12 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:12 charger status: C
Feb 12 12:21:12 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:12 next soc poll remaining time: 3h59m43s
Feb 12 12:21:12 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:12 soc estimated: 59.00% (vehicle: 59.00%)
Feb 12 12:21:12 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:12 vehicle soc: 59%
Feb 12 12:21:12 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:12 vehicle soc limit: 100%
Feb 12 12:21:12 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:12 vehicle range: 218km
Feb 12 12:21:12 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:12 pv charge current: 1.45A = 6A + -4.55A (1047W @ 1p)
Feb 12 12:21:24 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:24 ----
Feb 12 12:21:24 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:24 charge power: 1200W
Feb 12 12:21:24 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:24 pv power: 843W
Feb 12 12:21:24 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:24 battery soc: 21%
Feb 12 12:21:24 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:24 battery power: 1073W
Feb 12 12:21:25 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:25 grid power: -54W
Feb 12 12:21:25 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:25 grid powers: [-1287 19 1214]W
Feb 12 12:21:25 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:25 grid currents: [-5.59 0.89 5.69]A
Feb 12 12:21:25 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:25 site power: 1119W
Feb 12 12:21:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:25 charge currents: [5.5 0 0]A
Feb 12 12:21:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:25 detected active phases: 1p
Feb 12 12:21:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:25 charger status: C
Feb 12 12:21:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:25 next soc poll remaining time: 3h59m46s
Feb 12 12:21:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:25 soc estimated: 59.00% (vehicle: 59.00%)
Feb 12 12:21:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:25 vehicle soc: 59%
Feb 12 12:21:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:25 vehicle soc limit: 100%
Feb 12 12:21:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:25 vehicle range: 218km
Feb 12 12:21:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:25 pv charge current: 1.13A = 6A + -4.87A (1119W @ 1p)
Feb 12 12:21:39 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:39 ----
Feb 12 12:21:39 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:39 charge power: 1200W
Feb 12 12:21:39 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:39 pv power: 841W
Feb 12 12:21:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:40 battery soc: 21%
Feb 12 12:21:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:40 battery power: 1117W
Feb 12 12:21:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:40 grid power: -67W
Feb 12 12:21:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:40 grid powers: [-1278 0 1212]W
Feb 12 12:21:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:40 grid currents: [-5.55 0.91 5.69]A
Feb 12 12:21:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:40 site power: 1151W
Feb 12 12:21:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:40 charge currents: [5.5 0 0]A
Feb 12 12:21:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:40 detected active phases: 1p
Feb 12 12:21:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:40 charger status: C
Feb 12 12:21:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:40 next soc poll remaining time: 3h59m44s
Feb 12 12:21:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:40 soc estimated: 59.00% (vehicle: 59.00%)
Feb 12 12:21:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:40 vehicle soc: 59%
Feb 12 12:21:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:40 vehicle soc limit: 100%
Feb 12 12:21:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:40 vehicle range: 218km
Feb 12 12:21:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:40 pv charge current: 0.996A = 6A + -5A (1151W @ 1p)
Feb 12 12:21:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:40 site power 1151W >= 0W disable threshold
Feb 12 12:21:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:40 pv disable timer start: 3m0s
Feb 12 12:21:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:40 pv disable in 3m0s
Feb 12 12:21:49 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:49 set charge mode: off
Feb 12 12:21:49 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:49 pv timer reset
Feb 12 12:21:49 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:49 pv timer inactive
Feb 12 12:21:49 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:49 ----
Feb 12 12:21:49 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:49 charge power: 1200W
Feb 12 12:21:49 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:49 pv power: 843W
Feb 12 12:21:49 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:49 battery soc: 21%
Feb 12 12:21:49 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:49 battery power: 1071W
Feb 12 12:21:49 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:49 grid power: -51W
Feb 12 12:21:49 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:49 grid powers: [-1281 16 1213]W
Feb 12 12:21:49 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:49 grid currents: [-5.55 0.87 5.68]A
Feb 12 12:21:49 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:49 site power: 1119W
Feb 12 12:21:49 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:49 charge currents: [5.5 0 0]A
Feb 12 12:21:49 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:49 detected active phases: 1p
Feb 12 12:21:50 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:50 charger status: C
Feb 12 12:21:50 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:50 next soc poll remaining time: 3h59m50s
Feb 12 12:21:50 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:50 soc estimated: 59.00% (vehicle: 59.00%)
Feb 12 12:21:50 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:50 vehicle soc: 59%
Feb 12 12:21:50 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:50 vehicle soc limit: 100%
Feb 12 12:21:50 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:50 vehicle range: 218km
Feb 12 12:21:50 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:50 charger disable
Feb 12 12:21:50 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:50 wake-up timer: stop
Feb 12 12:21:50 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:50 telemetry: charge: Δ13/13Wh @ 1200W
Feb 12 12:21:54 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:54 ----
Feb 12 12:21:54 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:54 charge power: 1200W
Feb 12 12:21:54 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:54 pv power: 843W
Feb 12 12:21:54 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:54 battery soc: 21%
Feb 12 12:21:54 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:54 battery power: 1008W
Feb 12 12:21:55 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:55 grid power: -1214W
Feb 12 12:21:55 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:55 grid powers: [-1198 7 -22]W
Feb 12 12:21:55 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:55 grid currents: [-5.21 0.88 -1.02]A
Feb 12 12:21:55 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:21:55 site power: -106W
Feb 12 12:21:55 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:55 charge currents: [5.5 0 0]A
Feb 12 12:21:55 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:55 detected active phases: 1p
Feb 12 12:21:55 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:55 charger status: C
Feb 12 12:21:55 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:55 next soc poll remaining time: 3h59m54s
Feb 12 12:21:55 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:55 soc estimated: 59.00% (vehicle: 59.00%)
Feb 12 12:21:55 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:55 vehicle soc: 59%
Feb 12 12:21:55 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:55 vehicle soc limit: 100%
Feb 12 12:21:55 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:21:55 vehicle range: 218km
Feb 12 12:22:09 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:09 ----
Feb 12 12:22:09 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:09 charge power: 0W
Feb 12 12:22:09 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:09 pv power: 847W
Feb 12 12:22:09 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:09 battery soc: 21%
Feb 12 12:22:09 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:09 battery power: 186W
Feb 12 12:22:10 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:10 grid power: -147W
Feb 12 12:22:10 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:10 grid powers: [-139 15 -23]W
Feb 12 12:22:10 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:10 grid currents: [-0.93 0.86 -1.03]A
Feb 12 12:22:10 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:10 site power: 139W
Feb 12 12:22:10 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:10 charge currents: [0 0 0]A
Feb 12 12:22:10 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:10 charger status: B
Feb 12 12:22:10 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:10 final charge energy: 0kWh
Feb 12 12:22:10 raspberrypi evcc[10762]: [lp-1  ] INFO 2023/02/12 12:22:10 stop charging <-
Feb 12 12:22:10 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:10 soc estimated: 59.00% (vehicle: 59.00%)
Feb 12 12:22:10 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:10 vehicle soc: 59%
Feb 12 12:22:10 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:10 vehicle soc limit: 100%
Feb 12 12:22:10 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:10 vehicle range: 218km
Feb 12 12:22:24 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:24 ----
Feb 12 12:22:24 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:24 charge power: 0W
Feb 12 12:22:24 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:24 pv power: 851W
Feb 12 12:22:24 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:24 battery soc: 21%
Feb 12 12:22:24 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:24 battery power: -355W
Feb 12 12:22:25 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:25 grid power: 103W
Feb 12 12:22:25 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:25 grid powers: [112 16 -25]W
Feb 12 12:22:25 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:25 grid currents: [1.36 0.86 -1.04]A
Feb 12 12:22:25 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:25 site power: -152W
Feb 12 12:22:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:25 charge currents: [0 0 0]A
Feb 12 12:22:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:25 charger status: B
Feb 12 12:22:25 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:25 next soc poll remaining time: 3h59m44s
Feb 12 12:22:38 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:22:38 set charge mode: pv
Feb 12 12:22:38 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:22:38 ----
andig commented 1 year ago

@VolkerK62 also gleiche Fehlerbeschreibung?

Ja?

VolkerK62 commented 1 year ago

Sorry, das hab ich überlesen. Ja. Residualpower steht auf +100.

Ich glaube, das "Problem" ist https://github.com/evcc-io/evcc/discussions/1361#discussioncomment-1274270

BufferSoc wird als "Schalter" genommen um so eine Art "Min+PV" einzuschalten. Das ist mMn okay, wenn es um das AUSschaltverhalten geht. Aber ich denke, es ist falsch, wenn es um das EINschaltverhalten geht.

Ich werde den obigen Test heute Abend mal wiederholen, wenn keine PV-Erzeugung mehr da ist. Ich vermute stark, dass auch dann eingeschaltet wird. (gegen dich wetten würde ich aber nicht ;-)

andig commented 1 year ago

Also die Werte stimmen:

Feb 12 12:20:39 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:39 charge power: 0W
Feb 12 12:20:39 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:39 pv power: 836W
Feb 12 12:20:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:40 battery power: 14W
Feb 12 12:20:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:40 grid power: 1720W
Feb 12 12:20:40 raspberrypi evcc[10762]: [site  ] DEBUG 2023/02/12 12:20:40 site power: 1834W

Was nicht passt ist:

Feb 12 12:20:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:40 pv charge current: 0A = 0A + -7.97A (1834W @ 1p)
Feb 12 12:20:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:40 max charge current: 6A
Feb 12 12:20:40 raspberrypi evcc[10762]: [lp-1  ] DEBUG 2023/02/12 12:20:40 charger enable

Warum passiert das?

case mode == api.ModeMinPV || mode == api.ModePV:
    targetCurrent := lp.pvMaxCurrent(mode, sitePower, batteryBuffered)

    var required bool // false
    if targetCurrent == 0 && lp.climateActive() {
        targetCurrent = lp.GetMinCurrent()
        required = true
    }

    // Sunny Home Manager
    if lp.remoteControlled(loadpoint.RemoteSoftDisable) {
        remoteDisabled = loadpoint.RemoteSoftDisable
        targetCurrent = 0
        required = true
    }

    err = lp.setLimit(targetCurrent, required)
}

Kann es sein, dass beim Auto Klimatisierung detektiert wurde? Sonst fällt mir kein guter Grund ein warum die 0 wieder auf 6 korrigiert werden sollte???

VolkerK62 commented 1 year ago

Kann es sein, dass beim Auto Klimatisierung detektiert wurde?

Nein. Wird bei Bluelink nicht unterstützt.

andig commented 1 year ago

Letzte Idee: bitte nochmal trace log davon, oder wie müssen eine Debugsession machen. Da ist ja sonst nix :/

binderth commented 1 year ago

ok, ich starte meinen Docker grad mal mit TRACE neu und warte ab. könnte bissle größer werden das logfile dann! ;)

andig commented 1 year ago

Ich hab in lp.pvMaxCurrent() noch was gefunden, aber noch nicht versucht, die Logik zu verstehen:

// in MinPV mode or under special conditions return at least minCurrent
if (mode == api.ModeMinPV || batteryBuffered || lp.climateActive()) && targetCurrent < minCurrent {
    return minCurrent
}

Im Prinzip: falls abgeschaltet würde und MinPV, dann minimaler Strom. Analog machen wir das aber auch falls Batteriepuffer vorhanden ist. Das sieht erstmal unklar aus.

@binderth denke Log hat sich damit erledigt, Ursache gefunden.

binderth commented 1 year ago

ok. alles klar. hab eh gerade rausgefunden, dass meine Batterie über Tags nicht über 10% kam. Habs grad noch simulieren können mit 5% bufferSoC, hat aber bei Start von evcc gleich bei 6% zu laden begonnen. Falls noch Notwendigkeit besteht - kurz anstupsen, das trace-log ist eben fertig.

andig commented 1 year ago

Root cause: https://github.com/evcc-io/evcc/pull/1469, das ging also noch nie richtig. Später Doppelprüfung auf climaterActive() in https://github.com/evcc-io/evcc/pull/2333

VolkerK62 commented 1 year ago

das ging also noch nie richtig.

ist dir Frage, was "richtig" ist. Wenn man sich das Issue #1361 anschaut, ist es works as designed.

Nachtrag: Use case war: ein riesiger voller Akku im Keller, anstecken und es wird automatisch geladen. Dann gibt es noch den use case, dass man mit einem kleinen Akku lediglich eine aktive Ladung unterstützen will, damit sie nicht beendet wird. Mir fällt nix ein, wie man mit den aktuellen Werkzeugen die beiden cases trennen könnte.

Webwanze commented 1 year ago

Hallo,

eigentlich sollte bei Überschreiten von buffersoc in den Modus Min+PV geschaltet werden. Beim Unterschreiten zurück nach PV.

Ob der Hausakku geladen wird ist völlig relevant.

Usecase für das Verhalten:

thebrainkafka commented 1 year ago

Ich hatte es so verstanden dass der Hausbatterie Speicher die Ladung unterstützt um kurzzeitige Unterbrechungen (Wolke z.b. damit kleiner Mindestleistung) zu verhindern. Ein entladen der Hausbatterie über dies Hinaus halte ich für wenig sinnvoll (auch auf Basis der gängigen Batteriespeichergrößen). Und wenn dies erfolgen sollte dann in keinen Fall unter den definierten BufferSoc.

Webwanze commented 1 year ago

Kannst du ja einstellen, wie dein buffersoc sein soll.

Ich habe hier Akkus am Start mit bis zu 200 kWh und 50 kW Ausspeiseleistung. Da kann man schon auch mal ein Auto laden.

Jeder hat eben ein individuelles Setup.

binderth commented 1 year ago

Der normale Use Case sind sicherlich 10kWh Speicher und 40-70kWh E-Auto. Und nein, wenn evcc automatisch den Lademodus wechselt empfinde ich das nicht sinnvoll. Die Haus-Batterie zur Überbrückung von Wolken zu verwenden ist ein sinnvoller UseCase, aber es macht in der überwiegenden Mehrheit keinen Sinn, "teureren" Haus-Speicher-Strom über zweimal Wandeln in E-Auto Speicher zu laden. Wer im Sommer verhindern will, mit voller Batterie aus der Nacht zu kommen, kann ja Ziel-Laden oder per Schalter/API den Lademodus am Morgen entsprechend auf MinPV ändern.

Aus User-Sicht ist ein Lademodus-Wechsel nur sinnvoll, wenn man das vorab so plant und drauf hingewiesen wird. Auch das ein Edge-Case: Start des Ladevorgangs mit "pv" und Ziel-Laden bis 8h morgen. Mit nicht ausreichend PV-Leistung stoppt "PV" nach eingestellten Intervall wie konfiguriert (3min sind glaub Standard). Wenn noch nicht fertig geladen, wird rechtzeitig nachgeladen. Das ist netzdienlich und gibt die Chance, mit genügend grosser Batterie dann doch den UseCase "ich möchte im Sommer möglichst viele Zyklen erreichen" dadurch zu lösen. Aber aus meiner Sicht sollte evcc dabei helfen, möglichst viel PV-Strom direkt zu verwenden.

Wer mag und eine entsprechend riesig dimensionierte Anlage hat, kann sich ja per API selbst einen "Battery"-Modus basteln. Ist aber nicht die Regelgröße, leider.

Webwanze commented 1 year ago

Dann stellst du halt buffersoc auf 100 und hast was du möchtest. Ist ja auch der Default.

Anlagen mit ZeroExport oder Inseln sind aber auf das Feature angewiesen.

VolkerK62 commented 1 year ago

Alle Usecase sind sicherlich sinnvoll, aber auch sehr individuell. Es sollte die Möglichkeit geben, das man zusätzlich zu "nicht beenden" auch noch "neu starten" auswählen kann. Z.B. ein bufferStart: true/false. Ja, es wäre ein neuer Parameter, aber aufgrund der immer wieder aufkommenden Diskussionen rund um bufferSoc und der großen Unterschiede zwischen den Usecase halte ich den für durchaus nützlich.

Nachtrag: Die Doku spricht von "Ladung nicht unterbrechen". Erst im Nachhinein ist (aufgrund diverser Diskussionen) der Hinweis aufgenommen worden, dass die Ladung dadurch auch gestartet wird.

binderth commented 1 year ago

Dann stellst du halt buffersoc auf 100 und hast was du möchtest. Ist ja auch der Default.

Dann sind allerdings 90% der Anlagen außen vor, weil keine Inseln. 100 bufferSoC ist halt meist sinnfrei.

Nachtrag: Die Doku spricht von "Ladung nicht unterbrechen".

Darauf beziehe ich mich und das sollte auch so bleiben. Ansonsten sehe ich keinen Sinn im evcc, weil ich es sinnfrei finde Haus-Batterien mit doppelt Verlusten zwangsweise bei Sonnenuntergang ins Auto zu entladen.

premultiply commented 1 year ago

Ich ziehe aus der ganzen Diskussion nur folgendes Fazit:

Gewünscht ist, dass die Fahrzeugladung oberhalb bufferSoc zuverlässig und eindeutig (wie bei Min+PV) startet. Das ist bisher nur unter auf den ersten Blick nicht ganz nachvollziehbaren Bedingungen der Fall.

Mir war das vorher nicht bewusst dass dies derzeit nicht immer so funktioniert wie dokumentiert.

binderth commented 1 year ago

Gewünscht ist, dass die Fahrzeugladung oberhalb bufferSoc zuverlässig und eindeutig (wie bei Min+PV) startet.

Im Modus 'pv' ist ein Start rein aus Batterie allerdings entgegen des Sinnes des Modus. Weil dann isses eben nicht mehr 'pv', sondern 'minpv'. Daher finde ich den von Volker ins Spiel gebrachten Schalter eine gute Idee. Weil, wenn ich 'pv' gewählt habe, möchte ich mit PV-Überschuss laden, nicht mit Batterie-Überschuss. In der Regel können handelsübliche Akkus 5kW, das reicht zwar erstmal für 3p Laden, aber gerade wenn abends z.B. gekocht wird, eben nicht mehr.

Oder es gibt einen "Batterie" Modus, der explizit Nutzung der Batterie erlaubt. Dann aber mit Angabe der maximalen Batterieentladung. Und das wiederum führt zu nix.

Ergo: 'pv' sollte PV-Laden bleiben, mit 'bufferSoc' für Wolken o.ä. wie in der Doku beschrieben. Das sollte der Standardfall bei den meisten Anlagen sein. Nächtliches Entladen der Batterie bei mega-Akkus kann durch Zielladen ja jederzeit erfolgen.

thebrainkafka commented 1 year ago

Ich ziehe aus der ganzen Diskussion nur folgendes Fazit:

Gewünscht ist, dass die Fahrzeugladung oberhalb bufferSoc zuverlässig und eindeutig (wie bei Min+PV) startet. Das ist bisher nur unter auf den ersten Blick nicht ganz nachvollziehbaren Bedingungen der Fall.

Mir war das vorher nicht bewusst dass dies derzeit nicht immer so funktioniert wie dokumentiert.

Genau, nur wenn PV Überschuss vorhanden. Danke. Und bis BufferSoc die Hausbatterie als Puffer nutzt.

thebrainkafka commented 1 year ago

Ergo: 'pv' sollte PV-Laden bleiben, mit 'bufferSoc' für Wolken o.ä. wie in der Doku beschrieben. Das sollte der Standardfall bei den meisten Anlagen sein. Nächtliches Entladen der Batterie bei mega-Akkus kann durch Zielladen ja jederzeit erfolgen.

Exakt.

andig commented 1 year ago

Das bedeutet im Klartext aber auch, dass PV sich >bufferSoc wie MinPV verhält sobald die Ladung gestartet ist.

Jeder hat eben ein individuelles Setup.

Da haben wir tatsächlich eine absolute Sonderlösung für Dich gebaut. Auf jeden Fall kein Bug sondern works as designed.

Gewünscht ist, dass die Fahrzeugladung oberhalb bufferSoc zuverlässig und eindeutig (wie bei Min+PV) startet.

Das mag sein, ist aber einfach nicht möglich da (heute) keine Aussage über die Leistung der Batterie getroffen werden kann, es also nicht klar ist ob minCurrent erreichbar ist. Weitere "mal probieren ob" Logik ist zu vermeiden.

Was wir aber machen könnten wäre, dass die Ladung bufferSoc aufrecht erhalten wird wenn sie einmal läuft. Es gäbe also keinen automatischen Start, wohl aber Ladeerhaltung bis bufferSoc. Aus Anwendersicht brauchts also einen Schubs über minPV, dann würde PV die Ladung halten und abschalten.

Alternativ (und ich möchte das nur sehr ungern) bräuchte es noch einen batteryDischargePower Parameter mit dem sich berechnen liesse, ob ein weiteres Fahrzeug innerhalb dieser geladen werden könnte. Dann:

Das würde allerdings die Modi nicht weiter verwirren.

binderth commented 1 year ago

Was wir aber machen könnten wäre, dass die Ladung bufferSoc aufrecht erhalten wird wenn sie einmal läuft. Es gäbe also keinen automatischen Start, wohl aber Ladeerhaltung bis bufferSoc. Aus Anwendersicht brauchts also einen Schubs über minPV, dann würde PV die Ladung halten und abschalten.

und das ist soweit ich die Doku lese auch der entsprechende Use-Case:

  1. zu geringe PV-Erzeugung bei Überschreitung des bufferSoc: pv bleibt auch aus (weil ja eben die dafür eigtl. nötigen Umgebungsvariablen fehlen)
  2. Ladevorgang ist vor Überschreitung des bufferSoc gestartet und jetzt zu gering: pv lädt weiterhin - bis threshold erreicht ist.

Auch: Wenn jemand überhalb bufferSoc auch ohne PV-Zutun laden möchte, kann er minPV nutzen, residualPower einstellen oder direkt Ziel-Laden nutzen.

Alternativ (und ich möchte das nur sehr ungern) bräuchte es noch einen batteryDischargePower Parameter mit dem sich berechnen liesse, ob ein weiteres Fahrzeug innerhalb dieser geladen werden könnte.

Dann wüsste evcc, ob und wieviel die Batterie beitragen könnte - und in diesem Fall, das käme, plädierte ich dann für einen extra PVplusBattery Modus (oder Schalter), der dann den PV-Überschuss-kW mit der maximalen Entladungs-kW addiert und dann in einem "selbstgemachter verfügbarer Strom" zusammenfasst. Abgesehen von den von Andi erwähnten Schwierigkeiten könnte evcc dann den "PVplusBattery"-Strom so behandeln wie bisher den PV-Überschuss - und entsprechend des sonstigen Hausverbrauches dann im pv-Lademodus abriegeln - mit der Ausnahme, dass bufferSoc (als Puffer bei Wolken) dann natürlich nicht mehr geht, weil die Batterie ja zu 100% in den verfügbaren eigenen Ladestrom einfliesst.

andig commented 1 year ago

plädierte ich dann für einen extra PVplusBattery Modus

Weitere Modi wirds noch weniger geben als weitere Parameter ;)

thebrainkafka commented 1 year ago

und das ist soweit ich die Doku lese auch der entsprechende Use-Case:

  1. zu geringe PV-Erzeugung bei Überschreitung des bufferSoc: pv bleibt auch aus (weil ja eben die dafür eigtl. nötigen Umgebungsvariablen fehlen)
  2. Ladevorgang ist vor Überschreitung des bufferSoc zu gering: pv lädt weiterhin - bis threshold erreicht ist.

Auch: Wenn jemand überhalb bufferSoc auch ohne PV-Zutun laden möchte, kann er minPV nutzen, residualPower einstellen oder direkt Ziel-Laden nutzen.

Exakt so lese ich es auch aus der Doku

VolkerK62 commented 1 year ago

Alternativ (und ich möchte das nur sehr ungern) bräuchte es noch einen batteryDischargePower Parameter mit dem sich berechnen liesse, ob ein weiteres Fahrzeug innerhalb dieser geladen werden könnte

Ich denke, auch in Bezug auf "Redesign PV Modus" wäre dieser Parameter nützlich. Da gab es auch immer wieder Wünsche nach Batterieunterstützung.

andig commented 1 year ago

Dann bliebe die Frage, was der tun soll:

Ersteres würde am Loadpoint passieren, letzteres wäre analog der aux Zähler, aber eben nur >bufferSoc.

Webwanze commented 1 year ago

Zweiteres.

Batterie kann mit spezifizierter Leistung entladen werden, wenn SoC > buffersoc.

binderth commented 1 year ago

Batterie kann mit spezifizierter Leistung entladen werden, wenn SoC > buffersoc.

mir fehlt weiterhin eine schlüssige Erläuterung, warum im Modus pv eine reine Batterieentladung ohne PV-Erzeugung gestartet werden sollte. PV = PV-Überschuss ist ausreichend vorhanden!?

Ergänzung: Gerade in Verbindung mit stündlich dynamischen Strompreisen wird die Batterie ja ggf. auch nachts per Netzbezug beladen. Warum sollte diese dann sofort wieder entladen werden? Das wird dann komplett unübersichtlich.

thebrainkafka commented 1 year ago

Dann bliebe die Frage, was der tun soll:

  • nur den Start ermöglichen?
  • oder voll als "verfügbare" Leistung am Netzpunkt ausgeschöpft werden?

Ersteres würde am Loadpoint passieren, letzteres wäre analog der aux Zähler, aber eben nur >bufferSoc.

Den Start ermöglichen und puffern.

VolkerK62 commented 1 year ago

PV = PV-Überschuss

Aufgrund der Entwicklung (Zielladen, Tarif, CO2, Planner) sollte man sich nicht mehr so sehr an PV´ festhalten. Der PV-Modus ist mittlerweile zu einem "Automatik" Modus gewachsen.

binderth commented 1 year ago

Der PV-Modus ist mittlerweile zu einem "Automatik" Modus gewachsen.

Dann brauchts aber einen "Automatik"-Modus. Ich sehe evcc wirklich in erster Linie als PV-Überschuss-Tool. Automatik-Modus geht Richtung EMS und sollte daher im parallel diskutierten "Profi-Modus" münden.

und ganz ehrlich: Wenn pv nicht so konfiguriert werden kann, dass es PV-Überschuss verwendet und Wolken puffert -> dann brauch ich persönlich kein evcc, weil es am Thema vorbei geht.

VolkerK62 commented 1 year ago

Batterie kann mit spezifizierter Leistung entladen werden, wenn SoC > buffersoc.

Nur mal als Gedankenspiel: batteryDischargePower: 1000 und Soc > buffersoc ; Mindestladeleistung 1,4 kW

Webwanze commented 1 year ago

Mal die verschiedenen Anforderungen auseinandergenommen:

@binderth

@Webwanze

binderth commented 1 year ago

buffersoc auf z.B. 95%: Batterie dient als Puffer, bis diese auf buffersoc entladen wurde. Dabei wird allerdings nicht geprüft, ob die Batterie überhaupt die Min-Leistung hergibt. Ggf. wird der Rest aus dem Netz geholt.

Widerspruch! Ich möchte nicht erst einen Puffer haben, wenn die Batterie voll ist. Nochmal: pv heißt erstmal PV und nicht Battery. und nur weil eine PV-Ladung mal Wolken überdauern soll, kann man nicht auf 95% warten. weil dann kann man den Puffer außer für 4 Monate kicken.... und täglich per yaml oder API den bufferSoc anzupassen kann nicht der Sinn von evcc sein.

Webwanze commented 1 year ago

Wenn ich es richtig im Kopf habe, laufen da auch noch Timer ab, bevor das Laden unterbrochen/gestartet wird.

Zurück zum buffersoc. Wie möchtest du es denn genau haben? Wie weit darf der Speicher geleert werden, wenn während des Ladevorgangs die Sonne untergeht?

binderth commented 1 year ago

Wie möchtest du es denn genau haben? Wie weit darf der Speicher geleert werden, wenn während des Ladevorgangs die Sonne untergeht?

bis der threshold erreicht ist. So wie es heute ist. 3min. im Standard.

edit: ich hätte auch kein Problem, wenn in pv der Ladevorgang nach threshold abgebrochen wird und nicht bis zum bitteren Ende bufferSoc die Batterie entleert wird. Ich habe ein Problem, wenn der pv Modus ohne Rückmeldung und ohne Ziel-Laden auf minPV umgestellt wird.

VolkerK62 commented 1 year ago

bis der threshold erreicht ist. So wie es heute ist. 3min. im Standard.

das hat doch aber gar nix mit buffersoc zu tun, bzw. entspricht buffersoc: 100

binderth commented 1 year ago

Ich rede davon, was ich mir wünsche (und wie pv funktioniert, wenn Auto während Überschuss vollständig geladen wird):

ich rede nicht davon

oder auch nicht von

andig commented 1 year ago

Entweder: beschränken wir uns jetzt hier darauf, konkrete Vorschläge mit konkreten Ergänzungen oder Gegenvorschlägen zu beantworten, oder ich mache das Issue zu. bufferSoc funktioniert heute genau wie er designed wurde, ob das gut oder schlecht ist. Mein Vorschlag das zu ändern steht oben. Ansonsten führt die Diskussion für mich in keine erkennbare Richtung.

Anders gesagt: wenn kein Konsens dann dieses Issue zu, ist allenfalls ein Dokumentationsthema. Konkrete neue Featurerequests bei Bedarf.

Oder: wir kommen wieder auf die Vorschläge zurück.

thebrainkafka commented 1 year ago

+1 für deinen Vorschlag. Start ermöglichen und puffern (bei Wolke z.b)