evcc-io / evcc

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

Tibber Pulse blockiert evcc #10407

Closed guhlandreas closed 1 year ago

guhlandreas commented 1 year ago

Describe the bug

Hallo, ich habe gerade bemerkt, dass mein EVCC nicht mehr läuft. Wenn ich es (wieder) starte stürzt es ab und bleibt hängen. Ich weiß allerdings nicht genau, seit wann oder nach welchem Update oder Änderung das Problem bei mir aufgetreten ist.

EVCC läuft bei mir im Home Assistant. Ich verwende die aktuelle HA (2023.10.3) und EVCC (0.121.1) version.

Hat jemand eine Idee?

Ich bin ratlos und würde mich über Hilfe freuen!

Beste Grüße

Andreas

Steps to reproduce

1. 2. 3. ...

Configuration details

network:
  # schema is the HTTP schema
  # setting to `https` does not enable https, it only changes the way URLs are generated
  schema: https
  # 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: 192.168.7.xxx
  # port is the listening port for UI and api
  # evcc will listen on all available interfaces
  port: 7070

interval: 10s # control cycle 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: xxxx

# 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: debug #trace
  lp-1: debug #trace
  lp-2: debug #trace
  cache: error #trace
  db: error #trace

# 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

# 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:
  - name: xxx_10_/_Tibber
    type: template
    template: tibber-pulse
    usage: grid
    token: xxx
    homeid: xxx

  - name: my_grid
    type: template
    template: sma-home-manager
    usage: grid
    host: 192.168.7.xxx # IP-Adresse oder Hostname

  - name: my_pv
    type: template
    template: sma-hybrid
    usage: pv
    modbus: tcpip
    id: 3
    host: 192.168.7.xxx # Hostname
    port: 502 # Port 

  - name: my_battery
    type: template
    template: sma-hybrid
    usage: battery
    modbus: tcpip
    id: 3
    host: 192.168.7.xxx # Hostname
    port: 502 # Port 

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

chargers:
  name: Heidelberg
  type: heidelberg
  uri: 192.168.7.xxx:502
  id: 1 

# 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:
  - name: Enyaq
    type: template
    template: enyaq
    title: Enyaq 50 # Wird in der Benutzeroberfläche angezeigt (Optional)
    user: xxx@xxx.de # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
    password: xxx # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
    vin: xxx # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (Optional)
    capacity: 50 # Akkukapazität in kWh (Optional)

  - name: ModelY
    type: template
    template: tesla
    title: Model Y # Wird in der Benutzeroberfläche angezeigt (optional)
    accessToken: xxx # Siehe https://docs.evcc.io/docs/devices/vehicles#tesla
    refreshToken: xxx # Siehe https://docs.evcc.io/docs/devices/vehicles#tesla
    vin: xxx # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)
    capacity: 75 # Akkukapazität in kWh (optional) 

# site describes the EVU connection, PV and home battery
site:
  - title: Zuhause # display name for UI
    meters:
      grid: my_grid # grid meter reference
      pv: my_pv # first pv meter reference
      battery: my_battery # battery meter reference

    residualPower: 100
    bufferSoc: 90
    prioritySoc: 80
    bufferStartSoc: 95 # hat die Hausbatterie Soc 90& erreicht startet der ladevorgang
#    smartCostLimit: 5 # set cost limit for automatic charging in PV mode
#    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
    charger: Heidelberg #wallbe # charger
    #meter: charge # charge meter
    mode: "off" # set default charge mode, use "off" to disable by default if charger is publicly available
    vehicle: # set default vehicle (disables vehicle detection)
    resetOnDisconnect: false # set defaults when vehicle disconnects
    phases: 3 # electrical connection (normal charger: default 3 for 3 phase, 1p3p charger: 0 for "auto" or 1/3 for fixed phases)
    minCurrent: 6 # minimum charge current (default 6A)
    maxCurrent: 16 # maximum charge current (default 16A)

    # 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: -100 # grid power threshold (in Watts, negative=export). If zero, export must exceed minimum charge power to enable
    disable: # pv mode disable behavior
      delay: 3m # threshold must be exceeded for this long
      threshold: 200 # maximum import power (W)
    guardDuration: 5m # switch charger contactor not more often than this (default 5m)

# tariffs are the fixed or variable tariffs
tariffs:
  currency: EUR # three letter ISO-4217 currency code (default EUR)
  grid:
    type: tibber
    token: xxx
    homeid: xxx

  feedin:
    # rate for feeding excess (pv) energy to the grid
    type: fixed
    price: 0.08 # EUR/kWh

# mqtt message broker
mqtt:
  broker: 192.168.7.xxx:1883
  topic: evcc # root topic for publishing, set empty to disable
  user: xxx
  password: xxx

# 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

# 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:
    # - type: pushover
    #   app: # app id
    #   recipients:
    #   - # list of recipient ids
    - type: telegram
      token: xxx # bot id
      chats: xxx
  # list of chat ids
  # - type: email
  #   uri: smtp://<user>:<password>@<host>:<port>/?fromAddress=<from>&toAddresses=<to>
  # - type: ntfy
  #   uri: https://<host>/<topics>
  #   priority: <priority>
  #   tags: <tags>

Log details

Using config file: /config/evcc.yaml
starting evcc: 'EVCC_DATABASE_DSN=/data/evcc.db evcc --config /config/evcc.yaml'
[main  ] INFO 2023/10/19 20:49:59 evcc 0.121.1
[main  ] INFO 2023/10/19 20:49:59 using config file: /config/evcc.yaml
[main  ] INFO 2023/10/19 20:49:59 starting ui and api at :7070
[db    ] INFO 2023/10/19 20:49:59 using sqlite database: /data/evcc.db
[db    ] TRACE 2023/10/19 20:49:59 SELECT count(*) FROM sqlite_master WHERE type='table' AND name="settings" -1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT sql FROM sqlite_master WHERE type IN ("table","index") AND tbl_name = "settings" AND sql IS NOT NULL order by type = "table" desc 1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT * FROM `settings` LIMIT 1 -1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT * FROM `settings` 0 <nil>
[mqtt  ] INFO 2023/10/19 20:49:59 connecting evcc-605935984 at tcp://localhost:1883
[db    ] TRACE 2023/10/19 20:49:59 SELECT count(*) FROM sqlite_master WHERE type='table' AND name="devices" -1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT count(*) FROM sqlite_master WHERE type='table' AND name="device_details" -1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT count(*) FROM sqlite_master WHERE type='table' AND name="configs" -1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT sql FROM sqlite_master WHERE type IN ("table","index") AND tbl_name = "configs" AND sql IS NOT NULL order by type = "table" desc 1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT * FROM `configs` LIMIT 1 -1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT count(*) FROM sqlite_master WHERE type='table' AND name="config_details" -1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT sql FROM sqlite_master WHERE type IN ("table","index") AND tbl_name = "config_details" AND sql IS NOT NULL order by type = "table" desc 2 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT * FROM `config_details` LIMIT 1 -1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT count(*) FROM sqlite_master WHERE type = "table" AND tbl_name = "config_details" AND (sql LIKE "%CONSTRAINT \"fk_configs_details\" %" OR sql LIKE "%CONSTRAINT fk_configs_details %" OR sql LIKE "%CONSTRAINT `fk_configs_details`%" OR sql LIKE "%CONSTRAINT [fk_configs_details]%" OR sql LIKE "%CONSTRAINT     fk_configs_details  %") -1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT count(*) FROM sqlite_master WHERE type = "index" AND tbl_name = "config_details" AND name = "idx_unique" -1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT count(*) FROM sqlite_master WHERE type = "table" AND tbl_name = "config_details" AND (sql LIKE "%CONSTRAINT \"fk_devices_details\" %" OR sql LIKE "%CONSTRAINT fk_devices_details %" OR sql LIKE "%CONSTRAINT `fk_devices_details`%" OR sql LIKE "%CONSTRAINT [fk_devices_details]%" OR sql LIKE "%CONSTRAINT     fk_devices_details  %") -1 <nil>
[db    ] TRACE 2023/10/19 20:49:59 SELECT count(*) FROM sqlite_master WHERE type = "table" AND tbl_name = "config_details" AND (sql LIKE "%\"device_id\" %" OR sql LIKE "%device_id %" OR sql LIKE "%`device_id`%" OR sql LIKE "%[device_id]%" OR sql LIKE "%   device_id   %") -1 <nil>

What type of operating system are you running?

HomeAssistant Add-on

Version

0.121.1

andig commented 1 year ago

Probier bitte mal den Tibber Pulse neu zu starten- das scheint jetzt mehrfach zu Hängern geführt zu haben.

guhlandreas commented 1 year ago

@andig: Du bist der Beste!! 1000 Dank! Das war's! Da wäre ich alleine nie darauf gekommen. Vielen Dank nochmals für die schnelle Hilfe! Andreas

andig commented 1 year ago

Frag mich bitte nicht warum- das ist leider maximal blöde :O.

thebrainkafka commented 1 year ago

Sorry offtopic @guhlandreas . Wie rebootet man den tibber pulse?

rene-mueller commented 1 year ago

Sorry offtopic @guhlandreas .

Wie rebootet man den tibber pulse?

Batterie raus und wieder rein

smichaelis01 commented 1 year ago

trotz Neustart vom Puls geht nichts

smichaelis01 commented 1 year ago

Reset WB und Neustart aller Systeme hat geholfen

DANKE

andig commented 1 year ago

Wenn es wieder auftritt bitte evcc mit

--profile         Expose pprof profiles

starten und im Browser /debug/pprof aufrufen. Uns interessieren die Go-Routinen um zu verstehen, wo es stecken bleibt.