Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anzeige der Ladevorgänge nicht korrekt #18230

Open
1 task done
Micha70 opened this issue Jan 14, 2025 · 26 comments
Open
1 task done

Anzeige der Ladevorgänge nicht korrekt #18230

Micha70 opened this issue Jan 14, 2025 · 26 comments
Assignees
Labels
question Rather clarification than issue

Comments

@Micha70
Copy link

Micha70 commented Jan 14, 2025

Describe the bug

Mehrfach habe ich schon festgestellt, dass die Anzeige der Ladevorgänge nicht korrekt ist. Hier z.B. in der Zeile vom 12.1.05
grafik
Seltsamerweise gleiche Lademenge 35,2kWh wie am 10.1.. Interessanterweise mit 23,2kW bei 100% Sonne geladen, meine PV Anlage hat eine Leistung von 5,7kW ;-)

Wenn ich die beiden Vorgänge einzeln anzeige: 10.1:
grafik
Ist plausibel, Zählerstand passt auch.

Der Fehler ist am 12.1.:
grafik
Der Zählerstand ist plausibel, ich habe per PV ca. 2,2kWh geladen. Aber die geladene Energiemenge 35,2kWh wird vom Vortag übernommen und für die Berechnung der Kosten herangezogen....

Steps to reproduce

Ladevorgang durchführen

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
  # port is the listening port for UI and api
  # evcc will listen on all available interfaces
  port: 7070

interval: 30s # control cycle interval. Interval <30s can lead to unexpected behavior, see https://docs.evcc.io/docs/reference/configuration/interval

# database configuration for persisting charge sessions and settings
# database:
#   type: sqlite
#   dsn: <path-to-db-file>

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

# telemetry enables aggregated statistics
#
# Telemetry allows collecting usage data (grid and green energy, charge power).
# Data is aggregated, no individual charging sessions are tracked. The collected,
# anonymous data can be retrieved using https://api.evcc.io.
#
# See https://github.com/evcc-io/evcc/pull/4343 or details.
#
# For time being, this is only available to sponsors, hence data is associated with
# the sponsor token's identity.
#
# telemetry: true

# log settings
log: info
levels:
  site: warn
  lp-1: warn
  lp-2: warn
  cache: warn
  db: warn
  ocpp: warn

# modbus proxy for allowing external programs to reuse the evcc modbus connection
# each entry will start a proxy instance at the given port speaking Modbus TCP and
# relaying to the given modbus downstream device (either TCP or RTU, RS485 or TCP)
modbusproxy:
  #  - port: 5200
  #    uri: solar-edge:502
  #    # rtu: true
  #    # readonly: true # use `deny` to raise modbus errors


# javascript:
#   - vm: shared
#     script: |
#       state = {
#         residualpower: 500,
#         pvpower: 5000,
#         batterypower: -750,
#         batterySoc: 55,
#         gridpower: -1000,
#         loadpoints: [
#           { enabled: true, vehicleSoc: 62, maxcurrent: 6, phases: 1, chargepower: 0 },
#           { enabled: false, vehicleSoc: 22, maxcurrent: 0, phases: 3, chargepower: 0 }
#         ]
#       };
#       function logState() {
#         console.log("state:", JSON.stringify(state));
#       }



# meter definitions
# name can be freely chosen and is used as reference when assigning meters to site and loadpoints
# for documentation see https://docs.evcc.io/docs/devices/meters
meters:


# charger definitions
# name can be freely chosen and is used as reference when assigning charger to vehicle

      
chargers:


  - name: my_charger
    type: template
    template: sungrow
    # Modbus TCP
    modbus: tcpip
    # modbus: rs485tcpip
    id: 248
    # id: 2
    host: 192.168.178.112 # Hostname
    port: 502 # Port
    
    

# vehicle definitions
# name can be freely chosen and is used as reference when assigning vehicle to loadpoint
# for documentation see https://docs.evcc.io/docs/devices/vehicles
vehicles:



# site describes the EVU connection, PV and home battery
site:
#   title: Home # display name for UI
#   meters:
#     grid: e3dc-grid # grid meter
#     pv: e3dc-pv # list of pv inverters/ meters
#     battery: e3dc-battery # list of battery meters
#     aux:
#     #   - aux # list of auxiliary meters for adjusting grid operating point
    residualPower: 100 # additional household usage margin
#   maxGridSupplyWhileBatteryCharging: 50 # ignore battery charging if AC consumption is above this value

# loadpoint describes the charger, charge meter and connected vehicle
loadpoints:
  - title: Garage # display name for UI
    circuit: main
    #charger: wallbe # charger
    charger: my_charger
    mode: "pv" # default charge mode to apply when vehicle is disconnected; use "off" to disable by default if charger is publicly available
    #meter: charge # charge meter
    phases: 0

    # remaining settings are experts-only and best left at default values
    priority: 0 # relative priority for concurrent charging in PV mode with multiple loadpoints (higher values have higher priority)
    soc:
      # polling defines usage of the vehicle APIs
      # Modifying the default settings it NOT recommended. It MAY deplete your vehicle's battery
      # or lead to vehicle manufacturer banning you from API use. USE AT YOUR OWN RISK.
      poll:
        # poll mode defines under which condition the vehicle API is called:
        #   charging: update vehicle ONLY when charging (this is the recommended default)
        #   connected: update vehicle when connected (not only charging), interval defines how often
        #   always: always update vehicle regardless of connection state, interval defines how often (only supported for single vehicle)
        mode: charging
        # poll interval defines how often the vehicle API may be polled if NOT charging
        interval: 60m
      estimate: true # set false to disable interpolating between api updates (not recommended)
    enable: # pv mode enable behavior
      delay: 1m # threshold must be exceeded for this long
      #threshold: 0 # grid power threshold (in Watts, negative=export). If zero, export must exceed minimum charge power to enable
      threshold: -3000       # einschalten, wenn 1 Minute lang mindestens 2000 W Überschuss vorhanden ist

    disable: # pv mode disable behavior
      # geaendert 15.06.2024  delay: 3m # threshold must be exceeded for this long
      delay: 3m
      #threshold: 0 # maximum import power (W)
      threshold: 1000 # ausschalten, wenn 3 Minuten lang mehr als 2000 W aus dem Netz bezogen werden

    guardDuration: 5m # switch charger contactor not more often than this (default 5m)


# mqtt message broker
mqtt:
  broker: localhost:1883
  topic: evcc # root topic for publishing, set empty to disable
  user: XXXXXX
  password: XXXXXXXX
  

# influx database
influx:
  # url: http://localhost:8086
  # database: evcc
  # user:
  # password:

# eebus credentials
eebus:
  # uri: # :4712
  # interfaces: # limit eebus to specific network interfaces
  # - en0
  # certificate: # local signed certificate, required, can be generated via `evcc eebus-cert`
  #   public: # public key
  #   private: # private key

hems:
  type: relay
  maxPower: 4200 # single SteuVE
  limit:
     source: mqtt
     #topic: monitor-rst-empfaenger/binary_sensor/rse_leistungseinschraenkung/state
     topic: esphome/wallbox/leistungseinschraenkung
     
circuits:
  - name: main # eindeutiger Name, wird als Referenz für andere Circuits verwendet
    title: Hauptstromkreis # Anzeige in der UI (später)
    # maxCurrent: 63 # 63A (optional)
    # maxPower: 30000 # 30kW (optional)
    # meter: grid # optional


# push messages
messaging:
  events:
    start: # charge start event
      title: Charge started
      msg: Started charging in "${mode}" mode
    stop: # charge stop event
      title: Charge finished
      msg: Finished charging ${chargedEnergy:%.1fk}kWh in ${chargeDuration}.
    connect: # vehicle connect event
      title: Car connected
      msg: "Car connected at ${pvPower:%.1fk}kW PV"
    disconnect: # vehicle connected event
      title: Car disconnected
      msg: Car disconnected after ${connectedDuration}
    soc: # vehicle soc update event
      title: Soc updated
      msg: Battery charged to ${vehicleSoc:%.0f}%
    guest: # vehicle could not be identified
      title: Unknown vehicle
      msg: Unknown vehicle, guest connected?
  services:

Log details

Kann man ein log von vor zwei Tagen generieren?

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

Linux

Nightly build

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

Version

0.132.1

@andig
Copy link
Member

andig commented Jan 14, 2025

Unfortunately your report is missing a detailed log file. Without log, we don‘t have the information for diagnosing the issue described. See https://docs.evcc.io/docs/faq#wie-kann-ich-ein-logfile-zur-fehleranalyse-erstellen.

@andig andig closed this as completed Jan 14, 2025
@Micha70
Copy link
Author

Micha70 commented Jan 15, 2025

@andig is possible to generate this logfile now, or do I need todo this directly if problem appeared? How long data is stored in the past?

@Micha70
Copy link
Author

Micha70 commented Jan 15, 2025

I was able now to create a log file by
docker logs 23fc9a55a0fd > ~/evcc_20250115.log
but assume is "outdated".

evcc_20250115.log

If I see topic again, will try to generate another log.

@andig
Copy link
Member

andig commented Jan 15, 2025

We'll need a trace log for db to see which queries produce the result you're seing.

@Micha70

This comment has been minimized.

@andig
Copy link
Member

andig commented Jan 15, 2025

Looking into this I think we need a log of the charging session that produces the wrong log entry. Once its in the database it's as recorded.

@Micha70
Copy link
Author

Micha70 commented Jan 15, 2025

Ok, once I reproduce it I will provide new data.
Is possible to extent the storage time-range of the logs?

@Micha70
Copy link
Author

Micha70 commented Jan 19, 2025

@andig today again charged in PV mode, several hours, about 5kWh. But is not shown in GUI

Image
and not in charging overview:

Image

Logs are available now:

WIll you reopen this ticket or shall I create a new one?

@andig
Copy link
Member

andig commented Jan 19, 2025

@naltatis willst Du Dir das anschauen?

@andig andig reopened this Jan 19, 2025
@andig andig added the question Rather clarification than issue label Jan 19, 2025
@andig
Copy link
Member

andig commented Jan 19, 2025

Seltsamerweise gleiche Lademenge 35,2kWh wie am 10.1.. Interessanterweise mit 23,2kW bei 100% Sonne geladen, meine PV Anlage hat eine Leistung von 5,7kW ;-)

today again charged in PV mode, several hours, about 5kWh. But is not shown in GUI

Hier gehts bunt durcheinander: was ist das konkrete Problem mit dem letzten Ladevorgang für den es das Log gibt?

@Micha70
Copy link
Author

Micha70 commented Jan 19, 2025

ich habe gestern und heute geladen. Gestern 7,8kwh, in der Übersicht vorhanden.
Heute auch mehrer Stunden geladen.
der Start ist leider nicht im logfile ....
[lp-1 ] INFO 2025/01/19 14:46:20 stop charging <-
Aber der Ladevorgang erscheint nicht in der Übersicht ....

@andig
Copy link
Member

andig commented Jan 19, 2025

Aber der Ladevorgang erscheint nicht in der Übersicht ....

Zu welchem Timestamp im Logfile wird die Übersicht aufgerufen? Ich sehe da nichts.

@Micha70
Copy link
Author

Micha70 commented Jan 19, 2025

wie meinst du dass? Muss ich die Ladevorgangsübersicht aufrufen und danach das Logfile generieren ?

Habe ich gemacht:

Image

und Logfile:

evcc-20250119-160957-trace.log

Aber der Ladevorgang von heute fehlt komplett ....

@andig
Copy link
Member

andig commented Jan 19, 2025

Ich sehe den Fehler:

[db    ] TRACE 2025/01/19 14:46:20 UPDATE `sessions` SET `created`="2025-01-19 10:49:50.593",`finished`="2025-01-19 14:46:20.518",`loadpoint`="Garage",`identifier`="",`vehicle`="IONIQ 5",`odometer`=12826.2,`meter_start_kwh`=1661.079,`meter_end_kwh`=1667.689,`charged_kwh`=0,`charge_duration`="3h56m30s",`solar_percentage`=0,`price`=NULL,`price_per_kwh`=NULL,`co2_per_kwh`=NULL WHERE `id` = 159 1 <nil>

konkret

`charged_kwh`=0

@Micha70 hast Du dazu bitte noch das vollständige Logfile ab evcc Start?

@andig
Copy link
Member

andig commented Jan 19, 2025

@naltatis ich verstehe die Logik nicht:

	if chargedEnergy := lp.getChargedEnergy() / 1e3; chargedEnergy > s.ChargedEnergy {
		lp.sessionEnergy.Update(chargedEnergy)
	}

aber

func (lp *Loadpoint) getChargedEnergy() float64 {
	lp.RLock()
	defer lp.RUnlock()
	return lp.sessionEnergy.TotalWh()
}

ist das nicht ein Zirkelbezug? Ich habe das Gefühl, das würde der Roundtrip über die EnergyMetrics dazu führen, als würden hier Werte verschluckt.

@naltatis
Copy link
Member

Interessanterweise mit 23,2kW bei 100% Sonne geladen, meine PV Anlage hat eine Leistung von 5,7kW ;-)

@Micha70 Hast du einen Hausspeicher? Ist aus dem geladen worden? In der Config stehen keine Meter.

@andig
Copy link
Member

andig commented Jan 19, 2025

Lasst uns doch bitte erstmal beim Thema bleiben- fehlender Ladevorgang. Analyse siehe oben.

@Micha70
Copy link
Author

Micha70 commented Jan 19, 2025

Interessanterweise mit 23,2kW bei 100% Sonne geladen, meine PV Anlage hat eine Leistung von 5,7kW ;-)

@Micha70 Hast du einen Hausspeicher? Ist aus dem geladen worden? In der Config stehen keine Meter.

Ja, ich habe ein E3DC, in der GUI konfiguriert.Wallbox Sungrow über Modbus gesteuert...

@Micha70
Copy link
Author

Micha70 commented Jan 19, 2025

Ich sehe den Fehler:

[db    ] TRACE 2025/01/19 14:46:20 UPDATE `sessions` SET `created`="2025-01-19 10:49:50.593",`finished`="2025-01-19 14:46:20.518",`loadpoint`="Garage",`identifier`="",`vehicle`="IONIQ 5",`odometer`=12826.2,`meter_start_kwh`=1661.079,`meter_end_kwh`=1667.689,`charged_kwh`=0,`charge_duration`="3h56m30s",`solar_percentage`=0,`price`=NULL,`price_per_kwh`=NULL,`co2_per_kwh`=NULL WHERE `id` = 159 1 <nil>

konkret

`charged_kwh`=0

@Micha70 hast Du dazu bitte noch das vollständige Logfile ab evcc Start?

Logfile ist oben im ersten Kommentar von heute....

@Micha70
Copy link
Author

Micha70 commented Jan 20, 2025

@andig , hatte heute wieder gleiches Problem. Gestern Abend über Netz auf 80% geladen, erscheint korrekt in der Übersicht der Ladevorgänge. Heute weitere 8% über PV geladen, wurde nicht aufgezeichnet..... kein Eintrag in der Logvorgängen...

Benötigt ihr noch weitere Logdaten? Kann man die Länge der Aufzeichnung des Logfiles konfigurieren? Ich sehe immer nur die letzten 2h ....

@andig
Copy link
Member

andig commented Jan 20, 2025

Logfile ist oben im ersten Kommentar von heute....

Wo? Du meinst nicht die 20 Zeilen?!

@Micha70

This comment has been minimized.

@Micha70
Copy link
Author

Micha70 commented Jan 24, 2025

Hier nochmal einen Screenshot von heute:

Image

Image

und das dazugehörige Logfile, hoffe es funktioniert:
evcc-20250124-145316-trace.log

Ich kann mir folgendes vorstellen. Ich hatte am 20.01 eine Ladevorgang über PV, ca 7kW. Der wurde nicht aufgezeichnet.
Den Ladevorgang von heute hatte ich beendet nach ca. 1Min, da mit 3 anstatt 1 Phase geladen worden ist. Scheinbar hat die Wallbox nicht reagiert.
Wurden dann die 7kW vom 20.1 mit eingerechnet und man bekommt durch die Dauer der Ladesession von 1min auf die stattliche Ladeleistung von 298,2kWh? (Ich hatte wirklich kein Kraftwerk zum Laden angeschlossen ;-)

@Micha70
Copy link
Author

Micha70 commented Jan 24, 2025

ok, jetzt wurde er Ladevorgang bendet:

Image

Die Ladeleistung angepasst:

Image

Die Daten stimmen aber trotzdem nicht:

Image

Nach Zählerstand wurden 1,9kWh geladen. Aber lasut Tabelle 7,5kWh.

Hier noch das Logfile dazu:
evcc-20250124-155456-trace.log

@andig , sollten erstmal genug Daten sein. Ich hoffe ihr findet das Problem.... Lasst mich wissen, wenn noch was benötigt wird.

@andig
Copy link
Member

andig commented Jan 26, 2025

ping @naltatis

@BastiZ0
Copy link

BastiZ0 commented Jan 28, 2025

Moin!

Mir geht es ähnlich. Es scheint, als "Verschluckt" sich EVCC mit dem Beenden/Starten von Ladevorgängen..

Wenn ich zum Beispiel geladen habe und das Auto abstecke um es nach einer kurzen Fahrt wieder anzuschließen und zu Laden, gibt er mir auf dem Dashboard zwar an, dass eine gewisse Leistung anliegt, aber der Zähler auf der Übersichtsseite zählt nicht. Normalerweise sollte der Ladevorgang ja "abgeschlossen" werden, wenn das Auto abgesteckt wird. Dies macht er aber nicht. Wenn ich es nach 2h wieder anstecke, gibt er mir die alte geladene Energie wieder im Dashboard an.

Ich nutze seit kurzem eine workaround mit einer "Automation", welche EVCC neu startet vor dem Ladevorgang und nach dem abstecken des Fahrzeugs, damit der Zähler wieder 0 kWh zeigt und der Ladevorgang in der Übersicht erscheint. Dies funktioniert "fast" immer. Es kommt trotzdem vor, dass EVCC nicht "aufzeichnet" und es nicht in die Übersicht schreibt bzw die Statistik füttert oder wie oben beschrieben doppelte Einträge macht.

Leider ist das Auto gerade nicht zum Laden bereit, somit kann ich jetzt gerade keine Logs, wo der Fehler auftritt, anhängen.
Würde aber gerne hier unterstützen. Was bräuchtet ihr von mir, damit ihr es einsehen könnt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Rather clarification than issue
Projects
None yet
Development

No branches or pull requests

4 participants