From a0febef6a7898dc90d4a22ceb0b8d00c09fcc2f4 Mon Sep 17 00:00:00 2001 From: Bobby Noelte Date: Fri, 17 Jul 2026 19:35:38 +0200 Subject: [PATCH] fix: coroutine never awaited (#1155) Ensure await is called on key_to_array() before conversion to list by to_list(). Signed-off-by: Bobby Noelte --- .env | 2 +- config.yaml | 2 +- docs/_generated/openapi.md | 2 +- openapi.json | 2 +- .../optimization/genetic/geneticparams.py | 38 ++++++++++--------- 5 files changed, 24 insertions(+), 22 deletions(-) diff --git a/.env b/.env index 215ce529..b814f002 100644 --- a/.env +++ b/.env @@ -11,7 +11,7 @@ DOCKER_COMPOSE_DATA_DIR=${HOME}/.local/share/net.akkudoktor.eos # ----------------------------------------------------------------------------- # Image / build # ----------------------------------------------------------------------------- -VERSION=0.3.0.dev2607171078037437 +VERSION=0.3.0.dev2607171544999797 PYTHON_VERSION=3.13.9 # ----------------------------------------------------------------------------- diff --git a/config.yaml b/config.yaml index 62363b5e..1b97772e 100644 --- a/config.yaml +++ b/config.yaml @@ -6,7 +6,7 @@ # the root directory (no add-on folder as usual). name: "Akkudoktor-EOS" -version: "0.3.0.dev2607171078037437" +version: "0.3.0.dev2607171544999797" slug: "eos" description: "Akkudoktor-EOS add-on" url: "https://github.com/Akkudoktor-EOS/EOS" diff --git a/docs/_generated/openapi.md b/docs/_generated/openapi.md index c6d5512b..e2bd0271 100644 --- a/docs/_generated/openapi.md +++ b/docs/_generated/openapi.md @@ -1,6 +1,6 @@ # Akkudoktor-EOS -**Version**: `v0.3.0.dev2607171078037437` +**Version**: `v0.3.0.dev2607171544999797` **Description**: This project provides a comprehensive solution for simulating and optimizing an energy system based on renewable energy sources. With a focus on photovoltaic (PV) systems, battery storage (batteries), load management (consumer requirements), heat pumps, electric vehicles, and consideration of electricity price data, this system enables forecasting and optimization of energy flow and costs over a specified period. diff --git a/openapi.json b/openapi.json index e50c03cf..dc35f7dc 100644 --- a/openapi.json +++ b/openapi.json @@ -8,7 +8,7 @@ "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, - "version": "v0.3.0.dev2607171078037437" + "version": "v0.3.0.dev2607171544999797" }, "paths": { "/v1/admin/cache/clear": { diff --git a/src/akkudoktoreos/optimization/genetic/geneticparams.py b/src/akkudoktoreos/optimization/genetic/geneticparams.py index 1c40ded4..262746c3 100644 --- a/src/akkudoktoreos/optimization/genetic/geneticparams.py +++ b/src/akkudoktoreos/optimization/genetic/geneticparams.py @@ -234,16 +234,14 @@ class GeneticOptimizationParameters( await cls.prediction.update_data() try: - pvforecast_ac_power = ( - await cls.prediction.key_to_array( - key="pvforecast_ac_power", - start_datetime=parameter_start_datetime, - end_datetime=parameter_end_datetime, - interval=interval, - fill_method="linear", - ) - * power_to_energy_per_interval_factor - ).tolist() + array = await cls.prediction.key_to_array( + key="pvforecast_ac_power", + start_datetime=parameter_start_datetime, + end_datetime=parameter_end_datetime, + interval=interval, + fill_method="linear", + ) + pvforecast_ac_power = (array * power_to_energy_per_interval_factor).to_list() except: logger.info( "No PV forecast data available - defaulting to demo data. Parameter preparation attempt {}.", @@ -290,13 +288,14 @@ class GeneticOptimizationParameters( # Retry continue try: - elecprice_marketprice_wh = await cls.prediction.key_to_array( + array = await cls.prediction.key_to_array( key="elecprice_marketprice_wh", start_datetime=parameter_start_datetime, end_datetime=parameter_end_datetime, interval=interval, fill_method="ffill", - ).tolist() + ) + elecprice_marketprice_wh = array.to_list() except: logger.info( "No Electricity Marketprice forecast data available - defaulting to demo data. Parameter preparation attempt {}.", @@ -306,13 +305,14 @@ class GeneticOptimizationParameters( # Retry continue try: - loadforecast_power_w = await cls.prediction.key_to_array( + array = await cls.prediction.key_to_array( key="loadforecast_power_w", start_datetime=parameter_start_datetime, end_datetime=parameter_end_datetime, interval=interval, fill_method="ffill", - ).tolist() + ) + loadforecast_power_w = array.to_list() except: logger.info( "No Load forecast data available - defaulting to demo data. Parameter preparation attempt {}.", @@ -331,13 +331,14 @@ class GeneticOptimizationParameters( # Retry continue try: - feed_in_tariff_wh = await cls.prediction.key_to_array( + array = await cls.prediction.key_to_array( key="feed_in_tariff_wh", start_datetime=parameter_start_datetime, end_datetime=parameter_end_datetime, interval=interval, fill_method="ffill", - ).tolist() + ) + feed_in_tariff_wh = array.to_list() except: logger.info( "No feed in tariff forecast data available - defaulting to demo data. Parameter preparation attempt {}.", @@ -358,13 +359,14 @@ class GeneticOptimizationParameters( # Retry continue try: - weather_temp_air = await cls.prediction.key_to_array( + array = await cls.prediction.key_to_array( key="weather_temp_air", start_datetime=parameter_start_datetime, end_datetime=parameter_end_datetime, interval=interval, fill_method="ffill", - ).tolist() + ) + weather_temp_air = array.to_list() except: logger.info( "No weather forecast data available - defaulting to demo data. Parameter preparation attempt {}.",