De dónde obtiene el hub el precio: seis fuentes públicas, qué cubre cada una y qué piden a cambio

  • Probado con el firmware v1.2.1
  • Intermedio

Puso un precio spot en Home Assistant, apuntó el panel de energía hacia él, y la cifra salió mal. No ligeramente mal: lo bastante mal como para que fuera a buscar el error en sus propias plantillas.

El error normalmente no está en las plantillas. Está en que el precio que descargó y el precio que paga son dos cifras distintas, y nada en la cadena le indica cuál de las dos tiene en la mano.

"The Energy Dashboard in Home Assistant, while powerful, presents a challenge" — arva, hilo del foro de Home Assistant 682847

Ese es el comienzo comedido de un hilo cuyo autor acabó escribiendo su propia integración. Este artículo trata del paso anterior: qué fuente de precio cubre su zona, qué le da realmente y qué pide a cambio.

Spot o todo incluido: si acierta con esto, lo demás casi sigue solo

Cada fuente es de uno de dos tipos, y el hub necesita saber cuál:

  • Un precio spot es el inicio de un cálculo, no el final. Es el precio mayorista del período. Lo que paga es eso, multiplicado por un factor (1.0 salvo que su contrato escale el precio de mercado), más el margen de su comercializadora por kilovatio-hora, más el cargo de red, más impuestos y gravámenes, y luego el IVA sobre el conjunto — cada componente introducido sin IVA, porque el IVA se aplica una sola vez, sobre la suma. Cada campo monetario va por kilovatio-hora, en la unidad principal de su moneda: un margen de 2.5 céntimos se introduce como 0.025, no como 2.5. El hub convierte por sí mismo lo que las fuentes públicas dan por megavatio-hora; lo que usted escribe, lo toma tal cual. Si introduce una cifra que ya incluye IVA, se grava dos veces, que es la forma más habitual de que una configuración spot salga alta. Un precio todo incluido nunca se vuelve a gravar. Si usa un precio spot tal cual en una cifra de coste, saldrá demasiado baja — hasta que añada las partes, y entonces la aritmética corre de su cuenta.
  • Un precio todo incluido ya contiene todo eso. Es lo que su comercializadora le factura por ese período, impuestos incluidos. Si le añade su propio margen encima, la cifra sale demasiado alta.

Ambos fallos se ven igual desde fuera: un coste que no coincide con la factura. La mitad que la gente olvida son las partes que no son kWh, y no son pequeñas:

"+1 for this. In the UK this is pretty much standard too" — thefunkygibbon, hilo 330609

Ese hilo trata de los cargos fijos — un importe diario que no tiene nada que ver con cuánto consumió. Se pide desde 2021.

En el hub el tipo es una propiedad de la fuente. Si elige una fuente spot, el factor, el margen, las tasas, los impuestos y el IVA de su contrato son campos que rellena una sola vez; si elige una fuente todo incluido, el precio se toma tal como llega. En ambos casos el hub fija cada período de 15 minutos con el precio de ese período y guarda el precio junto a la energía, para que la cifra pueda rastrearse después en lugar de recalcularse.

⚠️ Por qué merece la pena acertar a la primera. El hub guarda qué precio aplicó, período a período, pero un precio ya aplicado es historial, no una fórmula que se pueda volver a ejecutar. Home Assistant tiene la misma propiedad, y la gente lo descubre por las malas:

"I'm pretty sure there's no way to backdate changes in HA." — tinkergnome, hilo 585379

Las seis fuentes públicas

Fuente Tipo Resolución Zonas Moneda
Energy-Charts (Fraunhofer ISE) spot 15 minutos AT, BE, CH, CZ, DE-LU, DK1, DK2, FR, HU, IT-North, NL, NO2, PL, SE4, SI EUR
Nord Pool (portal de datos no oficial) spot 15 minutos SE1–4, NO1–5, DK1–2, FI, EE, LV, LT la de la zona: SEK, NOK, DKK o EUR
Elpriset just nu (SE) spot 15 minutos SE1–4 SEK
Hva koster strømmen (NO) spot 1 hora NO1–5 NOK
EnergyZero (NL) todo incluido 15 minutos NL EUR
Octopus Agile (UK) todo incluido 30 minutos las 14 regiones GSP, A–P GBP

Ninguna necesita token ni cuenta.

Una fuente todo incluido lleva el precio minorista propio de esa comercializadora. Si su comercializadora es otra, esa cifra no es la suya — envíe entonces su propio precio desde Home Assistant, lo que se explica más abajo.

La resolución no es el paso de facturación. Un precio de 30 minutos o de una hora se aplica a cada período de 15 minutos dentro de él — cuatro períodos simplemente comparten un precio — de modo que los costes se siguen calculando por período de 15 minutos. Y una fuente de 15 minutos no obliga a facturar cada 15 minutos: si le facturan por período o por la media de la hora es una propiedad de su contrato, que se configura aparte.

⚠️ La moneda nunca se convierte. El hub no convertirá SEK a EUR. Una zona cuya moneda difiera de la de su plan se rechaza al guardarla, y una fuente en otra moneda se omite en lugar de aproximarla. Configure primero la moneda de su plan y luego elija una zona que coincida.

Lo que pide cada una a cambio

Público no significa incondicional. Cada fuente lleva la redacción que exige su propia licencia — Bundesnetzagentur | SMARD.de / Energy-Charts (CC BY 4.0), por ejemplo — y el hub la muestra en la página Precios. Esa línea no es decorativa: es la condición en la que se pueden usar los datos. Energy-Charts solo se sirve para las zonas publicadas bajo CC BY 4.0.

Quién tiene que mostrarla lo decide quien muestra el precio. El hub adjunta la atribución y el enlace a los términos junto a cada precio, de modo que lo que muestre ese precio ya dispone de lo necesario. La propia app del hub acredita la fuente en la página Precios. El panel RBgrid en Home Assistant también la muestra. Si construye un panel propio con los datos del hub, mostrarla le corresponde a usted — el texto y el enlace van en la carga del precio precisamente por eso.

⚠️ Nord Pool se consulta a través de un portal de datos no oficial, y el hub lo indica donde nombra la fuente. No hay ningún acuerdo de servicio detrás: puede cambiar o dejar de funcionar sin aviso. Úselo con conocimiento de causa y dé un respaldo allí donde exista — véase el tercer paso más abajo; para FI, EE, LV y LT es la única fuente de la lista, así que allí el respaldo solo puede ser un envío desde Home Assistant.

Esta es también la respuesta honesta a «¿trabajan con mi comercializadora?»: el hub no trabaja con comercializadoras. Lee datos públicos de precios de una zona de mercado y aplica a ellos el contrato que usted describe. Una fuente de la lista es un ajuste que usted eligió, no una relación que nadie tenga.

Si su zona no está en la lista

Entonces la séptima fuente es usted. Home Assistant — o cualquier cliente — puede enviar precios al hub en lugar de que el hub los descargue: hasta 200 períodos cada vez, guardados en el almacén propio del hub. Usted indica si lo que envía es spot o todo incluido, y a partir de ahí se trata exactamente como un proveedor de ese tipo.

Ese es el camino para una comercializadora de la que el hub no tiene fuente, y para un precio que usted calcula por su cuenta. En la build de ESPHome, Home Assistant figura entre las fuentes desde el principio; en el firmware independiente aparece una vez que ha llegado un envío. En cualquier caso, los precios dinámicos están desactivados hasta que los active, y la fuente la elige usted — Home Assistant es una opción en la lista, no la ya elegida.

Cuatro cosas sobre el envío son más fáciles de saber de antemano que de descubrir:

  • El tipo spot o todo incluido se declara una vez, en los ajustes de precios dinámicos — no con cada lote. Configúrelo para que coincida con lo que envía, y luego olvídese.
  • Envía un lote de períodos, cada uno con un inicio y un fin. El paso de su fuente puede ser de 15 minutos, 30 o una hora; el hub fija cada uno de sus períodos de 15 minutos con la entrada que lo cubre.
  • Reenviar un período lo reemplaza. Mismo inicio, nuevo precio, y el almacenado se sobrescribe — así que reenviar un día corregido es la forma de corregirlo.
  • Las horas que no ha enviado no quedan sin precio. Pasan por la cadena habitual: su fuente de respaldo si configuró una, si no la tarifa de zona de su plan. El registro indica qué fuente cubrió cada período, de modo que nada se pierde en silencio — simplemente se valora desde otra fuente.

Cuando un precio no llega

Un mercado día siguiente publica el día siguiente una vez al día. Esa publicación puede retrasarse, la descarga puede fallar, su zona puede faltar en una respuesta. El hub no da por perdido un día tardío: sigue preguntando — cada quince minutos en la ventana temprana, y luego cada hora mientras el día siga sin datos — de modo que una publicación que llega tarde por la noche se recoge en aproximadamente una hora, y los períodos se revalúan desde la fuente en lugar de quedarse con el plan. Para cada período de 15 minutos el hub resuelve exactamente un precio, en este orden:

fuente qué significa
1 Principal el proveedor que eligió, para su zona
2 Respaldo opcional, debe ser un proveedor distinto; se usa solo en los períodos que la principal no cubre
3 Su plan la tarifa de zona vigente en ese período

Nada se mezcla: un período, un precio, una fuente — y la fuente se guarda con el período, de modo que una cifra que lea la semana siguiente sigue pudiendo rastrearse hasta el origen de su precio.

Antes que nada, depende de si tiene respaldo disponible. Doce de las zonas de mercado anteriores están cubiertas por dos de estas fuentes o más; quince están cubiertas por exactamente una, y allí la única segunda fuente es un precio que usted envía desde Home Assistant. Localice su zona antes de leer el resto de este párrafo como consejo.

Cuando existe un respaldo, merecen los cinco minutos. Sin él, entra el plan. Eso es un comportamiento correcto — su energía sigue contabilizada y valorada — pero es un precio distinto, y sus costes en ese tramo no coincidirán con el mercado.

Un respaldo del otro tipo está permitido, y cambia lo que debe rellenar. Cada período se valora según la clase de la fuente que de hecho lo cubrió, no según la clase de la principal — así que una principal todo incluido con un respaldo spot necesita que rellene igualmente los componentes de su contrato, o los períodos del respaldo saldrán como spot puro, es decir, demasiado bajos. Rellenarlos no le cuesta nada a un usuario todo incluido: una fuente todo incluido ignora esos campos. Las únicas reglas son que el respaldo sea un proveedor distinto y que ambos coticen en la moneda de su plan.

⚠️ Y un respaldo mantiene un precio de mercado en su lugar, de su propio tipo, que no siempre es la misma cifra. En NL, por ejemplo, un respaldo spot tras una principal todo incluido valora esos períodos como spot más los componentes de su contrato, no como la cifra todo incluido de su comercializadora. El registro del hub indica qué fuente usó cada período, así que una sustitución silenciosa se distingue de un fallo silencioso — y de un día valorado con otra base.

Elegir, en el orden que ahorra trabajo

  1. Configure primero la moneda de su plan. Restringe qué zonas puede guardar siquiera, así que hacerlo después obliga a rehacer el resto.
  2. Busque su zona en la tabla y lea la columna Tipo. Esa palabra decide si rellena los componentes de su contrato o los deja en paz.
  3. Elija un respaldo — si su zona tiene una segunda fuente. Doce zonas están cubiertas dos veces: SE1–4 y NO1–5 (Nord Pool junto a la fuente nacional), DK1–2 y NL (Energy-Charts junto a una segunda), y SE4 y NO2 tres veces. El resto están cubiertas una vez. Para DE-LU, FR, AT, BE, CH, CZ, HU, IT-North, PL, SI, FI, EE, LV, LT y las regiones del Reino Unido no hay un segundo proveedor en esta lista, así que lo que sigue a la principal es la tarifa de zona de su plan — salvo que envíe un precio desde Home Assistant, que es una fuente en sí misma.
  4. Compare el primer día completo con las cifras de su comercializadora, no con el gráfico mayorista. Dos diferencias distintas significan cosas distintas: una discrepancia de aproximadamente la fracción de impuestos e IVA significa que el tipo está mal configurado, que es el caso habitual — mientras que una diferencia de aproximadamente su cargo fijo no indica ningún error. El hub valora la energía, por kilovatio-hora. Un importe fijo diario o mensual — vastrecht, Grundpreis, netbeheer, un cargo fijo — no está en su cifra, así que el mes diferirá de la factura exactamente en eso, y ningún ajuste lo cambia.

Lo que esto no hace

  • No es una relación con una comercializadora. Las fuentes son datos públicos de precio de zonas de mercado; el contrato es lo que usted describe en el plan.
  • No convierte moneda. Una discrepancia se rechaza en el momento de guardarla, que es el mejor lugar para enterarse.
  • No enciende ni apaga nada cuando el precio se mueve. Las ventanas baratas son una señal; qué hacer con una lo decide su automatización.
  • No revalúa el pasado. Un período conserva el precio que se le aplicó, con su fuente. Corregir un ajuste cambia lo que pasa a partir de ahora.

Dónde leer más

  • Where your price comes from — la referencia completa: cada campo, cada motivo de fallo y lo que significa para usted.
  • Market prices — la versión corta, si todavía está decidiendo si quiere esto.
  • Prices in the app — la página Precios, la tabla por período y el registro de precios aplicados.
  • How cost is calculated — la cadena desde un kilovatio-hora medido hasta el dinero.
  • Tariffs and plans — zonas, tasas, impuestos e IVA, que es donde está la otra mitad de una fuente spot.