From 0cbe0e62c37b7f08dadbecd0d8c786d484799fd2 Mon Sep 17 00:00:00 2001 From: virtualdj Date: Sat, 18 Oct 2025 14:19:31 +0000 Subject: [PATCH 1/7] Semplificazione calcolo prossima schedulazione --- custom_components/pun_sensor/coordinator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/custom_components/pun_sensor/coordinator.py b/custom_components/pun_sensor/coordinator.py index 6797394..18e67cf 100644 --- a/custom_components/pun_sensor/coordinator.py +++ b/custom_components/pun_sensor/coordinator.py @@ -428,8 +428,8 @@ async def update_prezzo_zonale(self, now=None) -> None: # Schedula la prossima esecuzione all'ora successiva # (tenendo conto del cambio ora legale/solare) next_update_prezzo_zonale: datetime = add_timedelta_via_utc( - dt=dt_util.now(time_zone=tz_pun), hours=1 - ).replace(minute=0, second=0, microsecond=0) + dt=self.orario_prezzo, hours=1 + ) async_track_point_in_time( self.hass, self.update_prezzo_zonale, next_update_prezzo_zonale ) From 441057a5e2bb233d5e9ff289d4c30fe0c70e18f2 Mon Sep 17 00:00:00 2001 From: virtualdj Date: Sat, 18 Oct 2025 14:27:58 +0000 Subject: [PATCH 2/7] Fix typo --- custom_components/pun_sensor/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/pun_sensor/utils.py b/custom_components/pun_sensor/utils.py index b4c9ebc..3a40303 100644 --- a/custom_components/pun_sensor/utils.py +++ b/custom_components/pun_sensor/utils.py @@ -202,7 +202,7 @@ def get_ordinal_hour(dt: datetime, ref_tz: ZoneInfo = ZoneInfo("Europe/Rome")) - # Converte l'ora passata in UTC dt_utc: datetime = dt.astimezone(timezone.utc) - # Calcola il numero di ore passate dal mezzanotte in UTC e somma 1 + # Calcola il numero di ore passate dalla mezzanotte in UTC e somma 1 return int((dt_utc - start_utc).total_seconds() // 3600) + 1 From e6a24dbd61bf91f2564f4d03df89a47ebaaf014a Mon Sep 17 00:00:00 2001 From: virtualdj Date: Sat, 18 Oct 2025 16:37:23 +0000 Subject: [PATCH 3/7] Aggiunta sensori con prezzi a 15 minuti --- custom_components/pun_sensor/__init__.py | 3 + custom_components/pun_sensor/const.py | 1 + custom_components/pun_sensor/coordinator.py | 22 ++ custom_components/pun_sensor/interfaces.py | 7 + custom_components/pun_sensor/sensor.py | 404 ++++++++++++++++++++ custom_components/pun_sensor/utils.py | 89 +++++ 6 files changed, 526 insertions(+) diff --git a/custom_components/pun_sensor/__init__.py b/custom_components/pun_sensor/__init__.py index dfef9f2..5e1185b 100644 --- a/custom_components/pun_sensor/__init__.py +++ b/custom_components/pun_sensor/__init__.py @@ -50,6 +50,9 @@ async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry) -> bool: # Aggiorna immediatamente il prezzo zonale corrente await coordinator.update_prezzo_zonale() + # Aggiorna immediatamente il prezzo zonale a 15 minuti corrente + await coordinator.update_prezzo_zonale_15min() + # Crea i sensori con la configurazione specificata await hass.config_entries.async_forward_entry_setups(config, PLATFORMS) diff --git a/custom_components/pun_sensor/const.py b/custom_components/pun_sensor/const.py index ccf6e77..3d793e1 100644 --- a/custom_components/pun_sensor/const.py +++ b/custom_components/pun_sensor/const.py @@ -18,6 +18,7 @@ EVENT_UPDATE_FASCIA: str = "event_update_fascia" EVENT_UPDATE_PUN: str = "event_update_pun" EVENT_UPDATE_PREZZO_ZONALE: str = "event_update_prezzo_zonale" +EVENT_UPDATE_PREZZO_ZONALE_15MIN: str = "event_update_prezzo_zonale_15min" # Parametri configurabili da configuration.yaml CONF_SCAN_HOUR: str = "scan_hour" diff --git a/custom_components/pun_sensor/coordinator.py b/custom_components/pun_sensor/coordinator.py index 18e67cf..b06ab4a 100644 --- a/custom_components/pun_sensor/coordinator.py +++ b/custom_components/pun_sensor/coordinator.py @@ -28,6 +28,7 @@ DOMAIN, EVENT_UPDATE_FASCIA, EVENT_UPDATE_PREZZO_ZONALE, + EVENT_UPDATE_PREZZO_ZONALE_15MIN, EVENT_UPDATE_PUN, WEB_RETRIES_MINUTES, ) @@ -35,6 +36,7 @@ from .utils import ( add_timedelta_via_utc, extract_xml, + get_15min_datetime, get_fascia, get_hour_datetime, get_next_date, @@ -140,6 +142,9 @@ async def async_restore_default_zona() -> None: self.prossimo_cambio_fascia: datetime | None = None self.termine_prossima_fascia: datetime | None = None self.orario_prezzo: datetime = get_hour_datetime(dt_util.now(time_zone=tz_pun)) + self.orario_prezzo_15min: datetime = get_15min_datetime( + dt_util.now(time_zone=tz_pun) + ) _LOGGER.debug( "Coordinator inizializzato (con 'usa dati reali' = %s).", @@ -433,3 +438,20 @@ async def update_prezzo_zonale(self, now=None) -> None: async_track_point_in_time( self.hass, self.update_prezzo_zonale, next_update_prezzo_zonale ) + + async def update_prezzo_zonale_15min(self, now=None) -> None: + """Aggiorna il prezzo zonale a 15 minuti corrente.""" + + # Aggiorna il nuovo orario + self.orario_prezzo_15min = get_15min_datetime(dt_util.now(time_zone=tz_pun)) + + # Notifica che i dati sono stati aggiornati (orario prezzo zonale a 15 minuti) + self.async_set_updated_data({COORD_EVENT: EVENT_UPDATE_PREZZO_ZONALE_15MIN}) + + # Schedula la prossima esecuzione ai 15 minuti successivi ("spaccati") + next_update_prezzo_zonale_15min: datetime = add_timedelta_via_utc( + dt=self.orario_prezzo_15min, minutes=15 + ) + async_track_point_in_time( + self.hass, self.update_prezzo_zonale_15min, next_update_prezzo_zonale_15min + ) diff --git a/custom_components/pun_sensor/interfaces.py b/custom_components/pun_sensor/interfaces.py index 84a90f8..8e0d902 100644 --- a/custom_components/pun_sensor/interfaces.py +++ b/custom_components/pun_sensor/interfaces.py @@ -17,10 +17,17 @@ def __init__(self) -> None: Fascia.F23: [], } + # Nome della zona per i prezzi zonali self.zona: Zona = DEFAULT_ZONA + + # Prezzi zonali e PUN orari self.prezzi_zonali: dict[str, float | None] = {} self.pun_orari: dict[str, float | None] = {} + # Prezzi zonali e PUN a 15 minuti + self.prezzi_zonali_15min: dict[str, float | None] = {} + self.pun_15min: dict[str, float | None] = {} + class Fascia(Enum): """Enumerazione con i tipi di fascia oraria.""" diff --git a/custom_components/pun_sensor/sensor.py b/custom_components/pun_sensor/sensor.py index b23c61a..fa8a8b1 100644 --- a/custom_components/pun_sensor/sensor.py +++ b/custom_components/pun_sensor/sensor.py @@ -34,13 +34,16 @@ DOMAIN, EVENT_UPDATE_FASCIA, EVENT_UPDATE_PREZZO_ZONALE, + EVENT_UPDATE_PREZZO_ZONALE_15MIN, EVENT_UPDATE_PUN, ) from .interfaces import Fascia, PunValues from .utils import ( add_timedelta_via_utc, get_datetime_from_ordinal_hour, + get_datetime_from_periodo_15min, get_ordinal_hour, + get_periodo_15min, get_total_hours, ) @@ -69,7 +72,9 @@ async def async_setup_entry( entities.append(FasciaPUNSensorEntity(coordinator)) entities.append(PrezzoFasciaPUNSensorEntity(coordinator)) entities.append(PrezzoZonaleSensorEntity(coordinator)) + entities.append(PrezzoZonale15MinSensorEntity(coordinator)) entities.append(PUNOrarioSensorEntity(coordinator)) + entities.append(PUN15MinSensorEntity(coordinator)) # Aggiunge i sensori ma non aggiorna automaticamente via web # per lasciare il tempo ad Home Assistant di avviarsi @@ -607,6 +612,238 @@ def extra_state_attributes(self) -> dict[str, Any]: return attributes +class PrezzoZonale15MinSensorEntity(CoordinatorEntity, SensorEntity, RestoreEntity): + """Sensore del prezzo zonale aggiornato ogni 15 minuti.""" + + # Non memorizza gli attributi nel recoder + _unrecorded_attributes = frozenset({MATCH_ALL}) + + def __init__(self, coordinator: PUNDataUpdateCoordinator) -> None: + """Inizializza il sensore.""" + super().__init__(coordinator) + + # Inizializza coordinator e tipo + self.coordinator: PUNDataUpdateCoordinator = coordinator + + # ID univoco sensore basato su un nome fisso + self.entity_id = ENTITY_ID_FORMAT.format("pun_prezzo_zonale_15min") + self._attr_unique_id = self.entity_id + self._attr_has_entity_name = True + + # Inizializza le proprietà comuni + self._attr_state_class = SensorStateClass.MEASUREMENT + self._attr_suggested_display_precision = 6 + self._available: bool = False + self._native_value: float = 0 + self._friendly_name: str = "Prezzo zonale 15 min" + self._prezzi_zonali_15min: dict[str, float | None] = {} + + def _handle_coordinator_update(self) -> None: + """Gestisce l'aggiornamento dei dati dal coordinator.""" + + # Identifica l'evento che ha scatenato l'aggiornamento + if self.coordinator.data is None: + return + if (coordinator_event := self.coordinator.data.get(COORD_EVENT)) is None: + return + + # Aggiornata la zona e/o i prezzi + if coordinator_event == EVENT_UPDATE_PUN: + if self.coordinator.pun_data.zona is not None: + # Imposta il nome della zona + self._friendly_name = ( + f"Prezzo zonale 15 min ({self.coordinator.pun_data.zona.value})" + ) + # Verifica che il coordinator abbia i prezzi + if self.coordinator.pun_data.prezzi_zonali_15min: + # Copia i dati dal coordinator in locale (per il backup) + self._prezzi_zonali_15min = dict( + self.coordinator.pun_data.prezzi_zonali_15min + ) + else: + # Nessuna zona impostata + self._friendly_name = "Prezzo zonale 15 min" + self._prezzi_zonali_15min = {} + self._available = False + self.async_write_ha_state() + return + + # Cambiato l'orario del prezzo + if coordinator_event in (EVENT_UPDATE_PUN, EVENT_UPDATE_PREZZO_ZONALE_15MIN): + if self.coordinator.pun_data.zona is not None: + # Controlla se il prezzo a 15 minuti esiste per il periodo corrente + _LOGGER.debug( + "Aggiornamento data prezzo zonale 15 min: %s (XML: %s)", + self.coordinator.orario_prezzo_15min, + get_periodo_15min(self.coordinator.orario_prezzo_15min), + ) + if ( + str(self.coordinator.orario_prezzo_15min) + in self._prezzi_zonali_15min + ): + # Aggiorna il valore al prezzo orario + if ( + valore := self._prezzi_zonali_15min[ + str(self.coordinator.orario_prezzo_15min) + ] + ) is not None: + self._native_value = valore + self._available = True + else: + # Prezzo non disponibile + self._available = False + else: + # Orario non disponibile + self._available = False + else: + # Nessuna zona impostata + self._available = False + + # Aggiorna lo stato di Home Assistant + self.async_write_ha_state() + + @property + def extra_restore_state_data(self) -> ExtraStoredData: + """Determina i dati da salvare per il ripristino successivo.""" + + # Salva i dati per la prossima istanza + return RestoredExtraData( + { + "friendly_name": self._friendly_name if self._available else None, + "zona": self.coordinator.pun_data.zona.name + if self.coordinator.pun_data.zona is not None + else None, + "prezzi_zonali_15min": self._prezzi_zonali_15min, + } + ) + + async def async_added_to_hass(self) -> None: + """Entità aggiunta ad Home Assistant.""" + await super().async_added_to_hass() + + # Recupera lo stato precedente, se esiste + if (old_data := await self.async_get_last_extra_data()) is not None: + # Recupera il dizionario con i valori precedenti + old_data_dict = old_data.as_dict() + + # Zona geografica + if (old_zona_str := old_data_dict.get("zona")) is not None: + # Verifica che la zona attuale sia disponibile + # (se non lo è, c'è un errore nella configurazione) + if self.coordinator.pun_data.zona is None: + _LOGGER.warning( + "La zona geografica memorizzata '%s' non sembra essere più valida.", + old_zona_str, + ) + self._available = False + return + + # Controlla se la zona memorizzata è diversa dall'attuale + if old_zona_str != self.coordinator.pun_data.zona.name: + _LOGGER.debug( + "Ignorati i dati precedenti, perché riferiti alla zona '%s' (anziché '%s').", + old_zona_str, + self.coordinator.pun_data.zona.name, + ) + self._available = False + return + + # Nome + if (old_friendly_name := old_data_dict.get("friendly_name")) is not None: + self._friendly_name = old_friendly_name + + # Valori delle fasce orarie + if ( + old_prezzi_zonali_15min := old_data_dict.get("prezzi_zonali_15min") + ) is not None: + self._prezzi_zonali_15min = old_prezzi_zonali_15min + + # Controlla se il prezzo a 15 minuti esiste per il periodo corrente + if ( + str(self.coordinator.orario_prezzo_15min) + in self._prezzi_zonali_15min + ): + # Aggiorna il valore al prezzo a 15 minuti + if ( + valore := self._prezzi_zonali_15min[ + str(self.coordinator.orario_prezzo_15min) + ] + ) is not None: + self._native_value = valore + self._available = True + else: + # Prezzo non disponibile + self._available = False + else: + # Imposta come non disponibile + self._available = False + + @property + def should_poll(self) -> bool: + """Determina l'aggiornamento automatico.""" + return False + + @property + def available(self) -> bool: + """Determina se il valore è disponibile.""" + return self._available + + @property + def native_value(self) -> float: + """Valore corrente del sensore.""" + return self._native_value + + @property + def native_unit_of_measurement(self) -> str: + """Unita' di misura.""" + return f"{CURRENCY_EURO}/{UnitOfEnergy.KILO_WATT_HOUR}" + + @property + def icon(self) -> str: + """Icona da usare nel frontend.""" + return "mdi:map-clock-outline" + + @property + def name(self) -> str | None: + """Restituisce il nome del sensore.""" + return self._friendly_name + + @property + def extra_state_attributes(self) -> dict[str, Any]: + """Restituisce gli attributi di stato.""" + + # Crea il dizionario degli attributi + attributes: dict[str, Any] = {} + + # Aggiunge i prezzi a 15 minuti negli attributi, periodo per periodo + if self.coordinator.pun_data.zona is not None: + # Prezzi di oggi + max_15min_oggi: int = 4 * get_total_hours( + self.coordinator.orario_prezzo_15min + ) + for p in range(max_15min_oggi): + data_ora_prezzo = get_datetime_from_periodo_15min( + self.coordinator.orario_prezzo_15min, (1 + p) + ) + attributes[str(data_ora_prezzo)] = self._prezzi_zonali_15min.get( + str(data_ora_prezzo) + ) + + # Prezzi di domani + domani = add_timedelta_via_utc( + dt=self.coordinator.orario_prezzo_15min, days=1 + ) + max_15min_domani: int = 4 * get_total_hours(domani) + for p in range(max_15min_domani): + data_ora_prezzo = get_datetime_from_periodo_15min(domani, (1 + p)) + attributes[str(data_ora_prezzo)] = self._prezzi_zonali_15min.get( + str(data_ora_prezzo) + ) + + # Restituisce gli attributi + return attributes + + class PUNOrarioSensorEntity(CoordinatorEntity, SensorEntity, RestoreEntity): """Sensore del prezzo PUN aggiornato ogni ora.""" @@ -770,3 +1007,170 @@ def extra_state_attributes(self) -> dict[str, Any]: # Restituisce gli attributi return attributes + + +class PUN15MinSensorEntity(CoordinatorEntity, SensorEntity, RestoreEntity): + """Sensore del prezzo PUN aggiornato ogni 15 minuti.""" + + # Non memorizza gli attributi nel recoder + _unrecorded_attributes = frozenset({MATCH_ALL}) + + def __init__(self, coordinator: PUNDataUpdateCoordinator) -> None: + """Inizializza il sensore.""" + super().__init__(coordinator) + + # Inizializza coordinator e tipo + self.coordinator: PUNDataUpdateCoordinator = coordinator + + # ID univoco sensore basato su un nome fisso + self.entity_id = ENTITY_ID_FORMAT.format("pun_15min") + self._attr_unique_id = self.entity_id + self._attr_has_entity_name = True + + # Inizializza le proprietà comuni + self._attr_state_class = SensorStateClass.MEASUREMENT + self._attr_suggested_display_precision = 6 + self._available: bool = False + self._native_value: float = 0 + self._friendly_name: str = "PUN 15 min" + self._pun_15min: dict[str, float | None] = {} + + def _handle_coordinator_update(self) -> None: + """Gestisce l'aggiornamento dei dati dal coordinator.""" + + # Identifica l'evento che ha scatenato l'aggiornamento + if self.coordinator.data is None: + return + if (coordinator_event := self.coordinator.data.get(COORD_EVENT)) is None: + return + + # Aggiornati i prezzi PUN + if coordinator_event == EVENT_UPDATE_PUN: + # Verifica che il coordinator abbia i prezzi + if self.coordinator.pun_data.pun_15min: + # Copia i dati dal coordinator in locale (per il backup) + self._pun_15min = dict(self.coordinator.pun_data.pun_15min) + + # Cambiato l'orario del prezzo + if coordinator_event in (EVENT_UPDATE_PUN, EVENT_UPDATE_PREZZO_ZONALE_15MIN): + # Controlla se il PUN a 15 minuti esiste per il periodo corrente + _LOGGER.debug( + "Aggiornamento data PUN 15 min: %s (XML: %s)", + self.coordinator.orario_prezzo_15min, + get_periodo_15min(self.coordinator.orario_prezzo_15min), + ) + if str(self.coordinator.orario_prezzo_15min) in self._pun_15min: + # Aggiorna il valore al prezzo orario + if ( + valore := self._pun_15min[str(self.coordinator.orario_prezzo_15min)] + ) is not None: + self._native_value = valore + self._available = True + else: + # Prezzo non disponibile + self._available = False + else: + # Orario non disponibile + self._available = False + + # Aggiorna lo stato di Home Assistant + self.async_write_ha_state() + + @property + def extra_restore_state_data(self) -> ExtraStoredData: + """Determina i dati da salvare per il ripristino successivo.""" + + # Salva i dati per la prossima istanza + return RestoredExtraData( + { + "pun_15min": self._pun_15min, + } + ) + + async def async_added_to_hass(self) -> None: + """Entità aggiunta ad Home Assistant.""" + await super().async_added_to_hass() + + # Recupera lo stato precedente, se esiste + if (old_data := await self.async_get_last_extra_data()) is not None: + # Recupera il dizionario con i valori precedenti + old_data_dict = old_data.as_dict() + + # Valori dei prezzi a 15 minuti + if (old_pun_15min := old_data_dict.get("pun_15min")) is not None: + self._pun_15min = old_pun_15min + + # Controlla se il prezzo a 15 minuti esiste per il periodo corrente + if str(self.coordinator.orario_prezzo_15min) in self._pun_15min: + # Aggiorna il valore al prezzo a 15 minuti + if ( + valore := self._pun_15min[ + str(self.coordinator.orario_prezzo_15min) + ] + ) is not None: + self._native_value = valore + self._available = True + else: + # Prezzo non disponibile + self._available = False + else: + # Imposta come non disponibile + self._available = False + + @property + def should_poll(self) -> bool: + """Determina l'aggiornamento automatico.""" + return False + + @property + def available(self) -> bool: + """Determina se il valore è disponibile.""" + return self._available + + @property + def native_value(self) -> float: + """Valore corrente del sensore.""" + return self._native_value + + @property + def native_unit_of_measurement(self) -> str: + """Unita' di misura.""" + return f"{CURRENCY_EURO}/{UnitOfEnergy.KILO_WATT_HOUR}" + + @property + def icon(self) -> str: + """Icona da usare nel frontend.""" + if AwesomeVersion(HA_VERSION) < AwesomeVersion("2024.1.0"): + return "mdi:receipt-clock-outline" + return "mdi:invoice-clock-outline" + + @property + def name(self) -> str | None: + """Restituisce il nome del sensore.""" + return self._friendly_name + + @property + def extra_state_attributes(self) -> dict[str, Any]: + """Restituisce gli attributi di stato.""" + + # Crea il dizionario degli attributi + attributes: dict[str, Any] = {} + + # Aggiunge i prezzi a 15 minuti negli attributi, periodo per periodo + # Prezzi di oggi + max_15min_oggi: int = 4 * get_total_hours(self.coordinator.orario_prezzo_15min) + for p in range(max_15min_oggi): + data_ora_prezzo = get_datetime_from_periodo_15min( + self.coordinator.orario_prezzo_15min, (1 + p) + ) + attributes[str(data_ora_prezzo)] = self._pun_15min.get(str(data_ora_prezzo)) + + # Prezzi di domani + domani = add_timedelta_via_utc(dt=self.coordinator.orario_prezzo_15min, days=1) + max_15min_domani: int = 4 * get_total_hours(domani) + for p in range(max_15min_domani): + data_ora_prezzo = get_datetime_from_periodo_15min(domani, (1 + p)) + attributes[str(data_ora_prezzo)] = self._pun_15min.get(str(data_ora_prezzo)) + + # Restituisce gli attributi + return attributes diff --git a/custom_components/pun_sensor/utils.py b/custom_components/pun_sensor/utils.py index 3a40303..dde5f69 100644 --- a/custom_components/pun_sensor/utils.py +++ b/custom_components/pun_sensor/utils.py @@ -331,6 +331,95 @@ def get_datetime_from_ordinal_hour( return end_utc.astimezone(ref_tz) +def get_15min_datetime(dataora: datetime) -> datetime: + """Restituisce un datetime con solo la data, l'ora e i minuti arrotondati ai 15 precedenti. + + Args: + dataora (datetime): Data e ora di partenza. + + Returns: + datetime: La nuova data con solo giorno, ora e minuti a step di 15. + + """ + return datetime( + year=dataora.year, + month=dataora.month, + day=dataora.day, + hour=dataora.hour, + minute=(dataora.minute // 15) * 15, + second=0, + microsecond=0, + fold=dataora.fold, + tzinfo=dataora.tzinfo, + ) + + +def get_periodo_15min(dt: datetime, ref_tz: ZoneInfo = ZoneInfo("Europe/Rome")) -> int: + """Restituisce il periodo di 15 minuti della giornata (1-96 normalmente, 1-92 in primavera, 1-100 in autunno). + + Args: + dt: datetime con timezone di cui restituire il periodo di 15 minuti + ref_tz: timezone di riferimento per il calcolo (di default usa "Europe/Rome") + + Returns: + int: numero progressivo del periodo di 15 minuti (1-100) + + Raises: + ValueError: se dt non ha timezone + + """ + # Controllo presenza fuso orario negli argomenti + if dt.tzinfo is None: + raise ValueError( + "L'argomento dt deve essere timezone-aware (es. ZoneInfo('Europe/Rome'))." + ) + + # Calcola la mezzanotte locale + local_midnight: datetime = datetime(dt.year, dt.month, dt.day, 0, 0, tzinfo=ref_tz) + + # Converte la mezzanotte in UTC + start_utc: datetime = local_midnight.astimezone(timezone.utc) + + # Converte l'ora passata in UTC + dt_utc: datetime = dt.astimezone(timezone.utc) + + # Calcola il numero di quarti d'ora passati dalla mezzanotte in UTC e somma 1 + return int((dt_utc - start_utc).total_seconds() // 900) + 1 + + +def get_datetime_from_periodo_15min( + dt: datetime | date, periodo_15min: int, ref_tz: ZoneInfo = ZoneInfo("Europe/Rome") +) -> datetime: + """Restituisce il datetime corrispondente al periodo di 15 minuti del giorno `data`. + + Args: + dt: datetime o date di riferimento + periodo_15min: il numero del periodo di 15 minuti del giorno `dt` da convertire (1..100) + ref_tz: timezone di riferimento per il calcolo (di default usa "Europe/Rome") + + Raises: + ValueError: se periodo_15min non è compreso tra 1 e 100 + + Returns: + datetime: orario locale corrispondente all'ora progressiva specificata + + """ + if not (1 <= periodo_15min <= 100): + raise ValueError("periodo_15min deve essere compreso tra 1 e 100") + + # Calcola la mezzanotte locale + local_midnight: datetime = datetime(dt.year, dt.month, dt.day, 0, 0, tzinfo=ref_tz) + + # Converte la mezzanotte in UTC + start_utc: datetime = local_midnight.astimezone(timezone.utc) + + # Aggiunge i periodi di 15 minuti effettivi trascorsi dalla mezzanotte + end_utc: datetime = start_utc + timedelta(minutes=15 * (periodo_15min - 1)) + + # Ritorna l'orario locale corrispondente + return end_utc.astimezone(ref_tz) + + def extract_xml(archive: ZipFile, pun_data: PunData, today: date) -> PunData: """Estrae i valori del pun per ogni fascia da un archivio zip contenente un XML. From 4b0690c2e5493ced5bee42513e7a97a7a47ebcf4 Mon Sep 17 00:00:00 2001 From: virtualdj Date: Sat, 18 Oct 2025 19:21:55 +0000 Subject: [PATCH 4/7] Estrazione prezzi ogni 15 minuti da XML --- custom_components/pun_sensor/utils.py | 217 +++++++++++++++++++------- 1 file changed, 158 insertions(+), 59 deletions(-) diff --git a/custom_components/pun_sensor/utils.py b/custom_components/pun_sensor/utils.py index dde5f69..4a20ae9 100644 --- a/custom_components/pun_sensor/utils.py +++ b/custom_components/pun_sensor/utils.py @@ -447,12 +447,19 @@ def extract_xml(archive: ZipFile, pun_data: PunData, today: date) -> PunData: # Parsing dell'XML (1 file = 1 giorno) xml_root = xml_tree.getroot() - # Salta per ora i file con i prezzi a 15 minuti - if xml_root.find("Prezzi15"): - continue + # Prova a cercare i prezzi orari come primo elemento + prezzi_15min: bool = False + primo_elemento = xml_root.find("Prezzi") + if primo_elemento is None: + # Prova a vedere se sono prezzi ogni 15 minuti + prezzi_15min = True + primo_elemento = xml_root.find("Prezzi15") + if primo_elemento is None: + _LOGGER.debug("Nessun prezzo supportato trovato nel file XML: %s", fn) + continue # Estrae la data dal primo elemento (sarà identica per gli altri) - dat_string: str = xml_root.find("Prezzi").find("Data").text # YYYYMMDD + dat_string: str = primo_elemento.find("Data").text # YYYYMMDD # Converte la stringa giorno in data dat_date: date = date( @@ -461,72 +468,164 @@ def extract_xml(archive: ZipFile, pun_data: PunData, today: date) -> PunData: int(dat_string[6:8]), ) - # Ottiene il numero massimo di ora per la data specificata - max_ore: int = get_total_hours(dat_date) - # Verifica la festività festivo: bool = dat_date in it_holidays - # Estrae le rimanenti informazioni - for prezzi in xml_root.iter("Prezzi"): - # Estrae l'ora dall'XML - ora_xml: int = int(prezzi.find("Ora").text) - - # Valida l'orario XML - # 1..24 normalmente, ma anche 1..23 o 1..25 nei cambi ora - if not (1 <= ora_xml <= max_ore): - _LOGGER.warning( - "Orario %s non valido per %s (max: %s).", - ora_xml, - dat_string, - max_ore, - ) + # Verifica se si tratta di prezzi ogni 15 minuti + if prezzi_15min: + # Ottiene il numero massimo di periodi di 15 minuti per la data specificata + max_periodi: int = 4 * get_total_hours(dat_date) - # Converte l'ora in un datetime - orario_prezzo: datetime = get_datetime_from_ordinal_hour(dat_date, ora_xml) + # Considera solo oggi e domani per i prezzi ogni 15 minuti + if dat_date >= today: + # Estrae le rimanenti informazioni + for prezzi in xml_root.iter("Prezzi15"): + # Verifica che il mercato sia corretto + if prezzi.find("Mercato").text != "MGP": + _LOGGER.warning( + "Mercato non supportato per i prezzi a 15 minuti nel file XML: %s.", + fn, + ) + break - # Estrae il prezzo PUN dall'XML in un float - if (prezzo_xml := prezzi.find("PUN")) is not None: - prezzo_string: str = prezzo_xml.text.replace(".", "").replace(",", ".") - prezzo: float = float(prezzo_string) / 1000 + # Verifica che la granularità sia corretta + if prezzi.find("Granularity").text != "PT15": + _LOGGER.warning( + "Granularità non supportata per i prezzi a 15 minuti nel file XML: %s.", + fn, + ) + break + + # Estrae il periodo dall'XML + periodo_xml: int = int(prezzi.find("Periodo").text) + + # Valida il periodo XML + # 1 .. 96 normalmente, ma anche 1..92 o 1..100 nei cambi ora + if not (1 <= periodo_xml <= max_periodi): + _LOGGER.warning( + "Periodo %s non valido per %s (max: %s).", + periodo_xml, + dat_string, + max_periodi, + ) - # Per le medie mensili, considera solo i dati fino ad oggi - if dat_date <= today: - # Estrae la fascia oraria - fascia: Fascia = get_fascia_for_xml( - dat_date, festivo, orario_prezzo.hour + # Converte il periodo in un datetime + orario_prezzo_15min: datetime = get_datetime_from_periodo_15min( + dat_date, periodo_xml ) - # Calcola le statistiche - pun_data.pun[Fascia.MONO].append(prezzo) - pun_data.pun[fascia].append(prezzo) + # Estrae il prezzo PUN dall'XML in un float + if (prezzo_xml := prezzi.find("PUN")) is not None: + prezzo_string_15min: str = prezzo_xml.text.replace( + ".", "" + ).replace(",", ".") + prezzo_15min: float = float(prezzo_string_15min) / 1000 + + # Salva il prezzo per quell'orario + pun_data.pun_15min[str(orario_prezzo_15min)] = prezzo_15min + else: + # PUN non valido + _LOGGER.warning( + "PUN non specificato per %s al periodo: %s.", + dat_string, + periodo_xml, + ) - # Per il PUN orario, considera solo oggi e domani - if dat_date >= today: - # Salva il prezzo per quell'orario - pun_data.pun_orari[str(orario_prezzo)] = prezzo - else: - # PUN non valido - _LOGGER.warning( - "PUN non specificato per %s ad orario: %s.", dat_string, ora_xml + # Controlla che la zona del prezzo zonale sia impostata + if pun_data.zona is not None: + # Estrae il prezzo zonale dall'XML in un float + # basandosi sul nome dell'enum + if ( + prezzo_zonale_xml := prezzi.find(pun_data.zona.name) + ) is not None: + prezzo_zonale_string_15min: str = ( + prezzo_zonale_xml.text.replace(".", "").replace( + ",", "." + ) + ) + pun_data.prezzi_zonali_15min[str(orario_prezzo_15min)] = ( + float(prezzo_zonale_string_15min) / 1000 + ) + else: + pun_data.prezzi_zonali_15min[str(orario_prezzo_15min)] = ( + None + ) + else: + # Ottiene il numero massimo di ore per la data specificata + max_ore: int = get_total_hours(dat_date) + + # Estrae le rimanenti informazioni + for prezzi in xml_root.iter("Prezzi"): + # Verifica che il mercato sia corretto + if prezzi.find("Mercato").text != "MGP": + _LOGGER.warning( + "Mercato non supportato per i prezzi orari nel file XML: %s.", + fn, + ) + break + + # Estrae l'ora dall'XML + ora_xml: int = int(prezzi.find("Ora").text) + + # Valida l'orario XML + # 1..24 normalmente, ma anche 1..23 o 1..25 nei cambi ora + if not (1 <= ora_xml <= max_ore): + _LOGGER.warning( + "Orario %s non valido per %s (max: %s).", + ora_xml, + dat_string, + max_ore, + ) + + # Converte l'ora in un datetime + orario_prezzo: datetime = get_datetime_from_ordinal_hour( + dat_date, ora_xml ) - # Per i prezzi zonali, considera solo oggi e domani - if dat_date >= today: - # Controlla che la zona del prezzo zonale sia impostata - if pun_data.zona is not None: - # Estrae il prezzo zonale dall'XML in un float - # basandosi sul nome dell'enum - if ( - prezzo_zonale_xml := prezzi.find(pun_data.zona.name) - ) is not None: - prezzo_zonale_string: str = prezzo_zonale_xml.text.replace( - ".", "" - ).replace(",", ".") - pun_data.prezzi_zonali[str(orario_prezzo)] = ( - float(prezzo_zonale_string) / 1000 + # Estrae il prezzo PUN dall'XML in un float + if (prezzo_xml := prezzi.find("PUN")) is not None: + prezzo_string: str = prezzo_xml.text.replace(".", "").replace( + ",", "." + ) + prezzo: float = float(prezzo_string) / 1000 + + # Per le medie mensili, considera solo i dati fino ad oggi + if dat_date <= today: + # Estrae la fascia oraria + fascia: Fascia = get_fascia_for_xml( + dat_date, festivo, orario_prezzo.hour ) - else: - pun_data.prezzi_zonali[str(orario_prezzo)] = None + + # Calcola le statistiche + pun_data.pun[Fascia.MONO].append(prezzo) + pun_data.pun[fascia].append(prezzo) + + # Per il PUN orario, considera solo oggi e domani + if dat_date >= today: + # Salva il prezzo per quell'orario + pun_data.pun_orari[str(orario_prezzo)] = prezzo + else: + # PUN non valido + _LOGGER.warning( + "PUN non specificato per %s ad orario: %s.", dat_string, ora_xml + ) + + # Per i prezzi zonali, considera solo oggi e domani + if dat_date >= today: + # Controlla che la zona del prezzo zonale sia impostata + if pun_data.zona is not None: + # Estrae il prezzo zonale dall'XML in un float + # basandosi sul nome dell'enum + if ( + prezzo_zonale_xml := prezzi.find(pun_data.zona.name) + ) is not None: + prezzo_zonale_string: str = prezzo_zonale_xml.text.replace( + ".", "" + ).replace(",", ".") + pun_data.prezzi_zonali[str(orario_prezzo)] = ( + float(prezzo_zonale_string) / 1000 + ) + else: + pun_data.prezzi_zonali[str(orario_prezzo)] = None return pun_data From 8553af8536e086dfe41f19a3c89f39dc7052bbe2 Mon Sep 17 00:00:00 2001 From: virtualdj Date: Sun, 19 Oct 2025 14:58:11 +0000 Subject: [PATCH 5/7] Aggiunto contesto nel log per errori XML --- custom_components/pun_sensor/utils.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/custom_components/pun_sensor/utils.py b/custom_components/pun_sensor/utils.py index 4a20ae9..0032c9a 100644 --- a/custom_components/pun_sensor/utils.py +++ b/custom_components/pun_sensor/utils.py @@ -483,16 +483,18 @@ def extract_xml(archive: ZipFile, pun_data: PunData, today: date) -> PunData: # Verifica che il mercato sia corretto if prezzi.find("Mercato").text != "MGP": _LOGGER.warning( - "Mercato non supportato per i prezzi a 15 minuti nel file XML: %s.", + "Mercato non supportato per i prezzi a 15 minuti nel file XML: %s.\n%s", fn, + et.tostring(prezzi, encoding="unicode", method="xml"), ) break # Verifica che la granularità sia corretta if prezzi.find("Granularity").text != "PT15": _LOGGER.warning( - "Granularità non supportata per i prezzi a 15 minuti nel file XML: %s.", + "Granularità non supportata per i prezzi a 15 minuti nel file XML: %s.\n%s", fn, + et.tostring(prezzi, encoding="unicode", method="xml"), ) break @@ -559,8 +561,9 @@ def extract_xml(archive: ZipFile, pun_data: PunData, today: date) -> PunData: # Verifica che il mercato sia corretto if prezzi.find("Mercato").text != "MGP": _LOGGER.warning( - "Mercato non supportato per i prezzi orari nel file XML: %s.", + "Mercato non supportato per i prezzi orari nel file XML: %s.\n%s", fn, + et.tostring(prezzi, encoding="unicode", method="xml"), ) break From aa284d8323b5fa96369e673aab0212b12236cdaf Mon Sep 17 00:00:00 2001 From: virtualdj Date: Sun, 19 Oct 2025 15:33:41 +0000 Subject: [PATCH 6/7] Aggiornamento istruzioni log di debug con nuove versioni di HA --- README.md | 10 ++++++---- screenshot_debug_1.png | Bin 34573 -> 34172 bytes screenshot_debug_2.png | Bin 9657 -> 35367 bytes screenshot_debug_3.png | Bin 0 -> 32135 bytes 4 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 screenshot_debug_3.png diff --git a/README.md b/README.md index e2f1b22..979da4e 100644 --- a/README.md +++ b/README.md @@ -98,15 +98,17 @@ In maniera simile al prezzo zonale, anche il valore del PUN orario (nome sensore ### In caso di problemi -È possibile abilitare la registrazione dei log tramite l'interfaccia grafica in **Impostazioni > Dispositivi e servizi > Prezzi PUN del mese** e cliccando sul pulsante **Abilita la registrazione di debug**. +È possibile abilitare la registrazione dei log tramite l'interfaccia grafica in **Impostazioni > Dispositivi e servizi > Prezzi PUN del mese** e cliccando sul pulsante **⋮ > Abilita la registrazione di debug**. ![Abilitazione log di debug](screenshot_debug_1.png "Abilitazione log di debug") -Il tasto verrà modificato come nell'immagine qui sotto: +Il tasto verrà modificato come nell'immagine qui sotto; dopo che si verifica il problema, premere su **Disabilita**. -![Estrazione log di debug](screenshot_debug_2.png "Estrazione log di debug") +![Disabilitazione log di debug](screenshot_debug_2.png "Disabilitazione log di debug") -Dopo che si verifica il problema, premerlo nuovamente: in questo modo verrà scaricato un file di log con le informazioni da allegare alle [Issue](https://github.com/virtualdj/pun_sensor/issues). +In questo modo verrà scaricato un file di log con le informazioni da allegare alle [Issue](https://github.com/virtualdj/pun_sensor/issues). + +![Download del file di log](screenshot_debug_3.png "Download del file di log") ## Note di sviluppo diff --git a/screenshot_debug_1.png b/screenshot_debug_1.png index d4fb74fb793232522457833917318ea4e18ee10e..eeb27bac673265631debb735fb9181278ef9ffc7 100644 GIT binary patch literal 34172 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%0A2*boXu0vNQR%!dF^!ADQKcMu7CCTO$VvEd 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 diff --git a/screenshot_debug_3.png b/screenshot_debug_3.png new file mode 100644 index 0000000000000000000000000000000000000000..897f3c7fb8a79d4280814e016e58d9a1626d5154 GIT binary patch literal 32135 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

i53QRr7O%jc-M43m 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 DKXhr; literal 0 HcmV?d00001 From 543b779b2562f74f41fd16616d02bae7717cc268 Mon Sep 17 00:00:00 2001 From: virtualdj Date: Sun, 19 Oct 2025 16:10:17 +0000 Subject: [PATCH 7/7] Aggiornamento README con aggiunta sensori a 15 minuti --- README.md | 17 ++++++++++++----- screenshots_main.png | Bin 22810 -> 27681 bytes 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 979da4e..842cab5 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ La prima casella a discesa permette di selezionare la _zona geografica_ di rifer Tramite lo slider invece è possibile selezionare un'_ora del giorno_ in cui scaricare i prezzi aggiornati dell'energia (default: 1); il minuto di esecuzione, invece, è determinato automaticamente per evitare di gravare eccessivamente sulle API del sito (e mantenuto fisso, finché l'ora non viene modificata). Se per qualche ragione il sito non fosse raggiungibile, verranno effettuati altri tentativi dopo 10, 60, 120 e 180 minuti. -Nel caso si fosse interessati ai prezzi zonali, selezionare un'orario uguale o superiore a 15, così da essere sicuri che il GME abbia pubblicato i dati anche del giorno successivo (accessibili tramite gli [attributi dello stesso sensore](#prezzo-zonale)). +Nel caso si fosse interessati ai prezzi zonali, selezionare un'**orario uguale o superiore a 15**, così da essere sicuri che il GME abbia pubblicato i dati anche del **giorno successivo** (accessibili tramite gli [attributi dello stesso sensore](#prezzo-zonale)). Se la casella di controllo _Usa solo dati reali ad inizio mese_ è **attivata**, all'inizio del mese quando non ci sono i prezzi per tutte le fasce orarie questi vengono disabilitati (non viene mostrato quindi un prezzo in €/kWh finché i dati non sono in numero sufficiente); nel caso invece la casella fosse **disattivata** (default) nel conteggio vengono inclusi gli ultimi giorni del mese precedente in modo da avere sempre un valore in €/kWh. @@ -41,7 +41,7 @@ Se la casella di controllo _Usa solo dati reali ad inizio mese_ è **attivata**, L'integrazione fornisce il nome della fascia corrente relativa all'orario di Home Assistant (tra F1 / F2 / F3), i prezzi delle tre fasce F1 / F2 / F3 più la fascia mono-oraria, la [fascia F23](#fascia-f23-)\* e il prezzo della fascia corrente. Questi sono i dati intesi come mensili, da paragonare a quelli in bolletta una volta aggiunti costi fissi e tasse (vedere [_prezzo al dettaglio_](#prezzo-al-dettaglio)). -Poi ci sono i due sensori con i prezzi orari (con il simbolo dell'orologio nell'icona), ad esempio utilizzabili per calcoli con impianti fotovoltaici: [PUN orario](#pun-orario) e [prezzo zonale](#prezzo-zonale). +Poi ci sono i sensori con i prezzi orari (con il simbolo dell'orologio nell'icona), ad esempio utilizzabili per calcoli con impianti fotovoltaici: [PUN orario](#pun-orario-e-pun-15-minuti) e [prezzo zonale](#prezzo-zonale) che dalla versione 4 (ottobre 2025) sono disponibili anche nelle varianti a 15 minuti. ### Prezzo al dettaglio @@ -88,13 +88,20 @@ Prezzo zonale di oggi e domani {%- set prezzo_prossimo = state_attr('sensor.pun_prezzo_zonale', orario_prossimo | string) -%} Prezzo zonale prossimo = {{ "%.6f" % prezzo_prossimo }} €/kWh ({{ orario_prossimo }}) + +{# Esempio di recupero del prossimo prezzo zonale da 15 minuti #} +{%- set orario_prossimo_15min = (utcnow() + timedelta(minutes=15)).astimezone(now().tzinfo) -%} +{%- set orario_prossimo_15min = orario_prossimo_15min.replace(minute=(orario_prossimo_15min.minute // 15) * 15, second=0, microsecond=0) -%} +{%- set prezzo_prossimo_15min = state_attr('sensor.pun_prezzo_zonale_15min', orario_prossimo_15min | string) -%} +Prezzo zonale prossimo da 15 minuti = {{ "%.6f" % prezzo_prossimo_15min }} €/kWh +({{ orario_prossimo_15min }}) ``` -I dati sono visibili anche in _Home Assistant > Strumenti per sviluppatori > Stati_ filtrando `sensor.pun_prezzo_zonale` come entità e attivando la casella di controllo _Attributi_. +I dati sono visibili anche in _Home Assistant > Strumenti per sviluppatori > Stati_ filtrando `sensor.pun_prezzo_zonale` come entità e attivando la casella di controllo _Attributi_. Lo stesso vale per i prezzi a 15 minuti, filtrando `sensor.pun_prezzo_zonale_15min`. -### PUN orario +### PUN orario e PUN 15 minuti -In maniera simile al prezzo zonale, anche il valore del PUN orario (nome sensore: `sensor.pun_orario`) ha gli attributi con i prezzi di oggi e domani, se disponibili. +In maniera simile al prezzo zonale, anche i valori del PUN orario (nome sensore: `sensor.pun_orario`) e PUN 15 minuti (nome sensore: `pun_15min`) hanno gli attributi con i prezzi di oggi e domani, se disponibili. ### In caso di problemi diff --git a/screenshots_main.png b/screenshots_main.png index 4869808e221820d0bc8bcc3114045bec14cf432d..ad05a5db5392f7f35af37e531a770f28e7363222 100644 GIT binary patch literal 27681 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 literal 22810 zcmdSBbx>SeyY34~fZ!G!g1Zx(0Kwhe-3bufn*?_YZo%E%-5~^bmo)Bfcart3z1P{d zzFX&3on5uhAL(>M%a~)%9^>~u&+`&2FDr%!hYJS*0f8tXF02Rv0r>y{@e2CwE8r)5 z<3)MEe~=D}VuBE5Kk;{g2XD*-WCS1}DkI?^44{C=uy*1a4iFGX-7o(j`)v!1fghqd zil{p(*_t}K7}%RYh}oN%*f^NmI_j#t1zw^aEg>wR?5ca%dYod^>-PKcf!2Nc_$N>6 zBoCJ>z3t3+b?_wem~MjM@zH7Q<(~V7$eYDiDR0X^bDb_k_@>T92X^AVjlP}6{&r(P z_)UNl1+tIC6g3#86Jg-PYcrpu4;ip6~}J98FYM$WFNWn_nv0F ziX=y$FNq-_e3l@_VIX|)A^&k(Sq+8}I5}!QZo8b(n%up(Io)iBgn+1EiK1&i?ZYD* zCz~Rhm29X^qP+V(mhpUO3zF(h<8s(pYIJy4U0Yj=2mzsQLZm_Qaff2IDI0Ime!$2=}aTZ6HZ8&L6JLVj=j zKxg1BioTMi{p-1_4?7$*FO%9mHZy|>+Z^KxDNG0fQD#bX2LTa9`hWJ;p7E}FTz^f* z6QfBp(U}%1>!|Rgtf532`1IZl5j_d9SNZBri@p{=VoIS6jPT|K>l5yi7*qBvb9q!y zbv0ql1I5A#- z&|{yT_5)+Vh7{wHb}+<^1sDNP>(Lo63cf34gS~?1-&6bOLbB>>4=L$5&V0v-wLF z6)RrSEDu`$D&e-;@F276oU&>*L8Vpwwci?DxoQb(im%XODb8)cYXJY(Ncl^fl2INt zbz}+RWUbd}qlsUGrizFA)zlq^Y+SbFCh#^Q??;O?le50>(_6_Idhg@R>r3iSi9@NR z6s4-yEE|Q~F4LS+KF+vn)P2a!47qiA4I#e$Lu9p$MkGg><`ncMv*T7bn~G#h)18XU z9nx!V!!^Y&w{>nKZQP&d@`$&Sdrd^}!U3LE}Bf zqloKW>PM9;bexz1GJi>)vjpESa)o*0QJ;!FSI(sPk>E==?Q5Gkx|)0MCsnkE*znsI z6>b-?j~jfzAe6o@Ysj`_++$MdT(UugW(W*z3e94bbto`&cHn^UQASd|*tA+x6h=VA zq-y4v5@dPzD&@-rx#H+Sw?J%!xkmIyD~xKr@yOLN&v|7vB@zBhXfzzO0Wh#j8XvaTPO%${&I~C8a32)E!@K!Wg zsQoz+9m4#H;rHPzdd#}FljLfBc?}mySY47z`tYUx+~>rxK@#~#q0h8gom z6aUO1)m*dbF=3cN!Eua{t#Bfar}hua&rL=h!?t=lYGNCi3iiBt)7*>)@refb9#m7! z+${u4VMG(aiI0D(wKQrxVIQB6d*CG!>O;7)=chR|32CFgCy^i#N*$T$$IYS{63$Cm zb*IQ~3k!2TSD}inm@=PlU;940f0)jJq!uRV?D8^cWr^TLep8aUZ}&!8aY`aí* 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�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