energietracker
Energietracker es una aplicación web autohospedada para rastrear consumo energético y agua. Usa backend PHP monolítico, frontend Vanilla JS y persistencia JSON plana (sin base de datos). Soporta Home Assistant, Docker multi-arch y hasta 8 servicios públicos con análisis avanzado.
Ficha actualizada 24 sept 2026, 21:14 · upstream 24 sept 2026, 21:02 · release v2.5.2
Qué es energietracker
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Energietracker es una aplicación web autohospedada diseñada para el registro y análisis detallado del consumo de energía y agua. Utiliza un backend PHP monolítico (versión ≥8.4), un frontend SPA en Vanilla JS y persistencia mediante archivos JSON planos, eliminando la necesidad de configurar bases de datos o dependencias externas complejas. La arquitectura incluye Chart.js y fuentes web empaquetadas para garantizar funcionamiento offline total.
- Gestión de autoconsumo fotovoltaico: rastreo de generación PV, inyección a red y cálculo de tasa de autosuficiencia con proyecciones de coste.
- Control doméstico multi-fuente: gestión unificada de gas, electricidad, agua y calefacción urbana con soporte para sub-contadores y topología de medidores (serie F1006).
- Integración Smart Home: ingestión automática de lecturas desde Home Assistant mediante API REST idempotente (`POST /api/ingest`).
- Análisis de eficiencia energética: cálculo de días grados de calefacción (HDD), modelos de regresión para detección de anomalías y ajuste meteorológico.
- Gestión de combustibles a granel: registro de entregas de fuelóleo o pellets con modelado de stock del tanque y alertas de nivel bajo.
- Cero dependencias de base de datos: persistencia en JSON plano simplifica el despliegue (Dockerfile incluido) y reduce la complejidad operativa.
- Modelado avanzado de topología de medidores: soporte nativo para sub-medidores, cambios de contador con cálculo correcto del consumo cruzando límites y grupos de medidores.
- Análisis estadístico robusto: implementa cinco modelos de regresión (lineal, polinómico, Huber, segmentado, sigmoide) y ajuste meteorológico para normalizar el consumo frente a la temperatura exterior.
- Integración Home Assistant nativa: endpoint `POST /api/ingest` idempotente permite automatización completa de ingestión de datos sin intervención manual.
- Portabilidad y despliegue flexible: imágenes Docker multi-arch (amd64/arm64) soportan desde Raspberry Pi hasta servidores empresariales (TrueNAS, Synology).
- Dependencia PHP ≥8.4: requiere una versión reciente de PHP, lo que puede excluir entornos legacy o servidores con versiones antiguas no actualizadas.
- Persistencia en archivos planos: aunque simplifica el despliegue, la gestión de concurrencia y recuperación ante fallos es menos robusta que una base de datos relacional tradicional.
- Sin autenticación por defecto: la aplicación asume acceso directo; se requiere configuración manual de seguridad (reverse proxy, firewall) para despliegues públicos o compartidos.
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Requiere PHP ≥8.4 y un servidor web compatible (Apache/Nginx). Se recomienda usar el archivo `docker-compose.yml` para despliegue rápido en Docker. Asegurar permisos de escritura en la carpeta de datos (`/app/data`). Para integración con Home Assistant, configurar el token API opcional y asignar alias de medidor. El sistema incluye CI (GitHub Actions) que valida sintaxis PHP, frontend y pruebas de imagen Docker antes de publicar.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.