ESIOS REE Integration (Spain National Network of Electricity)

Hola,

Ya he terminado con la integración, ahora falta la review y escribir la documentación. Y que sea aceptado! → Add pvpc electricity prices integration by azogue · Pull Request #32092 · home-assistant/core · GitHub

El bug del valor del sensor en el cambio de día debería estar arreglado ahora, @cantavro (en cualquier caso esta noche estaré atento y lo comprobaré!)

molaría que indicaras la fuente de ese código, resulta muy interesate

Hola @LeidenSpain,

Es público :slight_smile:

La evolución del sensor como custom_component la puedes explorar en mi hassio_config (creo que me falta subir los últimos cambios, pero todo se andará)

La propuesta como nueva integración para HA Core (con 0 configuración en yaml, opción de cambio de tarifa instantánea sobre el mismo sensor, atributos extra, etc.) la puedes explorar en el link al PR que pongo al inicio.

a las 20:00 consulta las tarifas del dia siguiente, y se crea un listado con los precios de las horas que quedan del día y todas las del dia siguiente

Este también hace eso, aunque simplemente intenta bajar los precios del día siguiente en todos los updates a partir de las 8. En mi experiencia pasada, la hora de publicación era bastante caótica, no sé si ahora está siempre a las 20h.


Aviso para navegantes con prisa: se puede copiar la carpeta pvpc_hourly_pricing de homeassistant/components en mi fork de HA en custom_components y utilizarlo así. Funcionará perfectamente con config en el yaml, y aparecerá en Integraciones, pero no estará accesible para añadir al pulsar en “+”, ni aparecerán los textos correctamente en las opciones.

Al final ha quedado tal que así:

1 Like

Lo enviaste tú a alguno de los grupos de HA de Telegram. Así que la fuente eres tú, gracias :grin:

@azogue gracias por el trabajazo!

1 Like

@azogue Una maravilla el currazo que te has pegado. Deseando probarlo y eso que aún no tengo discriminación horaria.

1 Like

@azogue, mientras no esté aprobado, quiero meterlo en mi hassio como custom component. Mi dud entonces es…qué tengo que meter en el configuration.yaml para hacerlo funcionar?. No necesitas de token customizado para sacar la info de la api oficial?. Yo ya solicité mi custom token para hacerme algo parecido…

Felicidades por el trabajazo que te has pegado!

1 Like

Hola @charlie663,

quiero meterlo en mi hassio como custom component. Mi dud entonces es…qué tengo que meter en el configuration.yaml para hacerlo funcionar?

Ya nada!, al ser una integración, se puede configurar desde ‘Configuración->Integraciones->Añadir’, buscar PVPC, y añadir el sensor con el nombre que quieras, y seleccionar 1 de las 3 tarifas.
Se pueden crear varios sensores, se puede cambiar la tarifa seleccionada de un sensor en cualquier momento, eliminarlos, etc., todo sin tocar nada en el yaml :slight_smile:

La configuración manual sigue existiendo (aunque ya no tiene mucho sentido, claro). Puedes encontrar detalle en el PR de documentación, en Add docs for new integration PVPC hourly pricing by azogue · Pull Request #12194 · home-assistant/home-assistant.io · GitHub, que ya está aprobado a la espera de revisar el principal en Add pvpc electricity prices integration by azogue · Pull Request #32092 · home-assistant/core · GitHub.

Para instalarlo como custom_component basta con copiar la carpeta ahí, y reiniciar HA. Con 1 reinicio debería bastar para que HA lo incluya en el índice de integraciones (quizás la 1ª vez aparezca sin los textos de ayuda, pero funcionará igual). Si no, a la 2ª va la vencida. Así es como lo tengo yo también.

El código más reciente es ahora el mismo en mi hassio_config que en el PR, y aquí dejo un zip con únicamente la carpeta con la nueva integración pvpc_hourly_pricing: pvpc_hourly_pricing.zip

No necesitas de token customizado para sacar la info de la api oficial?. Yo ya solicité mi custom token para hacerme algo parecido…

No, no hace falta.

Yo también tengo por ahí olvidado el token de esios, que solicité hace años cuando andaba trasteando en su API, pero los archivos que usamos para obtener los precios son totalmente públicos.

De hecho, he de dar las gracias aquí a @cantavro por el hint del archivo JSON.
Yo usaba la ruta en https://api.esios.ree.es/archives/80/download?date=2020-03-07 para obtener un XML, pero ahora el sensor usa https://api.esios.ree.es/archives/70/download_json?locale=es&date=2020-03-07 para obtener un JSON, y por lo que he podido experimentar, parece que el 2º es más fiable (el otro a veces fallaba).

Una maravilla el currazo que te has pegado. Deseando probarlo y eso que aún no tengo discriminación horaria.

Gracias a vosotros por el empujón, las sugerencias, los análisis de errores, … Lo bonito de estas cosas
es la colaboración y el esfuerzo conjunto. Y es la pura esencia de este alucinante proyecto que es HA.

A mí me ha servido para descubrir lo que los compañeros han creado con las nuevas features de HA que rodean el concepto de ‘integración’. El potencial es brutal, y hacen que no haga falta ser un Mr. Robot para tener una casa de peli de ciencia ficción :slight_smile:

A partir de aquí, ahora será más sencillo añadir features a la integración PVPC.
A mí, personalmente, me gustaría:

  • Integrarlo de alguna manera con los nuevos utility_meter, para asociarle un sensor de potencia o energía y que él solito vaya contabilizando el coste.
  • Añadir opciones/sensores para ver el coste real, incluyendo todos los términos de la factura eléctrica, impuestos, etc., añadiendo la potencia contratada en la configuración y algún que otro check.

¿Qué se os ocurre a vosotros?, ¿qué necesidades específicas tenéis?

4 Likes

¿Desde que versión está incluido?. Yo tengo la versión 0.106.4 y al buscar por PVPC en las integraciones, no encuentro nada. Si está todavia como PR dentro del core, se supone que no se podrá buscar en las integraciones, ¿me equivoco?

¿Desde que versión está incluido?. Yo tengo la versión 0.106.4

Todavía no está incluido, está por revisar (por eso puse el link al zip). Espero que entre en la 0.108. Pero hasta entonces lo puedes instalar manualmente:

Aja, ya decia yo…jejeje
Ok, entonces si lo meto como custom component, tengo que añadirle algo al configuration.yaml?

Gracias!

No, no hace falta, lo buscas en integraciones y lo añades ahí, 0 yaml.

1 Like

De hecho, he de dar las gracias aquí a @cantavro por el hint del archivo JSON.
Yo usaba la ruta en https://api.esios.ree.es/archives/80/download?date=2020-03-07 para obtener un XML, pero ahora el sensor usa https://api.esios.ree.es/archives/70/download_json?locale=es&date=2020-03-07 para obtener un JSON, y por lo que he podido experimentar, parece que el 2º es más fiable (el otro a veces fallaba).

Y a mí me lo pasó @LeidenSpain, así que gracias a él también. Como bien dices, esto de HA es alucinante!

Y con respecto a las features, yo con esas que has puesto ya iría bien servido :smile:

Edito: si no me equivoco has cambiado las denominaciones de las tarifas.
TARIFFS = ["normal", "discrimination", "electric_car"]

Por ejemplo, antes era:
tariff: discriminacion

Y ahora es:
tariff: discrimination

Buenas noches
¿al final sabes si te lo van a añadir en la 0.108?

Espero que si, siempre es bueno que añadan mas cosas y en particular esta que nos viene de perlas

Como se podría añadir la información PVPC al utility_meter de home assistant?

Buenas! Decirte que has sido una de las principales razones para que vuelva a HA.

A mi me encantaría que nos indicaras y explicaras las gráficas que se ven en tus capturas, en este hilo y en otro, donde calculas consumos y gráficas. Con qué sensores / aparatos lo haces?

Mi principal uso de tu integración es para cargar el coche eléctrico en el momento más barato del día :slight_smile: Lo hago con una integración muy básica (empieza a cargar a la hora más barata) pero necesito también controlar el consumo en casa de alguna forma, para que si me paso de consumo durante X minutos vaya apagando / priorizando lo que se mantiene encendido. Creo que he visto algo así también en tus capturas.

Qué sensor / sensores de consumo recomiendas? Cualquier ayuda en ese sentido será súper apreciada!

En definitiva, que gracias a todos los que habéis colaborado en este excelente trabajo.

Por cierto, yo debo de tener una versión antigua ya que si tengo código Yaml… podrías poner enlace actualizado al ZIP que mencionas?

Un millón de gracias!

Hola, felicidades por la integración que has desarrollado.
Sólo quisiera saber si en un futuro (si es que finalmente cambian las tarifas), tienes la intención de actualizar la integración para que funcione con las nuevas tarifas (del 2020 o 2021), algo más complicadas.

Nueva tarifa

Gracias!

1 Like

Muchisimas gracias por el gran trabajo realizado con esta integracion customizada. Llevo poco en este mundo, por lo que me ha costado un poco entender como realizar todos los procesos, pero al final he dado con el camino correcto (quizas estaba un poco aturdido por esto del confinamiento).

Por cierto, y dar una pequeña idea. En mi casa tengo como 5-6 circuitos del cuadro electrico y el general, a los cuales les tengo integrado un sistema de medidores de energía de la marca Shneider Electric (son PowerTag para los circuitos y una PM3255 para el general). Todo ello con comunicacion MODBUS TCP/IP. Y por tanto integrado en HA.

Saludos. Espero que os dé una idea y buscando medidores con comunicacion Modbus TCP/IP podeis integrar estos en HA.

1 Like

Como se podría añadir la información PVPC al utility_meter de home assistant?

Yo estoy probando una solución manual, a base de tener un montón de utility meters y sensores extra, así que es muy mejorable :slight_smile:

El esquema es muy enrevesado, aviso.

  • Parto de una sonda ShellyEM con 2 pinzas, en una instalación de electrificación elevada con un automático general que ramifica a 2 PIA que agrupan todos los circuitos de la vivienda (esquema típico en vivienda nueva), así que cada pinza mide 1 canal, y la suma de ambas da el total, por lo que el ShellyEM viene de perlas.
  • En un template sensor represento el conteo total del shelly en kWh → sensor.main_energy_total
  • En un utility_meter (“hourly_energy_consumption”) de tarifa única y ciclo horario, almaceno el contador de energía anterior, creando un nuevo sensor → sensor.hourly_energy_consumption_unique
  • Con otro template sensor, calculo el coste en energía de la hora actual, simplemente multiplicando el sensor anterior por el valor del sensor.pvpcsensor. energy_cost_hour
    En este punto sería fácil modificar la plantilla para incluir costes fijos, añadir iva, etc. Por ahora es simplemente kWh * € / kWh.
  • Finalmente, añadí 3! utility_meter de tarifa única y ciclos horario, diario y mensual, con los que ojeo el consumo.

Por ahora lo tengo todo en pañales, pero la verdadera puñeta es no saber a priori cuándo se realiza el cierre de factura (¿alguien lo sabe?).
Lo ideal sería el utility_meter de ciclo largo que resetée a las 00:00h del día que toque :wink:. Si no, la mejor aproximación es el ciclo diario, y computar las facturas a posteriori sumando los días, o el horario y sumar las horas (y comparar/calibrar con las mediciones horarias del contador)

Aquí el tocho en yaml:

utility_meter:
  hourly_energy_consumption:
    source: sensor.main_energy_total
    cycle: hourly
    tariffs:
      - unique

  hourly_energy_cost:
    source: sensor.energy_cost_hour
    cycle: hourly
    tariffs:
      - unique
  daily_energy_cost:
    source: sensor.energy_cost_hour
    cycle: daily
    tariffs:
      - unique
  monthly_energy_cost:
    source: sensor.energy_cost_hour
    cycle: monthly
    tariffs:
      - unique

sensor:
  - platform: template
    sensors:
      main_energy_total:
        friendly_name: "Consumo total"
        unit_of_measurement: 'kWh'
        value_template: "{% if (states.sensor.main_energy_total_ch1.state != 'unknown') and (states.sensor.main_energy_total_ch2.state != 'unknown') %}{{ ((states.sensor.main_energy_total_ch1.state | float) + (states.sensor.main_energy_total_ch2.state | float)) | round(3) }}{% else %}unknown{% endif %}"
        entity_id:
          - sensor.main_energy_total_ch1
          - sensor.main_energy_total_ch2

      energy_cost_hour:
        friendly_name: "Gasto en energía (current hour)"
        unit_of_measurement: '€'
        value_template: "{%if states.sensor.pvpc.state %}{{ ((states.sensor.hourly_energy_consumption_unique.state | float) * (states.sensor.pvpc.state | float)) | round(5) }}{% else %}unknown{% endif %}"
        entity_id:
          - sensor.hourly_energy_consumption_unique
          - sensor.pvpc
6 Likes

En el mensaje anterior he descrito mi instalación, con un ShellyEM. Sólo he usado 2 contadores comerciales y uno totalmente custom, por ahora me quedo con el Shelly :slight_smile:

Por cierto, yo debo de tener una versión antigua ya que si tengo código Yaml… podrías poner enlace actualizado al ZIP que mencionas?

En el proceso de revisión el módulo cambio bastante :sweat_smile:, pero ya está por fin aprobado, así que creo q aparecerá en v0.108, por lo que, a estas alturas, lo mejor sería esperar, ir borrando el yaml, y volver a añadir desde el menú de integraciones con la nueva versión.

No estoy al 100% al tanto de los cambios que se prevén, ni si éstos eliminarán el PVPC, pero vamos, sí, claro, se intentará actualizar. Yo también soy usuario :slight_smile:

1 Like

Gracias, voy a intentar adoptarlo, veo que falta el sensor integration o no lo hace falta?, yo tambien tengo shelly em y la segunda sonda la tengo midiendo la producción solar

veo que falta el sensor integration o no lo hace falta?

Me consta que otros lo usan para integrar la potencia instantánea y obtener una medición en energía, pero yo no lo uso. El Shelly lo hace internamente y publica sensores en kWh, así que uso esos