ESIOS REE Integration (Spain National Network of Electricity)

Mi shelly solo envía en vatios, lo tienes integrado por mqtt?

Sí, tanto el ShellyEM como otros conectados a sensores de movimiento, los cuales quiero que tengan respuesta instantánea (creo q en las últimas versiones esto es ya así, pero el EM publica más atributos en MQTT)

Tengo un montón de shellys en casa, todos con cloud desactivado, y sólo algunos con el MQTT.
Los puedes ver aquí:

1 Like

Supongo que te refieres a esto, verdad?

Ahí están los sensores y utility_meter s que comentaba en otro mensaje:

  • La barra superior es una rolling_mean de 15min de la potencia instalada. En mi experiencia, es la mejor medida simular cómo el contador mide las máximas y salta por sobrecarga, pero no es más que un valor suavizado del consumo eléctrico.
  • En los circulares están los sensores de potencia de cada canal, la suma de ambos en grande a izq, el sensor.pvpc y el de coste diario (utility_meter)
  • En ‘Contador eléctrico’ están los contadores descritos y alguno más, como esos de 2 tarifas, valle/punta (que necesitan de una automatización para cambiar de tarifa), etc. Como iba diciendo, hay mucha prueba y cosicas temporales por ahí.
  • En ‘ACS y AC’ hay controles y contadores para el agua caliente y el aire acondicionado.
  • Y el resto son gráficas varias…

Debajo de todo eso sólo hay un dispositivo real, que es el ShellyEM en el cuadro de luz. Bueno, y los controles individuales del aire y el termo eléctrico.

Quizás hayas visto también gráficas más complejas en mi lovelace UI, como:


Pero eso es sólo un iframe de un panel de un dashboard de grafana. En un NAS de casa tengo una BD influx donde se almacena toda la información de HA, y sobre eso tengo un montón de dashboards para generar gráficas de todo tipo.

1 Like

Ya lo veo, me faltaba añadir el sensor energy y el total, lo mire el mqtt explorer y no aparecen en un principio, tardan un poco en aparecer, voy a dejar unos días el integration y el total para ver si van parejos, gracias por la ayuda y enhorabuena por la integración

1 Like

Enhorabuena @azogue por tu integración, me parece genial. Yo acabo de instalar paneles solares (aún a medio gas al no tener activo lo de poder compensar los excedentes) pero al tener instaladas pinzas y el inversor, tengo por MODBUS TCP sensores con datos de potencia y energía de todo. También me gusta ver lso datos con Grafana:

Por eso sería genial poder combinar esta integración con los utility meters de forma transparente.
Gracias de nuevo!!

1 Like

Hola, sólo dar las gracias por la integración. Funcionando de lujo… he añadido tarifas pico y valle, por tener diferenciados los consumos, con lo cual se me dispara el número de sensores, pero por lo demás está basado en tu yaml.

Un saludo y gracias de nuevo!!

@azogue Una cosa más: un poco antes del final del día, al pulsar en el sensor me sale en la lista de precios los precios por hora del día actual (lo habitual) pero también me salen los de mañana (perfecto), pero me extraña que en los de mañana aparecen como “last day” o algo así creo recordar, ¿no debería ser “next day”? ¿o directamente tomorrow? A primera vista parece que sean “los de ayer” y no “los de mañana”.

Muy chula :face_with_monocle:

¿Qué card estás usando en “Consumo agrupado”? Tiene muy buena pinta!

Una cosa más: un poco antes del final del día, al pulsar en el sensor me sale en la lista de precios los precios por hora del día actual (lo habitual) pero también me salen los de mañana (perfecto), pero me extraña que en los de mañana aparecen como “last day” o algo así creo recordar, ¿no debería ser “next day”?

Debería ser “next day” :slight_smile:

¿Estás en Canarias? Allí aparece siempre un “last_day_23h” por el cambio horario, pero en timezone “Europe/Madrid” deberían ser bloques fijos, 24 o 48 valores (excepto en los cambios horarios).

En cualquier caso, todo el tema de los atributos de estado es muy mejorable, se aceptan sugerencias!

Hola. No, no estoy en Canarias. Si no se me olvida esta noche hago una captura de como me aparece.

En cuanto al Consumo Agrupado, no es más que un entities que contiene varias filas con el custom multiple-entity-row, te pego la tarjeta entera, es la parte final:

type: 'custom:stack-in-card'
cards:
  - entities:
      - entities:
          - aggregate_func: max
            entity: sensor.energia_diaria
            name: Consumo diario
          - aggregate_func: max
            entity: sensor.energia_coste_diario
            name: Coste diario
            y_axis: secondary
        group_by: date
        hours_to_show: 168
        show:
          graph: bar
          icon: false
          name: true
          state: true
        show_state: false
        hour24: true
        type: 'custom:mini-graph-card'
    show_header_toggle: false
    title: Resumen 7 días
    type: entities
  - entities:
      - entity: sensor.energia_diaria
        name: Hoy
        icon: 'mdi:calendar'
        secondary_info:
          entity: sensor.energia_coste_diario
          name: null
        entities:
          - entity: utility_meter.energia_diaria
            name: Tarifa
          - entity: sensor.energia_diaria_pico
            name: Pico
          - entity: sensor.energia_diaria_valle
            name: Valle
        type: 'custom:multiple-entity-row'
      - entity: sensor.energia_semanal
        icon: 'mdi:calendar'
        name: Esta semana
        secondary_info:
          entity: sensor.energia_coste_semanal
          name: null
        entities:
          - entity: sensor.energia_semanal_pico
            name: Pico
          - entity: sensor.energia_semanal_valle
            name: Valle
        type: 'custom:multiple-entity-row'
      - entity: sensor.energia_mensual
        name: Este mes
        icon: 'mdi:calendar'
        secondary_info:
          entity: sensor.energia_coste_mensual
          name: null
        entities:
          - entity: sensor.energia_mensual_pico
            name: Pico
          - entity: sensor.energia_mensual_valle
            name: Valle
        type: 'custom:multiple-entity-row'
      - entity: sensor.energia_anual
        name: Este año
        icon: 'mdi:calendar'
        secondary_info:
          entity: sensor.energia_coste_anual
          name: null
        entities:
          - entity: sensor.energia_anual_pico
            name: Pico
          - entity: sensor.energia_anual_valle
            name: Valle
        type: 'custom:multiple-entity-row'
    show_header_toggle: false
    title: Consumo agrupado
    type: entities

Misteriosamente hoy aparece como “price next day”, es decir, está correcto. No sé si ayer me imaginé cosas raras… lo seguiré revisando…

Después de usar durante varios días la integración, funciona de lujo y sin problemas. De nuevo gracias por el trabajo.
Mis sugerencias:

  1. No sé si es posible añadir los energy_meter y los sensor automáticamente al añadir la integración desde la interfaz de HA. Luego el que no quiera usar alguno lo puede desactivar desde el propio interfaz, pero si se añaden automáticamente medidores de potencia, y coste por valle, pico y total facilitaría mucho la vida a los usuarios. Sólo tendría que seleccionar que sensor contiene el consumo eléctrico y la integración haría el resto.
  2. Para mi el nombre de las diferentes tarifas debería ser el que usan las compañías por mantener nomenclatura:

    en lugar de normal, discriminación y coche electrico:
  • TARIFA POR DEFECTO (PEAJE 2.0 A)
  • EFICIENCIA 2 PERIODOS (PEAJE 2.0 DHA)
  • VEHÍCULO ELÉCTRICO (PEAJE 2.0 DHS)
    más que nada porque es como viene en la factura. Tal vez se podría añadir al nombre actual por si no se quiere cambiar, como información adicional.
  1. Por último, no sé como se podría solucionar, pero cuando descarga los datos del día siguiente, el “next best at” es una mezcla de hoy y mañana y no se sabe a que día corresponde cada hora, por ejemplo en esta captura hay varios 23, 22 y 21:

    No sé si se podría añadir una letra o algo a las horas de “mañana” para distinguir, pero tampoco sería una bonita solución…

Por lo demás como comento, muy contento con la integración :smiley:

Edito:

Ya está disponible en la versión 0.108.0 para el que quiera probarlo sin instalar “a mano”…

Probado y funcionando sin problemas. :slight_smile:

2 Likes

Ya está integrado en 0.108! :partying_face:

Para aquellos usándolo manualmente, podéis borrar la carpeta en custom_components y actualizar HA, os aparecerá automáticamente en Integraciones (si no, añadidlo desde ahí)

1 Like

Muchisimas gracias @azogue por el trabajo.

Para todo aquel que quiera disfrutar de toda la información disponible en la integración, he creado una Custom Card específica: https://github.com/danimart1991/pvpc-hourly-pricing-card

ejemplo-tarjeta

Y un par de tutoriales para meter la integración y la tarjeta en Home Assistant:

Espero que os sirva. :wink:

4 Likes

Muy chula Dani, muchas gracias!

1 Like

Buenas,
Lo primero de todo, he llegado hasta aquí por ti, muchísimas gracias por explicarlo y demás en tu blog, pero ahora me surge una duda a la hora de implementarlo. Tengo la integración hecha, entonces me gustaría que, en función de cuando sea mas barato, obtenga esa información y la pueda implementar en mi lavavajillas, es decir, a través de alexa le diga, pon el lavavajillas, ejecute una automatización y se ponga sola a las hora que corresponde porque sea mas barato, ¿es eso posible?
Espero vuestra respuesta
Un saludo

esta fenomenal, me encanta, buen trabajo compañeros.

Buenas.
Muchas gracias por esta integración, andaba buscando algo como esto desde hace tiempo. Lo que había visto para poder integrar en HA era mediante scraping siguiendo la info. de esta pagina . De que dolor de cabeza me he librado y de tiempo, muchas gracias.

Hardware
Yo como equipo de medida uso un emontx v3 para la lectura de datos, se envían los datos a una RaspberryPi y después por MQTT a HA. La ventaja es que puedes hacer tu mismo la calibración.
Había pedido como azogue un Shelly Em para probar,pero me llego defectuoso y tuve que devolverlo asi que me dieron un vale y pille un Shelly 3EM con oferta , que viene retrasado por culpa corona-virus.
Si tuviera la posibilidad de la devolución del dinero del Shelly Em me hubiera decantado por comprar el IotaWatt, este tiene la posibilidad de medir hasta 14 fases y se puede calibrar.

Este es mi dashboard del medidor de energía que tengo actualmente. Le he echo una modificación y me falta calibrarlo pero he conseguido una diferencia de 1kw entre los indicados en la factura y el emontxv3 en un mes.

Este es mi dashboard de HA y quiero integrar en el consumo diario que me aparezca representado también el precio de la luz y así poder ver,orientativamente, mi consumo con el precio en ese momento.
Tendré que crear un sensor para que lea el precio en ese momento e incorporarlo a la grafica. Por si alguien yo lo tiene y me echa una mano

Mi más sincero agradecimiento a azogue y danimart1991 por sus contribuciones por la integración de la info PVCP y la tarjeta para verlo todo de un vistazo.

El caso es que me he encontrado un bug para los que vivimos en Canarias,
los valores diarios van una hora ‘adelantados’, ejemplo:
PVPC_Canarias

Es decir el precio de las 13, aparece a las 12, y así con todos los valores, como si no se ajustase el horario de verano( desconozco si en horario de invierno también se desplazarían los valores)

El horario de previsión del día siguiente si que aparece correctamente.

Por lo demás, gran trabajo!
Un saludo

@Dreamzonne puedes publicar la incidencia también en el GitHub de la card, creo que de ese modo será más fácil para el desarrollador: https://github.com/danimart1991/pvpc-hourly-pricing-card/issues

Yo he publicado alguna y ha sido resuelta a los pocos días :slight_smile:

Gracias por el apunte McGiverGim,
aunque creo que me expresé mal,
la info horaria ‘desalineada’ proviene del sensor: Spain electricity hourly pricing (PVPC)

Creo que por alguna parte se hace una conversión de la zona horaria, que para otros valores temporales sería lo correcto, pero no para PVPC
El precio a las 13h en península sería el mismo que el de las 13h en Canarias (aquí no aplica lo de la hora menos) :wink:

Miraré si puedo reportarle a azogue por github
Un saludo,