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.""" """The pvpc_hourly_pricing integration to collect Spain official electric prices."""
from datetime import datetime, timedelta
import logging 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 import voluptuous as vol
from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry
from homeassistant.const import CONF_NAME from homeassistant.const import CONF_NAME
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_registry import ( from homeassistant.helpers.entity_registry import (
EntityRegistry, EntityRegistry,
@ -14,6 +17,8 @@ from homeassistant.helpers.entity_registry import (
async_migrate_entries, async_migrate_entries,
) )
from homeassistant.helpers.typing import ConfigType 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 ( from .const import (
ATTR_POWER, 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) await hass.config_entries.async_remove(entry.entry_id)
return False 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) hass.config_entries.async_setup_platforms(entry, PLATFORMS)
entry.async_on_unload(entry.add_update_listener(async_update_options)) entry.async_on_unload(entry.add_update_listener(async_update_options))
return True 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: async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry.""" """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)", "name": "Spain electricity hourly pricing (PVPC)",
"config_flow": true, "config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/pvpc_hourly_pricing", "documentation": "https://www.home-assistant.io/integrations/pvpc_hourly_pricing",
"requirements": ["aiopvpc==2.2.4"], "requirements": ["aiopvpc==3.0.0"],
"codeowners": ["@azogue"], "codeowners": ["@azogue"],
"quality_scale": "platinum", "quality_scale": "platinum",
"iot_class": "cloud_polling" "iot_class": "cloud_polling"

View File

@ -1,73 +1,160 @@
"""Sensor to collect the reference daily prices of electricity ('PVPC') in Spain.""" """Sensor to collect the reference daily prices of electricity ('PVPC') in Spain."""
from __future__ import annotations from __future__ import annotations
from collections.abc import Mapping
from datetime import datetime
import logging import logging
from random import randint
from typing import Any from typing import Any
from aiopvpc import PVPCData from homeassistant.components.sensor import (
SensorEntity,
from homeassistant.components.sensor import SensorEntity, SensorStateClass SensorEntityDescription,
SensorStateClass,
)
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_NAME, CURRENCY_EURO, ENERGY_KILO_WATT_HOUR from homeassistant.const import CONF_NAME, CURRENCY_EURO, ENERGY_KILO_WATT_HOUR
from homeassistant.core import HomeAssistant, callback 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.entity_platform import AddEntitiesCallback
from homeassistant.helpers.event import async_call_later, async_track_time_change from homeassistant.helpers.event import async_track_time_change
from homeassistant.helpers.restore_state import RestoreEntity from homeassistant.helpers.typing import StateType
import homeassistant.util.dt as dt_util 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__) _LOGGER = logging.getLogger(__name__)
PARALLEL_UPDATES = 1
ATTR_PRICE = "price" SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
ICON = "mdi:currency-eur" SensorEntityDescription(
UNIT = f"{CURRENCY_EURO}/{ENERGY_KILO_WATT_HOUR}" key="PVPC",
icon="mdi:currency-eur",
_DEFAULT_TIMEOUT = 10 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( async def async_setup_entry(
hass: HomeAssistant, hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
config_entry: ConfigEntry,
async_add_entities: AddEntitiesCallback,
) -> None: ) -> None:
"""Set up the electricity price sensor from config_entry.""" """Set up the electricity price sensor from config_entry."""
name = config_entry.data[CONF_NAME] coordinator: ElecPricesDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
pvpc_data_handler = PVPCData( name = entry.data[CONF_NAME]
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,
)
async_add_entities( 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.""" """Class to hold the prices of electricity as a sensor."""
_attr_icon = ICON coordinator: ElecPricesDataUpdateCoordinator
_attr_native_unit_of_measurement = UNIT
_attr_should_poll = False
_attr_state_class = SensorStateClass.MEASUREMENT
def __init__(self, name, unique_id, pvpc_data_handler): def __init__(
"""Initialize the sensor object.""" self,
self._name = name coordinator: ElecPricesDataUpdateCoordinator,
self._unique_id = unique_id description: SensorEntityDescription,
self._pvpc_data = pvpc_data_handler unique_id: str | None,
self._num_retries = 0 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: async def async_added_to_hass(self) -> None:
"""Handle entity which will be added.""" """Handle entity which will be added."""
await super().async_added_to_hass() 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 # Update 'state' value in hour changes
self.async_on_remove( self.async_on_remove(
@ -75,86 +162,31 @@ class ElecPriceSensor(RestoreEntity, SensorEntity):
self.hass, self.update_current_price, second=[0], minute=[0] 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( _LOGGER.debug(
"Setup of price sensor %s (%s) with tariff '%s', " "Setup of price sensor %s (%s) with tariff '%s'",
"updating prices each hour at %s min",
self.name, self.name,
self.entity_id, self.entity_id,
self._pvpc_data.tariff, self.coordinator.api.tariff,
mins_update,
) )
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 @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.""" """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() self.async_write_ha_state()
async def async_update_prices(self, now): @property
"""Update electricity prices from the ESIOS API.""" def native_value(self) -> StateType:
prices = await self._pvpc_data.async_update_prices(now) """Return the state of the sensor."""
if not prices and self._pvpc_data.source_available: self._state = self.coordinator.api.state
self._num_retries += 1 return self._state
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
retry_delay = 2 * self._num_retries * self._pvpc_data.timeout @property
_LOGGER.debug( def extra_state_attributes(self) -> Mapping[str, Any] | None:
"%s: Bad update[retry:%d], will try again in %d s", """Return the state attributes."""
self.entity_id, self._attrs = {
self._num_retries, _PRICE_SENSOR_ATTRIBUTES_MAP[key]: value
retry_delay, for key, value in self.coordinator.api.attributes.items()
) if key in _PRICE_SENSOR_ATTRIBUTES_MAP
async_call_later(self.hass, retry_delay, self.async_update_prices) }
return return self._attrs
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)

View File

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

View File

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

View File

@ -1,4 +1,6 @@
"""Tests for the pvpc_hourly_pricing integration.""" """Tests for the pvpc_hourly_pricing integration."""
from http import HTTPStatus
import pytest import pytest
from homeassistant.components.pvpc_hourly_pricing import ATTR_TARIFF, DOMAIN 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.common import load_fixture
from tests.test_util.aiohttp import AiohttpClientMocker from tests.test_util.aiohttp import AiohttpClientMocker
FIXTURE_JSON_DATA_2019_10_26 = "PVPC_CURV_DD_2019_10_26.json" FIXTURE_JSON_DATA_2021_06_01 = "PVPC_DATA_2021_06_01.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"
def check_valid_state(state, tariff: str, value=None, key_attr=None): 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: try:
_ = float(state.state) _ = float(state.state)
# safety margins for current electricity price (it shouldn't be out of [0, 0.2]) # 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 assert state.attributes[ATTR_TARIFF] == tariff
except ValueError: except ValueError:
pass pass
@ -43,28 +42,22 @@ def check_valid_state(state, tariff: str, value=None, key_attr=None):
@pytest.fixture @pytest.fixture
def pvpc_aioclient_mock(aioclient_mock: AiohttpClientMocker): def pvpc_aioclient_mock(aioclient_mock: AiohttpClientMocker):
"""Create a mock config entry.""" """Create a mock config entry."""
aioclient_mock.get( mask_url = "https://apidatos.ree.es/es/datos/mercados/precios-mercados-tiempo-real"
"https://api.esios.ree.es/archives/70/download_json?locale=es&date=2019-10-26", mask_url += "?time_trunc=hour&geo_ids={0}&start_date={1}T00:00&end_date={1}T23:59"
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}"),
)
# new format for prices >= 2021-06-01 # 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( aioclient_mock.get(
"https://api.esios.ree.es/archives/70/download_json?locale=es&date=2021-06-01", mask_url.format(8741, "2021-06-02"),
text=load_fixture(f"{DOMAIN}/{FIXTURE_JSON_DATA_2021_06_01}"), 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 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() await hass.async_block_till_done()
state = hass.states.get("sensor.test") state = hass.states.get("sensor.test")
check_valid_state(state, tariff=TARIFFS[1]) check_valid_state(state, tariff=TARIFFS[1])
price_pbc = state.state
assert pvpc_aioclient_mock.call_count == 2 assert pvpc_aioclient_mock.call_count == 2
assert state.attributes["period"] == "P2" assert state.attributes["period"] == "P1"
assert state.attributes["next_period"] == "P1" assert state.attributes["next_period"] == "P2"
assert state.attributes["available_power"] == 4600 assert state.attributes["available_power"] == 4600
# check options flow # check options flow
@ -111,10 +110,8 @@ async def test_config_flow(
) )
await hass.async_block_till_done() await hass.async_block_till_done()
state = hass.states.get("sensor.test") state = hass.states.get("sensor.test")
price_cym = state.state
check_valid_state(state, tariff=TARIFFS[0]) check_valid_state(state, tariff=TARIFFS[0])
assert pvpc_aioclient_mock.call_count == 3 assert pvpc_aioclient_mock.call_count == 3
assert state.attributes["period"] == "P2" assert state.attributes["period"] == "P2"
assert state.attributes["next_period"] == "P1" assert state.attributes["next_period"] == "P1"
assert state.attributes["available_power"] == 3000 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, TARIFFS,
) )
from homeassistant.const import CONF_NAME from homeassistant.const import CONF_NAME
from homeassistant.core import ATTR_NOW, EVENT_TIME_CHANGED
from homeassistant.util import dt as dt_util from homeassistant.util import dt as dt_util
from .conftest import check_valid_state 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 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( async def test_multi_sensor_migration(
hass, caplog, legacy_patchable_time, pvpc_aioclient_mock: AiohttpClientMocker 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(hass.config_entries.async_entries(DOMAIN)) == 2
assert len(entity_reg.entities) == 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(): def mock_now():
return mock_data["return_time"] return mock_data["return_time"]
@ -164,3 +83,15 @@ async def test_multi_sensor_migration(
await hass.async_block_till_done() await hass.async_block_till_done()
assert pvpc_aioclient_mock.call_count == 2 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