Has decidido medir tus propios circuitos y verlos en Home Assistant. Las pinzas son baratas, rodean un cable sin tocarlo, y no faltan personas que ya lo han hecho.
Lo que casi nadie te cuenta primero es que hay dos formas distintas de ejecutar esto. En el panel de energía acaban pareciéndose mucho. Por dentro no son lo mismo, y pasar de una a otra más tarde significa empezar tu historial desde cero.
Así que este artículo trata sobre la elección, no sobre el cableado. Ambas rutas ejecutan el mismo núcleo de medición en tu propio ESP32 y miden de la misma forma. Lo que cambia es dónde lo configuras, con qué puede hablar el dispositivo y qué llega a Home Assistant.
Elige la ruta antes de empezar a acumular historial
El cambio entre las dos rutas es un reflasheo por USB con la otra imagen. No se ofrece como actualización OTA en ninguna dirección, no se migra nada por ti, y el instalador del navegador ofrece un borrado completo cuando instalas desde cero.
⚠️ Elige la ruta antes de empezar a acumular historial. Cambiar después implica reflashear por USB, volver a introducir tus puntos, módulos, plan tarifario y ventanas, y empezar el historial registrado desde cero. En la ruta independiente, exporta antes lo que tengas en CSV si quieres conservarlo.
Eso es todo el consejo de migración, y está aquí y no al final del artículo porque solo sirve antes de decidir. Ambas direcciones son un inicio desde cero; ninguna es la barata.
Lo que es igual en ambos casos
La mayor parte de lo que compras no depende de la ruta:
- La medición. El mismo núcleo de medición, las mismas pinzas, los mismos períodos de 15 minutos cerrados en el dispositivo.
- Precios de mercado. El hub obtiene él mismo el precio del mercado diario (day-ahead) de tu zona, aplica tu contrato —zonas, cargos, impuestos, IVA— y valora cada período de 15 minutos con el precio de ese período.
- Ventanas baratas. Reglas para «por debajo de un nivel», «los períodos más baratos en un intervalo» y «lo más barato antes de una hora», evaluadas en el dispositivo.
- Picos de importación. La importación más alta de 15 minutos y de hora en la entrada de red, por ciclo de facturación.
- Nodos remotos. Los nodos ESP-NOW son el mismo dispositivo y el mismo firmware en ambas rutas.
- El registro es del dispositivo. Las horas se cierran y se valoran en el hub, así que lo que haga Home Assistant —reiniciarse, actualizarse, apagarse— no cambia lo que se midió.
- Sin nube en el camino. Ninguna de las dos rutas necesita una cuenta en ningún sitio, que es lo que más preguntan y lo que menos se oye:
"Además, parece que ninguno de ellos es local, y eso es un fastidio enorme." — ncd, hilo 607039 del foro de Home Assistant
Qué cambia
| La app propia del hub | Dentro de Home Assistant | |
|---|---|---|
| Dónde se configura | la app web del hub, en su propia dirección | el panel RBgrid en Home Assistant |
| App web | sí | no |
| Cómo ve Home Assistant el dispositivo | descubrimiento MQTT | la API nativa de ESPHome |
| Un broker que ejecutar | sí, si quieres Home Assistant | ninguno |
| MQTT, REST, WebSocket | sí | no — ESPHome gestiona la parte de red |
| Precios de mercado, plan, zonas | sí | sí |
| Ventanas baratas | estado publicado por MQTT | un evento de Home Assistant para tus automatizaciones |
| Picos de importación | en la app | se muestran en la pestaña Prices del panel, solo lectura; el día del ciclo de facturación se fija con una acción, no con un formulario |
| Nodos ESP-NOW remotos | en la app | emparejados y listados en la pestaña Network del panel |
| Historial por hora hacia las estadísticas de Home Assistant | no — solo totales en vivo | sí, hasta 30 días al configurar, después hora a hora |
| Copia de configuración y exportación CSV como archivos | sí | no |
| Atribución del precio mostrada para ti | la página Prices de la app | el panel la muestra |
Dos filas de esa tabla merecen una segunda lectura.
El broker. Si ejecutas el hub en su ruta propia y lo quieres en Home Assistant, necesitas un broker MQTT: así es como se encuentran ambos. Un hub usado solo a través de su app web no necesita ninguno. En la ruta de Home Assistant no hay broker en absoluto, porque el protocolo propio de ESPHome hace el trabajo.
La importación del historial. Esta es la única asimetría real, y es una adición, no un reemplazo. Home Assistant guarda sus propias estadísticas horarias en ambas rutas, a partir de los valores en vivo que recibe; esa parte no cambia. Lo que añade la ruta de ESPHome es un segundo conjunto de filas: la integración escribe el libro horario propio del hub en las estadísticas a largo plazo junto a las otras, y la primera importación retrocede, de modo que hasta 30 días de lo que el hub ya registró llegan en una sola pasada —si el hub ya estaba funcionando antes de que configuraras la integración. Esas filas no duplican nada en tu panel hasta que las elijas como su fuente. En la ruta MQTT no hay segunda copia; las estadísticas de Home Assistant son las que él calcula, como siempre. En cualquier caso, el hub no pierde nada.
Si Home Assistant ya es tu interfaz
Flashea la imagen de ESPHome, adopta el dispositivo, y el panel RBgrid en Home Assistant pasa a ser el lugar donde lo configuras todo: puntos, módulos, el plan tarifario, las ventanas. No hay una segunda app que mantener ni un broker que ejecutar.
Llegar hasta ahí tiene dos formas, y ambas son normales: o bien flasheas la imagen de fábrica lista para tu placa desde el navegador y adoptas el dispositivo como cualquier otro dispositivo ESPHome, o bien —si ya guardas tus dispositivos ESPHome como YAML— añades el componente como fuente externa y lo integras en tu propia configuración. Las actualizaciones posteriores son las estándar de ESPHome: las instalas desde el panel de ESPHome, y si una imagen falla vuelve a la anterior. Los pasos exactos, incluida la única exportación que produce una placa que no arranca, están en la ESPHome route page.
En concreto, en esta ruta:
- Los picos están en la pestaña Prices del panel, en una tarjeta Import peaks (capacity tariff): el día en que empieza el ciclo de facturación, la media más alta de 15 minutos, la hora más alta. Los lees ahí; para cambiar el día del ciclo llamas a la acción de la integración desde una automatización o desde Developer tools.
- Los nodos están en la pestaña Network del panel: emparejamiento, la lista, el estado de cada nodo, la señal, el firmware y qué entradas lleva. Un nodo que desaparece aparece como offline ahí, se cuenta en la tarjeta Overview, se escribe en el registro del hub en la pestaña Events, y se lanza como evento de Home Assistant, así que una automatización puede avisarte.
- Los precios llegan con la fuente acreditada en el panel, como exigen las condiciones del proveedor.
Lo que renuncias es la lista de la tabla: nada de app web, nada de MQTT, nada de REST, nada de WebSocket, y ninguna copia de configuración ni CSV que puedas guardar como archivo.
Esta última es más estrecha de lo que suena, y conviene no malinterpretarla: los períodos de precio de 15 minutos siguen ahí. La pestaña Prices del panel muestra cada período que tiene el hub —hoy y mañana—, con el origen de cada uno cuando hay más de una fuente en juego, y una acción devuelve lo mismo como JSON, para que una automatización lo pase a lo que quieras. Lo que falta es un archivo, no los datos.
Si quieres que el hub funcione por su cuenta
El hub sirve su propia app web en su propia dirección. Las tarifas, los puntos, el historial y los precios se configuran ahí, y no necesita Home Assistant para ser útil —lo cual importa si Home Assistant es uno de varios sitios donde miras, o si prefieres que el medidor no dependa de él en absoluto.
Desde ahí, Home Assistant es opcional: ejecuta un broker, apunta el hub a él, y los puntos llegan por descubrimiento MQTT. REST y un WebSocket también están disponibles, para un panel propio o para cualquier cosa que hable HTTP. Y tanto una copia de configuración como una exportación CSV existen como archivos que puedes guardar en otro sitio.
Si esta es tu ruta, el paso a paso desde el flasheo hasta el panel de energía está explicado aparte: Un medidor de energía para Home Assistant, desde el flasheo hasta el panel de energía.
Coste por circuito: lo que Home Assistant no puede hacer por sí solo
Esto es lo que hace que la gente dé vueltas, y conviene entenderlo antes de elegir, porque es igual en ambas rutas.
El panel de energía de Home Assistant calcula con gusto el coste de toda tu casa. No te dirá cuánto costó la bomba de calor, porque allí el coste pertenece a una fuente de red, no a un dispositivo. La solución alternativa a la que recurre la gente es declarar cada aparato como su propia fuente de electricidad, que sí produce un número y que también es claramente incorrecto:
"Añado cada dispositivo individual como fuente de electricidad solo para ver los costes de funcionamiento. Es bastante estúpido." — degreal, hilo 334932
Esa conversación lleva abierta desde 2021. El otro problema es la propia tarifa: zonas, cargos fijos e IVA acaban en sensores de plantilla y helpers utility_meter, y son frágiles de una forma difícil de depurar porque nada da error: el número simplemente está mal:
"No, sigue cobrando en 'peak' sin importar lo que ponga en offpeak." — un usuario en el hilo 313300
"Lo pasé muy mal con esto: en realidad es muy sencillo, pero hay un par de trampas que conviene conocer." — steve_jo, hilo 484105
Lo que cambia cuando la tarifa vive en el medidor es que la aritmética deja de ser tuya para montarla. El plan —zonas por hora, cargos, impuestos, IVA— se configura una vez en el dispositivo, y cada punto se valora por separado, en vivo y hora a hora, con la energía exportada valorada a su propio precio.
⚠️ Pero sé claro sobre dónde aparece ese dinero, porque no está dentro del panel de energía. Home Assistant no tiene un campo de coste para un dispositivo individual —esa es la carencia, y ninguna integración puede llenarla desde fuera. Lo que obtienes en su lugar es la cifra en tres sitios que puedes usar: una entidad de coste por punto, en vivo, para poner en cualquier tarjeta; el coste horario por punto en las estadísticas a largo plazo, para una tarjeta de estadísticas; y las tablas Points e History propias del panel. El panel de energía sigue mostrando tus puntos como dispositivos con su energía. Así que el dinero por circuito se lee junto al panel de energía, no dentro de él —que es la forma honesta, y mejor que la solución alternativa, pero no es la columna del panel que quizá te imaginas. Ningún sensor de plantilla está en el camino, lo que elimina una clase de problemas pero no todos: los límites de zona y el IVA se aplican donde se mide la energía, no se reconstruyen después.
⚠️ Un límite honesto. Lo que llega a las estadísticas de Home Assistant es por hora, porque es el período más corto que Home Assistant almacena. Los períodos de 15 minutos se quedan en el hub, donde el registro de precios aplicados los guarda como CSV. Si tu contrato se mueve en períodos de 15 minutos, el dispositivo es el lugar donde existe esa resolución: Home Assistant te mostrará horas de ella.
Tres preguntas que lo zanjan
- ¿Es Home Assistant donde miras todo, o uno de varios sitios? Si todo vive ya allí, la ruta de ESPHome elimina una app y un broker. Si es uno de varios, el hub independiente mantiene su propia puerta de entrada.
- ¿Quieres un sitio donde mirar cuando Home Assistant está caído? La medición sigue en ambas rutas. Pero en la ruta de ESPHome el panel es parte de Home Assistant, así que mientras eso esté caído no tienes dónde abrir nada.
- ¿Tus propias herramientas necesitan MQTT, REST o un WebSocket? Si la respuesta es sí, la elección viene dada: solo existen en la ruta independiente.
Si después de eso sigue en empate, elige el hub independiente —no porque puedas salir con tu historial, porque no puedes: nada se mueve en ninguna dirección, y eso vale para ambas rutas. Elígelo porque sus datos salen como archivos. Una exportación CSV y una copia de configuración son cosas que puedes guardar en otro sitio, y el día que cambies de opinión esa es la diferencia entre volver a empezar el registro con el antiguo en la mano o volver a empezar sin él.
Lo que esto no hace
- Ninguna ruta enciende ni apaga nada. El hub mide y valora; qué hacer con una ventana barata es decisión de tu automatización, no del medidor.
- Ninguna ruta da a Home Assistant resolución de 15 minutos. Los períodos son del dispositivo; Home Assistant almacena horas.
- No se mueve historial entre rutas. Un cambio es un reflasheo y un inicio desde cero, en ambas direcciones.
- La ruta no cambia cómo mide el dispositivo. Mismo núcleo, mismas pinzas, mismos períodos; solo cambia el entorno.
Dónde leer más
- Cuál de los dos quieres — la misma elección, en dos tarjetas, con los enlaces de salida.
- Run it inside Home Assistant — la ruta de ESPHome, incluido lo que hace el panel.
- Precios de mercado — cómo el precio del mercado diario y tu contrato se convierten en un coste por período.
- Import peaks y Remote nodes — las dos funciones que funcionan en ambas rutas y se presentan de forma distinta en cada una.
- History and record quality — qué guarda el hub, y cómo marca una hora que no pudo completar.
- Un medidor de energía para Home Assistant — la ruta independiente, paso a paso.
- El hardware — hub, módulos y pinzas.