ApiLogController :: aiReceive
Request
GET Parameters
None
POST Parameters
None
Uploaded Files
None
Request Attributes
| Key | Value |
|---|---|
| _controller | "App\Controller\ApiLogController::aiReceive" |
| _firewall_context | "security.firewall.map.context.main" |
| _request_start_time | 1784095293.2443 |
| _route | "api_receive_report" |
| _route_params | [] |
| _security_authenticators | [] |
| _security_firewall_run | "_security_main" |
| _security_skipped_authenticators | [ Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator {#540 -supports: false -passport: null -duration: null -stub: "App\Security\AppLoginAuthenticator" -authenticated: null -exception: null -authenticator: App\Security\AppLoginAuthenticator {#488 …} } Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator {#541 -supports: false -passport: null -duration: null -stub: "Symfony\Component\Security\Http\Authenticator\RememberMeAuthenticator" -authenticated: null -exception: null -authenticator: Symfony\Component\Security\Http\Authenticator\RememberMeAuthenticator {#542 …} } ] |
| _stopwatch_token | "18e819" |
Request Headers
| Header | Value |
|---|---|
| accept | "*/*" |
| accept-encoding | "gzip, deflate, zstd" |
| connection | "keep-alive" |
| content-length | "23249" |
| content-type | "application/json" |
| host | "dev.sensoria.cat" |
| user-agent | "python-requests/2.32.5" |
| x-php-ob-level | "1" |
Request Content
Pretty
{
"oficina_id": "064c9a47-2611-4fe4-8662-1534be6a3fa3",
"timestamp": "15\/07\/26 06:01",
"sensor_status": {
"estado": "FUERA_DE_HORARIO",
"ultima_lectura": "15\/07\/26 07:31",
"tiempo_sin_datos_horas": -1.5,
"nivel_alerta": "NORMAL"
},
"analisis_temporal": {
"indices_bienestar_comparativos": {
"es_confiable": true,
"mejor_dia_historico": {
"fecha": "08\/07\/26",
"fecha_explicativa": {
"es": "Mi\u00e9rcoles, Prom. 592",
"en": "Report avg. 592 ppm on Wednesday."
},
"co2_ppm": 592,
"temperatura_celsius": 20.9,
"humedad_porcentaje": 60,
"indice_bienestar": 100
},
"peor_dia_historico": {
"fecha": "10\/07\/26",
"fecha_explicativa": {
"es": "Viernes, Prom. 633",
"en": "Report avg. 633 ppm on Friday."
},
"co2_ppm": 633,
"temperatura_celsius": 21.9,
"humedad_porcentaje": 62,
"indice_bienestar": 100
},
"hoy_vs_mejor_dia_historico": {
"co2_diferencia_ppm": -173,
"co2_diferencia_porcentaje": -29.2,
"temperatura_diferencia_celsius": 8.8,
"humedad_diferencia_puntos": -9,
"bienestar_perdido_puntos": 7.6
},
"promedio_bienestar_actual": 92.4,
"rango_bienestar_historico": {
"mejor": 100,
"peor": 100,
"amplitud": 0
}
},
"patrones_semanales_detallados": {
"es_confiable": true,
"dias": [
{
"dia": "1",
"co2_actual_ppm": 622,
"co2_desviacion_ppm": -378,
"temperatura_actual_celsius": 21.7,
"temperatura_desviacion_celsius": -2.8,
"humedad_actual_porcentaje": 59,
"humedad_desviacion_puntos": 6.5,
"horas_beneficio_potencial": 1.3,
"beneficio_potencial_eur": 5
},
{
"dia": "2",
"co2_actual_ppm": 599,
"co2_desviacion_ppm": -401,
"temperatura_actual_celsius": 22,
"temperatura_desviacion_celsius": -2.5,
"humedad_actual_porcentaje": 58,
"humedad_desviacion_puntos": 5.5,
"horas_beneficio_potencial": 1.2,
"beneficio_potencial_eur": 5
},
{
"dia": "3",
"co2_actual_ppm": 586,
"co2_desviacion_ppm": -414,
"temperatura_actual_celsius": 21.6,
"temperatura_desviacion_celsius": -2.9,
"humedad_actual_porcentaje": 61,
"humedad_desviacion_puntos": 8.5,
"horas_beneficio_potencial": 1.5,
"beneficio_potencial_eur": 5
},
{
"dia": "4",
"co2_actual_ppm": 620,
"co2_desviacion_ppm": -380,
"temperatura_actual_celsius": 21.2,
"temperatura_desviacion_celsius": -3.3,
"humedad_actual_porcentaje": 62,
"humedad_desviacion_puntos": 9.5,
"horas_beneficio_potencial": 1.6,
"beneficio_potencial_eur": 5
},
{
"dia": "5",
"co2_actual_ppm": 627,
"co2_desviacion_ppm": -373,
"temperatura_actual_celsius": 21,
"temperatura_desviacion_celsius": -3.5,
"humedad_actual_porcentaje": 56,
"humedad_desviacion_puntos": 3.5,
"horas_beneficio_potencial": 1.2,
"beneficio_potencial_eur": 5
}
],
"hoy_vs_historico": {
"co2_diferencia_porcentaje": -39.1,
"temperatura_diferencia_porcentaje": -12,
"humedad_diferencia_porcentaje": 15.3,
"horas_beneficio_potencial_hoy": 0,
"horas_beneficio_potencial_promedio_semanal": 0,
"beneficio_potencial_hoy_eur": 16,
"beneficio_potencial_promedio_semanal_eur": 96
}
}
},
"predicciones_y_horarios": {
"horarios_criticos_especificos": {
"es_confiable": true,
"_validation": {
"is_valid": true,
"valid_parameters": [
"co2",
"temperatura",
"humedad"
],
"invalid_parameters": [],
"reason": null
},
"co2_picos_historicos": {
"peor_hora": "8:00",
"segunda_peor": "9:00",
"tercera_peor": "10:00",
"proximo_pico_predicho": {
"hora": "8:00",
"valor_esperado_ppm": 623,
"tiempo_restante_horas": 2,
"clasificacion": "preventiva"
},
"_validation": {
"is_valid": true,
"completeness_score": 1,
"missing_fields": [],
"reason": null
}
},
"temperatura_picos_historicos": {
"peor_hora": "18:00",
"segunda_peor": "19:00",
"tercera_peor": "17:00",
"proximo_pico_predicho": {
"hora": "17:00",
"valor_esperado_celsius": 33.4,
"tiempo_restante_horas": 11,
"clasificacion": "critica"
},
"_validation": {
"is_valid": true,
"completeness_score": 1,
"missing_fields": [],
"reason": null
}
},
"humedad_picos_historicos": {
"peor_hora": "8:00",
"segunda_peor": "9:00",
"tercera_peor": "10:00",
"proximo_pico_predicho": {
"hora": "8:00",
"valor_esperado_porcentaje": 68,
"tiempo_restante_horas": 2,
"clasificacion": "preventiva"
},
"_validation": {
"is_valid": true,
"completeness_score": 1,
"missing_fields": [],
"reason": null
}
}
},
"predicciones_negocio_7_30_dias": {
"predicciones_7_dias": {
"dias_criticos": [
{
"dia": "1",
"es_confiable": true,
"valores": {
"co2": {
"valor": 616,
"unidad": "ppm",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
},
"temperature": {
"valor": 21.8,
"unidad": "\u00b0C",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
},
"humidity": {
"valor": 61,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
}
}
},
{
"dia": "2",
"es_confiable": true,
"valores": {
"co2": {
"valor": 605,
"unidad": "ppm",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"temperature": {
"valor": 21.9,
"unidad": "\u00b0C",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"humidity": {
"valor": 62,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
}
}
},
{
"dia": "3",
"es_confiable": true,
"valores": {
"co2": {
"valor": 592,
"unidad": "ppm",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"temperature": {
"valor": 21.5,
"unidad": "\u00b0C",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"humidity": {
"valor": 61,
"unidad": "%",
"hr_start": 14,
"hr_end": 15,
"es_critico": false
}
}
},
{
"dia": "4",
"es_confiable": true,
"valores": {
"co2": {
"valor": 627,
"unidad": "ppm",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"temperature": {
"valor": 21.5,
"unidad": "\u00b0C",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"humidity": {
"valor": 60,
"unidad": "%",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
}
}
},
{
"dia": "5",
"es_confiable": true,
"valores": {
"co2": {
"valor": 633,
"unidad": "ppm",
"hr_start": 14,
"hr_end": 15,
"es_critico": false
},
"temperature": {
"valor": 20.9,
"unidad": "\u00b0C",
"hr_start": 14,
"hr_end": 15,
"es_critico": false
},
"humidity": {
"valor": 60,
"unidad": "%",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
}
}
}
],
"resumen_tendencias": {
"co2": {
"tendencia_general": "+1.1%",
"impacto_negocio": {
"es": "El an\u00e1lisis revela variabilidad moderada en CO (+1.9%), con 5 jornadas presentando valores ligeramente elevados. Este comportamiento indica fluctuaciones perceptibles asociadas a la ocupaci\u00f3n. Establecer una ventilaci\u00f3n sistem\u00e1tica ayudar\u00eda a homogeneizar los niveles.",
"en": "Highlight moderate CO fluctuations (+1.9%) with 5 days showing slightly elevated readings. Step up systematic ventilation to even out readings."
},
"recomendacion_planificacion": {
"es": "Establecer un patr\u00f3n de ventilaci\u00f3n m\u00e1s regular (+1.9% var.), especialmente en Lunes Tarde tard\u00eda (18-19h) (Prom. 616), Martes Mediod\u00eda temprano (12-13h) (Prom. 605). Esto ayudar\u00e1 a homogeneizar los niveles semanales.",
"en": "Implement a more regular ventilation pattern (+1.9% var.), especially Monday late afternoon (18-19h) avg. 616 ppm and Tuesday early noon (12-13h) avg. 605 ppm. This will even out weekly readings."
}
},
"temperature": {
"tendencia_general": "-2.5%",
"impacto_negocio": {
"es": "\u00daltimas jornadas muestran variabilidad t\u00e9rmicas de +0.4%, con fluctuaciones perceptibles en 5 d\u00edas. El entorno se mantiene relativamente estable, aunque una calibraci\u00f3n del sistema mejorar\u00eda la uniformidad t\u00e9rmica.",
"en": "Show recent thermal fluctuations of +0.4% across 5 days. Environment remains fairly stable; fine-tune system calibration to improve thermal uniformity."
},
"recomendacion_planificacion": {
"es": "Ajustar puntualmente la climatizaci\u00f3n en los d\u00edas con variaciones (+0.4%). El equilibrio t\u00e9rmico el resto de la semana es excelente.",
"en": "Adjust HVAC settings on days with +0.4% variation. Thermal balance is excellent for the rest of the week."
}
},
"humidity": {
"tendencia_general": "-1.9%",
"impacto_negocio": {
"es": "Los niveles de humedad han aumentado 33.6% durante la semana. Por encima del rango \u00f3ptimo ASHRAE (40-60%), puede aparecer sensaci\u00f3n de bochorno ambiental.",
"en": "Signal humidity increase of 33.6% this week. Levels exceed ASHRAE\u2019s optimal 40-60% range, risking stuffy conditions."
},
"recomendacion_planificacion": {
"es": "Activar deshumidificaci\u00f3n prioritaria ante el alza del 33.6%. Aumentar la renovaci\u00f3n de aire para reducir la carga de humedad acumulada.",
"en": "Activate priority dehumidification amid 33.6% rise. Boost air exchange to lower accumulated moisture load."
}
}
}
},
"predicciones_30_dias": {
"semanas_disponibles": 4,
"dias_criticos": {
"semana_1": [
{
"dia_mes": 3,
"semana_mes": 1,
"es_confiable": true,
"valores": {
"co2": {
"valor": 616,
"unidad": "ppm",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
},
"temperature": {
"valor": 21.8,
"unidad": "\u00b0C",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
},
"humidity": {
"valor": 61,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
}
}
},
{
"dia_mes": 4,
"semana_mes": 1,
"es_confiable": true,
"valores": {
"co2": {
"valor": 605,
"unidad": "ppm",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"temperature": {
"valor": 21.9,
"unidad": "\u00b0C",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"humidity": {
"valor": 62,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
}
}
},
{
"dia_mes": 5,
"semana_mes": 1,
"es_confiable": true,
"valores": {
"co2": {
"valor": 592,
"unidad": "ppm",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"temperature": {
"valor": 21.5,
"unidad": "\u00b0C",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"humidity": {
"valor": 61,
"unidad": "%",
"hr_start": 14,
"hr_end": 15,
"es_critico": false
}
}
},
{
"dia_mes": 6,
"semana_mes": 1,
"es_confiable": true,
"valores": {
"co2": {
"valor": 627,
"unidad": "ppm",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"temperature": {
"valor": 21.5,
"unidad": "\u00b0C",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"humidity": {
"valor": 60,
"unidad": "%",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
}
}
},
{
"dia_mes": 7,
"semana_mes": 1,
"es_confiable": true,
"valores": {
"co2": {
"valor": 633,
"unidad": "ppm",
"hr_start": 14,
"hr_end": 15,
"es_critico": false
},
"temperature": {
"valor": 20.9,
"unidad": "\u00b0C",
"hr_start": 14,
"hr_end": 15,
"es_critico": false
},
"humidity": {
"valor": 60,
"unidad": "%",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
}
}
}
],
"semana_2": [
{
"dia_mes": 10,
"semana_mes": 2,
"es_confiable": true,
"valores": {
"co2": {
"valor": 665,
"unidad": "ppm",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
},
"temperature": {
"valor": 20.5,
"unidad": "\u00b0C",
"hr_start": 8,
"hr_end": 10,
"es_critico": false
},
"humidity": {
"valor": 63,
"unidad": "%",
"hr_start": 17,
"hr_end": 18,
"es_critico": false
}
}
},
{
"dia_mes": 11,
"semana_mes": 2,
"es_confiable": true,
"valores": {
"co2": {
"valor": 734,
"unidad": "ppm",
"hr_start": 13,
"hr_end": 14,
"es_critico": false
},
"temperature": {
"valor": 23.5,
"unidad": "\u00b0C",
"hr_start": 15,
"hr_end": 16,
"es_critico": false
},
"humidity": {
"valor": 52,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
}
}
},
{
"dia_mes": 12,
"semana_mes": 2,
"es_confiable": true,
"valores": {
"co2": {
"valor": 596,
"unidad": "ppm",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
},
"temperature": {
"valor": 21.4,
"unidad": "\u00b0C",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
}
}
},
{
"dia_mes": 13,
"semana_mes": 2,
"es_confiable": true,
"valores": {
"co2": {
"valor": 659,
"unidad": "ppm",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"temperature": {
"valor": 21.3,
"unidad": "\u00b0C",
"hr_start": 11,
"hr_end": 12,
"es_critico": false
},
"humidity": {
"valor": 68,
"unidad": "%",
"hr_start": 17,
"hr_end": 18,
"es_critico": true
}
}
},
{
"dia_mes": 14,
"semana_mes": 2,
"es_confiable": true,
"valores": {
"co2": {
"valor": 721,
"unidad": "ppm",
"hr_start": 14,
"hr_end": 15,
"es_critico": false
},
"temperature": {
"valor": 22.6,
"unidad": "\u00b0C",
"hr_start": 15,
"hr_end": 16,
"es_critico": false
},
"humidity": {
"valor": 70,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": true
}
}
}
],
"semana_3": [
{
"dia_mes": 17,
"semana_mes": 3,
"es_confiable": true,
"valores": {
"co2": {
"valor": 651,
"unidad": "ppm",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
},
"temperature": {
"valor": 23.7,
"unidad": "\u00b0C",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
},
"humidity": {
"valor": 74,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": true
}
}
},
{
"dia_mes": 18,
"semana_mes": 3,
"es_confiable": true,
"valores": {
"co2": {
"valor": 560,
"unidad": "ppm",
"hr_start": 10,
"hr_end": 11,
"es_critico": false
},
"temperature": {
"valor": 20.5,
"unidad": "\u00b0C",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"humidity": {
"valor": 75,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": true
}
}
},
{
"dia_mes": 19,
"semana_mes": 3,
"es_confiable": true,
"valores": {
"co2": {
"valor": 526,
"unidad": "ppm",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"temperature": {
"valor": 21.5,
"unidad": "\u00b0C",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"humidity": {
"valor": 62,
"unidad": "%",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
}
}
},
{
"dia_mes": 20,
"semana_mes": 3,
"es_confiable": true,
"valores": {
"co2": {
"valor": 556,
"unidad": "ppm",
"hr_start": 17,
"hr_end": 18,
"es_critico": false
},
"temperature": {
"valor": 22.8,
"unidad": "\u00b0C",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
}
}
},
{
"dia_mes": 21,
"semana_mes": 3,
"es_confiable": true,
"valores": {
"co2": {
"valor": 585,
"unidad": "ppm",
"hr_start": 14,
"hr_end": 15,
"es_critico": false
},
"temperature": {
"valor": 22.3,
"unidad": "\u00b0C",
"hr_start": 14,
"hr_end": 15,
"es_critico": false
},
"humidity": {
"valor": 56,
"unidad": "%",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
}
}
}
],
"semana_4": [
{
"dia_mes": 24,
"semana_mes": 4,
"es_confiable": true,
"valores": {
"co2": {
"valor": 734,
"unidad": "ppm",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
},
"temperature": {
"valor": 22.9,
"unidad": "\u00b0C",
"hr_start": 8,
"hr_end": 10,
"es_critico": false
}
}
},
{
"dia_mes": 25,
"semana_mes": 4,
"es_confiable": true,
"valores": {
"co2": {
"valor": 629,
"unidad": "ppm",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"temperature": {
"valor": 22.8,
"unidad": "\u00b0C",
"hr_start": 17,
"hr_end": 18,
"es_critico": false
},
"humidity": {
"valor": 53,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
}
}
},
{
"dia_mes": 26,
"semana_mes": 4,
"es_confiable": true,
"valores": {
"co2": {
"valor": 690,
"unidad": "ppm",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"temperature": {
"valor": 21.3,
"unidad": "\u00b0C",
"hr_start": 14,
"hr_end": 15,
"es_critico": false
},
"humidity": {
"valor": 70,
"unidad": "%",
"hr_start": 12,
"hr_end": 13,
"es_critico": true
}
}
},
{
"dia_mes": 27,
"semana_mes": 4,
"es_confiable": true,
"valores": {
"co2": {
"valor": 726,
"unidad": "ppm",
"hr_start": 17,
"hr_end": 18,
"es_critico": false
},
"temperature": {
"valor": 21.8,
"unidad": "\u00b0C",
"hr_start": 11,
"hr_end": 12,
"es_critico": false
},
"humidity": {
"valor": 50,
"unidad": "%",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
}
}
},
{
"dia_mes": 28,
"semana_mes": 4,
"es_confiable": true,
"valores": {
"co2": {
"valor": 752,
"unidad": "ppm",
"hr_start": 15,
"hr_end": 16,
"es_critico": false
},
"temperature": {
"valor": 22.7,
"unidad": "\u00b0C",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"humidity": {
"valor": 72,
"unidad": "%",
"hr_start": 16,
"hr_end": 17,
"es_critico": true
}
}
}
]
},
"resumen_tendencias": {
"co2": {
"tendencia_general": "-1.4%",
"patron_largo_plazo": {
"es": "estabilidad con fluctuaciones menores",
"en": "Confirm stability with minor fluctuations throughout the period."
},
"impacto_negocio": {
"es": "Variaci\u00f3n mensual contenida en -1.4%. La estabilidad observada facilita una planificaci\u00f3n de acciones correctivas sin necesidad de intervenciones urgentes.",
"en": "Register contained monthly variation at -1.4%. Stability supports corrective planning without urgent interventions."
},
"recomendacion_inversion": {
"es": "El sistema de ventilaci\u00f3n actual se muestra adecuado para el nivel de ocupaci\u00f3n presente. Mantener el mantenimiento anual preventivo ayudar\u00e1 a preservar esta eficiencia a largo plazo.",
"en": "Validate current ventilation system as suitable for present occupancy. Uphold annual preventive maintenance to sustain long-term efficiency."
}
},
"temperature": {
"tendencia_general": "+1.8%",
"patron_largo_plazo": {
"es": "estabilidad con fluctuaciones menores",
"en": "Report minimal monthly thermal variation of +1.8%. Stable thermal conditions enable predictable energy use and resource planning."
},
"impacto_negocio": {
"es": "Variaci\u00f3n t\u00e9rmica mensual m\u00ednima de +1.8%. La estabilidad t\u00e9rmica permite mantener un consumo energ\u00e9tico predecible y facilita la planificaci\u00f3n de recursos.",
"en": "Affirm stable, predictable thermal behaviour. No major HVAC adjustments needed during this period."
},
"recomendacion_inversion": {
"es": "El comportamiento t\u00e9rmico del espacio es estable y predecible. No se requieren ajustes significativos en el sistema de climatizaci\u00f3n durante este periodo.",
"en": "Note slight increase accompanied by variations."
}
},
"humidity": {
"tendencia_general": "+3.8%",
"patron_largo_plazo": {
"es": "ligero incremento con variaciones",
"en": "Confirm humidity conditions balanced over the month with +3.8% variation. Stability within ASHRAE range supports comfort and space preservation."
},
"impacto_negocio": {
"es": "Las condiciones de humedad han permanecido equilibradas durante el mes con variaci\u00f3n de +3.8%. Este comportamiento estable dentro del rango ASHRAE favorece el bienestar y la conservaci\u00f3n del espacio.",
"en": "Verify humidity levels well managed by current systems. Continue usual ventilation and schedule periodic checks to maintain balance."
},
"recomendacion_inversion": {
"es": "Los niveles de humedad est\u00e1n bien gestionados con los sistemas actuales. Continuar con la ventilaci\u00f3n habitual y realizar revisiones peri\u00f3dicas para mantener este equilibrio.",
"en": "Base analysis on weighted scientific data from 22 working days per month."
}
}
}
}
}
},
"recomendaciones_y_alertas": {
"recomendaciones_accionables": [
{
"prioridad": 1,
"accion": {
"es": "Prevenci\u00f3n pico CO2",
"en": "CO2 Peak Prevention"
},
"descripcion": {
"es": "Observamos una ligera alza de CO\u2082 sin impacto significativo esperado. Proyecci\u00f3n: 623 ppm en 2h (+170 ppm). Se mantiene por debajo del umbral moderado de 1000 ppm. Sugerimos ventilaci\u00f3n preventiva antes del horario habitual de trabajo.",
"en": "We observe a slight rise in CO\u2082 with no significant impact expected. Projection: 623 ppm in 2 hours (+170 ppm). Levels remain below the moderate threshold of 1000 ppm. We recommend preventive ventilation before the usual working hours."
},
"momento_ejecucion": {
"es": "Ventilar ma\u00f1ana temprano, entre las 07:00h y las 08:00h. De repetirse, incorporar a la rutina diaria.",
"en": "Ventilate early tomorrow morning, between 7:00 AM and 8:00 AM. If repeated, incorporate into the daily routine."
},
"parametro_objetivo": "co2",
"valor_critico": 623
},
{
"prioridad": 2,
"accion": {
"es": "Prevenci\u00f3n pico Temperature",
"en": "Peak Temperature Prevention"
},
"descripcion": {
"es": "Prevemos incremento t\u00e9rmico que causar\u00e1 incomodidad generalizada. Proyecci\u00f3n: 33.4\u00b0C en 11h (actual: 26.3\u00b0C, +7.1\u00b0C). Superar\u00e1 el rango \u00f3ptimo de 21\u201324\u00b0C. Recomendamos ajustar la climatizaci\u00f3n de forma preventiva ma\u00f1ana por la ma\u00f1ana.",
"en": "We anticipate a thermal increase that will cause widespread discomfort. Projection: 33.4\u00b0C at 11 am (current: 26.3\u00b0C, +7.1\u00b0C). This will exceed the optimal range of 21\u201324\u00b0C. We recommend adjusting the air conditioning preventively tomorrow morning."
},
"momento_ejecucion": {
"es": "Preparar climatizaci\u00f3n a media tarde (entre 16:00h\u201317:00h). Evaluar ajustes permanentes si contin\u00faa.",
"en": "Prepare air conditioning in the mid-afternoon (between 4:00 PM and 5:00 PM). Assess permanent adjustments if it continues."
},
"parametro_objetivo": "temperature",
"valor_critico": 33.4
},
{
"prioridad": 3,
"accion": {
"es": "Prevenci\u00f3n pico Humidity",
"en": "Peak Humidity Prevention"
},
"descripcion": {
"es": "Detectamos incremento de humedad que causar\u00e1 sensaci\u00f3n de pesadez. Proyecci\u00f3n: 68% en 2h (+-9%). Supera el l\u00edmite superior de 65%. Recomendamos activar control de humedad antes del mediod\u00eda.",
"en": "We have detected an increase in humidity that will cause a feeling of heaviness. Projection: 68% in 2 hours (\u00b19%). This exceeds the upper limit of 65%. We recommend activating humidity control before midday."
},
"momento_ejecucion": {
"es": "Actuar en horario matinal, hacia las 07:00h. Observar evoluci\u00f3n durante los pr\u00f3ximos 3-5 d\u00edas.",
"en": "Take action in the morning, around 7:00 AM. Monitor progress over the next 3-5 days."
},
"parametro_objetivo": "humidity",
"valor_critico": 68
}
],
"alertas_temporales_criticas": [
{
"tipo": "alerta_critica",
"mensaje": {
"es": "Sensaci\u00f3n de calor e incomodidad generalizada (Temperatura: 33.4\u00b0C, umbral: 27\u00b0C). Ajustar climatizaci\u00f3n en las pr\u00f3ximas 12 horas.",
"en": "Tackle heat discomfort. Temp. 33.4\u00b0C exceeds 27\u00b0C threshold. Adjust HVAC within 12 hours."
},
"parametro": "temperature",
"tiempo_restante": {
"es": "Preparar climatizaci\u00f3n a media tarde (entre 16:00h\u201317:00h). Evaluar ajustes permanentes si contin\u00faa.",
"en": "Schedule HVAC boost mid-afternoon (16:00\u201317:00). Plan permanent tweaks if issue persists."
},
"valor_critico": 33.4
}
]
},
"impacto_economico_y_productividad": {
"impacto_economico_solo_laborables": {
"metodologia": {
"es": "An\u00e1lisis hist\u00f3rico ponderado cient\u00edfico (22 d\u00edas laborables\/mes)",
"en": "Emphasize higher confidence yields more reliable predictions. CO\u2082 varies with occupancy; temperature and humidity remain more stable."
},
"ocupacion_oficina": 1,
"beneficios_diarios": {
"es_confiable": true,
"beneficio_potencial_diario_eur": 16,
"horas_beneficio_potencial_diarias": 2.28
},
"beneficios_semanales": {
"es_confiable": true,
"beneficio_potencial_semanal_eur": 96
},
"beneficios_mensuales": {
"es_confiable": true,
"beneficio_potencial_mensual_eur": 414,
"dias_laborales_mes": 22
},
"beneficios_anuales": {
"es_confiable": true,
"beneficio_potencial_anual_eur": 4972,
"dias_laborales_anyo": 234
},
"metadatos": {
"metodologia": "An\u00e1lisis hist\u00f3rico ponderado cient\u00edfico (22 d\u00edas laborables\/mes)",
"ocupacion_oficina": 1
}
}
},
"calidad_y_confianza_datos": {
"calidad_predicciones": {
"es_confiable": true,
"confianza_co2_porcentaje": 82.7,
"confianza_temperatura_porcentaje": 85,
"confianza_humedad_porcentaje": 85.3,
"calidad_general_porcentaje": 95,
"confianza_global_porcentaje": 84.2,
"registros_analizados": 3670,
"periodo_analizado": "3670 registros (\u00faltimos 292 d\u00edas)",
"explicacion": {
"es": "Mayor confianza = predicciones m\u00e1s fiables. CO2 variable por ocupaci\u00f3n, temperatura\/humedad m\u00e1s estables",
"en": "Greater confidence = more reliable predictions. CO2 varies with occupancy, temperature\/humidity more stable."
}
}
},
"sensor_device_team": {
"bienestar_7": 78,
"bienestar_30": 87,
"tendencia_7d": "negativa",
"tendencia_30d": "negativa"
}
}
Raw
{"oficina_id": "064c9a47-2611-4fe4-8662-1534be6a3fa3", "timestamp": "15/07/26 06:01", "sensor_status": {"estado": "FUERA_DE_HORARIO", "ultima_lectura": "15/07/26 07:31", "tiempo_sin_datos_horas": -1.5, "nivel_alerta": "NORMAL"}, "analisis_temporal": {"indices_bienestar_comparativos": {"es_confiable": true, "mejor_dia_historico": {"fecha": "08/07/26", "fecha_explicativa": {"es": "Mi\u00e9rcoles, Prom. 592", "en": "Report avg. 592 ppm on Wednesday."}, "co2_ppm": 592, "temperatura_celsius": 20.9, "humedad_porcentaje": 60, "indice_bienestar": 100}, "peor_dia_historico": {"fecha": "10/07/26", "fecha_explicativa": {"es": "Viernes, Prom. 633", "en": "Report avg. 633 ppm on Friday."}, "co2_ppm": 633, "temperatura_celsius": 21.9, "humedad_porcentaje": 62, "indice_bienestar": 100}, "hoy_vs_mejor_dia_historico": {"co2_diferencia_ppm": -173, "co2_diferencia_porcentaje": -29.2, "temperatura_diferencia_celsius": 8.8, "humedad_diferencia_puntos": -9, "bienestar_perdido_puntos": 7.6}, "promedio_bienestar_actual": 92.4, "rango_bienestar_historico": {"mejor": 100, "peor": 100, "amplitud": 0}}, "patrones_semanales_detallados": {"es_confiable": true, "dias": [{"dia": "1", "co2_actual_ppm": 622, "co2_desviacion_ppm": -378, "temperatura_actual_celsius": 21.7, "temperatura_desviacion_celsius": -2.8, "humedad_actual_porcentaje": 59, "humedad_desviacion_puntos": 6.5, "horas_beneficio_potencial": 1.3, "beneficio_potencial_eur": 5}, {"dia": "2", "co2_actual_ppm": 599, "co2_desviacion_ppm": -401, "temperatura_actual_celsius": 22.0, "temperatura_desviacion_celsius": -2.5, "humedad_actual_porcentaje": 58, "humedad_desviacion_puntos": 5.5, "horas_beneficio_potencial": 1.2, "beneficio_potencial_eur": 5}, {"dia": "3", "co2_actual_ppm": 586, "co2_desviacion_ppm": -414, "temperatura_actual_celsius": 21.6, "temperatura_desviacion_celsius": -2.9, "humedad_actual_porcentaje": 61, "humedad_desviacion_puntos": 8.5, "horas_beneficio_potencial": 1.5, "beneficio_potencial_eur": 5}, {"dia": "4", "co2_actual_ppm": 620, "co2_desviacion_ppm": -380, "temperatura_actual_celsius": 21.2, "temperatura_desviacion_celsius": -3.3, "humedad_actual_porcentaje": 62, "humedad_desviacion_puntos": 9.5, "horas_beneficio_potencial": 1.6, "beneficio_potencial_eur": 5}, {"dia": "5", "co2_actual_ppm": 627, "co2_desviacion_ppm": -373, "temperatura_actual_celsius": 21.0, "temperatura_desviacion_celsius": -3.5, "humedad_actual_porcentaje": 56, "humedad_desviacion_puntos": 3.5, "horas_beneficio_potencial": 1.2, "beneficio_potencial_eur": 5}], "hoy_vs_historico": {"co2_diferencia_porcentaje": -39.1, "temperatura_diferencia_porcentaje": -12.0, "humedad_diferencia_porcentaje": 15.3, "horas_beneficio_potencial_hoy": 0, "horas_beneficio_potencial_promedio_semanal": 0, "beneficio_potencial_hoy_eur": 16, "beneficio_potencial_promedio_semanal_eur": 96}}}, "predicciones_y_horarios": {"horarios_criticos_especificos": {"es_confiable": true, "_validation": {"is_valid": true, "valid_parameters": ["co2", "temperatura", "humedad"], "invalid_parameters": [], "reason": null}, "co2_picos_historicos": {"peor_hora": "8:00", "segunda_peor": "9:00", "tercera_peor": "10:00", "proximo_pico_predicho": {"hora": "8:00", "valor_esperado_ppm": 623, "tiempo_restante_horas": 2, "clasificacion": "preventiva"}, "_validation": {"is_valid": true, "completeness_score": 1.0, "missing_fields": [], "reason": null}}, "temperatura_picos_historicos": {"peor_hora": "18:00", "segunda_peor": "19:00", "tercera_peor": "17:00", "proximo_pico_predicho": {"hora": "17:00", "valor_esperado_celsius": 33.4, "tiempo_restante_horas": 11, "clasificacion": "critica"}, "_validation": {"is_valid": true, "completeness_score": 1.0, "missing_fields": [], "reason": null}}, "humedad_picos_historicos": {"peor_hora": "8:00", "segunda_peor": "9:00", "tercera_peor": "10:00", "proximo_pico_predicho": {"hora": "8:00", "valor_esperado_porcentaje": 68, "tiempo_restante_horas": 2, "clasificacion": "preventiva"}, "_validation": {"is_valid": true, "completeness_score": 1.0, "missing_fields": [], "reason": null}}}, "predicciones_negocio_7_30_dias": {"predicciones_7_dias": {"dias_criticos": [{"dia": "1", "es_confiable": true, "valores": {"co2": {"valor": 616, "unidad": "ppm", "hr_start": 18, "hr_end": 19, "es_critico": false}, "temperature": {"valor": 21.8, "unidad": "\u00b0C", "hr_start": 9, "hr_end": 11, "es_critico": false}, "humidity": {"valor": 61, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": false}}}, {"dia": "2", "es_confiable": true, "valores": {"co2": {"valor": 605, "unidad": "ppm", "hr_start": 12, "hr_end": 13, "es_critico": false}, "temperature": {"valor": 21.9, "unidad": "\u00b0C", "hr_start": 16, "hr_end": 17, "es_critico": false}, "humidity": {"valor": 62, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": false}}}, {"dia": "3", "es_confiable": true, "valores": {"co2": {"valor": 592, "unidad": "ppm", "hr_start": 16, "hr_end": 17, "es_critico": false}, "temperature": {"valor": 21.5, "unidad": "\u00b0C", "hr_start": 12, "hr_end": 13, "es_critico": false}, "humidity": {"valor": 61, "unidad": "%", "hr_start": 14, "hr_end": 15, "es_critico": false}}}, {"dia": "4", "es_confiable": true, "valores": {"co2": {"valor": 627, "unidad": "ppm", "hr_start": 16, "hr_end": 17, "es_critico": false}, "temperature": {"valor": 21.5, "unidad": "\u00b0C", "hr_start": 12, "hr_end": 13, "es_critico": false}, "humidity": {"valor": 60, "unidad": "%", "hr_start": 16, "hr_end": 17, "es_critico": false}}}, {"dia": "5", "es_confiable": true, "valores": {"co2": {"valor": 633, "unidad": "ppm", "hr_start": 14, "hr_end": 15, "es_critico": false}, "temperature": {"valor": 20.9, "unidad": "\u00b0C", "hr_start": 14, "hr_end": 15, "es_critico": false}, "humidity": {"valor": 60, "unidad": "%", "hr_start": 16, "hr_end": 17, "es_critico": false}}}], "resumen_tendencias": {"co2": {"tendencia_general": "+1.1%", "impacto_negocio": {"es": "El an\u00e1lisis revela variabilidad moderada en CO (+1.9%), con 5 jornadas presentando valores ligeramente elevados. Este comportamiento indica fluctuaciones perceptibles asociadas a la ocupaci\u00f3n. Establecer una ventilaci\u00f3n sistem\u00e1tica ayudar\u00eda a homogeneizar los niveles.", "en": "Highlight moderate CO fluctuations (+1.9%) with 5 days showing slightly elevated readings. Step up systematic ventilation to even out readings."}, "recomendacion_planificacion": {"es": "Establecer un patr\u00f3n de ventilaci\u00f3n m\u00e1s regular (+1.9% var.), especialmente en Lunes Tarde tard\u00eda (18-19h) (Prom. 616), Martes Mediod\u00eda temprano (12-13h) (Prom. 605). Esto ayudar\u00e1 a homogeneizar los niveles semanales.", "en": "Implement a more regular ventilation pattern (+1.9% var.), especially Monday late afternoon (18-19h) avg. 616 ppm and Tuesday early noon (12-13h) avg. 605 ppm. This will even out weekly readings."}}, "temperature": {"tendencia_general": "-2.5%", "impacto_negocio": {"es": "\u00daltimas jornadas muestran variabilidad t\u00e9rmicas de +0.4%, con fluctuaciones perceptibles en 5 d\u00edas. El entorno se mantiene relativamente estable, aunque una calibraci\u00f3n del sistema mejorar\u00eda la uniformidad t\u00e9rmica.", "en": "Show recent thermal fluctuations of +0.4% across 5 days. Environment remains fairly stable; fine-tune system calibration to improve thermal uniformity."}, "recomendacion_planificacion": {"es": "Ajustar puntualmente la climatizaci\u00f3n en los d\u00edas con variaciones (+0.4%). El equilibrio t\u00e9rmico el resto de la semana es excelente.", "en": "Adjust HVAC settings on days with +0.4% variation. Thermal balance is excellent for the rest of the week."}}, "humidity": {"tendencia_general": "-1.9%", "impacto_negocio": {"es": "Los niveles de humedad han aumentado 33.6% durante la semana. Por encima del rango \u00f3ptimo ASHRAE (40-60%), puede aparecer sensaci\u00f3n de bochorno ambiental.", "en": "Signal humidity increase of 33.6% this week. Levels exceed ASHRAE\u2019s optimal 40-60% range, risking stuffy conditions."}, "recomendacion_planificacion": {"es": "Activar deshumidificaci\u00f3n prioritaria ante el alza del 33.6%. Aumentar la renovaci\u00f3n de aire para reducir la carga de humedad acumulada.", "en": "Activate priority dehumidification amid 33.6% rise. Boost air exchange to lower accumulated moisture load."}}}}, "predicciones_30_dias": {"semanas_disponibles": 4, "dias_criticos": {"semana_1": [{"dia_mes": 3, "semana_mes": 1, "es_confiable": true, "valores": {"co2": {"valor": 616, "unidad": "ppm", "hr_start": 18, "hr_end": 19, "es_critico": false}, "temperature": {"valor": 21.8, "unidad": "\u00b0C", "hr_start": 9, "hr_end": 11, "es_critico": false}, "humidity": {"valor": 61, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": false}}}, {"dia_mes": 4, "semana_mes": 1, "es_confiable": true, "valores": {"co2": {"valor": 605, "unidad": "ppm", "hr_start": 12, "hr_end": 13, "es_critico": false}, "temperature": {"valor": 21.9, "unidad": "\u00b0C", "hr_start": 16, "hr_end": 17, "es_critico": false}, "humidity": {"valor": 62, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": false}}}, {"dia_mes": 5, "semana_mes": 1, "es_confiable": true, "valores": {"co2": {"valor": 592, "unidad": "ppm", "hr_start": 16, "hr_end": 17, "es_critico": false}, "temperature": {"valor": 21.5, "unidad": "\u00b0C", "hr_start": 12, "hr_end": 13, "es_critico": false}, "humidity": {"valor": 61, "unidad": "%", "hr_start": 14, "hr_end": 15, "es_critico": false}}}, {"dia_mes": 6, "semana_mes": 1, "es_confiable": true, "valores": {"co2": {"valor": 627, "unidad": "ppm", "hr_start": 16, "hr_end": 17, "es_critico": false}, "temperature": {"valor": 21.5, "unidad": "\u00b0C", "hr_start": 12, "hr_end": 13, "es_critico": false}, "humidity": {"valor": 60, "unidad": "%", "hr_start": 16, "hr_end": 17, "es_critico": false}}}, {"dia_mes": 7, "semana_mes": 1, "es_confiable": true, "valores": {"co2": {"valor": 633, "unidad": "ppm", "hr_start": 14, "hr_end": 15, "es_critico": false}, "temperature": {"valor": 20.9, "unidad": "\u00b0C", "hr_start": 14, "hr_end": 15, "es_critico": false}, "humidity": {"valor": 60, "unidad": "%", "hr_start": 16, "hr_end": 17, "es_critico": false}}}], "semana_2": [{"dia_mes": 10, "semana_mes": 2, "es_confiable": true, "valores": {"co2": {"valor": 665, "unidad": "ppm", "hr_start": 18, "hr_end": 19, "es_critico": false}, "temperature": {"valor": 20.5, "unidad": "\u00b0C", "hr_start": 8, "hr_end": 10, "es_critico": false}, "humidity": {"valor": 63, "unidad": "%", "hr_start": 17, "hr_end": 18, "es_critico": false}}}, {"dia_mes": 11, "semana_mes": 2, "es_confiable": true, "valores": {"co2": {"valor": 734, "unidad": "ppm", "hr_start": 13, "hr_end": 14, "es_critico": false}, "temperature": {"valor": 23.5, "unidad": "\u00b0C", "hr_start": 15, "hr_end": 16, "es_critico": false}, "humidity": {"valor": 52, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": false}}}, {"dia_mes": 12, "semana_mes": 2, "es_confiable": true, "valores": {"co2": {"valor": 596, "unidad": "ppm", "hr_start": 18, "hr_end": 19, "es_critico": false}, "temperature": {"valor": 21.4, "unidad": "\u00b0C", "hr_start": 12, "hr_end": 13, "es_critico": false}}}, {"dia_mes": 13, "semana_mes": 2, "es_confiable": true, "valores": {"co2": {"valor": 659, "unidad": "ppm", "hr_start": 16, "hr_end": 17, "es_critico": false}, "temperature": {"valor": 21.3, "unidad": "\u00b0C", "hr_start": 11, "hr_end": 12, "es_critico": false}, "humidity": {"valor": 68, "unidad": "%", "hr_start": 17, "hr_end": 18, "es_critico": true}}}, {"dia_mes": 14, "semana_mes": 2, "es_confiable": true, "valores": {"co2": {"valor": 721, "unidad": "ppm", "hr_start": 14, "hr_end": 15, "es_critico": false}, "temperature": {"valor": 22.6, "unidad": "\u00b0C", "hr_start": 15, "hr_end": 16, "es_critico": false}, "humidity": {"valor": 70, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": true}}}], "semana_3": [{"dia_mes": 17, "semana_mes": 3, "es_confiable": true, "valores": {"co2": {"valor": 651, "unidad": "ppm", "hr_start": 18, "hr_end": 19, "es_critico": false}, "temperature": {"valor": 23.7, "unidad": "\u00b0C", "hr_start": 9, "hr_end": 11, "es_critico": false}, "humidity": {"valor": 74, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": true}}}, {"dia_mes": 18, "semana_mes": 3, "es_confiable": true, "valores": {"co2": {"valor": 560, "unidad": "ppm", "hr_start": 10, "hr_end": 11, "es_critico": false}, "temperature": {"valor": 20.5, "unidad": "\u00b0C", "hr_start": 16, "hr_end": 17, "es_critico": false}, "humidity": {"valor": 75, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": true}}}, {"dia_mes": 19, "semana_mes": 3, "es_confiable": true, "valores": {"co2": {"valor": 526, "unidad": "ppm", "hr_start": 16, "hr_end": 17, "es_critico": false}, "temperature": {"valor": 21.5, "unidad": "\u00b0C", "hr_start": 12, "hr_end": 13, "es_critico": false}, "humidity": {"valor": 62, "unidad": "%", "hr_start": 16, "hr_end": 17, "es_critico": false}}}, {"dia_mes": 20, "semana_mes": 3, "es_confiable": true, "valores": {"co2": {"valor": 556, "unidad": "ppm", "hr_start": 17, "hr_end": 18, "es_critico": false}, "temperature": {"valor": 22.8, "unidad": "\u00b0C", "hr_start": 12, "hr_end": 13, "es_critico": false}}}, {"dia_mes": 21, "semana_mes": 3, "es_confiable": true, "valores": {"co2": {"valor": 585, "unidad": "ppm", "hr_start": 14, "hr_end": 15, "es_critico": false}, "temperature": {"valor": 22.3, "unidad": "\u00b0C", "hr_start": 14, "hr_end": 15, "es_critico": false}, "humidity": {"valor": 56, "unidad": "%", "hr_start": 16, "hr_end": 17, "es_critico": false}}}], "semana_4": [{"dia_mes": 24, "semana_mes": 4, "es_confiable": true, "valores": {"co2": {"valor": 734, "unidad": "ppm", "hr_start": 18, "hr_end": 19, "es_critico": false}, "temperature": {"valor": 22.9, "unidad": "\u00b0C", "hr_start": 8, "hr_end": 10, "es_critico": false}}}, {"dia_mes": 25, "semana_mes": 4, "es_confiable": true, "valores": {"co2": {"valor": 629, "unidad": "ppm", "hr_start": 12, "hr_end": 13, "es_critico": false}, "temperature": {"valor": 22.8, "unidad": "\u00b0C", "hr_start": 17, "hr_end": 18, "es_critico": false}, "humidity": {"valor": 53, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": false}}}, {"dia_mes": 26, "semana_mes": 4, "es_confiable": true, "valores": {"co2": {"valor": 690, "unidad": "ppm", "hr_start": 16, "hr_end": 17, "es_critico": false}, "temperature": {"valor": 21.3, "unidad": "\u00b0C", "hr_start": 14, "hr_end": 15, "es_critico": false}, "humidity": {"valor": 70, "unidad": "%", "hr_start": 12, "hr_end": 13, "es_critico": true}}}, {"dia_mes": 27, "semana_mes": 4, "es_confiable": true, "valores": {"co2": {"valor": 726, "unidad": "ppm", "hr_start": 17, "hr_end": 18, "es_critico": false}, "temperature": {"valor": 21.8, "unidad": "\u00b0C", "hr_start": 11, "hr_end": 12, "es_critico": false}, "humidity": {"valor": 50, "unidad": "%", "hr_start": 16, "hr_end": 17, "es_critico": false}}}, {"dia_mes": 28, "semana_mes": 4, "es_confiable": true, "valores": {"co2": {"valor": 752, "unidad": "ppm", "hr_start": 15, "hr_end": 16, "es_critico": false}, "temperature": {"valor": 22.7, "unidad": "\u00b0C", "hr_start": 12, "hr_end": 13, "es_critico": false}, "humidity": {"valor": 72, "unidad": "%", "hr_start": 16, "hr_end": 17, "es_critico": true}}}]}, "resumen_tendencias": {"co2": {"tendencia_general": "-1.4%", "patron_largo_plazo": {"es": "estabilidad con fluctuaciones menores", "en": "Confirm stability with minor fluctuations throughout the period."}, "impacto_negocio": {"es": "Variaci\u00f3n mensual contenida en -1.4%. La estabilidad observada facilita una planificaci\u00f3n de acciones correctivas sin necesidad de intervenciones urgentes.", "en": "Register contained monthly variation at -1.4%. Stability supports corrective planning without urgent interventions."}, "recomendacion_inversion": {"es": "El sistema de ventilaci\u00f3n actual se muestra adecuado para el nivel de ocupaci\u00f3n presente. Mantener el mantenimiento anual preventivo ayudar\u00e1 a preservar esta eficiencia a largo plazo.", "en": "Validate current ventilation system as suitable for present occupancy. Uphold annual preventive maintenance to sustain long-term efficiency."}}, "temperature": {"tendencia_general": "+1.8%", "patron_largo_plazo": {"es": "estabilidad con fluctuaciones menores", "en": "Report minimal monthly thermal variation of +1.8%. Stable thermal conditions enable predictable energy use and resource planning."}, "impacto_negocio": {"es": "Variaci\u00f3n t\u00e9rmica mensual m\u00ednima de +1.8%. La estabilidad t\u00e9rmica permite mantener un consumo energ\u00e9tico predecible y facilita la planificaci\u00f3n de recursos.", "en": "Affirm stable, predictable thermal behaviour. No major HVAC adjustments needed during this period."}, "recomendacion_inversion": {"es": "El comportamiento t\u00e9rmico del espacio es estable y predecible. No se requieren ajustes significativos en el sistema de climatizaci\u00f3n durante este periodo.", "en": "Note slight increase accompanied by variations."}}, "humidity": {"tendencia_general": "+3.8%", "patron_largo_plazo": {"es": "ligero incremento con variaciones", "en": "Confirm humidity conditions balanced over the month with +3.8% variation. Stability within ASHRAE range supports comfort and space preservation."}, "impacto_negocio": {"es": "Las condiciones de humedad han permanecido equilibradas durante el mes con variaci\u00f3n de +3.8%. Este comportamiento estable dentro del rango ASHRAE favorece el bienestar y la conservaci\u00f3n del espacio.", "en": "Verify humidity levels well managed by current systems. Continue usual ventilation and schedule periodic checks to maintain balance."}, "recomendacion_inversion": {"es": "Los niveles de humedad est\u00e1n bien gestionados con los sistemas actuales. Continuar con la ventilaci\u00f3n habitual y realizar revisiones peri\u00f3dicas para mantener este equilibrio.", "en": "Base analysis on weighted scientific data from 22 working days per month."}}}}}}, "recomendaciones_y_alertas": {"recomendaciones_accionables": [{"prioridad": 1, "accion": {"es": "Prevenci\u00f3n pico CO2", "en": "CO2 Peak Prevention"}, "descripcion": {"es": "Observamos una ligera alza de CO\u2082 sin impacto significativo esperado. Proyecci\u00f3n: 623 ppm en 2h (+170 ppm). Se mantiene por debajo del umbral moderado de 1000 ppm. Sugerimos ventilaci\u00f3n preventiva antes del horario habitual de trabajo.", "en": "We observe a slight rise in CO\u2082 with no significant impact expected. Projection: 623 ppm in 2 hours (+170 ppm). Levels remain below the moderate threshold of 1000 ppm. We recommend preventive ventilation before the usual working hours."}, "momento_ejecucion": {"es": "Ventilar ma\u00f1ana temprano, entre las 07:00h y las 08:00h. De repetirse, incorporar a la rutina diaria.", "en": "Ventilate early tomorrow morning, between 7:00 AM and 8:00 AM. If repeated, incorporate into the daily routine."}, "parametro_objetivo": "co2", "valor_critico": 623}, {"prioridad": 2, "accion": {"es": "Prevenci\u00f3n pico Temperature", "en": "Peak Temperature Prevention"}, "descripcion": {"es": "Prevemos incremento t\u00e9rmico que causar\u00e1 incomodidad generalizada. Proyecci\u00f3n: 33.4\u00b0C en 11h (actual: 26.3\u00b0C, +7.1\u00b0C). Superar\u00e1 el rango \u00f3ptimo de 21\u201324\u00b0C. Recomendamos ajustar la climatizaci\u00f3n de forma preventiva ma\u00f1ana por la ma\u00f1ana.", "en": "We anticipate a thermal increase that will cause widespread discomfort. Projection: 33.4\u00b0C at 11 am (current: 26.3\u00b0C, +7.1\u00b0C). This will exceed the optimal range of 21\u201324\u00b0C. We recommend adjusting the air conditioning preventively tomorrow morning."}, "momento_ejecucion": {"es": "Preparar climatizaci\u00f3n a media tarde (entre 16:00h\u201317:00h). Evaluar ajustes permanentes si contin\u00faa.", "en": "Prepare air conditioning in the mid-afternoon (between 4:00 PM and 5:00 PM). Assess permanent adjustments if it continues."}, "parametro_objetivo": "temperature", "valor_critico": 33.4}, {"prioridad": 3, "accion": {"es": "Prevenci\u00f3n pico Humidity", "en": "Peak Humidity Prevention"}, "descripcion": {"es": "Detectamos incremento de humedad que causar\u00e1 sensaci\u00f3n de pesadez. Proyecci\u00f3n: 68% en 2h (+-9%). Supera el l\u00edmite superior de 65%. Recomendamos activar control de humedad antes del mediod\u00eda.", "en": "We have detected an increase in humidity that will cause a feeling of heaviness. Projection: 68% in 2 hours (\u00b19%). This exceeds the upper limit of 65%. We recommend activating humidity control before midday."}, "momento_ejecucion": {"es": "Actuar en horario matinal, hacia las 07:00h. Observar evoluci\u00f3n durante los pr\u00f3ximos 3-5 d\u00edas.", "en": "Take action in the morning, around 7:00 AM. Monitor progress over the next 3-5 days."}, "parametro_objetivo": "humidity", "valor_critico": 68}], "alertas_temporales_criticas": [{"tipo": "alerta_critica", "mensaje": {"es": "Sensaci\u00f3n de calor e incomodidad generalizada (Temperatura: 33.4\u00b0C, umbral: 27\u00b0C). Ajustar climatizaci\u00f3n en las pr\u00f3ximas 12 horas.", "en": "Tackle heat discomfort. Temp. 33.4\u00b0C exceeds 27\u00b0C threshold. Adjust HVAC within 12 hours."}, "parametro": "temperature", "tiempo_restante": {"es": "Preparar climatizaci\u00f3n a media tarde (entre 16:00h\u201317:00h). Evaluar ajustes permanentes si contin\u00faa.", "en": "Schedule HVAC boost mid-afternoon (16:00\u201317:00). Plan permanent tweaks if issue persists."}, "valor_critico": 33.4}]}, "impacto_economico_y_productividad": {"impacto_economico_solo_laborables": {"metodologia": {"es": "An\u00e1lisis hist\u00f3rico ponderado cient\u00edfico (22 d\u00edas laborables/mes)", "en": "Emphasize higher confidence yields more reliable predictions. CO\u2082 varies with occupancy; temperature and humidity remain more stable."}, "ocupacion_oficina": 1, "beneficios_diarios": {"es_confiable": true, "beneficio_potencial_diario_eur": 16, "horas_beneficio_potencial_diarias": 2.28}, "beneficios_semanales": {"es_confiable": true, "beneficio_potencial_semanal_eur": 96}, "beneficios_mensuales": {"es_confiable": true, "beneficio_potencial_mensual_eur": 414, "dias_laborales_mes": 22}, "beneficios_anuales": {"es_confiable": true, "beneficio_potencial_anual_eur": 4972, "dias_laborales_anyo": 234}, "metadatos": {"metodologia": "An\u00e1lisis hist\u00f3rico ponderado cient\u00edfico (22 d\u00edas laborables/mes)", "ocupacion_oficina": 1}}}, "calidad_y_confianza_datos": {"calidad_predicciones": {"es_confiable": true, "confianza_co2_porcentaje": 82.7, "confianza_temperatura_porcentaje": 85.0, "confianza_humedad_porcentaje": 85.3, "calidad_general_porcentaje": 95.0, "confianza_global_porcentaje": 84.2, "registros_analizados": 3670, "periodo_analizado": "3670 registros (\u00faltimos 292 d\u00edas)", "explicacion": {"es": "Mayor confianza = predicciones m\u00e1s fiables. CO2 variable por ocupaci\u00f3n, temperatura/humedad m\u00e1s estables", "en": "Greater confidence = more reliable predictions. CO2 varies with occupancy, temperature/humidity more stable."}}}, "sensor_device_team": {"bienestar_7": 78, "bienestar_30": 87, "tendencia_7d": "negativa", "tendencia_30d": "negativa"}}
Response
Response Headers
| Header | Value |
|---|---|
| cache-control | "no-cache, private" |
| content-type | "application/json" |
| date | "Wed, 15 Jul 2026 06:01:33 GMT" |
| x-debug-token | "b296b2" |
Cookies
Request Cookies
No request cookies
Response Cookies
No response cookies
Session 1
Session Metadata
No session metadata
Session Attributes
No session attributes
Session Usage
1
Usages
Stateless check enabled
| Usage |
|---|
Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage:39
[
[
"file" => "/var/www/dev.sensoria/vendor/symfony/security-core/Authentication/Token/Storage/UsageTrackingTokenStorage.php"
"line" => 39
"function" => "getMetadataBag"
"class" => "Symfony\Component\HttpFoundation\Session\Session"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/security-http/Authenticator/RememberMeAuthenticator.php"
"line" => 79
"function" => "getToken"
"class" => "Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticator.php"
"line" => 67
"function" => "supports"
"class" => "Symfony\Component\Security\Http\Authenticator\RememberMeAuthenticator"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/security-http/Authentication/AuthenticatorManager.php"
"line" => 109
"function" => "supports"
"class" => "Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/security-http/Firewall/AuthenticatorManagerListener.php"
"line" => 32
"function" => "supports"
"class" => "Symfony\Component\Security\Http\Authentication\AuthenticatorManager"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticatorManagerListener.php"
"line" => 35
"function" => "supports"
"class" => "Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/security-bundle/Debug/WrappedLazyListener.php"
"line" => 38
"function" => "supports"
"class" => "Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticatorManagerListener"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/security-http/Firewall/AbstractListener.php"
"line" => 25
"function" => "supports"
"class" => "Symfony\Bundle\SecurityBundle\Debug\WrappedLazyListener"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/security-bundle/Security/LazyFirewallContext.php"
"line" => 61
"function" => "__invoke"
"class" => "Symfony\Component\Security\Http\Firewall\AbstractListener"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php"
"line" => 91
"function" => "__invoke"
"class" => "Symfony\Bundle\SecurityBundle\Security\LazyFirewallContext"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/security-http/Firewall.php"
"line" => 92
"function" => "callListeners"
"class" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/event-dispatcher/Debug/WrappedListener.php"
"line" => 115
"function" => "onKernelRequest"
"class" => "Symfony\Component\Security\Http\Firewall"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/event-dispatcher/EventDispatcher.php"
"line" => 206
"function" => "__invoke"
"class" => "Symfony\Component\EventDispatcher\Debug\WrappedListener"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/event-dispatcher/EventDispatcher.php"
"line" => 56
"function" => "callListeners"
"class" => "Symfony\Component\EventDispatcher\EventDispatcher"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php"
"line" => 126
"function" => "dispatch"
"class" => "Symfony\Component\EventDispatcher\EventDispatcher"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/http-kernel/HttpKernel.php"
"line" => 159
"function" => "dispatch"
"class" => "Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/http-kernel/HttpKernel.php"
"line" => 76
"function" => "handleRaw"
"class" => "Symfony\Component\HttpKernel\HttpKernel"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/http-kernel/Kernel.php"
"line" => 182
"function" => "handle"
"class" => "Symfony\Component\HttpKernel\HttpKernel"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
"line" => 35
"function" => "handle"
"class" => "Symfony\Component\HttpKernel\Kernel"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/vendor/autoload_runtime.php"
"line" => 29
"function" => "run"
"class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
"type" => "->"
]
[
"file" => "/var/www/dev.sensoria/public/index.php"
"line" => 5
"args" => [
"/var/www/dev.sensoria/vendor/autoload_runtime.php"
]
"function" => "require_once"
]
]
|
Flashes
Flashes
No flash messages were created.
Server Parameters
Server Parameters
Defined in .env
| Key | Value |
|---|---|
| API_BEARER_TOKEN | "Sensai2026" |
| APP_DEBUG | "1" |
| APP_EMAIL_FROM | "no+reply@sensoria.cat" |
| APP_ENV | "dev" |
| APP_SECRET | "myDirtyLittleSecret" |
| BASIC_SIMDATASTREAM_PASSWORD | "MyFuckingPassword" |
| DATABASE_URL | "mysql://root:Fasfasnar!1@127.0.0.1:3306/dev_sensoria?charset=utf8mb4" |
| GOOGLE_MAPS_API_KEY | "AIzaSyBjaMu_UmBoc7_OXRlm3Y5BJ6qSHgNPr1E" |
| LOCK_DSN | "flock" |
| MAILER_DSN | "smtp://AKIA32BDDOXQKASGCOXB:BLKgu%2F+oKRdPrLPB4mianGCDDHZgjtUUn1Wpcmu%2FO6PS@email-smtp.eu-central-1.amazonaws.com:2587" |
| MAILJET_KEY | "5a7e4ed74879dad6145ab00e167c05c3" |
| MAILJET_LIST_ID | "10510976" |
| MAILJET_SECRET | "7ae27de8322cc60a1d5cfe209117e596" |
| OPENWEATHER_CURRENT_APIKEY | "5a0b6e408d916b66c5c7bb16d14541fa" |
| OPENWEATHER_CURRENT_URL | "https://api.openweathermap.org/data/2.5/weather" |
Defined as regular env variables
| Key | Value |
|---|---|
| CONTENT_LENGTH | "23249" |
| CONTENT_TYPE | "application/json" |
| CONTEXT_DOCUMENT_ROOT | "/var/www/dev.sensoria/public" |
| CONTEXT_PREFIX | "" |
| DOCUMENT_ROOT | "/var/www/dev.sensoria/public" |
| FCGI_ROLE | "RESPONDER" |
| GATEWAY_INTERFACE | "CGI/1.1" |
| HOME | "/usr/share/httpd" |
| HTTPS | "on" |
| HTTP_ACCEPT | "*/*" |
| HTTP_ACCEPT_ENCODING | "gzip, deflate, zstd" |
| HTTP_CONNECTION | "keep-alive" |
| HTTP_HOST | "dev.sensoria.cat" |
| HTTP_USER_AGENT | "python-requests/2.32.5" |
| PATH | "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" |
| PHP_SELF | "/index.php" |
| QUERY_STRING | "" |
| REDIRECT_HTTPS | "on" |
| REDIRECT_SSL_TLS_SNI | "dev.sensoria.cat" |
| REDIRECT_STATUS | "200" |
| REDIRECT_UNIQUE_ID | "alciPYbr_jE4N8pnKPBUcgAAAEs" |
| REDIRECT_URL | "/api/ai/receive" |
| REMOTE_ADDR | "141.227.188.207" |
| REMOTE_PORT | "49876" |
| REQUEST_METHOD | "POST" |
| REQUEST_SCHEME | "https" |
| REQUEST_TIME | 1784095293 |
| REQUEST_TIME_FLOAT | 1784095293.2134 |
| REQUEST_URI | "/api/ai/receive" |
| SCRIPT_FILENAME | "/var/www/dev.sensoria/public/index.php" |
| SCRIPT_NAME | "/index.php" |
| SERVER_ADDR | "172.31.31.131" |
| SERVER_ADMIN | "martin@luckycloud.de" |
| SERVER_NAME | "dev.sensoria.cat" |
| SERVER_PORT | "443" |
| SERVER_PROTOCOL | "HTTP/1.1" |
| SERVER_SIGNATURE | "" |
| SERVER_SOFTWARE | "Apache/2.4.67 (Amazon Linux) OpenSSL/3.5.5" |
| SSL_TLS_SNI | "dev.sensoria.cat" |
| SYMFONY_DOTENV_PATH | "/var/www/dev.sensoria/.env" |
| SYMFONY_DOTENV_VARS | "APP_ENV,APP_SECRET,APP_DEBUG,DATABASE_URL,APP_EMAIL_FROM,BASIC_SIMDATASTREAM_PASSWORD,MAILER_DSN,LOCK_DSN,API_BEARER_TOKEN,GOOGLE_MAPS_API_KEY,OPENWEATHER_CURRENT_APIKEY,OPENWEATHER_CURRENT_URL,MAILJET_KEY,MAILJET_SECRET,MAILJET_LIST_ID" |
| UNIQUE_ID | "alciPYbr_jE4N8pnKPBUcgAAAEs" |
| USER | "apache" |
| proxy-nokeepalive | "1" |