Skip to content

EOS Connect Develop (0.2.29.224): The SOC calculation for the PV forecast seems to be incorrect. #204

@Bend3smo

Description

@Bend3smo

According to the chart, the SOC barely rises by 1% from 11:00 to 14:00, even though the total yield is directed to the 11.5 kWh battery. With a forecast of over 2.5 kWh for this timeframe, we should be seeing a SOC increase of about 20%. For the PV forecast, I am using OpenMeteo.

Image Image Image

I am currently using version 1.2.4 of the EOS add-on by Duetting, as I encounter the following error with the new Akkudoktor-EOS Addon:

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
2026-01-21 01:34:32 INFO [Main] Starting eos_connect - version: 0.2.29.224-develop
2026-01-21 01:34:32 WARNING [Config] 15-min time_frame only supported with EVopt source; defaulting to 3600
2026-01-21 02:34:32 INFO [Main] set user defined time zone to Europe/Berlin and loglevel to INFO
2026-01-21 02:34:32 INFO [EOS] Getting EOS version: 0.2.0.dev84352035
2026-01-21 02:34:32 WARNING [EOS] Detected EOS version >= 0.1.0 - config updated with : {'horizon_hours': 48, 'interval': 3600, 'algorithm': 'GENETIC', 'genetic': {'individuals': 300, 'generations': 400, 'seed': None, 'penalties': None}, 'keys': []}
2026-01-21 02:34:32 WARNING [EOS] Detected EOS version >= 0.1.0 - config updated with charge rates for electric vehicles
2026-01-21 02:34:32 INFO [EOS] Configuration validation successful
2026-01-21 02:34:32 INFO [OPT] Using EOS Server backend
2026-01-21 02:34:32 INFO [BASE-CTRL] Update service started.
2026-01-21 02:34:32 INFO [Inverter] Inverter type evcc - using the universal evcc external battery control.
2026-01-21 02:34:32 INFO [MQTT] Successfully connected to MQTT broker.
2026-01-21 02:34:32 INFO [MQTT] Connected to MQTT broker: 192.168.178.136:1883
2026-01-21 02:34:32 INFO [MQTT] Subscribing to topic 'eos_connect/control/overall_state/set' with QoS 0
2026-01-21 02:34:32 INFO [MQTT] Subscribing to topic 'eos_connect/control/override_remain_time/set' with QoS 0
2026-01-21 02:34:32 INFO [MQTT] Subscribing to topic 'eos_connect/control/override_charge_power/set' with QoS 0
2026-01-21 02:34:32 INFO [MQTT] Subscribing to topic 'eos_connect/battery/soc_min/set' with QoS 0
2026-01-21 02:34:32 INFO [MQTT] Subscribing to topic 'eos_connect/battery/soc_max/set' with QoS 0
2026-01-21 02:34:32 INFO [MQTT] Home Assistant Auto Discovery enabled, sending discovery messages.
2026-01-21 02:34:32 INFO [EVCC] Successfully connected to EVCC server at http://192.168.178.95:7070. New API Version: 0.300.4
2026-01-21 02:34:32 INFO [EVCC] Update service started.
2026-01-21 02:34:32 INFO [BATTERY-PRICE] Dynamic price calculation is disabled in config
2026-01-21 02:34:32 INFO [BATTERY-IF] Update service started.
2026-01-21 02:34:32 INFO [PRICE-IF] Initialized with source: tibber, feed_in_tariff_price: 0.0, negative_price_switch: False
2026-01-21 02:34:32 INFO [PRICE-IF] Background price update service started
2026-01-21 02:34:32 INFO [PV-IF] Configuration validation successful
2026-01-21 02:34:32 INFO [PV-IF] Initialized
2026-01-21 02:34:32 INFO [PV-IF] Update service started.
2026-01-21 02:34:32 INFO [Main] Waiting 4 seconds for interfaces to initialize
2026-01-21 02:34:32 INFO [BATTERY-IF] Temperature compensation active: 5°C → 15% power
2026-01-21 02:34:32 INFO [BATTERY-IF] Max charge power: 600 W (SOC: 74.0%, Temp: 5.0°C (×0.15))
2026-01-21 02:34:32 INFO [BASE-CTRL] Battery charge max changed to 600 W
2026-01-21 02:34:32 INFO [PRICE-IF] Initial price update completed
2026-01-21 02:34:36 INFO [BATTERY-IF] Battery price calculation disabled - using static config value: 0.000000 €/Wh
2026-01-21 02:34:36 INFO [Main] start new run
2026-01-21 02:34:36 INFO [LOAD-IF] creating load profile for weekdays 2026-01-14 00:00:00 (Wednesday) and 2026-01-15 00:00:00 (Thursday)
2026-01-21 02:34:36 INFO [OPTIMIZATION] Update service Optimization Run started.
2026-01-21 02:34:36 INFO [OPTIMIZATION] Update service Control started.
2026-01-21 02:34:36 INFO [OPTIMIZATION] Update service Data started.
2026-01-21 02:34:36 INFO [Main] Initializing EOS Connect web server...
2026-01-21 02:34:36 INFO [PortInterface] Running in Home Assistant add-on mode
2026-01-21 02:34:36 INFO [PortInterface] Creating web server on 0.0.0.0:8081
2026-01-21 02:34:36 INFO [Main] EOS Connect web server successfully created on 0.0.0.0:8081
2026-01-21 02:34:36 INFO [Main] Web interface available at: http://localhost:8081
2026-01-21 02:34:36 INFO [Main] Starting EOS Connect web server...
2026-01-21 02:34:39 INFO [EOS] OPTIMIZE request optimization with: http://192.168.178.95:8503/optimize?start_hour=2 - and with timeout: 180
2026-01-21 02:34:44 INFO [EOS] OPTIMIZE response retrieved successfully in 0 min 5.85 sec for current run
2026-01-21 02:34:44 ERROR [EOS] OPTIMIZE Request failed: 400 Client Error: Bad Request for url: http://192.168.178.95:8503/optimize?start_hour=2
2026-01-21 02:34:44 ERROR [EOS] OPTIMIZE Response status: 400
2026-01-21 02:34:44 WARNING [Main] optimize() returned no avg_runtime; keeping previous value: 120
2026-01-21 02:34:44 ERROR [OPT] No control data in optimized response
2026-01-21 02:34:44 INFO [OPTIMIZATION] Gap-fill run: start 02:37:44 (quarter-aligned run follows at 02:45:00)
2026-01-21 02:34:44 INFO [Main] Next optimization at 02:37:44 (based on average runtime of 120 seconds). Sleeping for 3 min 0 seconds
2026-01-21 02:34:45 INFO [BASE-CTRL] Battery charge max changed to 0.0 W
2026-01-21 02:34:45 INFO [Main] Inverter mode set to MODE AVOID DISCHARGE (-----)
2026-01-21 02:34:45 ERROR [PV-IF] Akkudoktor API error for temperature: 400 Client Error: Bad Request for url: https://api.akkudoktor.net/forecast?lat=53.06425541869272&lon=8.861353672182616&azimuth=0.0&tilt=65&power=1720&powerInverter=2000&inverterEfficiency=0.88&timezone=Europe/Berlin&horizont=10,10,10,10
2026-01-21 02:34:45 INFO [PV-IF] PV and Temperature updated
2026-01-21 02:35:00 INFO [Main] Overall state not changed recently - remaining in current state: MODE AVOID DISCHARGE (OOOOO)
2026-01-21 02:37:44 INFO [Main] start new run
2026-01-21 02:37:44 INFO [LOAD-IF] creating load profile for weekdays 2026-01-14 00:00:00 (Wednesday) and 2026-01-15 00:00:00 (Thursday)
2026-01-21 02:37:47 INFO [EOS] OPTIMIZE request optimization with: http://192.168.178.95:8503/optimize?start_hour=2 - and with timeout: 180
2026-01-21 02:37:53 INFO [EOS] OPTIMIZE response retrieved successfully in 0 min 6.35 sec for current run
2026-01-21 02:37:53 ERROR [EOS] OPTIMIZE Request failed: 400 Client Error: Bad Request for url: http://192.168.178.95:8503/optimize?start_hour=2
2026-01-21 02:37:53 ERROR [EOS] OPTIMIZE Response status: 400
2026-01-21 02:37:53 WARNING [Main] optimize() returned no avg_runtime; keeping previous value: 120
2026-01-21 02:37:53 ERROR [OPT] No control data in optimized response
2026-01-21 02:37:53 INFO [OPTIMIZATION] Quarter-hour aligned run: start 02:43:00, finish at 02:45:00
2026-01-21 02:37:53 INFO [Main] Next optimization at 02:43:00 (based on average runtime of 120 seconds). Sleeping for 5 min 6 seconds

Image

I encounter this error with the Duetting add-on as well, but it doesn't get stuck in an infinite loop.

2026-01-21 01:58:33 ERROR [PV-IF] Akkudoktor API error for temperature: 400 Client Error: Bad Request for url: https://api.akkudoktor.net/forecast?lat=53.06425541869272&lon=8.861353672182616&azimuth=0.0&tilt=65&power=1720&powerInverter=2000&inverterEfficiency=0.88&timezone=Europe/Berlin&horizont=10,10,10,10
2026-01-21 01:58:33 INFO [PV-IF] PV and Temperature updated
2026-01-21 01:58:48 INFO [EOS] OPTIMIZE response retrieved successfully in 0 min 21.00 sec for current run
2026-01-21 01:58:48 INFO [BASE-CTRL] DC charge demand changed to 600.0 W
2026-01-21 01:58:48 INFO [OPTIMIZATION] Quarter-hour aligned run: start 01:59:39, finish at 02:00:00
2026-01-21 01:58:48 INFO [Main] Next optimization at 01:59:39 (based on average runtime of 21 seconds). Sleeping for 0 min 51 seconds
2026-01-21 01:58:48 INFO [Main] Inverter mode set to MODE AVOID DISCHARGE (-----)

If 'temperature' refers to the battery temperature sensor, I am providing that specific sensor data.

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions