evcc-io / evcc

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

Berechnung Geladen / Anzeige Out falsch bei Ladepunkt ohne Stromzähler #11608

Closed famnex closed 8 months ago

famnex commented 8 months ago

Describe the bug

Wenn das Laden z.B. auf "Schnell" steht, dann wird bei mir der Ladepunkt auf 11 kW eingestellt. Wenn das Auto, so wie in meinem Fall, dann aber nur z.B. 2kW zieht (aus welchem Grund auch immer), dann wird im Bereich "Out" dennoch 11kW angezeigt und bei Geladen wird auch mit diesen 11 kW gerechnet. Da der "In" aber nur 3,6 kW ist, ist dies ja eigentlich nicht möglich.

Bei diesem Fehler ist es natürlich sowieso nicht mehr möglich, den Hausverbrauch vom Auto zu trennen und alles richtig zu berechnen, außer man nutzt vorhandene Daten des Autos bezüglich der abgerufenen Leistung. Allerdings sollte im Bereich "Out" maximal der Wert stehen, der über "In" auch zur Verfügung steht. Gleiches gilt bei der Anzeige der "Leistung" der Wallbox.

Steps to reproduce

  1. Mit hoher Leistung laden ermöglichen /z.B. über "Schnell"
  2. Dann diese Leistung aber auf Fahrzeugseite reduzieren
  3. Es werden falsche Daten angezeigt

Configuration details

# open evcc at http://evcc.local:7070
network:
  schema: http
  host: evcc.local # .local suffix announces the hostname on MDNS
  port: 7070

sponsortoken: ***

log: debug
levels:
  cache: error

# unique installation id
plant: ***

interval: 10s # control cycle interval

chargers:
- type: template
  template: elliconnect
  ski: ***
  ip: 192.168.178.30
  name: wallbox2

vehicles:
- type: template
  template: id
  title: Steffen ID.3
  user: ***
  password: ***
  vin: ***
  capacity: 58
  timeout: 10s
  name: ev1

loadpoints:
- title: Carport
  charger: wallbox2
  mode: pv
  phases: 3
  mincurrent: 6
  maxcurrent: 16

site:
  - title: Zuhause
    meters:
      grid: grid_enpal
      pv:
        - pv
      battery:
        - battery
    residualPower: 100

meters:
  - name: grid_enpal
    type: custom
    power:
      source: script
      cmd: enpal grid_enpal
      timeout: 10s
  - name: pv
    type: custom
    power:
      source: script
      cmd: enpal pv
      timeout: 10s
  - name: battery
    type: custom
    power:
      source: script
      cmd: enpal battery
      timeout: 10s
    soc:
      source: script
      cmd: enpal soc
      timeout: 10s
    capacity: 10

tariffs:
  grid:
   type: tibber
   token: ***

eebus:
  certificate:
      ***

Log details

[main  ] INFO 2024/01/11 07:55:12 evcc 0.123.7
[main  ] INFO 2024/01/11 07:55:12 using config file: /etc/evcc.yaml
[main  ] INFO 2024/01/11 07:55:12 starting ui and api at :7070
[db    ] INFO 2024/01/11 07:55:13 using sqlite database: /home/openhabian/.evcc/evcc.db
[eebus ] INFO 2024/01/11 07:55:13 Local SKI:  122aa77ab6bc42375a43554979834f98163c12c0
[eebus ] DEBUG 2024/01/11 07:55:13 mdns: announce
[eebus ] DEBUG 2024/01/11 07:55:13 mdns: using avahi
[eebus ] DEBUG 2024/01/11 07:55:13 starting websocket server on :4712
[eebus ] DEBUG 2024/01/11 07:55:13 error during websocket server starting: listen tcp :4712: bind: address already in use
[eebus ] DEBUG 2024/01/11 07:55:13 mdns: start search
[eebus ] DEBUG 2024/01/11 07:55:13 ski: *** name: Elli-Wallbox-2021A0RE3J brand: Elli model: Wallbox typ: Wallbox identifier: Elli-Wallbox-2021A0RE3J register: false host: wallbox-2021A0RE3J.local port: 4712 addresses: [192.168.178.30]
[eebus ] DEBUG 2024/01/11 07:55:13 delaying connection to ba0a538e9a26e59711fe9bcab0025effb50dd8f0 by 2.746s to minimize double connection probability
[eebus ] DEBUG 2024/01/11 07:55:16 trying to connect to ba0a538e9a26e59711fe9bcab0025effb50dd8f0 at 192.168.178.30
[eebus ] DEBUG 2024/01/11 07:55:16 initiating connection to ba0a538e9a26e59711fe9bcab0025effb50dd8f0 at 192.168.178.30:4712
[eebus ] DEBUG 2024/01/11 07:55:16 Send:  read 1 NodeManagementDetailedDiscoveryData
[eebus ] DEBUG 2024/01/11 07:55:16 Recv: d:_i:47859_Elli-Wallbox-2021A0RE3J: to NodeManagement read 855 NodeManagementDetailedDiscoveryData
[eebus ] DEBUG 2024/01/11 07:55:16 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J reply 2 855 NodeManagementDetailedDiscoveryData
[eebus ] DEBUG 2024/01/11 07:55:16 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J result 3 855 ResultData 0
[eebus ] DEBUG 2024/01/11 07:55:17 Recv: d:_i:47859_Elli-Wallbox-2021A0RE3J: to NodeManagement reply 857 1 NodeManagementDetailedDiscoveryData
[eebus ] DEBUG 2024/01/11 07:55:17 ev connected
[eebus ] DEBUG 2024/01/11 07:55:17 Send:  call 4 NodeManagementSubscriptionRequestCall
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J read 5 DeviceClassificationManufacturerData
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J call 6 NodeManagementSubscriptionRequestCall
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J read 7 DeviceDiagnosisStateData
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J read 8 NodeManagementUseCaseData
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J call 9 NodeManagementSubscriptionRequestCall
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J call 10 NodeManagementSubscriptionRequestCall
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J call 11 NodeManagementSubscriptionRequestCall
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J call 12 NodeManagementSubscriptionRequestCall
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J call 13 NodeManagementSubscriptionRequestCall
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J call 14 NodeManagementSubscriptionRequestCall
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J call 15 NodeManagementBindingRequestCall
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J read 16 DeviceConfigurationKeyValueDescriptionListData
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J read 17 DeviceClassificationManufacturerData
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J read 18 DeviceDiagnosisStateData
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J read 19 ElectricalConnectionDescriptionListData
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J read 20 ElectricalConnectionParameterDescriptionListData
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J read 21 MeasurementDescriptionListData
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J read 22 LoadControlLimitDescriptionListData
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J read 23 IdentificationListData
[eebus ] DEBUG 2024/01/11 07:55:17 Recv: d:_i:47859_Elli-Wallbox-2021A0RE3J: to NodeManagement call 860 NodeManagementSubscriptionRequestCall
[eebus ] DEBUG 2024/01/11 07:55:17 Send: d:_i:47859_Elli-Wallbox-2021A0RE3J result 24 860 ResultData 0
[eebus ] DEBUG 2024/01/11 07:55:17 ba0a538e9a26e59711fe9bcab0025effb50dd8f0 websocket read error:  websocket: close 4201: Double connection
[eebus ] DEBUG 2024/01/11 07:55:17 restarting mdns search
[eebus ] DEBUG 2024/01/11 07:55:17 ev disconnected
[eebus ] DEBUG 2024/01/11 07:55:17 delaying connection to ba0a538e9a26e59711fe9bcab0025effb50dd8f0 by 2.916s to minimize double connection probability
[site  ] INFO 2024/01/11 07:55:19 site config:
[site  ] INFO 2024/01/11 07:55:19   meters:      grid ✓ pv ✓ battery ✓
[site  ] INFO 2024/01/11 07:55:19     grid:      power ✓ energy ✗ currents ✗
[site  ] INFO 2024/01/11 07:55:19     pv 1:      power ✓ energy ✗ currents ✗
[site  ] INFO 2024/01/11 07:55:19     battery 1: power ✓ energy ✗ currents ✗ soc ✓ capacity ✓
[site  ] INFO 2024/01/11 07:55:19   vehicles:
[site  ] INFO 2024/01/11 07:55:19     vehicle 1: range ✓ finish ✓ status ✓ climate ✓ wakeup ✓
[lp-1  ] INFO 2024/01/11 07:55:19 loadpoint 1:
[lp-1  ] INFO 2024/01/11 07:55:19   mode:        pv
[lp-1  ] INFO 2024/01/11 07:55:19   charger:     power ✗ energy ✗ currents ✗ phases ✗ wakeup ✗
[lp-1  ] INFO 2024/01/11 07:55:19   meters:      charge ✗
[lp-1  ] DEBUG 2024/01/11 07:55:19 phase timer inactive
[lp-1  ] DEBUG 2024/01/11 07:55:19 pv timer inactive
[lp-1  ] DEBUG 2024/01/11 07:55:19 guard timer inactive
[site  ] WARN 2024/01/11 07:55:19 interval <30s can lead to unexpected behavior, see https://docs.evcc.io/docs/reference/configuration/interval
[site  ] DEBUG 2024/01/11 07:55:19 ----
[lp-1  ] DEBUG 2024/01/11 07:55:19 charge power: 0W
[server] FATAL 2024/01/11 07:55:19 unlinkat /tmp/evcc: operation not permitted

What type of operating system are you running?

Linux

Version

0.123.7

famnex commented 8 months ago

IMG_4111

famnex commented 8 months ago

In diesem Zusammenhang auch eigenartig: Das Auto steht kurz vor 100% und ist laut Auto-App zu 96% geladen. In evcc wird es aber schon mit 100% angezeigt. IMG_4113 IMG_4114

famnex commented 8 months ago

Die Leistung erreichte über die Nacht auch nie 11 kW, obwohl das eigentlich so sein sollte. Es kann natürlich hier auch am Auto oder an der Wallbox liegen. IMG_4115

StefanSchoof commented 8 months ago

Wenn die Wallbox kein meter hat oder kein extra meter hat nimmt evcc an, dass das Auto mit der vorgebenden Stromstärke lädt. Es wird keine Rückwertsrechung aus den anderen Messwerten gemacht.

famnex commented 8 months ago

Vorteilhaft wäre, wenn dieser angenommene Wert maximal dem "In"-Wert entspricht.

andig commented 8 months ago

Gibts eine vorgeschlagene Formel?

@naltatis weisst Du ob der Wert aus GUI oder Backend kommt?

VolkerK62 commented 8 months ago

Vorteilhaft wäre, wenn dieser angenommene Wert maximal dem "In"-Wert entspricht.

und wenn kein "In" Wert vorhanden ist, weil z.B. nur Grid Meter definiert ist? oder wenn der "In" Wert nicht vollständig ist, weil z.B. noch zusätzlich ein (unbekanntes) BKW vorhanden ist?

naltatis commented 8 months ago

@naltatis weisst Du ob der Wert aus GUI oder Backend kommt?

Die UI summiert inzwischen nur noch auf. Wenn wir die echte Ladeleistung aus anderen Informationen abschätzen/zurückrechnen wollen, müssten wir das schon relativ früh im Prozess tun. Das hat ja auch Auswirkungen auf Energiemenge, Restladezeit, Preisberechnungen und so ...

Bin mir aber nicht sicher, ob wir das ohne ungewollte Nebeneffekte sauber hinbekommen.

andig commented 8 months ago

@famnex was steht denn im Fehlerfall im Logfile bzw. in /api/state? Welche Werte aus dem Logfile sind richtig und falsch? Bitte keine Screenshots.

famnex commented 8 months ago

In /api/state sind folgende Werte entsprechend nicht korrekt:

Ich vermute, dass es ohne zusätzliche Datenquellen schwierig wird, das Ganze korrekt zu berechnen. In meinem Fall hat es dazu geführt, dass das Fahrzeug nicht rechtzeitig mit dem Laden fertig war, da evcc davon ausgegangen ist, dass das Auto schneller lädt als es der Fall war.

andig commented 8 months ago

...und wie sieht das aus?

famnex commented 8 months ago

Hier ist die komplette Ausgabe, falls du das meinst...

{"result":{"auth":{"vehicles":{}},"availableVersion":"0.123.8","battery":[{"power":-29,"soc":5,"capacity":10,"controllable":false}],"batteryCapacity":10,"batteryConfigured":true,"batteryDischargeControl":false,"batteryEnergy":0,"batteryMode":"unknown","batteryPower":-29,"batterySoc":5,"bufferSoc":70,"bufferStartSoc":76,"currency":"EUR","greenShareHome":0,"greenShareLoadpoints":0,"gridConfigured":true,"gridPower":5895,"homePower":0,"loadpoints":[{"chargeCurrent":16,"chargeDuration":5950000000000,"chargePower":11040,"chargeRemainingDuration":10533000000000,"chargeRemainingEnergy":27525.55246334734,"chargedEnergy":17943.96026146655,"chargerFeatureHeating":false,"chargerFeatureIntegratedDevice":false,"chargerIcon":null,"charging":true,"connected":true,"connectedDuration":0,"disableThreshold":0,"effectiveLimitSoc":100,"effectiveMaxCurrent":16,"effectiveMinCurrent":6,"effectivePlanSoc":0,"effectivePlanTime":"0001-01-01T00:00:00Z","effectivePriority":0,"enableThreshold":0,"enabled":true,"guardAction":"inactive","guardRemaining":0,"limitEnergy":0,"limitSoc":0,"maxCurrent":16,"minCurrent":6,"mode":"now","phaseAction":"inactive","phaseRemaining":0,"phasesActive":3,"phasesConfigured":null,"phasesEnabled":3,"planActive":false,"planEnergy":0,"planProjectedStart":"0001-01-01T00:00:00Z","planTime":"0001-01-01T00:00:00Z","priority":0,"pvAction":"inactive","pvRemaining":0,"sessionCo2PerKWh":null,"sessionEnergy":17943.96026146655,"sessionPrice":5.274372212137987,"sessionPricePerKWh":0.29393579428864136,"sessionSolarPercentage":3.8106958438011684,"title":"Carport","vehicleCapacity":58,"vehicleClimaterActive":false,"vehicleDetectionActive":false,"vehicleFeatureOffline":false,"vehicleIcon":"car","vehicleName":"ev1","vehicleOdometer":64136,"vehiclePresent":true,"vehicleRange":147,"vehicleSoc":50.76614395068673,"vehicleTargetSoc":100,"vehicleTitle":"Steffen ID.3"}],"prioritySoc":65,"pv":[{"power":0}],"pvConfigured":true,"pvEnergy":0,"pvPower":0,"residualPower":100,"siteTitle":"Zuhause","smartCostActive":false,"smartCostLimit":0,"smartCostType":"priceforecast","sponsor":"famnex","sponsorTokenExpires":0,"statistics":{"30d":{"avgCo2":0,"avgPrice":0.2192982246524166,"chargedKWh":216.33370709604193,"solarPercentage":9.580364125191862},"365d":{"avgCo2":0,"avgPrice":0.2192982246524166,"chargedKWh":216.33370709604193,"solarPercentage":9.580364125191862},"total":{"avgCo2":0,"avgPrice":0.2192982246524166,"chargedKWh":216.33370709604193,"solarPercentage":9.580364125191862}},"tariffGrid":0.3491,"tariffPriceHome":0.3491,"tariffPriceLoadpoints":0.3491,"vehicles":{"db:1":{"title":"Moritz e208"},"ev1":{"title":"Steffen ID.3"}},"version":"0.123.7"}}

andig commented 8 months ago

Magst du das bitte noch mit https://jsonlint.com lesbar formatieren? Vielen Dank!

famnex commented 8 months ago
{
    "result": {
        "auth": {
            "vehicles": {}
        },
        "availableVersion": "0.123.8",
        "battery": [
            {
                "power": -29,
                "soc": 5,
                "capacity": 10,
                "controllable": false
            }
        ],
        "batteryCapacity": 10,
        "batteryConfigured": true,
        "batteryDischargeControl": false,
        "batteryEnergy": 0,
        "batteryMode": "unknown",
        "batteryPower": -29,
        "batterySoc": 5,
        "bufferSoc": 70,
        "bufferStartSoc": 76,
        "currency": "EUR",
        "greenShareHome": 0,
        "greenShareLoadpoints": 0,
        "gridConfigured": true,
        "gridPower": 5895,
        "homePower": 0,
        "loadpoints": [
            {
                "chargeCurrent": 16,
                "chargeDuration": 5950000000000,
                "chargePower": 11040,
                "chargeRemainingDuration": 10533000000000,
                "chargeRemainingEnergy": 27525.55246334734,
                "chargedEnergy": 17943.96026146655,
                "chargerFeatureHeating": false,
                "chargerFeatureIntegratedDevice": false,
                "chargerIcon": null,
                "charging": true,
                "connected": true,
                "connectedDuration": 0,
                "disableThreshold": 0,
                "effectiveLimitSoc": 100,
                "effectiveMaxCurrent": 16,
                "effectiveMinCurrent": 6,
                "effectivePlanSoc": 0,
                "effectivePlanTime": "0001-01-01T00:00:00Z",
                "effectivePriority": 0,
                "enableThreshold": 0,
                "enabled": true,
                "guardAction": "inactive",
                "guardRemaining": 0,
                "limitEnergy": 0,
                "limitSoc": 0,
                "maxCurrent": 16,
                "minCurrent": 6,
                "mode": "now",
                "phaseAction": "inactive",
                "phaseRemaining": 0,
                "phasesActive": 3,
                "phasesConfigured": null,
                "phasesEnabled": 3,
                "planActive": false,
                "planEnergy": 0,
                "planProjectedStart": "0001-01-01T00:00:00Z",
                "planTime": "0001-01-01T00:00:00Z",
                "priority": 0,
                "pvAction": "inactive",
                "pvRemaining": 0,
                "sessionCo2PerKWh": null,
                "sessionEnergy": 17943.96026146655,
                "sessionPrice": 5.274372212137987,
                "sessionPricePerKWh": 0.29393579428864136,
                "sessionSolarPercentage": 3.8106958438011684,
                "title": "Carport",
                "vehicleCapacity": 58,
                "vehicleClimaterActive": false,
                "vehicleDetectionActive": false,
                "vehicleFeatureOffline": false,
                "vehicleIcon": "car",
                "vehicleName": "ev1",
                "vehicleOdometer": 64136,
                "vehiclePresent": true,
                "vehicleRange": 147,
                "vehicleSoc": 50.76614395068673,
                "vehicleTargetSoc": 100,
                "vehicleTitle": "Steffen ID.3"
            }
        ],
        "prioritySoc": 65,
        "pv": [
            {
                "power": 0
            }
        ],
        "pvConfigured": true,
        "pvEnergy": 0,
        "pvPower": 0,
        "residualPower": 100,
        "siteTitle": "Zuhause",
        "smartCostActive": false,
        "smartCostLimit": 0,
        "smartCostType": "priceforecast",
        "sponsor": "famnex",
        "sponsorTokenExpires": 0,
        "statistics": {
            "30d": {
                "avgCo2": 0,
                "avgPrice": 0.2192982246524166,
                "chargedKWh": 216.33370709604193,
                "solarPercentage": 9.580364125191862
            },
            "365d": {
                "avgCo2": 0,
                "avgPrice": 0.2192982246524166,
                "chargedKWh": 216.33370709604193,
                "solarPercentage": 9.580364125191862
            },
            "total": {
                "avgCo2": 0,
                "avgPrice": 0.2192982246524166,
                "chargedKWh": 216.33370709604193,
                "solarPercentage": 9.580364125191862
            }
        },
        "tariffGrid": 0.3491,
        "tariffPriceHome": 0.3491,
        "tariffPriceLoadpoints": 0.3491,
        "vehicles": {
            "db:1": {
                "title": "Moritz e208"
            },
            "ev1": {
                "title": "Steffen ID.3"
            }
        },
        "version": "0.123.7"
    }
}
andig commented 8 months ago

Aus der site kommen

"batteryPower": -29,
"gridPower": 5895,
"pvPower": 0,

vom Ladepunkt kommt mangels Zähler

"chargePower": 11040,

Das passiert unabhängig voneinander, daher gibts keine gute Softwarelösung.

Wenn Du das "schön und richtig" haben willst müsstest Du einen Zwischenzähler einbauen- dann lassen sich auch Fahrzeug- und Hausverbrauch differenzieren. Hier wontfix.