Hackathon EnergiAI

⚡ EnergiAI - Java Backend API

Solución inteligente para el análisis, clasificación y optimización del consumo de energía eléctrica.

📌 Funcionalidades de la API

🧪 Probador Interactivo de la API (Cliente Web)

Completa el formulario para realizar una petición dinámicamente según el modelo seleccionado:


                

🌐 Endpoint Dinámico

-

version 'v1' para modelo 'lr' o version 'v2' para modelo 'rf'

POST https://leafwatt.ddns.net/{version}/analisis-energetico

Campos del body (application/json):

Campo Tipo Descripción
consumo_kwh Number Consumo mensual en kWh requerido
uso_horario_pico Boolean Si hay consumo en horario pico requerido
horas_alto_consumo Integer Horas diarias de alto consumo requerido
cantidad_equipos Integer Cantidad de equipos eléctricos requerido
cantidad_personas Integer Personas que utilizan el inmueble requerido
tipo_inmueble String Casa, Departamento o Comercio requerido
mes Integer Mes analizado (1-12) requerido

📤 Ejemplo de Request 200 OK

{
  "consumo_kwh": 450,
  "uso_horario_pico": true,
  "horas_alto_consumo": 3,
  "cantidad_equipos": 9,
  "cantidad_personas": 6,
  "tipo_inmueble": "Casa",
  "mes": 7
}
{
  "categoria": "Moderado",
  "probabilidad": 0.71,
  "costo_estimado_mensual": 337.5,
  "indicadores": {
    "consumo_por_equipo": 50.0,
    "consumo_por_persona": 75.0,
    "consumo_por_hora": 150.0
  },
  "recomendaciones": [
    {
      "prioridad": "Alta",
      "impacto": "Alto",
      "mensaje": "Evite utilizar varios equipos de alto consumo simultáneamente durante el horario pico."
    },
    {
      "prioridad": "Baja",
      "impacto": "Bajo",
      "mensaje": "Mejorar el aislamiento de puertas y ventanas ayuda a reducir el uso de calefacción."
    }
  ]
}

⚠️ Ejemplo de Error de Validación 400 Bad Request

{
  "mes": "El mes es obligatorio"
}

📜 Consultar Historial

200 OK
GET https://leafwatt.ddns.net/historial

Devuelve el historial de análisis realizados, con paginación y filtro opcional por categoría.

Parámetro Tipo Descripción
categoria String Filtra por categoría exacta (Eficiente, Moderado o Ineficiente) opcional
page Integer Número de página, empieza en 0. Por defecto 0. opcional
size Integer Cantidad de resultados por página. Por defecto 10. opcional
GET /historial?categoria=Moderado&page=0&size=2
{
  "content": [
    { "id": 1, "categoria": "Moderado", "consumo_kwh": 450.0, "...": "..." }
  ],
  "total_elements": 3,
  "total_pages": 2,
  "number": 0,
  "size": 2
}

📜 Consulta de Historial en Vivo

Consulta y filtra los análisis registrados en el sistema en tiempo real.