Fix pvpc_hourly_pricing by changing data source and modernise integration (#62591)

This commit is contained in:
Eugenio Panadero 2021-12-23 17:08:40 +01:00 committed by GitHub
parent c1ada1754f
commit f422dd418b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 388 additions and 3335 deletions

View file

@ -1,12 +1,15 @@
"""The pvpc_hourly_pricing integration to collect Spain official electric prices."""
from datetime import datetime, timedelta
import logging
from typing import Mapping
from aiopvpc import DEFAULT_POWER_KW, TARIFFS
from aiopvpc import DEFAULT_POWER_KW, TARIFFS, PVPCData
import voluptuous as vol
from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry
from homeassistant.const import CONF_NAME
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_registry import (
EntityRegistry,
@ -14,6 +17,8 @@ from homeassistant.helpers.entity_registry import (
async_migrate_entries,
)
from homeassistant.helpers.typing import ConfigType
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from homeassistant.util import dt as dt_util
from .const import (
ATTR_POWER,
@ -99,6 +104,10 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
await hass.config_entries.async_remove(entry.entry_id)
return False
coordinator = ElecPricesDataUpdateCoordinator(hass, entry)
await coordinator.async_config_entry_first_refresh()
hass.data.setdefault(DOMAIN, {})[entry.entry_id] = coordinator
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
entry.async_on_unload(entry.add_update_listener(async_update_options))
return True
@ -119,4 +128,39 @@ async def async_update_options(hass: HomeAssistant, entry: ConfigEntry) -> None:
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry."""
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
if unload_ok:
hass.data[DOMAIN].pop(entry.entry_id)
return unload_ok
class ElecPricesDataUpdateCoordinator(DataUpdateCoordinator[Mapping[datetime, float]]):
"""Class to manage fetching Electricity prices data from API."""
def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None:
"""Initialize."""
self.api = PVPCData(
session=async_get_clientsession(hass),
tariff=entry.data[ATTR_TARIFF],
local_timezone=hass.config.time_zone,
power=entry.data[ATTR_POWER],
power_valley=entry.data[ATTR_POWER_P3],
)
super().__init__(
hass, _LOGGER, name=DOMAIN, update_interval=timedelta(minutes=30)
)
self._entry = entry
@property
def entry_id(self) -> str:
"""Return entry ID."""
return self._entry.entry_id
async def _async_update_data(self) -> Mapping[datetime, float]:
"""Update electricity prices from the ESIOS API."""
prices = await self.api.async_update_prices(dt_util.utcnow())
self.api.process_state_and_attributes(dt_util.utcnow())
if not prices:
raise UpdateFailed
return prices

View file

@ -3,7 +3,7 @@
"name": "Spain electricity hourly pricing (PVPC)",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/pvpc_hourly_pricing",
"requirements": ["aiopvpc==2.2.4"],
"requirements": ["aiopvpc==3.0.0"],
"codeowners": ["@azogue"],
"quality_scale": "platinum",
"iot_class": "cloud_polling"

View file

@ -1,73 +1,160 @@
"""Sensor to collect the reference daily prices of electricity ('PVPC') in Spain."""
from __future__ import annotations
from collections.abc import Mapping
from datetime import datetime
import logging
from random import randint
from typing import Any
from aiopvpc import PVPCData
from homeassistant.components.sensor import SensorEntity, SensorStateClass
from homeassistant.components.sensor import (
SensorEntity,
SensorEntityDescription,
SensorStateClass,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_NAME, CURRENCY_EURO, ENERGY_KILO_WATT_HOUR
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.entity import DeviceEntryType, DeviceInfo
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.event import async_call_later, async_track_time_change
from homeassistant.helpers.restore_state import RestoreEntity
import homeassistant.util.dt as dt_util
from homeassistant.helpers.event import async_track_time_change
from homeassistant.helpers.typing import StateType
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from .const import ATTR_POWER, ATTR_POWER_P3, ATTR_TARIFF
from . import ElecPricesDataUpdateCoordinator
from .const import DOMAIN
_LOGGER = logging.getLogger(__name__)
ATTR_PRICE = "price"
ICON = "mdi:currency-eur"
UNIT = f"{CURRENCY_EURO}/{ENERGY_KILO_WATT_HOUR}"
_DEFAULT_TIMEOUT = 10
PARALLEL_UPDATES = 1
SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
SensorEntityDescription(
key="PVPC",
icon="mdi:currency-eur",
native_unit_of_measurement=f"{CURRENCY_EURO}/{ENERGY_KILO_WATT_HOUR}",
state_class=SensorStateClass.MEASUREMENT,
),
)
_PRICE_SENSOR_ATTRIBUTES_MAP = {
"tariff": "tariff",
"period": "period",
"available_power": "available_power",
"next_period": "next_period",
"hours_to_next_period": "hours_to_next_period",
"next_better_price": "next_better_price",
"hours_to_better_price": "hours_to_better_price",
"num_better_prices_ahead": "num_better_prices_ahead",
"price_position": "price_position",
"price_ratio": "price_ratio",
"max_price": "max_price",
"max_price_at": "max_price_at",
"min_price": "min_price",
"min_price_at": "min_price_at",
"next_best_at": "next_best_at",
"price_00h": "price_00h",
"price_01h": "price_01h",
"price_02h": "price_02h",
"price_02h_d": "price_02h_d", # only on DST day change with 25h
"price_03h": "price_03h",
"price_04h": "price_04h",
"price_05h": "price_05h",
"price_06h": "price_06h",
"price_07h": "price_07h",
"price_08h": "price_08h",
"price_09h": "price_09h",
"price_10h": "price_10h",
"price_11h": "price_11h",
"price_12h": "price_12h",
"price_13h": "price_13h",
"price_14h": "price_14h",
"price_15h": "price_15h",
"price_16h": "price_16h",
"price_17h": "price_17h",
"price_18h": "price_18h",
"price_19h": "price_19h",
"price_20h": "price_20h",
"price_21h": "price_21h",
"price_22h": "price_22h",
"price_23h": "price_23h",
# only seen in the evening
"next_better_price (next day)": "next_better_price (next day)",
"hours_to_better_price (next day)": "hours_to_better_price (next day)",
"num_better_prices_ahead (next day)": "num_better_prices_ahead (next day)",
"price_position (next day)": "price_position (next day)",
"price_ratio (next day)": "price_ratio (next day)",
"max_price (next day)": "max_price (next day)",
"max_price_at (next day)": "max_price_at (next day)",
"min_price (next day)": "min_price (next day)",
"min_price_at (next day)": "min_price_at (next day)",
"next_best_at (next day)": "next_best_at (next day)",
"price_next_day_00h": "price_next_day_00h",
"price_next_day_01h": "price_next_day_01h",
"price_next_day_02h": "price_next_day_02h",
"price_next_day_02h_d": "price_next_day_02h_d",
"price_next_day_03h": "price_next_day_03h",
"price_next_day_04h": "price_next_day_04h",
"price_next_day_05h": "price_next_day_05h",
"price_next_day_06h": "price_next_day_06h",
"price_next_day_07h": "price_next_day_07h",
"price_next_day_08h": "price_next_day_08h",
"price_next_day_09h": "price_next_day_09h",
"price_next_day_10h": "price_next_day_10h",
"price_next_day_11h": "price_next_day_11h",
"price_next_day_12h": "price_next_day_12h",
"price_next_day_13h": "price_next_day_13h",
"price_next_day_14h": "price_next_day_14h",
"price_next_day_15h": "price_next_day_15h",
"price_next_day_16h": "price_next_day_16h",
"price_next_day_17h": "price_next_day_17h",
"price_next_day_18h": "price_next_day_18h",
"price_next_day_19h": "price_next_day_19h",
"price_next_day_20h": "price_next_day_20h",
"price_next_day_21h": "price_next_day_21h",
"price_next_day_22h": "price_next_day_22h",
"price_next_day_23h": "price_next_day_23h",
}
async def async_setup_entry(
hass: HomeAssistant,
config_entry: ConfigEntry,
async_add_entities: AddEntitiesCallback,
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
) -> None:
"""Set up the electricity price sensor from config_entry."""
name = config_entry.data[CONF_NAME]
pvpc_data_handler = PVPCData(
tariff=config_entry.data[ATTR_TARIFF],
power=config_entry.data[ATTR_POWER],
power_valley=config_entry.data[ATTR_POWER_P3],
local_timezone=hass.config.time_zone,
websession=async_get_clientsession(hass),
timeout=_DEFAULT_TIMEOUT,
)
coordinator: ElecPricesDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
name = entry.data[CONF_NAME]
async_add_entities(
[ElecPriceSensor(name, config_entry.unique_id, pvpc_data_handler)], False
[ElecPriceSensor(coordinator, SENSOR_TYPES[0], entry.unique_id, name)]
)
class ElecPriceSensor(RestoreEntity, SensorEntity):
class ElecPriceSensor(CoordinatorEntity, SensorEntity):
"""Class to hold the prices of electricity as a sensor."""
_attr_icon = ICON
_attr_native_unit_of_measurement = UNIT
_attr_should_poll = False
_attr_state_class = SensorStateClass.MEASUREMENT
coordinator: ElecPricesDataUpdateCoordinator
def __init__(self, name, unique_id, pvpc_data_handler):
"""Initialize the sensor object."""
self._name = name
self._unique_id = unique_id
self._pvpc_data = pvpc_data_handler
self._num_retries = 0
def __init__(
self,
coordinator: ElecPricesDataUpdateCoordinator,
description: SensorEntityDescription,
unique_id: str | None,
name: str,
) -> None:
"""Initialize ESIOS sensor."""
super().__init__(coordinator)
self.entity_description = description
self._attr_attribution = coordinator.api.attribution
self._attr_unique_id = unique_id
self._attr_name = name
self._attr_device_info = DeviceInfo(
configuration_url="https://www.ree.es/es/apidatos",
entry_type=DeviceEntryType.SERVICE,
identifiers={(DOMAIN, coordinator.entry_id)},
manufacturer="REE",
name="PVPC (REData API)",
)
self._state: StateType = None
self._attrs: Mapping[str, Any] = {}
async def async_added_to_hass(self) -> None:
"""Handle entity which will be added."""
await super().async_added_to_hass()
if state := await self.async_get_last_state():
self._pvpc_data.state = state.state
# Update 'state' value in hour changes
self.async_on_remove(
@ -75,86 +162,31 @@ class ElecPriceSensor(RestoreEntity, SensorEntity):
self.hass, self.update_current_price, second=[0], minute=[0]
)
)
# Update prices at random time, 2 times/hour (don't want to upset API)
random_minute = randint(1, 29)
mins_update = [random_minute, random_minute + 30]
self.async_on_remove(
async_track_time_change(
self.hass, self.async_update_prices, second=[0], minute=mins_update
)
)
_LOGGER.debug(
"Setup of price sensor %s (%s) with tariff '%s', "
"updating prices each hour at %s min",
"Setup of price sensor %s (%s) with tariff '%s'",
self.name,
self.entity_id,
self._pvpc_data.tariff,
mins_update,
self.coordinator.api.tariff,
)
now = dt_util.utcnow()
await self.async_update_prices(now)
self.update_current_price(now)
@property
def unique_id(self) -> str | None:
"""Return a unique ID."""
return self._unique_id
@property
def name(self) -> str:
"""Return the name of the sensor."""
return self._name
@property
def native_value(self) -> float:
"""Return the state of the sensor."""
return self._pvpc_data.state
@property
def available(self) -> bool:
"""Return True if entity is available."""
return self._pvpc_data.state_available
@property
def extra_state_attributes(self) -> dict[str, Any]:
"""Return the state attributes."""
return self._pvpc_data.attributes
@callback
def update_current_price(self, now):
def update_current_price(self, now: datetime) -> None:
"""Update the sensor state, by selecting the current price for this hour."""
self._pvpc_data.process_state_and_attributes(now)
self.coordinator.api.process_state_and_attributes(now)
self.async_write_ha_state()
async def async_update_prices(self, now):
"""Update electricity prices from the ESIOS API."""
prices = await self._pvpc_data.async_update_prices(now)
if not prices and self._pvpc_data.source_available:
self._num_retries += 1
if self._num_retries > 2:
_LOGGER.warning(
"%s: repeated bad data update, mark component as unavailable source",
self.entity_id,
)
self._pvpc_data.source_available = False
return
@property
def native_value(self) -> StateType:
"""Return the state of the sensor."""
self._state = self.coordinator.api.state
return self._state
retry_delay = 2 * self._num_retries * self._pvpc_data.timeout
_LOGGER.debug(
"%s: Bad update[retry:%d], will try again in %d s",
self.entity_id,
self._num_retries,
retry_delay,
)
async_call_later(self.hass, retry_delay, self.async_update_prices)
return
if not prices:
_LOGGER.debug("%s: data source is not yet available", self.entity_id)
return
self._num_retries = 0
if not self._pvpc_data.source_available:
self._pvpc_data.source_available = True
_LOGGER.warning("%s: component has recovered data access", self.entity_id)
self.update_current_price(now)
@property
def extra_state_attributes(self) -> Mapping[str, Any] | None:
"""Return the state attributes."""
self._attrs = {
_PRICE_SENSOR_ATTRIBUTES_MAP[key]: value
for key, value in self.coordinator.api.attributes.items()
if key in _PRICE_SENSOR_ATTRIBUTES_MAP
}
return self._attrs

View file

@ -239,7 +239,7 @@ aiopulse==0.4.3
aiopvapi==1.6.19
# homeassistant.components.pvpc_hourly_pricing
aiopvpc==2.2.4
aiopvpc==3.0.0
# homeassistant.components.webostv
aiopylgtv==0.4.0

View file

@ -168,7 +168,7 @@ aiopulse==0.4.3
aiopvapi==1.6.19
# homeassistant.components.pvpc_hourly_pricing
aiopvpc==2.2.4
aiopvpc==3.0.0
# homeassistant.components.webostv
aiopylgtv==0.4.0

View file

@ -1,4 +1,6 @@
"""Tests for the pvpc_hourly_pricing integration."""
from http import HTTPStatus
import pytest
from homeassistant.components.pvpc_hourly_pricing import ATTR_TARIFF, DOMAIN
@ -11,10 +13,7 @@ from homeassistant.const import (
from tests.common import load_fixture
from tests.test_util.aiohttp import AiohttpClientMocker
FIXTURE_JSON_DATA_2019_10_26 = "PVPC_CURV_DD_2019_10_26.json"
FIXTURE_JSON_DATA_2019_10_27 = "PVPC_CURV_DD_2019_10_27.json"
FIXTURE_JSON_DATA_2019_10_29 = "PVPC_CURV_DD_2019_10_29.json"
FIXTURE_JSON_DATA_2021_06_01 = "PVPC_CURV_DD_2021_06_01.json"
FIXTURE_JSON_DATA_2021_06_01 = "PVPC_DATA_2021_06_01.json"
def check_valid_state(state, tariff: str, value=None, key_attr=None):
@ -27,7 +26,7 @@ def check_valid_state(state, tariff: str, value=None, key_attr=None):
try:
_ = float(state.state)
# safety margins for current electricity price (it shouldn't be out of [0, 0.2])
assert -0.1 < float(state.state) < 0.3
assert -0.1 < float(state.state) < 0.5
assert state.attributes[ATTR_TARIFF] == tariff
except ValueError:
pass
@ -43,28 +42,22 @@ def check_valid_state(state, tariff: str, value=None, key_attr=None):
@pytest.fixture
def pvpc_aioclient_mock(aioclient_mock: AiohttpClientMocker):
"""Create a mock config entry."""
aioclient_mock.get(
"https://api.esios.ree.es/archives/70/download_json?locale=es&date=2019-10-26",
text=load_fixture(f"{DOMAIN}/{FIXTURE_JSON_DATA_2019_10_26}"),
)
aioclient_mock.get(
"https://api.esios.ree.es/archives/70/download_json?locale=es&date=2019-10-27",
text=load_fixture(f"{DOMAIN}/{FIXTURE_JSON_DATA_2019_10_27}"),
)
# missing day
aioclient_mock.get(
"https://api.esios.ree.es/archives/70/download_json?locale=es&date=2019-10-28",
text='{"message":"No values for specified archive"}',
)
aioclient_mock.get(
"https://api.esios.ree.es/archives/70/download_json?locale=es&date=2019-10-29",
text=load_fixture(f"{DOMAIN}/{FIXTURE_JSON_DATA_2019_10_29}"),
)
mask_url = "https://apidatos.ree.es/es/datos/mercados/precios-mercados-tiempo-real"
mask_url += "?time_trunc=hour&geo_ids={0}&start_date={1}T00:00&end_date={1}T23:59"
# new format for prices >= 2021-06-01
sample_data = load_fixture(f"{DOMAIN}/{FIXTURE_JSON_DATA_2021_06_01}")
# tariff variant with different geo_ids=8744
aioclient_mock.get(mask_url.format(8741, "2021-06-01"), text=sample_data)
aioclient_mock.get(mask_url.format(8744, "2021-06-01"), text=sample_data)
# simulate missing day
aioclient_mock.get(
"https://api.esios.ree.es/archives/70/download_json?locale=es&date=2021-06-01",
text=load_fixture(f"{DOMAIN}/{FIXTURE_JSON_DATA_2021_06_01}"),
mask_url.format(8741, "2021-06-02"),
status=HTTPStatus.BAD_GATEWAY,
text=(
'{"errors":[{"code":502,"status":"502","title":"Bad response from ESIOS",'
'"detail":"There are no data for the selected filters."}]}'
),
)
return aioclient_mock

View file

@ -1,820 +0,0 @@
{
"PVPC": [
{
"Dia": "26/10/2019",
"Hora": "00-01",
"GEN": "114,20",
"NOC": "65,17",
"VHC": "69,02",
"COFGEN": "0,000087148314000000",
"COFNOC": "0,000135978057000000",
"COFVHC": "0,000151138804000000",
"PMHGEN": "59,56",
"PMHNOC": "57,22",
"PMHVHC": "59,81",
"SAHGEN": "1,96",
"SAHNOC": "1,89",
"SAHVHC": "1,97",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,14",
"INTGEN": "0,93",
"INTNOC": "0,90",
"INTVHC": "0,94",
"PCAPGEN": "5,54",
"PCAPNOC": "0,93",
"PCAPVHC": "1,31",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "2,01",
"CCVNOC": "1,86",
"CCVVHC": "1,95"
},
{
"Dia": "26/10/2019",
"Hora": "01-02",
"GEN": "111,01",
"NOC": "62,10",
"VHC": "59,03",
"COFGEN": "0,000072922194000000",
"COFNOC": "0,000124822445000000",
"COFVHC": "0,000160597191000000",
"PMHGEN": "56,23",
"PMHNOC": "54,03",
"PMHVHC": "52,62",
"SAHGEN": "2,14",
"SAHNOC": "2,05",
"SAHVHC": "2,00",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,94",
"INTNOC": "0,90",
"INTVHC": "0,88",
"PCAPGEN": "5,56",
"PCAPNOC": "0,93",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,96",
"CCVNOC": "1,82",
"CCVVHC": "1,77"
},
{
"Dia": "26/10/2019",
"Hora": "02-03",
"GEN": "105,17",
"NOC": "56,48",
"VHC": "53,56",
"COFGEN": "0,000064100056000000",
"COFNOC": "0,000117356595000000",
"COFVHC": "0,000158787037000000",
"PMHGEN": "50,26",
"PMHNOC": "48,29",
"PMHVHC": "47,03",
"SAHGEN": "2,35",
"SAHNOC": "2,26",
"SAHVHC": "2,20",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,94",
"INTNOC": "0,90",
"INTVHC": "0,88",
"PCAPGEN": "5,55",
"PCAPNOC": "0,93",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,87",
"CCVNOC": "1,73",
"CCVVHC": "1,68"
},
{
"Dia": "26/10/2019",
"Hora": "03-04",
"GEN": "102,45",
"NOC": "53,87",
"VHC": "51,02",
"COFGEN": "0,000059549798000000",
"COFNOC": "0,000113408113000000",
"COFVHC": "0,000152391581000000",
"PMHGEN": "47,42",
"PMHNOC": "45,57",
"PMHVHC": "44,38",
"SAHGEN": "2,51",
"SAHNOC": "2,41",
"SAHVHC": "2,35",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,94",
"INTNOC": "0,90",
"INTVHC": "0,88",
"PCAPGEN": "5,56",
"PCAPNOC": "0,93",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,83",
"CCVNOC": "1,69",
"CCVVHC": "1,65"
},
{
"Dia": "26/10/2019",
"Hora": "04-05",
"GEN": "102,15",
"NOC": "53,58",
"VHC": "50,73",
"COFGEN": "0,000057296575000000",
"COFNOC": "0,000111308472000000",
"COFVHC": "0,000145270809000000",
"PMHGEN": "47,05",
"PMHNOC": "45,21",
"PMHVHC": "44,03",
"SAHGEN": "2,58",
"SAHNOC": "2,48",
"SAHVHC": "2,41",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,94",
"INTNOC": "0,90",
"INTVHC": "0,88",
"PCAPGEN": "5,56",
"PCAPNOC": "0,93",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,83",
"CCVNOC": "1,69",
"CCVVHC": "1,64"
},
{
"Dia": "26/10/2019",
"Hora": "05-06",
"GEN": "101,62",
"NOC": "53,13",
"VHC": "50,34",
"COFGEN": "0,000057285870000000",
"COFNOC": "0,000111061995000000",
"COFVHC": "0,000141535570000000",
"PMHGEN": "46,55",
"PMHNOC": "44,76",
"PMHVHC": "43,63",
"SAHGEN": "2,60",
"SAHNOC": "2,50",
"SAHVHC": "2,43",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,93",
"INTNOC": "0,90",
"INTVHC": "0,87",
"PCAPGEN": "5,54",
"PCAPNOC": "0,93",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,82",
"CCVNOC": "1,68",
"CCVVHC": "1,64"
},
{
"Dia": "26/10/2019",
"Hora": "06-07",
"GEN": "102,36",
"NOC": "53,90",
"VHC": "51,08",
"COFGEN": "0,000060011439000000",
"COFNOC": "0,000113191071000000",
"COFVHC": "0,000139395926000000",
"PMHGEN": "46,58",
"PMHNOC": "44,82",
"PMHVHC": "43,69",
"SAHGEN": "3,32",
"SAHNOC": "3,20",
"SAHVHC": "3,12",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,93",
"INTNOC": "0,89",
"INTVHC": "0,87",
"PCAPGEN": "5,51",
"PCAPNOC": "0,92",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,82",
"CCVNOC": "1,69",
"CCVVHC": "1,64"
},
{
"Dia": "26/10/2019",
"Hora": "07-08",
"GEN": "106,73",
"NOC": "58,10",
"VHC": "61,55",
"COFGEN": "0,000067624746000000",
"COFNOC": "0,000113073036000000",
"COFVHC": "0,000130165590000000",
"PMHGEN": "50,24",
"PMHNOC": "48,34",
"PMHVHC": "50,45",
"SAHGEN": "3,98",
"SAHNOC": "3,83",
"SAHVHC": "4,00",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,93",
"INTNOC": "0,89",
"INTVHC": "0,93",
"PCAPGEN": "5,50",
"PCAPNOC": "0,92",
"PCAPVHC": "1,30",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,89",
"CCVNOC": "1,75",
"CCVVHC": "1,83"
},
{
"Dia": "26/10/2019",
"Hora": "08-09",
"GEN": "107,75",
"NOC": "59,43",
"VHC": "62,66",
"COFGEN": "0,000083194704000000",
"COFNOC": "0,000083589950000000",
"COFVHC": "0,000069841029000000",
"PMHGEN": "51,74",
"PMHNOC": "50,02",
"PMHVHC": "51,97",
"SAHGEN": "3,62",
"SAHNOC": "3,50",
"SAHVHC": "3,63",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,88",
"INTVHC": "0,91",
"PCAPGEN": "5,40",
"PCAPNOC": "0,91",
"PCAPVHC": "1,27",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,89",
"CCVNOC": "1,76",
"CCVVHC": "1,83"
},
{
"Dia": "26/10/2019",
"Hora": "09-10",
"GEN": "110,38",
"NOC": "62,09",
"VHC": "65,34",
"COFGEN": "0,000105869478000000",
"COFNOC": "0,000077963480000000",
"COFVHC": "0,000057355982000000",
"PMHGEN": "55,41",
"PMHNOC": "53,64",
"PMHVHC": "55,65",
"SAHGEN": "2,60",
"SAHNOC": "2,52",
"SAHVHC": "2,61",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,87",
"INTVHC": "0,91",
"PCAPGEN": "5,36",
"PCAPNOC": "0,90",
"PCAPVHC": "1,26",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,92",
"CCVNOC": "1,79",
"CCVVHC": "1,86"
},
{
"Dia": "26/10/2019",
"Hora": "10-11",
"GEN": "108,10",
"NOC": "60,00",
"VHC": "63,02",
"COFGEN": "0,000121833263000000",
"COFNOC": "0,000085468800000000",
"COFVHC": "0,000063770407000000",
"PMHGEN": "53,39",
"PMHNOC": "51,77",
"PMHVHC": "53,58",
"SAHGEN": "2,42",
"SAHNOC": "2,34",
"SAHVHC": "2,42",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,87",
"INTVHC": "0,90",
"PCAPGEN": "5,32",
"PCAPNOC": "0,90",
"PCAPVHC": "1,25",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,88",
"CCVNOC": "1,76",
"CCVVHC": "1,82"
},
{
"Dia": "26/10/2019",
"Hora": "11-12",
"GEN": "104,11",
"NOC": "56,20",
"VHC": "59,04",
"COFGEN": "0,000125947995000000",
"COFNOC": "0,000085228595000000",
"COFVHC": "0,000064070840000000",
"PMHGEN": "50,02",
"PMHNOC": "48,54",
"PMHVHC": "50,20",
"SAHGEN": "1,89",
"SAHNOC": "1,83",
"SAHVHC": "1,90",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,89",
"INTNOC": "0,87",
"INTVHC": "0,90",
"PCAPGEN": "5,31",
"PCAPNOC": "0,90",
"PCAPVHC": "1,25",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,81",
"CCVNOC": "1,70",
"CCVVHC": "1,76"
},
{
"Dia": "26/10/2019",
"Hora": "12-13",
"GEN": "103,61",
"NOC": "55,65",
"VHC": "58,52",
"COFGEN": "0,000128302145000000",
"COFNOC": "0,000082279443000000",
"COFVHC": "0,000063904657000000",
"PMHGEN": "49,50",
"PMHNOC": "47,99",
"PMHVHC": "49,67",
"SAHGEN": "1,90",
"SAHNOC": "1,84",
"SAHVHC": "1,90",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,87",
"INTVHC": "0,90",
"PCAPGEN": "5,32",
"PCAPNOC": "0,90",
"PCAPVHC": "1,25",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,81",
"CCVNOC": "1,69",
"CCVVHC": "1,75"
},
{
"Dia": "26/10/2019",
"Hora": "13-14",
"GEN": "104,03",
"NOC": "122,60",
"VHC": "122,60",
"COFGEN": "0,000134270665000000",
"COFNOC": "0,000080726428000000",
"COFVHC": "0,000063976543000000",
"PMHGEN": "49,98",
"PMHNOC": "50,33",
"PMHVHC": "50,33",
"SAHGEN": "1,85",
"SAHNOC": "1,87",
"SAHVHC": "1,87",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,89",
"INTNOC": "0,90",
"INTVHC": "0,90",
"PCAPGEN": "5,30",
"PCAPNOC": "5,50",
"PCAPVHC": "5,50",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,81",
"CCVNOC": "1,83",
"CCVVHC": "1,83"
},
{
"Dia": "26/10/2019",
"Hora": "14-15",
"GEN": "103,44",
"NOC": "122,00",
"VHC": "122,00",
"COFGEN": "0,000130580837000000",
"COFNOC": "0,000079392022000000",
"COFVHC": "0,000064422150000000",
"PMHGEN": "49,25",
"PMHNOC": "49,60",
"PMHVHC": "49,60",
"SAHGEN": "1,97",
"SAHNOC": "1,98",
"SAHVHC": "1,98",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,90",
"INTVHC": "0,90",
"PCAPGEN": "5,32",
"PCAPNOC": "5,52",
"PCAPVHC": "5,52",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,81",
"CCVNOC": "1,82",
"CCVVHC": "1,82"
},
{
"Dia": "26/10/2019",
"Hora": "15-16",
"GEN": "100,57",
"NOC": "119,16",
"VHC": "119,16",
"COFGEN": "0,000114850139000000",
"COFNOC": "0,000070924506000000",
"COFVHC": "0,000056150579000000",
"PMHGEN": "46,19",
"PMHNOC": "46,55",
"PMHVHC": "46,55",
"SAHGEN": "2,15",
"SAHNOC": "2,17",
"SAHVHC": "2,17",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,91",
"INTVHC": "0,91",
"PCAPGEN": "5,36",
"PCAPNOC": "5,57",
"PCAPVHC": "5,57",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,77",
"CCVNOC": "1,79",
"CCVVHC": "1,79"
},
{
"Dia": "26/10/2019",
"Hora": "16-17",
"GEN": "99,90",
"NOC": "118,48",
"VHC": "118,48",
"COFGEN": "0,000105915899000000",
"COFNOC": "0,000065274280000000",
"COFVHC": "0,000051268616000000",
"PMHGEN": "45,44",
"PMHNOC": "45,80",
"PMHVHC": "45,80",
"SAHGEN": "2,25",
"SAHNOC": "2,27",
"SAHVHC": "2,27",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,91",
"INTVHC": "0,91",
"PCAPGEN": "5,35",
"PCAPNOC": "5,56",
"PCAPVHC": "5,56",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,76",
"CCVNOC": "1,78",
"CCVVHC": "1,78"
},
{
"Dia": "26/10/2019",
"Hora": "17-18",
"GEN": "102,97",
"NOC": "121,53",
"VHC": "121,53",
"COFGEN": "0,000104178581000000",
"COFNOC": "0,000063611672000000",
"COFVHC": "0,000049947652000000",
"PMHGEN": "48,62",
"PMHNOC": "48,96",
"PMHVHC": "48,96",
"SAHGEN": "2,14",
"SAHNOC": "2,16",
"SAHVHC": "2,16",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,90",
"INTVHC": "0,90",
"PCAPGEN": "5,33",
"PCAPNOC": "5,53",
"PCAPVHC": "5,53",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,80",
"CCVNOC": "1,82",
"CCVVHC": "1,82"
},
{
"Dia": "26/10/2019",
"Hora": "18-19",
"GEN": "107,71",
"NOC": "126,30",
"VHC": "126,30",
"COFGEN": "0,000106669089000000",
"COFNOC": "0,000070000350000000",
"COFVHC": "0,000061100876000000",
"PMHGEN": "53,37",
"PMHNOC": "53,74",
"PMHVHC": "53,74",
"SAHGEN": "2,05",
"SAHNOC": "2,06",
"SAHVHC": "2,06",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,90",
"INTVHC": "0,90",
"PCAPGEN": "5,33",
"PCAPNOC": "5,53",
"PCAPVHC": "5,53",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,87",
"CCVNOC": "1,89",
"CCVVHC": "1,89"
},
{
"Dia": "26/10/2019",
"Hora": "19-20",
"GEN": "118,75",
"NOC": "137,49",
"VHC": "137,49",
"COFGEN": "0,000115010612000000",
"COFNOC": "0,000095780287000000",
"COFVHC": "0,000092687680000000",
"PMHGEN": "64,21",
"PMHNOC": "64,71",
"PMHVHC": "64,71",
"SAHGEN": "2,07",
"SAHNOC": "2,08",
"SAHVHC": "2,08",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,91",
"INTVHC": "0,91",
"PCAPGEN": "5,35",
"PCAPNOC": "5,55",
"PCAPVHC": "5,55",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,04",
"CCVNOC": "2,06",
"CCVVHC": "2,06"
},
{
"Dia": "26/10/2019",
"Hora": "20-21",
"GEN": "124,00",
"NOC": "142,78",
"VHC": "142,78",
"COFGEN": "0,000129085428000000",
"COFNOC": "0,000144302922000000",
"COFVHC": "0,000185612441000000",
"PMHGEN": "69,13",
"PMHNOC": "69,67",
"PMHVHC": "69,67",
"SAHGEN": "2,30",
"SAHNOC": "2,32",
"SAHVHC": "2,32",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,91",
"INTVHC": "0,91",
"PCAPGEN": "5,36",
"PCAPNOC": "5,56",
"PCAPVHC": "5,56",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,12",
"CCVNOC": "2,14",
"CCVVHC": "2,14"
},
{
"Dia": "26/10/2019",
"Hora": "21-22",
"GEN": "124,16",
"NOC": "143,00",
"VHC": "143,00",
"COFGEN": "0,000133109692000000",
"COFNOC": "0,000151101318000000",
"COFVHC": "0,000197574745000000",
"PMHGEN": "68,50",
"PMHNOC": "69,09",
"PMHVHC": "69,09",
"SAHGEN": "3,05",
"SAHNOC": "3,07",
"SAHVHC": "3,07",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,91",
"INTVHC": "0,91",
"PCAPGEN": "5,38",
"PCAPNOC": "5,60",
"PCAPVHC": "5,60",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,13",
"CCVNOC": "2,15",
"CCVVHC": "2,15"
},
{
"Dia": "26/10/2019",
"Hora": "22-23",
"GEN": "120,30",
"NOC": "139,04",
"VHC": "139,04",
"COFGEN": "0,000120157209000000",
"COFNOC": "0,000148137882000000",
"COFVHC": "0,000194906294000000",
"PMHGEN": "64,33",
"PMHNOC": "64,82",
"PMHVHC": "64,82",
"SAHGEN": "3,38",
"SAHNOC": "3,41",
"SAHVHC": "3,41",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,92",
"INTVHC": "0,92",
"PCAPGEN": "5,42",
"PCAPNOC": "5,63",
"PCAPVHC": "5,63",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,08",
"CCVNOC": "2,10",
"CCVVHC": "2,10"
},
{
"Dia": "26/10/2019",
"Hora": "23-24",
"GEN": "118,05",
"NOC": "69,05",
"VHC": "72,93",
"COFGEN": "0,000103870556000000",
"COFNOC": "0,000146233245000000",
"COFVHC": "0,000182184931000000",
"PMHGEN": "61,54",
"PMHNOC": "59,25",
"PMHVHC": "61,80",
"SAHGEN": "3,85",
"SAHNOC": "3,71",
"SAHVHC": "3,87",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,92",
"INTNOC": "0,89",
"INTVHC": "0,93",
"PCAPGEN": "5,49",
"PCAPNOC": "0,92",
"PCAPVHC": "1,29",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "2,05",
"CCVNOC": "1,91",
"CCVVHC": "2,00"
}
]
}

View file

@ -1,854 +0,0 @@
{
"PVPC": [
{
"Dia": "27/10/2019",
"Hora": "00-01",
"GEN": "115,15",
"NOC": "65,95",
"VHC": "69,94",
"COFGEN": "0,000083408754000000",
"COFNOC": "0,000125204015000000",
"COFVHC": "0,000143740251000000",
"PMHGEN": "59,13",
"PMHNOC": "56,72",
"PMHVHC": "59,37",
"SAHGEN": "3,28",
"SAHNOC": "3,14",
"SAHVHC": "3,29",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,14",
"INTGEN": "0,94",
"INTNOC": "0,90",
"INTVHC": "0,94",
"PCAPGEN": "5,58",
"PCAPNOC": "0,93",
"PCAPVHC": "1,32",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "2,03",
"CCVNOC": "1,88",
"CCVVHC": "1,97"
},
{
"Dia": "27/10/2019",
"Hora": "01-02",
"GEN": "109,63",
"NOC": "60,60",
"VHC": "57,48",
"COFGEN": "0,000069962863000000",
"COFNOC": "0,000114629494000000",
"COFVHC": "0,000147622130000000",
"PMHGEN": "53,21",
"PMHNOC": "51,01",
"PMHVHC": "49,61",
"SAHGEN": "3,72",
"SAHNOC": "3,57",
"SAHVHC": "3,47",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,95",
"INTNOC": "0,91",
"INTVHC": "0,88",
"PCAPGEN": "5,61",
"PCAPNOC": "0,94",
"PCAPVHC": "0,73",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,95",
"CCVNOC": "1,80",
"CCVVHC": "1,75"
},
{
"Dia": "27/10/2019",
"Hora": "02-03",
"GEN": "108,41",
"NOC": "59,38",
"VHC": "56,29",
"COFGEN": "0,000065978330000000",
"COFNOC": "0,000111216294000000",
"COFVHC": "0,000145651145000000",
"PMHGEN": "52,09",
"PMHNOC": "49,90",
"PMHVHC": "48,53",
"SAHGEN": "3,62",
"SAHNOC": "3,47",
"SAHVHC": "3,37",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,95",
"INTNOC": "0,91",
"INTVHC": "0,88",
"PCAPGEN": "5,63",
"PCAPNOC": "0,94",
"PCAPVHC": "0,73",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,93",
"CCVNOC": "1,79",
"CCVVHC": "1,73"
},
{
"Dia": "27/10/2019",
"Hora": "03-04",
"GEN": "108,22",
"NOC": "59,31",
"VHC": "56,27",
"COFGEN": "0,000061999708000000",
"COFNOC": "0,000107809474000000",
"COFVHC": "0,000143671560000000",
"PMHGEN": "51,88",
"PMHNOC": "49,78",
"PMHVHC": "48,45",
"SAHGEN": "3,68",
"SAHNOC": "3,53",
"SAHVHC": "3,44",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,94",
"INTNOC": "0,90",
"INTVHC": "0,88",
"PCAPGEN": "5,59",
"PCAPNOC": "0,93",
"PCAPVHC": "0,73",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,93",
"CCVNOC": "1,78",
"CCVVHC": "1,73"
},
{
"Dia": "27/10/2019",
"Hora": "04-05",
"GEN": "107,03",
"NOC": "58,16",
"VHC": "55,10",
"COFGEN": "0,000057358428000000",
"COFNOC": "0,000103595831000000",
"COFVHC": "0,000139122535000000",
"PMHGEN": "50,53",
"PMHNOC": "48,48",
"PMHVHC": "47,15",
"SAHGEN": "3,85",
"SAHNOC": "3,69",
"SAHVHC": "3,59",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,94",
"INTNOC": "0,91",
"INTVHC": "0,88",
"PCAPGEN": "5,60",
"PCAPNOC": "0,93",
"PCAPVHC": "0,73",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,91",
"CCVNOC": "1,76",
"CCVVHC": "1,71"
},
{
"Dia": "27/10/2019",
"Hora": "05-06",
"GEN": "104,79",
"NOC": "56,01",
"VHC": "53,06",
"COFGEN": "0,000055060063000000",
"COFNOC": "0,000101732765000000",
"COFVHC": "0,000134441142000000",
"PMHGEN": "48,28",
"PMHNOC": "46,32",
"PMHVHC": "45,08",
"SAHGEN": "3,91",
"SAHNOC": "3,75",
"SAHVHC": "3,65",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,94",
"INTNOC": "0,90",
"INTVHC": "0,88",
"PCAPGEN": "5,59",
"PCAPNOC": "0,93",
"PCAPVHC": "0,73",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,87",
"CCVNOC": "1,73",
"CCVVHC": "1,68"
},
{
"Dia": "27/10/2019",
"Hora": "06-07",
"GEN": "104,56",
"NOC": "55,85",
"VHC": "52,94",
"COFGEN": "0,000054511300000000",
"COFNOC": "0,000101250808000000",
"COFVHC": "0,000131206727000000",
"PMHGEN": "48,10",
"PMHNOC": "46,18",
"PMHVHC": "44,98",
"SAHGEN": "3,90",
"SAHNOC": "3,74",
"SAHVHC": "3,65",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,94",
"INTNOC": "0,90",
"INTVHC": "0,88",
"PCAPGEN": "5,57",
"PCAPNOC": "0,93",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,87",
"CCVNOC": "1,73",
"CCVVHC": "1,68"
},
{
"Dia": "27/10/2019",
"Hora": "07-08",
"GEN": "107,72",
"NOC": "58,93",
"VHC": "55,95",
"COFGEN": "0,000056191283000000",
"COFNOC": "0,000102978398000000",
"COFVHC": "0,000130073563000000",
"PMHGEN": "50,23",
"PMHNOC": "48,26",
"PMHVHC": "47,01",
"SAHGEN": "4,89",
"SAHNOC": "4,70",
"SAHVHC": "4,57",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,94",
"INTNOC": "0,90",
"INTVHC": "0,88",
"PCAPGEN": "5,56",
"PCAPNOC": "0,93",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,91",
"CCVNOC": "1,77",
"CCVVHC": "1,72"
},
{
"Dia": "27/10/2019",
"Hora": "08-09",
"GEN": "107,80",
"NOC": "59,29",
"VHC": "62,70",
"COFGEN": "0,000060083432000000",
"COFNOC": "0,000100348617000000",
"COFVHC": "0,000118460190000000",
"PMHGEN": "50,94",
"PMHNOC": "49,13",
"PMHVHC": "51,20",
"SAHGEN": "4,38",
"SAHNOC": "4,23",
"SAHVHC": "4,40",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,92",
"INTNOC": "0,89",
"INTVHC": "0,93",
"PCAPGEN": "5,47",
"PCAPNOC": "0,92",
"PCAPVHC": "1,29",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,90",
"CCVNOC": "1,76",
"CCVVHC": "1,84"
},
{
"Dia": "27/10/2019",
"Hora": "09-10",
"GEN": "106,74",
"NOC": "58,40",
"VHC": "61,63",
"COFGEN": "0,000070236674000000",
"COFNOC": "0,000071273888000000",
"COFVHC": "0,000062511624000000",
"PMHGEN": "50,00",
"PMHNOC": "48,29",
"PMHVHC": "50,22",
"SAHGEN": "4,34",
"SAHNOC": "4,20",
"SAHVHC": "4,36",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,88",
"INTVHC": "0,92",
"PCAPGEN": "5,42",
"PCAPNOC": "0,91",
"PCAPVHC": "1,28",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,87",
"CCVNOC": "1,74",
"CCVVHC": "1,82"
},
{
"Dia": "27/10/2019",
"Hora": "10-11",
"GEN": "106,13",
"NOC": "57,81",
"VHC": "61,02",
"COFGEN": "0,000089379429000000",
"COFNOC": "0,000066131351000000",
"COFVHC": "0,000053107930000000",
"PMHGEN": "50,32",
"PMHNOC": "48,60",
"PMHVHC": "50,54",
"SAHGEN": "3,43",
"SAHNOC": "3,31",
"SAHVHC": "3,44",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,88",
"INTVHC": "0,92",
"PCAPGEN": "5,42",
"PCAPNOC": "0,91",
"PCAPVHC": "1,28",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,86",
"CCVNOC": "1,73",
"CCVVHC": "1,81"
},
{
"Dia": "27/10/2019",
"Hora": "11-12",
"GEN": "105,00",
"NOC": "56,78",
"VHC": "59,91",
"COFGEN": "0,000106229062000000",
"COFNOC": "0,000075658481000000",
"COFVHC": "0,000058816566000000",
"PMHGEN": "50,34",
"PMHNOC": "48,65",
"PMHVHC": "50,56",
"SAHGEN": "2,33",
"SAHNOC": "2,25",
"SAHVHC": "2,34",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,88",
"INTVHC": "0,91",
"PCAPGEN": "5,39",
"PCAPNOC": "0,91",
"PCAPVHC": "1,27",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,84",
"CCVNOC": "1,72",
"CCVVHC": "1,79"
},
{
"Dia": "27/10/2019",
"Hora": "12-13",
"GEN": "105,07",
"NOC": "56,79",
"VHC": "59,92",
"COFGEN": "0,000113739886000000",
"COFNOC": "0,000079251893000000",
"COFVHC": "0,000061868784000000",
"PMHGEN": "50,41",
"PMHNOC": "48,69",
"PMHVHC": "50,59",
"SAHGEN": "2,31",
"SAHNOC": "2,23",
"SAHVHC": "2,32",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,88",
"INTVHC": "0,91",
"PCAPGEN": "5,40",
"PCAPNOC": "0,91",
"PCAPVHC": "1,27",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,85",
"CCVNOC": "1,72",
"CCVVHC": "1,79"
},
{
"Dia": "27/10/2019",
"Hora": "13-14",
"GEN": "104,67",
"NOC": "123,29",
"VHC": "59,59",
"COFGEN": "0,000116885572000000",
"COFNOC": "0,000077561607000000",
"COFVHC": "0,000061189779000000",
"PMHGEN": "50,08",
"PMHNOC": "50,47",
"PMHVHC": "50,30",
"SAHGEN": "2,29",
"SAHNOC": "2,31",
"SAHVHC": "2,30",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,91",
"INTVHC": "0,91",
"PCAPGEN": "5,37",
"PCAPNOC": "5,57",
"PCAPVHC": "1,27",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "2,88",
"CCVGEN": "1,83",
"CCVNOC": "1,85",
"CCVVHC": "1,78"
},
{
"Dia": "27/10/2019",
"Hora": "14-15",
"GEN": "107,41",
"NOC": "126,05",
"VHC": "126,05",
"COFGEN": "0,000122253070000000",
"COFNOC": "0,000076034460000000",
"COFVHC": "0,000059795888000000",
"PMHGEN": "52,87",
"PMHNOC": "53,28",
"PMHVHC": "53,28",
"SAHGEN": "2,20",
"SAHNOC": "2,22",
"SAHVHC": "2,22",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,91",
"INTVHC": "0,91",
"PCAPGEN": "5,37",
"PCAPNOC": "5,57",
"PCAPVHC": "5,57",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,87",
"CCVNOC": "1,89",
"CCVVHC": "1,89"
},
{
"Dia": "27/10/2019",
"Hora": "15-16",
"GEN": "108,36",
"NOC": "127,06",
"VHC": "127,06",
"COFGEN": "0,000120316270000000",
"COFNOC": "0,000073732639000000",
"COFVHC": "0,000059483320000000",
"PMHGEN": "53,68",
"PMHNOC": "54,14",
"PMHVHC": "54,14",
"SAHGEN": "2,29",
"SAHNOC": "2,31",
"SAHVHC": "2,31",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,92",
"INTVHC": "0,92",
"PCAPGEN": "5,39",
"PCAPNOC": "5,60",
"PCAPVHC": "5,60",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,89",
"CCVNOC": "1,91",
"CCVVHC": "1,91"
},
{
"Dia": "27/10/2019",
"Hora": "16-17",
"GEN": "106,15",
"NOC": "124,78",
"VHC": "124,78",
"COFGEN": "0,000106276301000000",
"COFNOC": "0,000065442255000000",
"COFVHC": "0,000053614900000000",
"PMHGEN": "51,38",
"PMHNOC": "51,78",
"PMHVHC": "51,78",
"SAHGEN": "2,40",
"SAHNOC": "2,42",
"SAHVHC": "2,42",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,92",
"INTVHC": "0,92",
"PCAPGEN": "5,40",
"PCAPNOC": "5,61",
"PCAPVHC": "5,61",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,86",
"CCVNOC": "1,88",
"CCVVHC": "1,88"
},
{
"Dia": "27/10/2019",
"Hora": "17-18",
"GEN": "105,09",
"NOC": "123,72",
"VHC": "123,72",
"COFGEN": "0,000098092024000000",
"COFNOC": "0,000060340481000000",
"COFVHC": "0,000050280869000000",
"PMHGEN": "51,35",
"PMHNOC": "51,75",
"PMHVHC": "51,75",
"SAHGEN": "1,40",
"SAHNOC": "1,41",
"SAHVHC": "1,41",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,92",
"INTVHC": "0,92",
"PCAPGEN": "5,40",
"PCAPNOC": "5,61",
"PCAPVHC": "5,61",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,85",
"CCVNOC": "1,86",
"CCVVHC": "1,86"
},
{
"Dia": "27/10/2019",
"Hora": "18-19",
"GEN": "108,12",
"NOC": "126,77",
"VHC": "126,77",
"COFGEN": "0,000095857172000000",
"COFNOC": "0,000058545227000000",
"COFVHC": "0,000049936767000000",
"PMHGEN": "54,41",
"PMHNOC": "54,83",
"PMHVHC": "54,83",
"SAHGEN": "1,35",
"SAHNOC": "1,36",
"SAHVHC": "1,36",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,91",
"INTVHC": "0,91",
"PCAPGEN": "5,38",
"PCAPNOC": "5,59",
"PCAPVHC": "5,59",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,89",
"CCVNOC": "1,91",
"CCVVHC": "1,91"
},
{
"Dia": "27/10/2019",
"Hora": "19-20",
"GEN": "112,76",
"NOC": "131,51",
"VHC": "131,51",
"COFGEN": "0,000099686581000000",
"COFNOC": "0,000063674261000000",
"COFVHC": "0,000057884599000000",
"PMHGEN": "58,53",
"PMHNOC": "59,03",
"PMHVHC": "59,03",
"SAHGEN": "1,77",
"SAHNOC": "1,79",
"SAHVHC": "1,79",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,92",
"INTVHC": "0,92",
"PCAPGEN": "5,40",
"PCAPNOC": "5,62",
"PCAPVHC": "5,62",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,96",
"CCVNOC": "1,98",
"CCVVHC": "1,98"
},
{
"Dia": "27/10/2019",
"Hora": "20-21",
"GEN": "118,69",
"NOC": "137,48",
"VHC": "137,48",
"COFGEN": "0,000111025948000000",
"COFNOC": "0,000087846097000000",
"COFVHC": "0,000084304207000000",
"PMHGEN": "64,79",
"PMHNOC": "65,35",
"PMHVHC": "65,35",
"SAHGEN": "1,34",
"SAHNOC": "1,35",
"SAHVHC": "1,35",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,92",
"INTVHC": "0,92",
"PCAPGEN": "5,40",
"PCAPNOC": "5,62",
"PCAPVHC": "5,62",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,05",
"CCVNOC": "2,07",
"CCVVHC": "2,07"
},
{
"Dia": "27/10/2019",
"Hora": "21-22",
"GEN": "121,19",
"NOC": "139,94",
"VHC": "139,94",
"COFGEN": "0,000129356812000000",
"COFNOC": "0,000137580750000000",
"COFVHC": "0,000175068439000000",
"PMHGEN": "66,00",
"PMHNOC": "66,51",
"PMHVHC": "66,51",
"SAHGEN": "2,64",
"SAHNOC": "2,66",
"SAHVHC": "2,66",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,91",
"INTVHC": "0,91",
"PCAPGEN": "5,38",
"PCAPNOC": "5,58",
"PCAPVHC": "5,58",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,08",
"CCVNOC": "2,10",
"CCVVHC": "2,10"
},
{
"Dia": "27/10/2019",
"Hora": "22-23",
"GEN": "120,21",
"NOC": "138,96",
"VHC": "138,96",
"COFGEN": "0,000132818174000000",
"COFNOC": "0,000143862321000000",
"COFVHC": "0,000185393247000000",
"PMHGEN": "65,72",
"PMHNOC": "66,23",
"PMHVHC": "66,23",
"SAHGEN": "1,94",
"SAHNOC": "1,96",
"SAHVHC": "1,96",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,91",
"INTVHC": "0,91",
"PCAPGEN": "5,38",
"PCAPNOC": "5,59",
"PCAPVHC": "5,59",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,07",
"CCVNOC": "2,09",
"CCVVHC": "2,09"
},
{
"Dia": "27/10/2019",
"Hora": "23-24",
"GEN": "117,85",
"NOC": "68,93",
"VHC": "136,63",
"COFGEN": "0,000117725347000000",
"COFNOC": "0,000138623638000000",
"COFVHC": "0,000180725170000000",
"PMHGEN": "62,92",
"PMHNOC": "60,64",
"PMHVHC": "63,46",
"SAHGEN": "2,28",
"SAHNOC": "2,20",
"SAHVHC": "2,30",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,92",
"INTNOC": "0,89",
"INTVHC": "0,93",
"PCAPGEN": "5,48",
"PCAPNOC": "0,92",
"PCAPVHC": "5,69",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "62,01",
"CCVGEN": "2,05",
"CCVNOC": "1,91",
"CCVVHC": "2,07"
},
{
"Dia": "27/10/2019",
"Hora": "24-25",
"GEN": "118,42",
"NOC": "69,35",
"VHC": "73,34",
"COFGEN": "0,000097485259000000",
"COFNOC": "0,000133828173000000",
"COFVHC": "0,000166082424000000",
"PMHGEN": "63,21",
"PMHNOC": "60,82",
"PMHVHC": "63,52",
"SAHGEN": "2,51",
"SAHNOC": "2,41",
"SAHVHC": "2,52",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,93",
"INTNOC": "0,90",
"INTVHC": "0,94",
"PCAPGEN": "5,52",
"PCAPNOC": "0,92",
"PCAPVHC": "1,30",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "2,07",
"CCVNOC": "1,92",
"CCVVHC": "2,01"
}
]
}

View file

@ -1,820 +0,0 @@
{
"PVPC": [
{
"Dia": "29/10/2019",
"Hora": "00-01",
"GEN": "117,17",
"NOC": "68,21",
"VHC": "72,10",
"COFGEN": "0,000077051997000000",
"COFNOC": "0,000124733002000000",
"COFVHC": "0,000143780107000000",
"PMHGEN": "62,55",
"PMHNOC": "60,23",
"PMHVHC": "62,86",
"SAHGEN": "1,96",
"SAHNOC": "1,89",
"SAHVHC": "1,97",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,93",
"INTNOC": "0,89",
"INTVHC": "0,93",
"PCAPGEN": "5,50",
"PCAPNOC": "0,92",
"PCAPVHC": "1,30",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "2,04",
"CCVNOC": "1,90",
"CCVVHC": "1,99"
},
{
"Dia": "29/10/2019",
"Hora": "01-02",
"GEN": "115,34",
"NOC": "66,27",
"VHC": "63,14",
"COFGEN": "0,000063669626000000",
"COFNOC": "0,000113703738000000",
"COFVHC": "0,000153709241000000",
"PMHGEN": "60,54",
"PMHNOC": "58,17",
"PMHVHC": "56,70",
"SAHGEN": "2,11",
"SAHNOC": "2,02",
"SAHVHC": "1,97",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,93",
"INTNOC": "0,90",
"INTVHC": "0,87",
"PCAPGEN": "5,54",
"PCAPNOC": "0,93",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "2,02",
"CCVNOC": "1,88",
"CCVVHC": "1,83"
},
{
"Dia": "29/10/2019",
"Hora": "02-03",
"GEN": "112,37",
"NOC": "63,40",
"VHC": "60,25",
"COFGEN": "0,000057299719000000",
"COFNOC": "0,000107847932000000",
"COFVHC": "0,000151346355000000",
"PMHGEN": "57,42",
"PMHNOC": "55,17",
"PMHVHC": "53,69",
"SAHGEN": "2,27",
"SAHNOC": "2,18",
"SAHVHC": "2,12",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,94",
"INTNOC": "0,90",
"INTVHC": "0,88",
"PCAPGEN": "5,57",
"PCAPNOC": "0,93",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,98",
"CCVNOC": "1,84",
"CCVVHC": "1,79"
},
{
"Dia": "29/10/2019",
"Hora": "03-04",
"GEN": "111,32",
"NOC": "62,39",
"VHC": "59,27",
"COFGEN": "0,000054631496000000",
"COFNOC": "0,000105135123000000",
"COFVHC": "0,000145712713000000",
"PMHGEN": "55,92",
"PMHNOC": "53,73",
"PMHVHC": "52,29",
"SAHGEN": "2,74",
"SAHNOC": "2,63",
"SAHVHC": "2,56",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,94",
"INTNOC": "0,90",
"INTVHC": "0,88",
"PCAPGEN": "5,57",
"PCAPNOC": "0,93",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,97",
"CCVNOC": "1,82",
"CCVVHC": "1,77"
},
{
"Dia": "29/10/2019",
"Hora": "04-05",
"GEN": "111,08",
"NOC": "62,17",
"VHC": "59,04",
"COFGEN": "0,000053587732000000",
"COFNOC": "0,000103791403000000",
"COFVHC": "0,000139739507000000",
"PMHGEN": "55,64",
"PMHNOC": "53,46",
"PMHVHC": "52,03",
"SAHGEN": "2,79",
"SAHNOC": "2,68",
"SAHVHC": "2,61",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,14",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,94",
"INTNOC": "0,90",
"INTVHC": "0,88",
"PCAPGEN": "5,56",
"PCAPNOC": "0,93",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,96",
"CCVNOC": "1,82",
"CCVVHC": "1,77"
},
{
"Dia": "29/10/2019",
"Hora": "05-06",
"GEN": "113,57",
"NOC": "64,62",
"VHC": "61,53",
"COFGEN": "0,000054978965000000",
"COFNOC": "0,000104220226000000",
"COFVHC": "0,000135044065000000",
"PMHGEN": "58,23",
"PMHNOC": "55,99",
"PMHVHC": "54,57",
"SAHGEN": "2,69",
"SAHNOC": "2,58",
"SAHVHC": "2,52",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,93",
"INTNOC": "0,90",
"INTVHC": "0,87",
"PCAPGEN": "5,53",
"PCAPNOC": "0,92",
"PCAPVHC": "0,72",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "2,00",
"CCVNOC": "1,85",
"CCVVHC": "1,80"
},
{
"Dia": "29/10/2019",
"Hora": "06-07",
"GEN": "113,48",
"NOC": "64,78",
"VHC": "61,84",
"COFGEN": "0,000063808739000000",
"COFNOC": "0,000109956697000000",
"COFVHC": "0,000134904594000000",
"PMHGEN": "58,13",
"PMHNOC": "56,06",
"PMHVHC": "54,78",
"SAHGEN": "2,80",
"SAHNOC": "2,70",
"SAHVHC": "2,64",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,12",
"INTGEN": "0,92",
"INTNOC": "0,89",
"INTVHC": "0,87",
"PCAPGEN": "5,45",
"PCAPNOC": "0,91",
"PCAPVHC": "0,71",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "0,89",
"CCVGEN": "1,98",
"CCVNOC": "1,84",
"CCVVHC": "1,80"
},
{
"Dia": "29/10/2019",
"Hora": "07-08",
"GEN": "118,40",
"NOC": "69,72",
"VHC": "73,36",
"COFGEN": "0,000086957107000000",
"COFNOC": "0,000119021762000000",
"COFVHC": "0,000131848949000000",
"PMHGEN": "63,73",
"PMHNOC": "61,60",
"PMHVHC": "64,00",
"SAHGEN": "2,12",
"SAHNOC": "2,05",
"SAHVHC": "2,13",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,88",
"INTVHC": "0,91",
"PCAPGEN": "5,40",
"PCAPNOC": "0,91",
"PCAPVHC": "1,27",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "2,05",
"CCVNOC": "1,91",
"CCVVHC": "1,99"
},
{
"Dia": "29/10/2019",
"Hora": "08-09",
"GEN": "117,71",
"NOC": "69,47",
"VHC": "72,71",
"COFGEN": "0,000103659543000000",
"COFNOC": "0,000093080441000000",
"COFVHC": "0,000078478538000000",
"PMHGEN": "63,59",
"PMHNOC": "61,75",
"PMHVHC": "63,81",
"SAHGEN": "1,76",
"SAHNOC": "1,71",
"SAHVHC": "1,77",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,12",
"FOSVHC": "0,13",
"INTGEN": "0,89",
"INTNOC": "0,86",
"INTVHC": "0,89",
"PCAPGEN": "5,27",
"PCAPNOC": "0,89",
"PCAPVHC": "1,24",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "2,01",
"CCVNOC": "1,89",
"CCVVHC": "1,96"
},
{
"Dia": "29/10/2019",
"Hora": "09-10",
"GEN": "115,84",
"NOC": "67,79",
"VHC": "70,80",
"COFGEN": "0,000109607743000000",
"COFNOC": "0,000077907419000000",
"COFVHC": "0,000061476325000000",
"PMHGEN": "62,27",
"PMHNOC": "60,57",
"PMHVHC": "62,44",
"SAHGEN": "1,29",
"SAHNOC": "1,25",
"SAHVHC": "1,29",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,12",
"FOSVHC": "0,13",
"INTGEN": "0,88",
"INTNOC": "0,86",
"INTVHC": "0,88",
"PCAPGEN": "5,23",
"PCAPNOC": "0,88",
"PCAPVHC": "1,23",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,98",
"CCVNOC": "1,86",
"CCVVHC": "1,92"
},
{
"Dia": "29/10/2019",
"Hora": "10-11",
"GEN": "114,70",
"NOC": "66,74",
"VHC": "69,67",
"COFGEN": "0,000115808394000000",
"COFNOC": "0,000078426619000000",
"COFVHC": "0,000062221967000000",
"PMHGEN": "61,05",
"PMHNOC": "59,42",
"PMHVHC": "61,21",
"SAHGEN": "1,41",
"SAHNOC": "1,37",
"SAHVHC": "1,41",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,12",
"FOSVHC": "0,13",
"INTGEN": "0,88",
"INTNOC": "0,86",
"INTVHC": "0,88",
"PCAPGEN": "5,22",
"PCAPNOC": "0,88",
"PCAPVHC": "1,23",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,96",
"CCVNOC": "1,84",
"CCVVHC": "1,90"
},
{
"Dia": "29/10/2019",
"Hora": "11-12",
"GEN": "114,45",
"NOC": "66,51",
"VHC": "69,43",
"COFGEN": "0,000117753360000000",
"COFNOC": "0,000076432674000000",
"COFVHC": "0,000061112533000000",
"PMHGEN": "60,85",
"PMHNOC": "59,23",
"PMHVHC": "61,01",
"SAHGEN": "1,37",
"SAHNOC": "1,34",
"SAHVHC": "1,38",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,12",
"FOSVHC": "0,13",
"INTGEN": "0,88",
"INTNOC": "0,85",
"INTVHC": "0,88",
"PCAPGEN": "5,21",
"PCAPNOC": "0,88",
"PCAPVHC": "1,23",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,95",
"CCVNOC": "1,84",
"CCVVHC": "1,90"
},
{
"Dia": "29/10/2019",
"Hora": "12-13",
"GEN": "114,46",
"NOC": "133,04",
"VHC": "69,45",
"COFGEN": "0,000121492044000000",
"COFNOC": "0,000074703573000000",
"COFVHC": "0,000061457855000000",
"PMHGEN": "60,95",
"PMHNOC": "61,33",
"PMHVHC": "61,11",
"SAHGEN": "1,30",
"SAHNOC": "1,31",
"SAHVHC": "1,31",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,88",
"INTNOC": "0,88",
"INTVHC": "0,88",
"PCAPGEN": "5,20",
"PCAPNOC": "5,39",
"PCAPVHC": "1,22",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "2,88",
"CCVGEN": "1,95",
"CCVNOC": "1,97",
"CCVVHC": "1,90"
},
{
"Dia": "29/10/2019",
"Hora": "13-14",
"GEN": "113,37",
"NOC": "131,94",
"VHC": "131,94",
"COFGEN": "0,000126490319000000",
"COFNOC": "0,000074777760000000",
"COFVHC": "0,000060760068000000",
"PMHGEN": "59,86",
"PMHNOC": "60,24",
"PMHVHC": "60,24",
"SAHGEN": "1,32",
"SAHNOC": "1,33",
"SAHVHC": "1,33",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,87",
"INTNOC": "0,88",
"INTVHC": "0,88",
"PCAPGEN": "5,19",
"PCAPNOC": "5,38",
"PCAPVHC": "5,38",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,93",
"CCVNOC": "1,95",
"CCVVHC": "1,95"
},
{
"Dia": "29/10/2019",
"Hora": "14-15",
"GEN": "112,88",
"NOC": "131,46",
"VHC": "131,46",
"COFGEN": "0,000120771211000000",
"COFNOC": "0,000072095790000000",
"COFVHC": "0,000058765117000000",
"PMHGEN": "59,31",
"PMHNOC": "59,68",
"PMHVHC": "59,68",
"SAHGEN": "1,37",
"SAHNOC": "1,38",
"SAHVHC": "1,38",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,88",
"INTNOC": "0,88",
"INTVHC": "0,88",
"PCAPGEN": "5,21",
"PCAPNOC": "5,40",
"PCAPVHC": "5,40",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,93",
"CCVNOC": "1,94",
"CCVVHC": "1,94"
},
{
"Dia": "29/10/2019",
"Hora": "15-16",
"GEN": "115,75",
"NOC": "134,41",
"VHC": "134,41",
"COFGEN": "0,000110808247000000",
"COFNOC": "0,000066006577000000",
"COFVHC": "0,000053763013000000",
"PMHGEN": "62,14",
"PMHNOC": "62,58",
"PMHVHC": "62,58",
"SAHGEN": "1,34",
"SAHNOC": "1,35",
"SAHVHC": "1,35",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,88",
"INTNOC": "0,89",
"INTVHC": "0,89",
"PCAPGEN": "5,23",
"PCAPNOC": "5,42",
"PCAPVHC": "5,42",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "1,98",
"CCVNOC": "1,99",
"CCVVHC": "1,99"
},
{
"Dia": "29/10/2019",
"Hora": "16-17",
"GEN": "118,08",
"NOC": "136,75",
"VHC": "136,75",
"COFGEN": "0,000107924950000000",
"COFNOC": "0,000063090606000000",
"COFVHC": "0,000052115396000000",
"PMHGEN": "64,48",
"PMHNOC": "64,93",
"PMHVHC": "64,93",
"SAHGEN": "1,31",
"SAHNOC": "1,32",
"SAHVHC": "1,32",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,88",
"INTNOC": "0,89",
"INTVHC": "0,89",
"PCAPGEN": "5,22",
"PCAPNOC": "5,42",
"PCAPVHC": "5,42",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,01",
"CCVNOC": "2,03",
"CCVVHC": "2,03"
},
{
"Dia": "29/10/2019",
"Hora": "17-18",
"GEN": "121,32",
"NOC": "139,95",
"VHC": "139,95",
"COFGEN": "0,000111993776000000",
"COFNOC": "0,000063840323000000",
"COFVHC": "0,000053264660000000",
"PMHGEN": "67,88",
"PMHNOC": "68,30",
"PMHVHC": "68,30",
"SAHGEN": "1,10",
"SAHNOC": "1,11",
"SAHVHC": "1,11",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,88",
"INTNOC": "0,88",
"INTVHC": "0,88",
"PCAPGEN": "5,22",
"PCAPNOC": "5,41",
"PCAPVHC": "5,41",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,06",
"CCVNOC": "2,07",
"CCVVHC": "2,07"
},
{
"Dia": "29/10/2019",
"Hora": "18-19",
"GEN": "126,19",
"NOC": "144,85",
"VHC": "144,85",
"COFGEN": "0,000117118878000000",
"COFNOC": "0,000072058416000000",
"COFVHC": "0,000066417528000000",
"PMHGEN": "69,04",
"PMHNOC": "69,47",
"PMHVHC": "69,47",
"SAHGEN": "4,73",
"SAHNOC": "4,76",
"SAHVHC": "4,76",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,88",
"INTNOC": "0,89",
"INTVHC": "0,89",
"PCAPGEN": "5,22",
"PCAPNOC": "5,42",
"PCAPVHC": "5,42",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,13",
"CCVNOC": "2,15",
"CCVVHC": "2,15"
},
{
"Dia": "29/10/2019",
"Hora": "19-20",
"GEN": "125,34",
"NOC": "144,06",
"VHC": "144,06",
"COFGEN": "0,000128443388000000",
"COFNOC": "0,000098772457000000",
"COFVHC": "0,000100678475000000",
"PMHGEN": "68,61",
"PMHNOC": "69,09",
"PMHVHC": "69,09",
"SAHGEN": "4,31",
"SAHNOC": "4,34",
"SAHVHC": "4,34",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,88",
"INTNOC": "0,89",
"INTVHC": "0,89",
"PCAPGEN": "5,24",
"PCAPNOC": "5,43",
"PCAPVHC": "5,43",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,12",
"CCVNOC": "2,14",
"CCVVHC": "2,14"
},
{
"Dia": "29/10/2019",
"Hora": "20-21",
"GEN": "120,62",
"NOC": "139,31",
"VHC": "139,31",
"COFGEN": "0,000144847952000000",
"COFNOC": "0,000148736569000000",
"COFVHC": "0,000192706770000000",
"PMHGEN": "67,11",
"PMHNOC": "67,58",
"PMHVHC": "67,58",
"SAHGEN": "1,12",
"SAHNOC": "1,12",
"SAHVHC": "1,12",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,89",
"INTNOC": "0,89",
"INTVHC": "0,89",
"PCAPGEN": "5,27",
"PCAPNOC": "5,47",
"PCAPVHC": "5,47",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,06",
"CCVNOC": "2,07",
"CCVVHC": "2,07"
},
{
"Dia": "29/10/2019",
"Hora": "21-22",
"GEN": "120,67",
"NOC": "139,36",
"VHC": "139,36",
"COFGEN": "0,000143400205000000",
"COFNOC": "0,000153448551000000",
"COFVHC": "0,000201113372000000",
"PMHGEN": "66,43",
"PMHNOC": "66,90",
"PMHVHC": "66,90",
"SAHGEN": "1,80",
"SAHNOC": "1,81",
"SAHVHC": "1,81",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,89",
"INTNOC": "0,90",
"INTVHC": "0,90",
"PCAPGEN": "5,30",
"PCAPNOC": "5,50",
"PCAPVHC": "5,50",
"TEUGEN": "44,03",
"TEUNOC": "62,01",
"TEUVHC": "62,01",
"CCVGEN": "2,06",
"CCVNOC": "2,08",
"CCVVHC": "2,08"
},
{
"Dia": "29/10/2019",
"Hora": "22-23",
"GEN": "117,80",
"NOC": "69,35",
"VHC": "136,53",
"COFGEN": "0,000122948482000000",
"COFNOC": "0,000146077289000000",
"COFVHC": "0,000194614149000000",
"PMHGEN": "63,25",
"PMHNOC": "61,28",
"PMHVHC": "63,75",
"SAHGEN": "2,10",
"SAHNOC": "2,03",
"SAHVHC": "2,11",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,90",
"INTNOC": "0,87",
"INTVHC": "0,91",
"PCAPGEN": "5,34",
"PCAPNOC": "0,90",
"PCAPVHC": "5,54",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "62,01",
"CCVGEN": "2,03",
"CCVNOC": "1,90",
"CCVVHC": "2,04"
},
{
"Dia": "29/10/2019",
"Hora": "23-24",
"GEN": "111,95",
"NOC": "63,48",
"VHC": "66,87",
"COFGEN": "0,000098841799000000",
"COFNOC": "0,000139677463000000",
"COFVHC": "0,000176886301000000",
"PMHGEN": "56,97",
"PMHNOC": "55,07",
"PMHVHC": "57,22",
"SAHGEN": "2,52",
"SAHNOC": "2,44",
"SAHVHC": "2,53",
"FOMGEN": "0,03",
"FOMNOC": "0,03",
"FOMVHC": "0,03",
"FOSGEN": "0,13",
"FOSNOC": "0,13",
"FOSVHC": "0,13",
"INTGEN": "0,91",
"INTNOC": "0,88",
"INTVHC": "0,91",
"PCAPGEN": "5,40",
"PCAPNOC": "0,91",
"PCAPVHC": "1,27",
"TEUGEN": "44,03",
"TEUNOC": "2,22",
"TEUVHC": "2,88",
"CCVGEN": "1,95",
"CCVNOC": "1,82",
"CCVVHC": "1,89"
}
]
}

View file

@ -1,604 +0,0 @@
{
"PVPC": [
{
"Dia": "01/06/2021",
"Hora": "00-01",
"PCB": "116,33",
"CYM": "116,33",
"COF2TD": "0,000088075182000000",
"PMHPCB": "104,00",
"PMHCYM": "104,00",
"SAHPCB": "3,56",
"SAHCYM": "3,56",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,00",
"PCAPCYM": "0,00",
"TEUPCB": "6,00",
"TEUCYM": "6,00",
"CCVPCB": "2,57",
"CCVCYM": "2,57",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "01-02",
"PCB": "115,95",
"CYM": "115,95",
"COF2TD": "0,000073094842000000",
"PMHPCB": "103,18",
"PMHCYM": "103,18",
"SAHPCB": "3,99",
"SAHCYM": "3,99",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,00",
"PCAPCYM": "0,00",
"TEUPCB": "6,00",
"TEUCYM": "6,00",
"CCVPCB": "2,58",
"CCVCYM": "2,58",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "02-03",
"PCB": "114,89",
"CYM": "114,89",
"COF2TD": "0,000065114032000000",
"PMHPCB": "101,87",
"PMHCYM": "101,87",
"SAHPCB": "4,25",
"SAHCYM": "4,25",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,00",
"PCAPCYM": "0,00",
"TEUPCB": "6,00",
"TEUCYM": "6,00",
"CCVPCB": "2,56",
"CCVCYM": "2,56",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "03-04",
"PCB": "114,96",
"CYM": "114,96",
"COF2TD": "0,000061272596000000",
"PMHPCB": "102,01",
"PMHCYM": "102,01",
"SAHPCB": "4,19",
"SAHCYM": "4,19",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,00",
"PCAPCYM": "0,00",
"TEUPCB": "6,00",
"TEUCYM": "6,00",
"CCVPCB": "2,57",
"CCVCYM": "2,57",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "04-05",
"PCB": "114,84",
"CYM": "114,84",
"COF2TD": "0,000059563056000000",
"PMHPCB": "101,87",
"PMHCYM": "101,87",
"SAHPCB": "4,21",
"SAHCYM": "4,21",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,00",
"PCAPCYM": "0,00",
"TEUPCB": "6,00",
"TEUCYM": "6,00",
"CCVPCB": "2,56",
"CCVCYM": "2,56",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "05-06",
"PCB": "116,03",
"CYM": "116,03",
"COF2TD": "0,000059907686000000",
"PMHPCB": "103,14",
"PMHCYM": "103,14",
"SAHPCB": "4,11",
"SAHCYM": "4,11",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,00",
"PCAPCYM": "0,00",
"TEUPCB": "6,00",
"TEUCYM": "6,00",
"CCVPCB": "2,58",
"CCVCYM": "2,58",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "06-07",
"PCB": "116,29",
"CYM": "116,29",
"COF2TD": "0,000062818713000000",
"PMHPCB": "103,64",
"PMHCYM": "103,64",
"SAHPCB": "3,88",
"SAHCYM": "3,88",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,00",
"PCAPCYM": "0,00",
"TEUPCB": "6,00",
"TEUCYM": "6,00",
"CCVPCB": "2,57",
"CCVCYM": "2,57",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "07-08",
"PCB": "115,70",
"CYM": "115,70",
"COF2TD": "0,000072575564000000",
"PMHPCB": "103,85",
"PMHCYM": "103,85",
"SAHPCB": "3,10",
"SAHCYM": "3,10",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,16",
"FOSCYM": "0,16",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,00",
"PCAPCYM": "0,00",
"TEUPCB": "6,00",
"TEUCYM": "6,00",
"CCVPCB": "2,55",
"CCVCYM": "2,55",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "08-09",
"PCB": "152,89",
"CYM": "152,89",
"COF2TD": "0,000086825264000000",
"PMHPCB": "105,65",
"PMHCYM": "105,65",
"SAHPCB": "2,36",
"SAHCYM": "2,36",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,34",
"PCAPCYM": "0,34",
"TEUPCB": "41,77",
"TEUCYM": "41,77",
"CCVPCB": "2,57",
"CCVCYM": "2,57",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "09-10",
"PCB": "150,83",
"CYM": "150,83",
"COF2TD": "0,000095768317000000",
"PMHPCB": "103,77",
"PMHCYM": "103,77",
"SAHPCB": "2,24",
"SAHCYM": "2,24",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,16",
"FOSCYM": "0,16",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,34",
"PCAPCYM": "0,34",
"TEUPCB": "41,77",
"TEUCYM": "41,77",
"CCVPCB": "2,53",
"CCVCYM": "2,53",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "10-11",
"PCB": "242,62",
"CYM": "149,28",
"COF2TD": "0,000102672431000000",
"PMHPCB": "102,38",
"PMHCYM": "102,11",
"SAHPCB": "2,38",
"SAHCYM": "2,37",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,16",
"FOSCYM": "0,16",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "2,01",
"PCAPCYM": "0,34",
"TEUPCB": "133,12",
"TEUCYM": "41,77",
"CCVPCB": "2,54",
"CCVCYM": "2,51",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "11-12",
"PCB": "240,50",
"CYM": "240,50",
"COF2TD": "0,000105691470000000",
"PMHPCB": "100,14",
"PMHCYM": "100,14",
"SAHPCB": "2,52",
"SAHCYM": "2,52",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,16",
"FOSCYM": "0,16",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "2,02",
"PCAPCYM": "2,02",
"TEUPCB": "133,12",
"TEUCYM": "133,12",
"CCVPCB": "2,51",
"CCVCYM": "2,51",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "12-13",
"PCB": "238,09",
"CYM": "238,09",
"COF2TD": "0,000110462952000000",
"PMHPCB": "97,58",
"PMHCYM": "97,58",
"SAHPCB": "2,71",
"SAHCYM": "2,71",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,16",
"FOSCYM": "0,16",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "2,02",
"PCAPCYM": "2,02",
"TEUPCB": "133,12",
"TEUCYM": "133,12",
"CCVPCB": "2,47",
"CCVCYM": "2,47",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "13-14",
"PCB": "235,30",
"CYM": "235,30",
"COF2TD": "0,000119052052000000",
"PMHPCB": "94,65",
"PMHCYM": "94,65",
"SAHPCB": "2,89",
"SAHCYM": "2,89",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,16",
"FOSCYM": "0,16",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "2,02",
"PCAPCYM": "2,02",
"TEUPCB": "133,12",
"TEUCYM": "133,12",
"CCVPCB": "2,43",
"CCVCYM": "2,43",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "14-15",
"PCB": "137,96",
"CYM": "231,28",
"COF2TD": "0,000117990009000000",
"PMHPCB": "89,95",
"PMHCYM": "90,19",
"SAHPCB": "3,37",
"SAHCYM": "3,38",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,16",
"FOSCYM": "0,16",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,34",
"PCAPCYM": "2,03",
"TEUPCB": "41,77",
"TEUCYM": "133,12",
"CCVPCB": "2,34",
"CCVCYM": "2,37",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "15-16",
"PCB": "132,88",
"CYM": "132,88",
"COF2TD": "0,000108598330000000",
"PMHPCB": "84,43",
"PMHCYM": "84,43",
"SAHPCB": "3,89",
"SAHCYM": "3,89",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,16",
"FOSCYM": "0,16",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,34",
"PCAPCYM": "0,34",
"TEUPCB": "41,77",
"TEUCYM": "41,77",
"CCVPCB": "2,26",
"CCVCYM": "2,26",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "16-17",
"PCB": "131,93",
"CYM": "131,93",
"COF2TD": "0,000104114191000000",
"PMHPCB": "83,66",
"PMHCYM": "83,66",
"SAHPCB": "3,73",
"SAHCYM": "3,73",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,16",
"FOSCYM": "0,16",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,34",
"PCAPCYM": "0,34",
"TEUPCB": "41,77",
"TEUCYM": "41,77",
"CCVPCB": "2,25",
"CCVCYM": "2,25",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "17-18",
"PCB": "135,99",
"CYM": "135,99",
"COF2TD": "0,000105171071000000",
"PMHPCB": "88,07",
"PMHCYM": "88,07",
"SAHPCB": "3,31",
"SAHCYM": "3,31",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,16",
"FOSCYM": "0,16",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,34",
"PCAPCYM": "0,34",
"TEUPCB": "41,77",
"TEUCYM": "41,77",
"CCVPCB": "2,31",
"CCVCYM": "2,31",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "18-19",
"PCB": "231,44",
"CYM": "138,13",
"COF2TD": "0,000106417649000000",
"PMHPCB": "90,57",
"PMHCYM": "90,33",
"SAHPCB": "3,16",
"SAHCYM": "3,15",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,16",
"FOSCYM": "0,16",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "2,02",
"PCAPCYM": "0,34",
"TEUPCB": "133,12",
"TEUCYM": "41,77",
"CCVPCB": "2,37",
"CCVCYM": "2,34",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "19-20",
"PCB": "240,40",
"CYM": "240,40",
"COF2TD": "0,000108017615000000",
"PMHPCB": "99,53",
"PMHCYM": "99,53",
"SAHPCB": "3,00",
"SAHCYM": "3,00",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "2,04",
"PCAPCYM": "2,04",
"TEUPCB": "133,12",
"TEUCYM": "133,12",
"CCVPCB": "2,52",
"CCVCYM": "2,52",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "20-21",
"PCB": "246,20",
"CYM": "246,20",
"COF2TD": "0,000114631042000000",
"PMHPCB": "104,32",
"PMHCYM": "104,32",
"SAHPCB": "3,90",
"SAHCYM": "3,90",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "2,05",
"PCAPCYM": "2,05",
"TEUPCB": "133,12",
"TEUCYM": "133,12",
"CCVPCB": "2,61",
"CCVCYM": "2,61",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "21-22",
"PCB": "248,08",
"CYM": "248,08",
"COF2TD": "0,000127585671000000",
"PMHPCB": "107,28",
"PMHCYM": "107,28",
"SAHPCB": "2,78",
"SAHCYM": "2,78",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "2,06",
"PCAPCYM": "2,06",
"TEUPCB": "133,12",
"TEUCYM": "133,12",
"CCVPCB": "2,64",
"CCVCYM": "2,64",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "22-23",
"PCB": "155,91",
"CYM": "249,41",
"COF2TD": "0,000130129026000000",
"PMHPCB": "108,02",
"PMHCYM": "108,39",
"SAHPCB": "2,93",
"SAHCYM": "2,94",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,35",
"PCAPCYM": "2,09",
"TEUPCB": "41,77",
"TEUCYM": "133,12",
"CCVPCB": "2,64",
"CCVCYM": "2,67",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
},
{
"Dia": "01/06/2021",
"Hora": "23-24",
"PCB": "156,50",
"CYM": "156,50",
"COF2TD": "0,000110367990000000",
"PMHPCB": "108,02",
"PMHCYM": "108,02",
"SAHPCB": "3,50",
"SAHCYM": "3,50",
"FOMPCB": "0,03",
"FOMCYM": "0,03",
"FOSPCB": "0,17",
"FOSCYM": "0,17",
"INTPCB": "0,00",
"INTCYM": "0,00",
"PCAPPCB": "0,35",
"PCAPCYM": "0,35",
"TEUPCB": "41,77",
"TEUCYM": "41,77",
"CCVPCB": "2,66",
"CCVCYM": "2,66",
"EDSRPCB": "0,00",
"EDSRCYM": "0,00"
}
]
}

View file

@ -0,0 +1,154 @@
{
"data": {
"type": "Precios mercado peninsular en tiempo real",
"id": "mer13",
"attributes": {
"title": "Precios mercado peninsular en tiempo real",
"last-update": "2021-05-31T20:19:18.000+02:00",
"description": null
},
"meta": {
"cache-control": {
"cache": "MISS"
}
}
},
"included": [
{
"type": "PVPC (\u20ac\/MWh)",
"id": "1001",
"groupId": null,
"attributes": {
"title": "PVPC (\u20ac\/MWh)",
"description": null,
"color": "#ffcf09",
"type": null,
"magnitude": "price",
"composite": false,
"last-update": "2021-05-31T20:19:18.000+02:00",
"values": [
{
"value": 116.33,
"percentage": 1,
"datetime": "2021-06-01T00:00:00.000+02:00"
},
{
"value": 115.95,
"percentage": 1,
"datetime": "2021-06-01T01:00:00.000+02:00"
},
{
"value": 114.89,
"percentage": 1,
"datetime": "2021-06-01T02:00:00.000+02:00"
},
{
"value": 114.96,
"percentage": 1,
"datetime": "2021-06-01T03:00:00.000+02:00"
},
{
"value": 114.84,
"percentage": 1,
"datetime": "2021-06-01T04:00:00.000+02:00"
},
{
"value": 116.03,
"percentage": 1,
"datetime": "2021-06-01T05:00:00.000+02:00"
},
{
"value": 116.29,
"percentage": 1,
"datetime": "2021-06-01T06:00:00.000+02:00"
},
{
"value": 115.7,
"percentage": 1,
"datetime": "2021-06-01T07:00:00.000+02:00"
},
{
"value": 152.89,
"percentage": 1,
"datetime": "2021-06-01T08:00:00.000+02:00"
},
{
"value": 150.83,
"percentage": 1,
"datetime": "2021-06-01T09:00:00.000+02:00"
},
{
"value": 149.28,
"percentage": 1,
"datetime": "2021-06-01T10:00:00.000+02:00"
},
{
"value": 240.5,
"percentage": 1,
"datetime": "2021-06-01T11:00:00.000+02:00"
},
{
"value": 238.09,
"percentage": 1,
"datetime": "2021-06-01T12:00:00.000+02:00"
},
{
"value": 235.3,
"percentage": 1,
"datetime": "2021-06-01T13:00:00.000+02:00"
},
{
"value": 231.28,
"percentage": 1,
"datetime": "2021-06-01T14:00:00.000+02:00"
},
{
"value": 132.88,
"percentage": 1,
"datetime": "2021-06-01T15:00:00.000+02:00"
},
{
"value": 131.93,
"percentage": 1,
"datetime": "2021-06-01T16:00:00.000+02:00"
},
{
"value": 135.99,
"percentage": 1,
"datetime": "2021-06-01T17:00:00.000+02:00"
},
{
"value": 138.13,
"percentage": 1,
"datetime": "2021-06-01T18:00:00.000+02:00"
},
{
"value": 240.4,
"percentage": 1,
"datetime": "2021-06-01T19:00:00.000+02:00"
},
{
"value": 246.2,
"percentage": 1,
"datetime": "2021-06-01T20:00:00.000+02:00"
},
{
"value": 248.08,
"percentage": 1,
"datetime": "2021-06-01T21:00:00.000+02:00"
},
{
"value": 249.41,
"percentage": 1,
"datetime": "2021-06-01T22:00:00.000+02:00"
},
{
"value": 156.5,
"percentage": 1,
"datetime": "2021-06-01T23:00:00.000+02:00"
}
]
}
}
]
}

View file

@ -90,10 +90,9 @@ async def test_config_flow(
await hass.async_block_till_done()
state = hass.states.get("sensor.test")
check_valid_state(state, tariff=TARIFFS[1])
price_pbc = state.state
assert pvpc_aioclient_mock.call_count == 2
assert state.attributes["period"] == "P2"
assert state.attributes["next_period"] == "P1"
assert state.attributes["period"] == "P1"
assert state.attributes["next_period"] == "P2"
assert state.attributes["available_power"] == 4600
# check options flow
@ -111,10 +110,8 @@ async def test_config_flow(
)
await hass.async_block_till_done()
state = hass.states.get("sensor.test")
price_cym = state.state
check_valid_state(state, tariff=TARIFFS[0])
assert pvpc_aioclient_mock.call_count == 3
assert state.attributes["period"] == "P2"
assert state.attributes["next_period"] == "P1"
assert state.attributes["available_power"] == 3000
assert price_cym < price_pbc

View file

@ -11,100 +11,19 @@ from homeassistant.components.pvpc_hourly_pricing import (
TARIFFS,
)
from homeassistant.const import CONF_NAME
from homeassistant.core import ATTR_NOW, EVENT_TIME_CHANGED
from homeassistant.util import dt as dt_util
from .conftest import check_valid_state
from tests.common import MockConfigEntry, date_util, mock_registry
from tests.common import (
MockConfigEntry,
async_fire_time_changed,
date_util,
mock_registry,
)
from tests.test_util.aiohttp import AiohttpClientMocker
async def _process_time_step(
hass, mock_data, key_state=None, value=None, tariff="discrimination", delta_min=60
):
state = hass.states.get("sensor.test_dst")
check_valid_state(state, tariff=tariff, value=value, key_attr=key_state)
mock_data["return_time"] += timedelta(minutes=delta_min)
hass.bus.async_fire(EVENT_TIME_CHANGED, {ATTR_NOW: mock_data["return_time"]})
await hass.async_block_till_done()
return state
async def test_sensor_availability(
hass, caplog, legacy_patchable_time, pvpc_aioclient_mock: AiohttpClientMocker
):
"""Test sensor availability and handling of cloud access."""
hass.config.time_zone = dt_util.get_time_zone("Europe/Madrid")
config_entry = MockConfigEntry(
domain=DOMAIN, data={CONF_NAME: "test_dst", ATTR_TARIFF: "discrimination"}
)
config_entry.add_to_hass(hass)
assert len(hass.config_entries.async_entries(DOMAIN)) == 1
mock_data = {"return_time": datetime(2019, 10, 27, 20, 0, 0, tzinfo=date_util.UTC)}
def mock_now():
return mock_data["return_time"]
with patch("homeassistant.util.dt.utcnow", new=mock_now):
assert await hass.config_entries.async_setup(config_entry.entry_id)
# check migration
current_entries = hass.config_entries.async_entries(DOMAIN)
assert len(current_entries) == 1
migrated_entry = current_entries[0]
assert migrated_entry.version == 1
assert migrated_entry.data[ATTR_POWER] == migrated_entry.data[ATTR_POWER_P3]
assert migrated_entry.data[ATTR_TARIFF] == TARIFFS[0]
await hass.async_block_till_done()
caplog.clear()
assert pvpc_aioclient_mock.call_count == 2
await _process_time_step(hass, mock_data, "price_21h", 0.13896)
await _process_time_step(hass, mock_data, "price_22h", 0.06893)
assert pvpc_aioclient_mock.call_count == 4
await _process_time_step(hass, mock_data, "price_23h", 0.06935)
assert pvpc_aioclient_mock.call_count == 5
# sensor has no more prices, state is "unavailable" from now on
await _process_time_step(hass, mock_data, value="unavailable")
await _process_time_step(hass, mock_data, value="unavailable")
num_errors = sum(
1
for x in caplog.records
if x.levelno == logging.ERROR and "unknown job listener" not in x.msg
)
num_warnings = sum(1 for x in caplog.records if x.levelno == logging.WARNING)
assert num_warnings == 1
assert num_errors == 0
assert pvpc_aioclient_mock.call_count == 9
# check that it is silent until it becomes available again
caplog.clear()
with caplog.at_level(logging.WARNING):
# silent mode
for _ in range(21):
await _process_time_step(hass, mock_data, value="unavailable")
assert pvpc_aioclient_mock.call_count == 30
assert len(caplog.messages) == 0
# warning about data access recovered
await _process_time_step(hass, mock_data, value="unavailable")
assert pvpc_aioclient_mock.call_count == 31
assert len(caplog.messages) == 1
assert caplog.records[0].levelno == logging.WARNING
# working ok again
await _process_time_step(hass, mock_data, "price_00h", value=0.06821)
assert pvpc_aioclient_mock.call_count == 32
await _process_time_step(hass, mock_data, "price_01h", value=0.06627)
assert pvpc_aioclient_mock.call_count == 33
assert len(caplog.messages) == 1
assert caplog.records[0].levelno == logging.WARNING
async def test_multi_sensor_migration(
hass, caplog, legacy_patchable_time, pvpc_aioclient_mock: AiohttpClientMocker
):
@ -139,7 +58,7 @@ async def test_multi_sensor_migration(
assert len(hass.config_entries.async_entries(DOMAIN)) == 2
assert len(entity_reg.entities) == 2
mock_data = {"return_time": datetime(2019, 10, 27, 20, tzinfo=date_util.UTC)}
mock_data = {"return_time": datetime(2021, 6, 1, 21, tzinfo=date_util.UTC)}
def mock_now():
return mock_data["return_time"]
@ -164,3 +83,15 @@ async def test_multi_sensor_migration(
await hass.async_block_till_done()
assert pvpc_aioclient_mock.call_count == 2
# check state and availability
state = hass.states.get("sensor.test_pvpc_1")
check_valid_state(state, tariff=TARIFFS[0], value=0.1565)
mock_data["return_time"] += timedelta(minutes=60)
async_fire_time_changed(hass, mock_data["return_time"])
await list(hass.data[DOMAIN].values())[0].async_refresh()
await hass.async_block_till_done()
state = hass.states.get("sensor.test_pvpc_1")
check_valid_state(state, tariff=TARIFFS[0], value="unavailable")
assert pvpc_aioclient_mock.call_count == 3