mirror of
https://github.com/home-assistant/core.git
synced 2025-04-23 00:37:53 +00:00
Add pvpc electricity prices integration (#32092)
* Add new integration: pvpc_hourly_pricing to add a sensor with the current hourly price of electricity in Spain. Configuration is done by selecting one of the 3 reference tariffs, with 1, 2, or 3 billing periods. * Features config flow, entity registry, RestoreEntity, options flow to change tariff, manual yaml config as integration or sensor platform * Cloud polling sensor with minimal API calls (3/hour at random times) and smart retry; fully async * Only 1 state change / hour (only when the price changes) * At evening, try to download published tomorrow prices, to always store prices info for a window of [3, 27] hours in the future. * Include useful state attributes to program automations to be run at best electric prices. * Add spanish and english translations. * Requires `xmltodict` to parse official xml file with hourly prices for each day. * Update requirements and add to codeowners * Avoid passing in hass as a parameter to the entity Instead, create time change listeners in async_added_to_hass and call async_generate_entity_id before async_add_entities * Fix lint issues * Add tests for config & options flow * Add tests for manual yaml config with entity definition as integration and also as a sensor platform * Fix placement of PLATFORM_SCHEMA and update generated config_flows * Store prices internally linked to UTC timestamps - to deal with days with DST changes - and work with different local timezones * Add availability to sensor to 'expire' the sensor if there is no connection available and current hour is not in the stored prices. Also, turn off logging and retrying if prices can't be downloaded repeatedly, by flagging `data_source_available` as False, so there is no log-flood mess. * Add more tests - to cover behavior in DST changes and complete coverage of sensor logic - to cover abort config flow * fix linter * Better handling of sensor availability and minor enhancements - Emmit 1 error if data source is marked as unavailable (after some retries), and be silent until cloud access is recovered, then emmit 1 warning. - Follow standard of camel_case keys in attributes * Mock aiosession to not access real API, store fixture data - Store a set of daily xml files to test sensor logic for all situations - Mock time and session to run tests with stored API responses - Add availability test to simulate a lost + recovery of cloud access, checking that logging is reasonable: 1 error to flag the continued disconnection + 1 warning in recovery. * Change API endpoint to retrieve JSON data and remove xmltodict from reqs. It seems that this endpoint is more reliable than the XML. * Adapt tests to new API endpoint * Translate tariff labels to plain English and sync the default timeout value for all ways of configuration. * Relax logging levels to meet silver requirements - 1 warning when becoming unavailable, another warning when recovered. - Warnings for unexpected TimeoutError or ClientError - Move the rest to debug level, leaving info for HA internals Also reduce number of API calls from 3 to 2 calls/hour. * Fix requirements * Mod tests to work with timezone Atlantic/Canary and fix state attributes for timezones != reference, by using 3 price prefixes: 'price_last_day_XXh', 'price_next_day_XXh' and 'price_XXh', all generated with local time (backend timezone) * Try to fix CI tests * Externalize pvpc data and simplify sensor.py * add new `aiopvpc` to requirements * Remove data parsing and price logic from here * Replace some constant properties with class variables * Simplify tests for pvpc_hourly_pricing * Fix updater for options flow * Updater always reloads * `tariff` value comes 1st from entry.options, 2nd from entry.data * Fix lint * Bump aiopvpc * Remove options flow and platform setup - Remove PLATFORM_SCHEMA and async_setup_platform - Generate config_entry.unique_id with tariff instead of entity_id, in flow step. - Remove TariffSelectorConfigFlow - Adapt tests to maintain full coverage * Fix docstring on test and rename SENSOR_SCHEMA to SINGLE_SENSOR_SCHEMA to avoid confusion * Remove timeout manual config, fix entry.options usage, simplify unique_id * Simplify tests - No need for a test_setup now, as platform setup is removed and integration setup is already used in `test_availability` - Simplified `_process_time_step`: only one async_fire(EVENT_TIME_CHANGED)/hour * Fix possible duplicated update when source is not available. * Do not access State last_changed for log messages * Do not update until entity is added to hass and call to async_update after 1st download or when recovering access, so async_write_ha_state is not called twice on those. * minor changes * Rename method to select current price and make it a callback
This commit is contained in:
parent
52ac7285a7
commit
8d2e72cdf6
@ -285,6 +285,7 @@ homeassistant/components/ps4/* @ktnrg45
|
||||
homeassistant/components/ptvsd/* @swamp-ig
|
||||
homeassistant/components/push/* @dgomes
|
||||
homeassistant/components/pvoutput/* @fabaff
|
||||
homeassistant/components/pvpc_hourly_pricing/* @azogue
|
||||
homeassistant/components/qld_bushfire/* @exxamalte
|
||||
homeassistant/components/qnap/* @colinodell
|
||||
homeassistant/components/quantum_gateway/* @cisasteelersfan
|
||||
|
@ -0,0 +1,18 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Integration is already configured with an existing sensor with that tariff"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"name": "Sensor Name",
|
||||
"tariff": "Contracted tariff (1, 2, or 3 periods)"
|
||||
},
|
||||
"description": "This sensor uses official API to get [hourly pricing of electricity (PVPC)](https://www.esios.ree.es/es/pvpc) in Spain.\nFor more precise explanation visit the [integration docs](https://www.home-assistant.io/integrations/pvpc_hourly_pricing/).\n\nSelect the contracted rate based on the number of billing periods per day:\n- 1 period: normal\n- 2 periods: discrimination (nightly rate)\n- 3 periods: electric car (nightly rate of 3 periods)",
|
||||
"title": "Tariff selection"
|
||||
}
|
||||
},
|
||||
"title": "Hourly price of electricity in Spain (PVPC)"
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "La integraci\u00f3n ya est\u00e1 configurada con un sensor existente con esa tarifa"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"name": "Nombre del sensor",
|
||||
"tariff": "Tarifa contratada (1, 2, o 3 periodos)"
|
||||
},
|
||||
"description": "Este sensor utiliza la API oficial de REE para obtener el [precio horario de la electricidad (PVPC)](https://www.esios.ree.es/es/pvpc) en Espa\\u00f1a.\nPara instrucciones detalladas consulte la [documentación de la integración](https://www.home-assistant.io/integrations/pvpc_hourly_pricing/).\n\nSeleccione la tarifa contratada en base al número de periodos de facturación al día:\n- 1 periodo: normal\n- 2 periodos: discriminación (tarifa nocturna)\n- 3 periodos: coche eléctrico (tarifa nocturna de 3 periodos)",
|
||||
"title": "Selecci\u00f3n de tarifa"
|
||||
}
|
||||
},
|
||||
"title": "Precio horario de la electricidad en Espa\u00f1a (PVPC)"
|
||||
}
|
||||
}
|
56
homeassistant/components/pvpc_hourly_pricing/__init__.py
Normal file
56
homeassistant/components/pvpc_hourly_pricing/__init__.py
Normal file
@ -0,0 +1,56 @@
|
||||
"""The pvpc_hourly_pricing integration to collect Spain official electric prices."""
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.const import CONF_NAME
|
||||
from homeassistant.core import HomeAssistant
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
|
||||
from .const import ATTR_TARIFF, DEFAULT_NAME, DEFAULT_TARIFF, DOMAIN, PLATFORM, TARIFFS
|
||||
|
||||
UI_CONFIG_SCHEMA = vol.Schema(
|
||||
{
|
||||
vol.Required(CONF_NAME, default=DEFAULT_NAME): str,
|
||||
vol.Required(ATTR_TARIFF, default=DEFAULT_TARIFF): vol.In(TARIFFS),
|
||||
}
|
||||
)
|
||||
CONFIG_SCHEMA = vol.Schema(
|
||||
{DOMAIN: cv.ensure_list(UI_CONFIG_SCHEMA)}, extra=vol.ALLOW_EXTRA
|
||||
)
|
||||
|
||||
|
||||
async def async_setup(hass: HomeAssistant, config: dict):
|
||||
"""
|
||||
Set up the electricity price sensor from configuration.yaml.
|
||||
|
||||
```yaml
|
||||
pvpc_hourly_pricing:
|
||||
- name: PVPC manual ve
|
||||
tariff: electric_car
|
||||
- name: PVPC manual nocturna
|
||||
tariff: discrimination
|
||||
timeout: 3
|
||||
```
|
||||
"""
|
||||
for conf in config.get(DOMAIN, []):
|
||||
hass.async_create_task(
|
||||
hass.config_entries.flow.async_init(
|
||||
DOMAIN, data=conf, context={"source": config_entries.SOURCE_IMPORT}
|
||||
)
|
||||
)
|
||||
|
||||
return True
|
||||
|
||||
|
||||
async def async_setup_entry(hass: HomeAssistant, entry: config_entries.ConfigEntry):
|
||||
"""Set up pvpc hourly pricing from a config entry."""
|
||||
hass.async_create_task(
|
||||
hass.config_entries.async_forward_entry_setup(entry, PLATFORM)
|
||||
)
|
||||
|
||||
return True
|
||||
|
||||
|
||||
async def async_unload_entry(hass: HomeAssistant, entry: config_entries.ConfigEntry):
|
||||
"""Unload a config entry."""
|
||||
return await hass.config_entries.async_forward_entry_unload(entry, PLATFORM)
|
27
homeassistant/components/pvpc_hourly_pricing/config_flow.py
Normal file
27
homeassistant/components/pvpc_hourly_pricing/config_flow.py
Normal file
@ -0,0 +1,27 @@
|
||||
"""Config flow for pvpc_hourly_pricing."""
|
||||
from homeassistant import config_entries
|
||||
|
||||
from . import CONF_NAME, UI_CONFIG_SCHEMA
|
||||
from .const import ATTR_TARIFF, DOMAIN
|
||||
|
||||
_DOMAIN_NAME = DOMAIN
|
||||
|
||||
|
||||
class TariffSelectorConfigFlow(config_entries.ConfigFlow, domain=_DOMAIN_NAME):
|
||||
"""Handle a config flow for `pvpc_hourly_pricing` to select the tariff."""
|
||||
|
||||
VERSION = 1
|
||||
CONNECTION_CLASS = config_entries.CONN_CLASS_CLOUD_POLL
|
||||
|
||||
async def async_step_user(self, user_input=None):
|
||||
"""Handle the initial step."""
|
||||
if user_input is not None:
|
||||
await self.async_set_unique_id(user_input[ATTR_TARIFF])
|
||||
self._abort_if_unique_id_configured()
|
||||
return self.async_create_entry(title=user_input[CONF_NAME], data=user_input)
|
||||
|
||||
return self.async_show_form(step_id="user", data_schema=UI_CONFIG_SCHEMA)
|
||||
|
||||
async def async_step_import(self, import_info):
|
||||
"""Handle import from config file."""
|
||||
return await self.async_step_user(import_info)
|
8
homeassistant/components/pvpc_hourly_pricing/const.py
Normal file
8
homeassistant/components/pvpc_hourly_pricing/const.py
Normal file
@ -0,0 +1,8 @@
|
||||
"""Constant values for pvpc_hourly_pricing."""
|
||||
from aiopvpc import TARIFFS
|
||||
|
||||
DOMAIN = "pvpc_hourly_pricing"
|
||||
PLATFORM = "sensor"
|
||||
ATTR_TARIFF = "tariff"
|
||||
DEFAULT_NAME = "PVPC"
|
||||
DEFAULT_TARIFF = TARIFFS[1]
|
10
homeassistant/components/pvpc_hourly_pricing/manifest.json
Normal file
10
homeassistant/components/pvpc_hourly_pricing/manifest.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"domain": "pvpc_hourly_pricing",
|
||||
"name": "Spain electricity hourly pricing (PVPC)",
|
||||
"config_flow": true,
|
||||
"documentation": "https://www.home-assistant.io/integrations/pvpc_hourly_pricing",
|
||||
"requirements": ["aiopvpc==1.0.2"],
|
||||
"dependencies": [],
|
||||
"codeowners": ["@azogue"],
|
||||
"quality_scale": "platinum"
|
||||
}
|
169
homeassistant/components/pvpc_hourly_pricing/sensor.py
Normal file
169
homeassistant/components/pvpc_hourly_pricing/sensor.py
Normal file
@ -0,0 +1,169 @@
|
||||
"""
|
||||
Sensor to collect the reference daily prices of electricity ('PVPC') in Spain.
|
||||
|
||||
For more details about this platform, please refer to the documentation at
|
||||
https://www.home-assistant.io/integrations/pvpc_hourly_pricing/
|
||||
"""
|
||||
from datetime import timedelta
|
||||
import logging
|
||||
from random import randint
|
||||
from typing import Optional
|
||||
|
||||
from aiopvpc import PVPCData
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.const import CONF_NAME
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||
from homeassistant.helpers.event import (
|
||||
async_track_point_in_time,
|
||||
async_track_time_change,
|
||||
)
|
||||
from homeassistant.helpers.restore_state import RestoreEntity
|
||||
import homeassistant.util.dt as dt_util
|
||||
|
||||
from .const import ATTR_TARIFF
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
ATTR_PRICE = "price"
|
||||
ICON = "mdi:currency-eur"
|
||||
UNIT = "€/kWh"
|
||||
|
||||
_DEFAULT_TIMEOUT = 10
|
||||
|
||||
|
||||
async def async_setup_entry(
|
||||
hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities
|
||||
):
|
||||
"""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],
|
||||
local_timezone=hass.config.time_zone,
|
||||
websession=async_get_clientsession(hass),
|
||||
logger=_LOGGER,
|
||||
timeout=_DEFAULT_TIMEOUT,
|
||||
)
|
||||
async_add_entities(
|
||||
[ElecPriceSensor(name, config_entry.unique_id, pvpc_data_handler)], False
|
||||
)
|
||||
|
||||
|
||||
class ElecPriceSensor(RestoreEntity):
|
||||
"""Class to hold the prices of electricity as a sensor."""
|
||||
|
||||
unit_of_measurement = UNIT
|
||||
icon = ICON
|
||||
should_poll = False
|
||||
|
||||
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
|
||||
|
||||
self._hourly_tracker = None
|
||||
self._price_tracker = None
|
||||
|
||||
async def async_will_remove_from_hass(self) -> None:
|
||||
"""Cancel listeners for sensor updates."""
|
||||
self._hourly_tracker()
|
||||
self._price_tracker()
|
||||
|
||||
async def async_added_to_hass(self):
|
||||
"""Handle entity which will be added."""
|
||||
await super().async_added_to_hass()
|
||||
state = await self.async_get_last_state()
|
||||
if state:
|
||||
self._pvpc_data.state = state.state
|
||||
|
||||
# Update 'state' value in hour changes
|
||||
self._hourly_tracker = async_track_time_change(
|
||||
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._price_tracker = 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",
|
||||
self.name,
|
||||
self.entity_id,
|
||||
self._pvpc_data.tariff,
|
||||
mins_update,
|
||||
)
|
||||
await self.async_update_prices(dt_util.utcnow())
|
||||
self.update_current_price(dt_util.utcnow())
|
||||
|
||||
@property
|
||||
def unique_id(self) -> Optional[str]:
|
||||
"""Return a unique ID."""
|
||||
return self._unique_id
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
"""Return the name of the sensor."""
|
||||
return self._name
|
||||
|
||||
@property
|
||||
def state(self):
|
||||
"""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 device_state_attributes(self):
|
||||
"""Return the state attributes."""
|
||||
return self._pvpc_data.attributes
|
||||
|
||||
@callback
|
||||
def update_current_price(self, now):
|
||||
"""Update the sensor state, by selecting the current price for this hour."""
|
||||
self._pvpc_data.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
|
||||
|
||||
retry_delay = 2 * 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_track_point_in_time(
|
||||
self.hass,
|
||||
self.async_update_prices,
|
||||
dt_util.now() + timedelta(seconds=retry_delay),
|
||||
)
|
||||
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)
|
18
homeassistant/components/pvpc_hourly_pricing/strings.json
Normal file
18
homeassistant/components/pvpc_hourly_pricing/strings.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"config": {
|
||||
"title": "Hourly price of electricity in Spain (PVPC)",
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "Tariff selection",
|
||||
"description": "This sensor uses official API to get [hourly pricing of electricity (PVPC)](https://www.esios.ree.es/es/pvpc) in Spain.\nFor more precise explanation visit the [integration docs](https://www.home-assistant.io/integrations/pvpc_hourly_pricing/).\n\nSelect the contracted rate based on the number of billing periods per day:\n- 1 period: normal\n- 2 periods: discrimination (nightly rate)\n- 3 periods: electric car (nightly rate of 3 periods)",
|
||||
"data": {
|
||||
"name": "Sensor Name",
|
||||
"tariff": "Contracted tariff (1, 2, or 3 periods)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"abort": {
|
||||
"already_configured": "Integration is already configured with an existing sensor with that tariff"
|
||||
}
|
||||
}
|
||||
}
|
@ -85,6 +85,7 @@ FLOWS = [
|
||||
"point",
|
||||
"powerwall",
|
||||
"ps4",
|
||||
"pvpc_hourly_pricing",
|
||||
"rachio",
|
||||
"rainmachine",
|
||||
"ring",
|
||||
|
@ -196,6 +196,9 @@ aionotion==1.1.0
|
||||
# homeassistant.components.hunterdouglas_powerview
|
||||
aiopvapi==1.6.14
|
||||
|
||||
# homeassistant.components.pvpc_hourly_pricing
|
||||
aiopvpc==1.0.2
|
||||
|
||||
# homeassistant.components.webostv
|
||||
aiopylgtv==0.3.3
|
||||
|
||||
|
@ -80,6 +80,9 @@ aiohue==2.0.0
|
||||
# homeassistant.components.notion
|
||||
aionotion==1.1.0
|
||||
|
||||
# homeassistant.components.pvpc_hourly_pricing
|
||||
aiopvpc==1.0.2
|
||||
|
||||
# homeassistant.components.webostv
|
||||
aiopylgtv==0.3.3
|
||||
|
||||
|
1
tests/components/pvpc_hourly_pricing/__init__.py
Normal file
1
tests/components/pvpc_hourly_pricing/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
"""Tests for the pvpc_hourly_pricing integration."""
|
56
tests/components/pvpc_hourly_pricing/conftest.py
Normal file
56
tests/components/pvpc_hourly_pricing/conftest.py
Normal file
@ -0,0 +1,56 @@
|
||||
"""Tests for the pvpc_hourly_pricing integration."""
|
||||
import pytest
|
||||
|
||||
from homeassistant.components.pvpc_hourly_pricing import ATTR_TARIFF, DOMAIN
|
||||
from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT
|
||||
|
||||
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"
|
||||
|
||||
|
||||
def check_valid_state(state, tariff: str, value=None, key_attr=None):
|
||||
"""Ensure that sensor has a valid state and attributes."""
|
||||
assert state
|
||||
assert state.attributes[ATTR_UNIT_OF_MEASUREMENT] == "€/kWh"
|
||||
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 state.attributes[ATTR_TARIFF] == tariff
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
if value is not None and isinstance(value, str):
|
||||
assert state.state == value
|
||||
elif value is not None:
|
||||
assert abs(float(state.state) - value) < 1e-6
|
||||
if key_attr is not None:
|
||||
assert abs(float(state.state) - state.attributes[key_attr]) < 1e-6
|
||||
|
||||
|
||||
@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}"),
|
||||
)
|
||||
|
||||
return aioclient_mock
|
79
tests/components/pvpc_hourly_pricing/test_config_flow.py
Normal file
79
tests/components/pvpc_hourly_pricing/test_config_flow.py
Normal file
@ -0,0 +1,79 @@
|
||||
"""Tests for the pvpc_hourly_pricing config_flow."""
|
||||
from datetime import datetime
|
||||
from unittest.mock import patch
|
||||
|
||||
from pytz import timezone
|
||||
|
||||
from homeassistant import data_entry_flow
|
||||
from homeassistant.components.pvpc_hourly_pricing import ATTR_TARIFF, DOMAIN
|
||||
from homeassistant.const import CONF_NAME
|
||||
from homeassistant.helpers import entity_registry
|
||||
|
||||
from .conftest import check_valid_state
|
||||
|
||||
from tests.common import date_util
|
||||
from tests.test_util.aiohttp import AiohttpClientMocker
|
||||
|
||||
|
||||
async def test_config_flow(hass, pvpc_aioclient_mock: AiohttpClientMocker):
|
||||
"""
|
||||
Test config flow for pvpc_hourly_pricing.
|
||||
|
||||
- Create a new entry with tariff "normal"
|
||||
- Check state and attributes
|
||||
- Check abort when trying to config another with same tariff
|
||||
- Check removal and add again to check state restoration
|
||||
"""
|
||||
hass.config.time_zone = timezone("Europe/Madrid")
|
||||
mock_data = {"return_time": datetime(2019, 10, 26, 14, 0, tzinfo=date_util.UTC)}
|
||||
|
||||
def mock_now():
|
||||
return mock_data["return_time"]
|
||||
|
||||
with patch("homeassistant.util.dt.utcnow", new=mock_now):
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN, context={"source": "user"}
|
||||
)
|
||||
assert result["type"] == data_entry_flow.RESULT_TYPE_FORM
|
||||
|
||||
result = await hass.config_entries.flow.async_configure(
|
||||
result["flow_id"], {CONF_NAME: "test", ATTR_TARIFF: "normal"}
|
||||
)
|
||||
assert result["type"] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY
|
||||
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get("sensor.test")
|
||||
check_valid_state(state, tariff="normal")
|
||||
assert pvpc_aioclient_mock.call_count == 1
|
||||
|
||||
# Check abort when configuring another with same tariff
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN, context={"source": "user"}
|
||||
)
|
||||
assert result["type"] == data_entry_flow.RESULT_TYPE_FORM
|
||||
result = await hass.config_entries.flow.async_configure(
|
||||
result["flow_id"], {CONF_NAME: "test", ATTR_TARIFF: "normal"}
|
||||
)
|
||||
assert result["type"] == data_entry_flow.RESULT_TYPE_ABORT
|
||||
assert pvpc_aioclient_mock.call_count == 1
|
||||
|
||||
# Check removal
|
||||
registry = await entity_registry.async_get_registry(hass)
|
||||
registry_entity = registry.async_get("sensor.test")
|
||||
assert await hass.config_entries.async_remove(registry_entity.config_entry_id)
|
||||
|
||||
# and add it again with UI
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN, context={"source": "user"}
|
||||
)
|
||||
assert result["type"] == data_entry_flow.RESULT_TYPE_FORM
|
||||
|
||||
result = await hass.config_entries.flow.async_configure(
|
||||
result["flow_id"], {CONF_NAME: "test", ATTR_TARIFF: "normal"}
|
||||
)
|
||||
assert result["type"] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY
|
||||
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get("sensor.test")
|
||||
check_valid_state(state, tariff="normal")
|
||||
assert pvpc_aioclient_mock.call_count == 2
|
85
tests/components/pvpc_hourly_pricing/test_sensor_logic.py
Normal file
85
tests/components/pvpc_hourly_pricing/test_sensor_logic.py
Normal file
@ -0,0 +1,85 @@
|
||||
"""Tests for the pvpc_hourly_pricing component."""
|
||||
from datetime import datetime, timedelta
|
||||
import logging
|
||||
from unittest.mock import patch
|
||||
|
||||
from pytz import timezone
|
||||
|
||||
from homeassistant.components.pvpc_hourly_pricing import ATTR_TARIFF, DOMAIN
|
||||
from homeassistant.const import CONF_NAME
|
||||
from homeassistant.core import ATTR_NOW, EVENT_TIME_CHANGED
|
||||
|
||||
from .conftest import check_valid_state
|
||||
|
||||
from tests.common import async_setup_component, date_util
|
||||
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_availability(hass, caplog, pvpc_aioclient_mock: AiohttpClientMocker):
|
||||
"""Test sensor availability and handling of cloud access."""
|
||||
hass.config.time_zone = timezone("Europe/Madrid")
|
||||
config = {DOMAIN: [{CONF_NAME: "test_dst", ATTR_TARIFF: "discrimination"}]}
|
||||
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 async_setup_component(hass, DOMAIN, config)
|
||||
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.get_records("call") if x.levelno == logging.ERROR
|
||||
)
|
||||
num_warnings = sum(
|
||||
1 for x in caplog.get_records("call") if x.levelno == logging.WARNING
|
||||
)
|
||||
assert num_warnings == 1
|
||||
assert num_errors == 0
|
||||
assert pvpc_aioclient_mock.call_count == 7
|
||||
|
||||
# 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 == 28
|
||||
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 == 29
|
||||
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 == 30
|
||||
await _process_time_step(hass, mock_data, "price_01h", value=0.06627)
|
||||
assert pvpc_aioclient_mock.call_count == 31
|
||||
assert len(caplog.messages) == 1
|
||||
assert caplog.records[0].levelno == logging.WARNING
|
820
tests/fixtures/pvpc_hourly_pricing/PVPC_CURV_DD_2019_10_26.json
vendored
Normal file
820
tests/fixtures/pvpc_hourly_pricing/PVPC_CURV_DD_2019_10_26.json
vendored
Normal file
@ -0,0 +1,820 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
854
tests/fixtures/pvpc_hourly_pricing/PVPC_CURV_DD_2019_10_27.json
vendored
Normal file
854
tests/fixtures/pvpc_hourly_pricing/PVPC_CURV_DD_2019_10_27.json
vendored
Normal file
@ -0,0 +1,854 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
820
tests/fixtures/pvpc_hourly_pricing/PVPC_CURV_DD_2019_10_29.json
vendored
Normal file
820
tests/fixtures/pvpc_hourly_pricing/PVPC_CURV_DD_2019_10_29.json
vendored
Normal file
@ -0,0 +1,820 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user