From 840fb041e59f9cceb461863cb3cbb1f848c9b69f Mon Sep 17 00:00:00 2001 From: Christin Date: Fri, 17 Jul 2026 21:54:22 +0000 Subject: [PATCH] fix(server): /v1/prediction/import accepts pydantic-validated DataFrame bodies A PUT body that pydantic validates as PydanticDateTimeDataFrame (or PydanticDateTimeData) reached json.dumps(data), which cannot serialize BaseModel instances - every such import failed with HTTP 400 "Object of type PydanticDateTimeDataFrame is not JSON serializable". Serialize models via model_dump_json(), keep json.dumps for plain dicts. --- src/akkudoktoreos/server/eos.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/akkudoktoreos/server/eos.py b/src/akkudoktoreos/server/eos.py index e8463944..3d8f0124 100755 --- a/src/akkudoktoreos/server/eos.py +++ b/src/akkudoktoreos/server/eos.py @@ -993,7 +993,7 @@ def fastapi_prediction_import_provider( if not provider.enabled() and not force_enable: raise HTTPException(status_code=404, detail=f"Provider '{provider_id}' not enabled.") try: - provider.import_from_json(json_str=json.dumps(data)) + provider.import_from_json(json_str=data.model_dump_json() if hasattr(data, "model_dump_json") else json.dumps(data)) provider.update_datetime = to_datetime(in_timezone=get_config().general.timezone) except Exception as e: raise HTTPException(