Coste consumo eléctrico
Photo by Mathieu Stern on Unsplash

Calcular coste de un consumidor eléctrico de forma exacta

Vamos a usar nuestro enchufe inteligente Zigbee en Home Assistant con datos de consumo en tiempo real para calcular el coste, usando la tarifa PVPC… con Paciencia

Precio consumo enchufe inteligente en Home Assistant.

Vamos a ver un uso muy útil de nuestro sistema Home Assistant, que va a requerir definír un template y un utility meter. Tendremos por tanto el precio acumulado del consumo de un enchufe inteligente.

Basado en el post anterior donde habilitamos a Home Assistant para empezar a emparejar los distintos dispositivos. No es necesario, sin embargo, que el protocolo sea Zigbee. Os dejo unas buenas ofertas de un enchufe ideales para este tema:

Y si queréis conocer más sobre amortizar vuestro Home Assistant no os perdáis estas ideas.


Enchufe inteligente en Home Assistant

También hablaremos de la segunda integración necesaria que nos dará el precio regulado para el pequeño consumidor eléctrico PVPC y por tanto nos servirá para calcular el coste del consumo del enchufe inteligente en Home Assistant de manera exacta para el consumidor que conectemos a él (ver en tiempo real el coste de un ordenador, una TV os va a sorprender).

Los equipos que menos os pensáis son los que conllevan un coste más elevado, por ejemplo una TV grande puede llegar a demandar más de 100W, y hay días que casi no se apaga.

Como de costumbre vamos a numerar los pasos:

Paso 1. Precio consumo enchufe inteligente en Home Assistant. Instalación de integración precio PVPC

El mercado eléctrico español es bastante complejo, y en el extremo del mismo nos encontramos nosotros, los consumidores. No entramos en cómo se decide el precio del Mwh, ni de los mercados. Lo que nos interesa por ahora es que el consumidor puede elegir entre tener una tarifa regulada con un Precio de Venta al Pequeño Consumidor (PVPC tarifa regulada) o bien por una tarifa libre.

En líneas generales puede suponer un ahorro considerable en la factura de la luz el optar por PVPC hoy, sobre todo si vuestras puntas de consumo son en horas valle (horas más baratas). En junio de 2021 el gobierno ha realizado un cambio que nos discrimina según las horas del día en 3 períodos y según los días de la semana y festivos. Esta guía ha sido actualizada para reflejar dicho cambio.

Como no puede ser de otra forma, el precio al que nos venden la electricidad en cada hora del día es público, pero no queremos estar cada hora mirando nosotros dicho precio. Queremos que nuestro sistema se conecte a la página de Red Eléctrica y lea el precio de cada tramo de pvpc hoy.

Para poder realizar este paso previo, es necesario que instalemos una integración que podréis buscar accediendo por el menú Configuration > Integrations y buscando PVPC:

Precio PVPC electricidad

La documentación oficial la podéis encontrar en https://www.home-assistant.io/integrations/pvpc_hourly_pricing

No tiene más historia. Para verlo en nuestro panel, podemos editar el panel que queramos en Lovelace con la opción de su menú (los 3 puntos)

Edición panel Lovelace Home Assistant

Le damos a la opción ADD CARD, y elegimos el tipo de tarjeta Entity especificando el nombre de nuestro nuevo sensor pvpc:

Configuración tarjeta Lovelace PVPC Home Assistant

Nos tiene que quedar algo parecido a esto y podemos graficar el precio de cada hora del día pinchando en el valor:

Precio electricidad PVPC Home Assistant
Precio diario PVPC Home Assistant

Vemos en el ejemplo que el precio desde las 15:00 a las 16:00 del 22-abr-2021 es de 0.1486 €/kWh , pero este como veremos no es el precio final, pues hay que añadir impuestos y distintos pagos, y por supuesto multiplicar por nuestra energía consumida durante ese período.

Paso 2. Precio consumo enchufe inteligente en Home Assistant. Creación de Templates y Contadores

En este paso vamos a trabajar enteramente con el editor incluido en Home Assistant para añadir en el fichero configuration.yaml

De paso os voy a indicar cómo haremos primero una copia de seguridad completa de todo nuestro sistema, aunque en este caso estemos haciendo cosas básicas normales, pero así vamos sobre seguro.

Para realizar la copia vamos al menú Supervisor en la opción Snapshots. Si le dejamos el nombre en blanco el sistema lo denominará con la fecha actual:

Copias de seguridad Home Assistant

Luego podemos pinchar en la copia creada y descargarla para su archivado:

Snapshot Home Assistant

Bien, sigamos con la modificación de nuestro fichero configuration.yaml

Para poder incluir algún cálculo y convertirlo en sensor, crearemos el apartado template, tal y como se expone en el siguiente código, y justo debajo sensors: con el nombre que queramos darle al nuevo sensor calculado (en nuestro caso blitzwolf_1_energy_cost_hour:

El formato de configuración usado es bastante potente, pero desde luego nada amigable.

Si os confundís en algún espacio, o se introduce una tabulación dará error, y os váis a volver locos. Yo os recomiendo que copiéis el códio tal cual, uséis un editor tipo notepad++ en UTF-8 y se modifique con cuidado de no quitar ningún espacio antes de pegarlo en vuestro fichero configuration.yaml, teniendo en cuenta que si ya hay una sección sensors debajo de platform: template, no tendréis que crearla de nuevo:

  - platform: template
    sensors:
      blitzwolf_1_energy_cost_hour:
        friendly_name: "blitzwolf_1_Coste (current hour)"
        unit_of_measurement: '€'
        value_template: "
{%set IVA = 1.10 |float %}
{%set imp_elec = 1.05112696 |float %}
    {{ (( states('sensor.blitzwolf_1_hourly_energy') | float * (states('sensor.pvpc') | float) ) * imp_elec * IVA )  | round(3) }}"

Si lo analizáis no es muy complicado de entender:

Para tener el término variable total, a la parte de peajes tendremos que sumar el coste de la energía (los kWh consumidos cada hora por el precio del kWh que nos da nuestro sensor PVPC). Todo aplicando un IVA del 10% por cortesía del Gobierno hasta que lo cambie de nuevo al 21% y un impuesto sobre la electricidad de 5,112696 %.

El precio publicado de PVPC ya incluye el término de energía de los peajes de transporte y distribución (FEUP), el término de energía activa consumida de los cargos (FEUC), el coste de producción de la energía y otros costes asociados (TCU).

Como véis si hay alguna variación es fácil modificar el template.

Con esto tendremos calculado el coste del término variable de nuestra factura. Hay otros apartados fijos en función del nº de días (potencia contratada, alquiler contador, …)

No tiene sentido sumar la parte fija a un único consumidor. Sí sería interesante si estáis calculando el consumo total de vuestra casa, por ejemplo con un Shelly EM.

No cierres todavía el editor. Si te fijas, hacemos uso de un contador llamado sensor.blitzwolf_1_hourly_energy para el cálculo.

Esta es su configuración en el fichero configuration.yaml, y recordad de nuevo qye si ya hay una sección utility_meter, esa línea no hay que copiarla, pero sí debajo nuestas definiciones de contadores. Ya que estaba se ha configurado también energía diaria y mensual:


utility_meter:
  blitzwolf_1_hourly_energy:
    source: sensor.enchufe_blitzwolf_1_energy
    cycle: hourly
  blitzwolf_1_daily_energy:
    source: sensor.enchufe_blitzwolf_1_energy
    cycle: daily
  blitzwolf_1_monthly_energy:
    source: sensor.enchufe_blitzwolf_1_energy
    cycle: monthly
  blitzwolf_1_monthly_energy_cost:
    source: sensor.blitzwolf_1_energy_cost_hour
    cycle: monthly

Nos queda resetear nuestro sistema para que acepte lo que hemos añadido. Como siempre recuerda chequear antes. Lo explicamos en su momento al final de este otro post: https://www.pacienciadigital.com/integraciones-en-home-assistant-dispositivos-en-red/

En Lovelace, podremos por fin inserta el recién creado sensor (blitzwolf_1_monthly_energy) junto con la carga, voltaje, potencia, etc:

Precio PVPC enchude inteligente Home Assistant

Ha costado un poco llegar hasta aquí. El poder tener un cálculo exacto del consumo nos puede ayudar a ahorrar bastante dinero al año, e incluir algún enchufe más solo es cuestion de emparejarlo y copiar/pegar en el fichero de configuración renombrando lo que sea necesario.

Gestión de energía integrado

Tras la versión 2021.8.4 tenemos la oportunidad de gestionar también la energía a través de un componente específico Energy:

Integra un bonito dashboard con un buen diseño y posibilidad de incluir generación propia:

Si has leído el post pero todavía no estás muy metido en este mundo, no dejes de repasar la integración Zigbee y conocer más dispositivos Zigbee esenciales.

Y por último os dejo un listado de otras entradas que pueden interesar:

18 comentarios

    1. Hola Fernando, el impuesto sobre la electricidad efectivamente no estaba incluido.
      Es un porcentaje que se aplica tanto a la parte fija (por potencia contratada) como a la variable (por energía consumida). Lo añado al template para tenerlo en cuenta aunque es poco el importe final en el mes.
      De camino pongo el IVA también como una variable para cuando nos vuelva a subir que se vea claramente dónde tocar,jeje.

      Gracias por el apunte.

  1. Hola, muchas gracias por el post, me ha encantado. Sin embargo hay un punto que no me queda claro, y es que tengo entendido que los peajes del término de la energía ya están incluidos en el sensor.pvpc. Si fuese así, el código del «platform:template» se simplificaría mucho.

    1. Hola Alberto. El precio publicado de PVPC efectivamente incluye el término de energía de los peajes de transporte y distribución (FEUP), el término de energía activa consumida de los cargos (FEUC), el coste de producción de la energía y otros costes asociados (TCU). Lo acabo de modificar anotando este punto en la explicación y en efecto queda mucho más limpio el template. Gracias por la apreciacion y un saludo.

  2. Hola, me ha parecido superinteresante tu articulo, ademas de practico. Tengo un shelly EM para controlar el consumo total de mi casa, (tengo pvpc + fotovoltaica con compensacion de excedentes). Como podria hacer para que me calculara el recibo aproximado teniendo en cuenta los excedentes??

    Gracias por compartir tus conocimientos con todos.

    1. Gracias por el comentario. Desgraciadamente desconozco el mecanismo de compensación para poder ayudarte. De todas formas, el cálculo debería poder deducirse de la factura que incluirá dicha compensación. Saludos.

    2. Han incluido en la última actualización un módulo energía en el que puedes incluir un medidor tipo Shelly u otro para incluir la generación, realmente interesante.

  3. Buenas! Muy interesante. Estoy tratando de implementarlo en mi HA pero no me queda claro dónde se declaran las variables «imp_elec» e «IVA»

    Muchas gracias!

  4. Hola , muchas gracias por los tutoriales , son fantásticos para aprender,
    estoy intentando crearme unos sensores de estos y tengo dudas
    blitzwolf_1_hourly_energy:
    source: sensor.enchufe_blitzwolf_1_energy
    Este sensor con que dato lo sacas del blitzwolf? con el energy power? consumo en el acto?
    Gracias

  5. Buenas, que trabajo mas chulo, tan solo me queda una duda. Como controlas el periodo de facturacion, me explico, si creo ese template nos crea un sensor del gasto de los ultimos 30 dias? se podria hacer un sensor que llevase el gasto desde el dia que te facturan, creo que lo hacen cada 29 dias.

    Saludos

    1. Hola Antonio. Gracias por tu comentario. Hacer coincidir el periodo de facturación es casi misión imposible, sobre todo porque las comercializadoras hacen lo que quieren, o bien hay cambios en las bases de cálculo y te hacen una facturación parcial hasta una fecha determinada (como cuando cambiaron el IVA en junio-2021). Lo que sí puedes hacer fácilmente es incluir offset (mira la documentación de utility meter) al ciclo mensual para que resetee um día del mes distinto del día 1. Así lo tendrás más acorde con tu periodo de facturación si te suelen hacer el cierre alrededor de ese día.

  6. Tienes razón, coincidiría el primer mes y luego nada…
    He añadido el parametro offset: days: XX en el utility meter, a ver que tal.

    Saludos y muchas gracias.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *