Strom es un script libre y de código abierto para calefacción inteligente. Utiliza previsiones meteorológicas y los precios de electricidad day-ahead —los precios horarios de un mercado eléctrico que se publican con un día de antelación— para encontrar el calendario de calefacción más barato que mantiene tu hogar confortable. El calendario se calcula con optimización convexa, una técnica matemática que encuentra de forma demostrable el mejor calendario posible en lugar de una buena suposición. Un enchufe inteligente se encarga de ejecutarlo.

Esta documentación te guiará en la puesta en marcha del sistema Strom.

Cómo funciona una ejecución

Cada vez que ejecutas Strom, este:

  1. Valida tu configuración — credenciales, claves de API y parámetros de la casa se comprueban antes que nada. Un error detiene la ejecución con un mensaje claro en lugar de una sorpresa posterior.
  2. Encuentra tu enchufe inteligente en la red.
  3. Obtiene los datos — una previsión meteorológica de OpenWeatherMap y los precios de electricidad day-ahead de la plataforma de transparencia de ENTSO-E.
  4. Calcula el calendario de calefacción más barato para las próximas 24 horas (configurable).
  5. Controla el enchufe durante la hora actual mediante un ciclo de trabajo acotado: si el optimizador decide un 40% de calefacción para esta hora, el enchufe está ENCENDIDO 24 minutos y APAGADO el resto. Un vigilante independiente fuerza el APAGADO si el enchufe permanece encendido más de 3 horas seguidas.

Todo el recorrido —desde la obtención de datos hasta el vigilante— está dibujado en el diagrama del proceso de decisión.

Características principales

  • Obtención de datos meteorológicos en tiempo real mediante la API de OpenWeatherMap
  • Recuperación de precios de electricidad desde la API de ENTSO-E
  • Optimización convexa (con CVXPY) para decisiones de calefacción rentables
  • Control de un enchufe inteligente TP-Link Kasa mediante la librería Kasa
  • Ciclo de trabajo acotado con un vigilante independiente de encendido máximo
  • Comportamiento fail-fast: una configuración inválida, huecos en la cobertura de datos o fallos del solver producen errores claros en lugar de suposiciones silenciosas
  • Herramientas de visualización para analizar estrategias de calefacción y ahorro de costes

Qué necesitas

  • Python 3.12.8 (Strom requiere la serie 3.12)
  • Un enchufe inteligente TP-Link Kasa con una dirección IP conocida — hoy es el hardware soportado
  • Claves de API de OpenWeather y ENTSO-E
  • Una conexión de red

Strom es código abierto: si tu enchufe o tu calefacción son otros, puedes hacer un fork del proyecto y adaptarlo a tu hardware.

Por dónde seguir

  1. Instalación — pon Strom en marcha
  2. Configuración — claves de API, credenciales del enchufe y parámetros de la casa
  3. Uso — ejecutar Strom y entender qué hace
  4. Personalización — tu ciudad, tu país, tu casa
  5. Ejemplo de uso — un caso de estudio con ahorros reales
  6. Contribuir — cómo ayudar