mirror of
				https://github.com/Akkudoktor-EOS/EOS.git
				synced 2025-11-04 08:46:20 +00:00 
			
		
		
		
	day end
This commit is contained in:
		@@ -10,8 +10,7 @@ from typing import Any, List, Optional, Union
 | 
			
		||||
 | 
			
		||||
import numpy as np
 | 
			
		||||
import requests
 | 
			
		||||
from numpydantic import NDArray, Shape
 | 
			
		||||
from pydantic import Field, ValidationError
 | 
			
		||||
from pydantic import ValidationError
 | 
			
		||||
from statsmodels.tsa.holtwinters import ExponentialSmoothing
 | 
			
		||||
 | 
			
		||||
from akkudoktoreos.core.logging import get_logger
 | 
			
		||||
@@ -66,14 +65,6 @@ class ElecPriceAkkudoktor(ElecPriceProvider):
 | 
			
		||||
        _update_data(): Processes and updates forecast data from Akkudoktor in ElecPriceDataRecord format.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    elecprice_8days_weights_day_of_week: NDArray[Shape["7, 8"], float] = Field(
 | 
			
		||||
        default=np.full((7, 8), np.nan),
 | 
			
		||||
        description="Daily electricity price weights for the last 7 days and today. "
 | 
			
		||||
        "A NumPy array of 7 elements (Monday..Sunday), each representing "
 | 
			
		||||
        "the daily price weights of the last 7 days (index 0..6, Monday..Sunday) "
 | 
			
		||||
        "and today (index 7).",
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def provider_id(cls) -> str:
 | 
			
		||||
        """Return the unique identifier for the Akkudoktor provider."""
 | 
			
		||||
@@ -172,12 +163,22 @@ class ElecPriceAkkudoktor(ElecPriceProvider):
 | 
			
		||||
                date_time=orig_datetime,
 | 
			
		||||
                elecprice_marketprice_wh=price_wh,
 | 
			
		||||
            )
 | 
			
		||||
            self.insert(
 | 
			
		||||
                0, record
 | 
			
		||||
            )  # idk what happens if the date is already there. try except update?
 | 
			
		||||
            try:
 | 
			
		||||
                self.insert(0, record)
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
                # self.update_value(record)
 | 
			
		||||
 | 
			
		||||
        # now we check if we have data newer than the last from the api. if so thats old prediction. we delete them all.
 | 
			
		||||
 | 
			
		||||
        amount_datasets = len(self.records)
 | 
			
		||||
        if amount_datasets > 800:
 | 
			
		||||
            pass
 | 
			
		||||
        elif amount_datasets >= 168:
 | 
			
		||||
            pass
 | 
			
		||||
        elif amount_datasets < 168 and amount_datasets > 0:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            pass
 | 
			
		||||
        # now we count how many data points we have.
 | 
			
		||||
        # if its > 800 (5 weeks) we will use EST
 | 
			
		||||
        # elif > idk maybe 168 (1 week) we use EST without season
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user