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 | 1784095350.3976 |
| _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 | "156ee7" |
Request Headers
| Header | Value |
|---|---|
| accept | "*/*" |
| accept-encoding | "gzip, deflate, zstd" |
| connection | "keep-alive" |
| content-length | "23822" |
| 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": "0add8c1c-2235-4944-9e3e-02a9044dd6d3",
"timestamp": "15\/07\/26 06:01",
"sensor_status": {
"estado": "FUERA_DE_HORARIO",
"ultima_lectura": "14\/07\/26 23:00",
"tiempo_sin_datos_horas": 7,
"nivel_alerta": "NORMAL"
},
"analisis_temporal": {
"indices_bienestar_comparativos": {
"es_confiable": true,
"mejor_dia_historico": {
"fecha": "08\/07\/26",
"fecha_explicativa": {
"es": "Mi\u00e9rcoles, Prom. 640",
"en": "Report avg. 640 ppm on Wednesday."
},
"co2_ppm": 640,
"temperatura_celsius": 23.3,
"humedad_porcentaje": 33,
"indice_bienestar": 99
},
"peor_dia_historico": {
"fecha": "14\/07\/26",
"fecha_explicativa": {
"es": "Martes, Prom. 660",
"en": "Register avg. 660 ppm on Tuesday."
},
"co2_ppm": 660,
"temperatura_celsius": 23.6,
"humedad_porcentaje": 35,
"indice_bienestar": 100
},
"hoy_vs_mejor_dia_historico": {
"co2_diferencia_ppm": 66,
"co2_diferencia_porcentaje": 10.2,
"temperatura_diferencia_celsius": 0.5,
"humedad_diferencia_puntos": 14,
"bienestar_perdido_puntos": 0.6
},
"promedio_bienestar_actual": 98.2,
"rango_bienestar_historico": {
"mejor": 99,
"peor": 100,
"amplitud": -1
}
},
"patrones_semanales_detallados": {
"es_confiable": true,
"dias": [
{
"dia": "1",
"co2_actual_ppm": 661,
"co2_desviacion_ppm": -339,
"temperatura_actual_celsius": 23,
"temperatura_desviacion_celsius": -1.5,
"humedad_actual_porcentaje": 31,
"humedad_desviacion_puntos": -21.5,
"horas_beneficio_potencial": 2.3,
"beneficio_potencial_eur": 1
},
{
"dia": "2",
"co2_actual_ppm": 687,
"co2_desviacion_ppm": -313,
"temperatura_actual_celsius": 23.6,
"temperatura_desviacion_celsius": -0.9,
"humedad_actual_porcentaje": 34,
"humedad_desviacion_puntos": -18.5,
"horas_beneficio_potencial": 1.9,
"beneficio_potencial_eur": 1
},
{
"dia": "3",
"co2_actual_ppm": 614,
"co2_desviacion_ppm": -386,
"temperatura_actual_celsius": 23.4,
"temperatura_desviacion_celsius": -1.1,
"humedad_actual_porcentaje": 34,
"humedad_desviacion_puntos": -18.5,
"horas_beneficio_potencial": 2,
"beneficio_potencial_eur": 1
},
{
"dia": "4",
"co2_actual_ppm": 676,
"co2_desviacion_ppm": -324,
"temperatura_actual_celsius": 23.8,
"temperatura_desviacion_celsius": -0.7,
"humedad_actual_porcentaje": 30,
"humedad_desviacion_puntos": -22.5,
"horas_beneficio_potencial": 2.2,
"beneficio_potencial_eur": 1
},
{
"dia": "5",
"co2_actual_ppm": 639,
"co2_desviacion_ppm": -361,
"temperatura_actual_celsius": 23.8,
"temperatura_desviacion_celsius": -0.7,
"humedad_actual_porcentaje": 32,
"humedad_desviacion_puntos": -20.5,
"horas_beneficio_potencial": 2.1,
"beneficio_potencial_eur": 1
}
],
"hoy_vs_historico": {
"co2_diferencia_porcentaje": -36,
"temperatura_diferencia_porcentaje": -4,
"humedad_diferencia_porcentaje": -35.9,
"horas_beneficio_potencial_hoy": 0,
"horas_beneficio_potencial_promedio_semanal": 0,
"beneficio_potencial_hoy_eur": 4,
"beneficio_potencial_promedio_semanal_eur": 28
}
}
},
"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": "21:00",
"segunda_peor": "22:00",
"tercera_peor": "20:00",
"proximo_pico_predicho": {
"hora": "20:00",
"valor_esperado_ppm": 771,
"tiempo_restante_horas": 14,
"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": 23.4,
"tiempo_restante_horas": 11,
"clasificacion": "preventiva"
},
"_validation": {
"is_valid": true,
"completeness_score": 1,
"missing_fields": [],
"reason": null
}
},
"humedad_picos_historicos": {
"peor_hora": "11:00",
"segunda_peor": "10:00",
"tercera_peor": "12:00",
"proximo_pico_predicho": {
"hora": "10:00",
"valor_esperado_porcentaje": 48,
"tiempo_restante_horas": 4,
"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": 654,
"unidad": "ppm",
"hr_start": 20,
"hr_end": 21,
"es_critico": false
},
"temperature": {
"valor": 23.3,
"unidad": "\u00b0C",
"hr_start": 21,
"hr_end": 22,
"es_critico": false
},
"humidity": {
"valor": 35,
"unidad": "%",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
}
}
},
{
"dia": "2",
"es_confiable": true,
"valores": {
"co2": {
"valor": 660,
"unidad": "ppm",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
},
"temperature": {
"valor": 23.6,
"unidad": "\u00b0C",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"humidity": {
"valor": 35,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
}
}
},
{
"dia": "3",
"es_confiable": true,
"valores": {
"co2": {
"valor": 640,
"unidad": "ppm",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"temperature": {
"valor": 23.6,
"unidad": "\u00b0C",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
},
"humidity": {
"valor": 33,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": true
}
}
},
{
"dia": "4",
"es_confiable": true,
"valores": {
"co2": {
"valor": 650,
"unidad": "ppm",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
},
"temperature": {
"valor": 23.6,
"unidad": "\u00b0C",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"humidity": {
"valor": 33,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": true
}
}
},
{
"dia": "5",
"es_confiable": true,
"valores": {
"co2": {
"valor": 652,
"unidad": "ppm",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"temperature": {
"valor": 23.6,
"unidad": "\u00b0C",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"humidity": {
"valor": 33,
"unidad": "%",
"hr_start": 9,
"hr_end": 11,
"es_critico": true
}
}
}
],
"resumen_tendencias": {
"co2": {
"tendencia_general": "-1.5%",
"impacto_negocio": {
"es": "El an\u00e1lisis revela variabilidad moderada en CO (+1.4%), 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.4%) with 5 days showing slightly elevated readings. Systematic ventilation would even out readings."
},
"recomendacion_planificacion": {
"es": "Establecer un patr\u00f3n de ventilaci\u00f3n m\u00e1s regular (+1.4% var.), especialmente en Lunes (20-21h) (Prom. 654), Martes Ma\u00f1ana (9-11h) (Prom. 660). Esto ayudar\u00e1 a homogeneizar los niveles semanales.",
"en": "Implement a more regular ventilation pattern (+1.4% fluctuation), especially Monday 20-21h (Avg. 654) and Tuesday morning 9-11h (Avg. 660). This will even out weekly readings."
}
},
"temperature": {
"tendencia_general": "+0.6%",
"impacto_negocio": {
"es": "\u00daltimas jornadas muestran variabilidad t\u00e9rmicas de +0.6%, 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": "Detect thermal fluctuations of +0.6% over 5 days. Environment remains fairly stable; system calibration would improve thermal uniformity."
},
"recomendacion_planificacion": {
"es": "Ajustar puntualmente la climatizaci\u00f3n en los d\u00edas con variaciones (+0.6%). El equilibrio t\u00e9rmico el resto de la semana es excelente.",
"en": "Fine-tune HVAC on days with +0.6% variation. Thermal balance is excellent the rest of the week."
}
},
"humidity": {
"tendencia_general": "-5.7%",
"impacto_negocio": {
"es": "Variaciones en humedad de -0.3% detectadas en 5 jornadas. La media permanece en el rango saludable ASHRAE (40-60%), sin riesgos inmediatos.",
"en": "Identify humidity variations of -0.3% across 5 days. Average stays within healthy ASHRAE range (40-60%), posing no immediate risk."
},
"recomendacion_planificacion": {
"es": "Niveles de humedad equilibrados (-0.3% de variaci\u00f3n). Mantener la rutina actual de ventilaci\u00f3n sin necesidad de ajustes adicionales.",
"en": "Maintain current ventilation routine. Humidity balanced with -0.3% variation. No further adjustments needed."
}
}
}
},
"predicciones_30_dias": {
"semanas_disponibles": 4,
"dias_criticos": {
"semana_1": [
{
"dia_mes": 3,
"semana_mes": 1,
"es_confiable": true,
"valores": {
"co2": {
"valor": 654,
"unidad": "ppm",
"hr_start": 20,
"hr_end": 21,
"es_critico": false
},
"temperature": {
"valor": 23.3,
"unidad": "\u00b0C",
"hr_start": 21,
"hr_end": 22,
"es_critico": false
},
"humidity": {
"valor": 35,
"unidad": "%",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
}
}
},
{
"dia_mes": 4,
"semana_mes": 1,
"es_confiable": true,
"valores": {
"co2": {
"valor": 660,
"unidad": "ppm",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
},
"temperature": {
"valor": 23.6,
"unidad": "\u00b0C",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"humidity": {
"valor": 35,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
}
}
},
{
"dia_mes": 5,
"semana_mes": 1,
"es_confiable": true,
"valores": {
"co2": {
"valor": 640,
"unidad": "ppm",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"temperature": {
"valor": 23.6,
"unidad": "\u00b0C",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
},
"humidity": {
"valor": 33,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": true
}
}
},
{
"dia_mes": 6,
"semana_mes": 1,
"es_confiable": true,
"valores": {
"co2": {
"valor": 650,
"unidad": "ppm",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
},
"temperature": {
"valor": 23.6,
"unidad": "\u00b0C",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"humidity": {
"valor": 33,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": true
}
}
},
{
"dia_mes": 7,
"semana_mes": 1,
"es_confiable": true,
"valores": {
"co2": {
"valor": 652,
"unidad": "ppm",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"temperature": {
"valor": 23.6,
"unidad": "\u00b0C",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"humidity": {
"valor": 33,
"unidad": "%",
"hr_start": 9,
"hr_end": 11,
"es_critico": true
}
}
}
],
"semana_2": [
{
"dia_mes": 10,
"semana_mes": 2,
"es_confiable": true,
"valores": {
"co2": {
"valor": 733,
"unidad": "ppm",
"hr_start": 20,
"hr_end": 21,
"es_critico": false
},
"temperature": {
"valor": 24.8,
"unidad": "\u00b0C",
"hr_start": 21,
"hr_end": 22,
"es_critico": false
},
"humidity": {
"valor": 41,
"unidad": "%",
"hr_start": 10,
"hr_end": 11,
"es_critico": false
}
}
},
{
"dia_mes": 11,
"semana_mes": 2,
"es_confiable": true,
"valores": {
"co2": {
"valor": 681,
"unidad": "ppm",
"hr_start": 10,
"hr_end": 12,
"es_critico": false
},
"temperature": {
"valor": 25.2,
"unidad": "\u00b0C",
"hr_start": 10,
"hr_end": 11,
"es_critico": false
},
"humidity": {
"valor": 50,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
}
}
},
{
"dia_mes": 12,
"semana_mes": 2,
"es_confiable": true,
"valores": {
"co2": {
"valor": 685,
"unidad": "ppm",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"temperature": {
"valor": 24,
"unidad": "\u00b0C",
"hr_start": 10,
"hr_end": 12,
"es_critico": false
},
"humidity": {
"valor": 30,
"unidad": "%",
"hr_start": 20,
"hr_end": 21,
"es_critico": true
}
}
},
{
"dia_mes": 13,
"semana_mes": 2,
"es_confiable": true,
"valores": {
"co2": {
"valor": 665,
"unidad": "ppm",
"hr_start": 8,
"hr_end": 10,
"es_critico": false
},
"temperature": {
"valor": 22.5,
"unidad": "\u00b0C",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"humidity": {
"valor": 48,
"unidad": "%",
"hr_start": 19,
"hr_end": 20,
"es_critico": false
}
}
},
{
"dia_mes": 14,
"semana_mes": 2,
"es_confiable": true,
"valores": {
"co2": {
"valor": 739,
"unidad": "ppm",
"hr_start": 13,
"hr_end": 14,
"es_critico": false
},
"temperature": {
"valor": 24.3,
"unidad": "\u00b0C",
"hr_start": 15,
"hr_end": 16,
"es_critico": false
},
"humidity": {
"valor": 30,
"unidad": "%",
"hr_start": 9,
"hr_end": 11,
"es_critico": true
}
}
}
],
"semana_3": [
{
"dia_mes": 17,
"semana_mes": 3,
"es_confiable": true,
"valores": {
"co2": {
"valor": 764,
"unidad": "ppm",
"hr_start": 20,
"hr_end": 21,
"es_critico": false
},
"temperature": {
"valor": 24.1,
"unidad": "\u00b0C",
"hr_start": 21,
"hr_end": 22,
"es_critico": false
},
"humidity": {
"valor": 30,
"unidad": "%",
"hr_start": 13,
"hr_end": 14,
"es_critico": true
}
}
},
{
"dia_mes": 18,
"semana_mes": 3,
"es_confiable": true,
"valores": {
"co2": {
"valor": 814,
"unidad": "ppm",
"hr_start": 11,
"hr_end": 13,
"es_critico": false
},
"temperature": {
"valor": 22.3,
"unidad": "\u00b0C",
"hr_start": 10,
"hr_end": 11,
"es_critico": false
}
}
},
{
"dia_mes": 19,
"semana_mes": 3,
"es_confiable": true,
"valores": {
"co2": {
"valor": 697,
"unidad": "ppm",
"hr_start": 10,
"hr_end": 11,
"es_critico": false
},
"temperature": {
"valor": 23.1,
"unidad": "\u00b0C",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
},
"humidity": {
"valor": 37,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
}
}
},
{
"dia_mes": 20,
"semana_mes": 3,
"es_confiable": true,
"valores": {
"co2": {
"valor": 669,
"unidad": "ppm",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
},
"temperature": {
"valor": 23.1,
"unidad": "\u00b0C",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"humidity": {
"valor": 44,
"unidad": "%",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
}
}
},
{
"dia_mes": 21,
"semana_mes": 3,
"es_confiable": true,
"valores": {
"co2": {
"valor": 762,
"unidad": "ppm",
"hr_start": 13,
"hr_end": 14,
"es_critico": false
},
"temperature": {
"valor": 22.7,
"unidad": "\u00b0C",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"humidity": {
"valor": 43,
"unidad": "%",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
}
}
}
],
"semana_4": [
{
"dia_mes": 24,
"semana_mes": 4,
"es_confiable": true,
"valores": {
"co2": {
"valor": 623,
"unidad": "ppm",
"hr_start": 20,
"hr_end": 21,
"es_critico": false
},
"temperature": {
"valor": 24.8,
"unidad": "\u00b0C",
"hr_start": 21,
"hr_end": 22,
"es_critico": false
},
"humidity": {
"valor": 44,
"unidad": "%",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
}
}
},
{
"dia_mes": 25,
"semana_mes": 4,
"es_confiable": true,
"valores": {
"co2": {
"valor": 653,
"unidad": "ppm",
"hr_start": 10,
"hr_end": 12,
"es_critico": false
},
"temperature": {
"valor": 24.9,
"unidad": "\u00b0C",
"hr_start": 12,
"hr_end": 13,
"es_critico": false
},
"humidity": {
"valor": 34,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": true
}
}
},
{
"dia_mes": 26,
"semana_mes": 4,
"es_confiable": true,
"valores": {
"co2": {
"valor": 676,
"unidad": "ppm",
"hr_start": 13,
"hr_end": 14,
"es_critico": false
},
"temperature": {
"valor": 23.6,
"unidad": "\u00b0C",
"hr_start": 9,
"hr_end": 11,
"es_critico": false
},
"humidity": {
"valor": 34,
"unidad": "%",
"hr_start": 19,
"hr_end": 20,
"es_critico": true
}
}
},
{
"dia_mes": 27,
"semana_mes": 4,
"es_confiable": true,
"valores": {
"co2": {
"valor": 664,
"unidad": "ppm",
"hr_start": 10,
"hr_end": 12,
"es_critico": false
},
"temperature": {
"valor": 23.9,
"unidad": "\u00b0C",
"hr_start": 16,
"hr_end": 17,
"es_critico": false
},
"humidity": {
"valor": 32,
"unidad": "%",
"hr_start": 18,
"hr_end": 19,
"es_critico": true
}
}
},
{
"dia_mes": 28,
"semana_mes": 4,
"es_confiable": true,
"valores": {
"co2": {
"valor": 822,
"unidad": "ppm",
"hr_start": 10,
"hr_end": 11,
"es_critico": false
},
"temperature": {
"valor": 22.9,
"unidad": "\u00b0C",
"hr_start": 18,
"hr_end": 19,
"es_critico": false
},
"humidity": {
"valor": 40,
"unidad": "%",
"hr_start": 10,
"hr_end": 12,
"es_critico": false
}
}
}
]
},
"resumen_tendencias": {
"co2": {
"tendencia_general": "+7.4%",
"patron_largo_plazo": {
"es": "incremento gradual sostenido",
"en": "Show sustained gradual increase."
},
"impacto_negocio": {
"es": "El an\u00e1lisis mensual refleja una evoluci\u00f3n al alza de +7.4% en los valores de CO\u2082. Si esta progresi\u00f3n se mantiene, comenzar\u00e1n a aparecer s\u00edntomas de concentraci\u00f3n disminuida y fatiga mental.",
"en": "Reveal monthly CO\u2082 rise of +7.4%. Continued growth will trigger concentration loss and mental fatigue symptoms."
},
"recomendacion_inversion": {
"es": "Con una tendencia al alza de +7.4%, conviene reforzar la capacidad de renovaci\u00f3n del aire. Considerar la instalaci\u00f3n de extractores adicionales o una revisi\u00f3n t\u00e9cnica del sistema actual de ventilaci\u00f3n.",
"en": "Boost air renewal capacity due to +7.4% upward trend. Recommend adding extractors or technical review of ventilation system."
}
},
"temperature": {
"tendencia_general": "-1.0%",
"patron_largo_plazo": {
"es": "estabilidad con fluctuaciones menores",
"en": "Confirm stability with minor fluctuations."
},
"impacto_negocio": {
"es": "Variaci\u00f3n t\u00e9rmica mensual m\u00ednima de -1.0%. La estabilidad t\u00e9rmica permite mantener un consumo energ\u00e9tico predecible y facilita la planificaci\u00f3n de recursos.",
"en": "Register minimal monthly thermal variation of -1.0%. Stable thermal conditions support predictable energy consumption and resource planning."
},
"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": "Affirm stable, predictable thermal behavior. No major HVAC adjustments required this period."
}
},
"humidity": {
"tendencia_general": "+0.8%",
"patron_largo_plazo": {
"es": "estabilidad con fluctuaciones menores",
"en": "Show balanced humidity conditions with +0.8% monthly variation. Stability within ASHRAE range supports occupant comfort and space preservation."
},
"impacto_negocio": {
"es": "Las condiciones de humedad han permanecido equilibradas durante el mes con variaci\u00f3n de +0.8%. Este comportamiento estable dentro del rango ASHRAE favorece el bienestar y la conservaci\u00f3n del espacio.",
"en": "Sustain well-managed humidity levels with current systems. Continue usual ventilation and schedule periodic reviews."
},
"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": 2,
"accion": {
"es": "Prevenci\u00f3n pico Temperature",
"en": "Peak Temperature Prevention"
},
"descripcion": {
"es": "Observamos ligera variaci\u00f3n t\u00e9rmica sin impacto significativo. Proyecci\u00f3n: 23.4\u00b0C en 11h (+0.5\u00b0C). El rango \u00f3ptimo es 21\u201324\u00b0C. Recomendamos revisi\u00f3n preventiva de climatizaci\u00f3n.",
"en": "We observed a slight temperature variation with no significant impact. Projection: 23.4\u00b0C at 11:00 (+0.5\u00b0C). The optimal range is 21\u201324\u00b0C. We recommend preventive air conditioning maintenance."
},
"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": 23.4
},
{
"prioridad": 3,
"accion": {
"es": "Prevenci\u00f3n pico Humidity",
"en": "Peak Humidity Prevention"
},
"descripcion": {
"es": "Observamos ligera variaci\u00f3n de humedad sin impacto notable. Proyecci\u00f3n: 48% en 4h (+2%). El rango \u00f3ptimo es 40\u201360%. Sugerimos monitoreo preventivo.",
"en": "We observed a slight variation in humidity with no significant impact. Projection: 48% in 4 hours (+2%). The optimal range is 40\u201360%. We recommend preventive monitoring."
},
"momento_ejecucion": {
"es": "Actuar en horario matinal, hacia las 09:00h. Observar evoluci\u00f3n durante los pr\u00f3ximos 3-5 d\u00edas.",
"en": "Act in the morning, around 9:00 AM. Monitor progress over the next 3-5 days."
},
"parametro_objetivo": "humidity",
"valor_critico": 48
},
{
"prioridad": 2,
"accion": {
"es": "Optimizaci\u00f3n multi-par\u00e1metro",
"en": "Multi-parameter optimization"
},
"descripcion": {
"es": "Coordinar sincronizar intervenciones de ventilaci\u00f3n, climatizaci\u00f3n y control de humedad para picos simult\u00e1neos de CO2 (20:00h), Temperature (17:00h) y Humidity (10:00h). Efecto conjunto amplifica impacto individual - requiere estrategia unificada",
"en": "Coordinate and synchronize ventilation, air conditioning, and humidity control interventions for simultaneous peaks of CO2 (8:00 PM), temperature (5:00 PM), and humidity (10:00 AM). The combined effect amplifies the individual impact \u2013 a unified strategy is required."
},
"momento_ejecucion": {
"es": "Patr\u00f3n multi-par\u00e1metro detectado: pico HUMIDITY a las 10:00h. Coordinar sistemas preventivamente en futuros an\u00e1lisis",
"en": "Multi-parameter pattern detected: HUMIDITY peak at 10:00 AM. Coordinate systems preventively in future analyses."
},
"parametro_objetivo": "humidity",
"valor_critico": 0
}
],
"alertas_temporales_criticas": [
{
"tipo": "alerta_preventiva",
"mensaje": {
"es": "Ligera variaci\u00f3n t\u00e9rmica que puede afectar el confort (Temperatura: 23.4\u00b0C, rango \u00f3ptimo: 17-27\u00b0C). Revisi\u00f3n preventiva recomendada.",
"en": "Flag slight thermal fluctuations. Temp. 23.4\u00b0C, optimal range 17-27\u00b0C. Preventive check recommended."
},
"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). Assess permanent tweaks if trend persists."
},
"valor_critico": 23.4
},
{
"tipo": "alerta_critica",
"mensaje": {
"es": "Sequedad ambiental que afectar\u00e1 las v\u00edas respiratorias (Humedad: 0%, m\u00ednimo: 30%). Considerar humidificaci\u00f3n.",
"en": "Highlight extreme dryness. Humidity 0%, minimum 30%. Implement humidification measures."
},
"parametro": "humidity",
"tiempo_restante": {
"es": "Patr\u00f3n multi-par\u00e1metro detectado: pico HUMIDITY a las 10:00h. Coordinar sistemas preventivamente en futuros an\u00e1lisis",
"en": "Detect multi-parameter pattern: humidity peak at 10:00. Coordinate systems proactively for future analyses."
},
"valor_critico": 0
}
]
},
"impacto_economico_y_productividad": {
"impacto_economico_solo_laborables": {
"metodologia": {
"es": "An\u00e1lisis hist\u00f3rico ponderado cient\u00edfico (22 d\u00edas laborables\/mes)",
"en": "Increase confidence in predictions. CO\u2082 varies with occupancy; temperature and humidity remain more stable."
},
"ocupacion_oficina": 1,
"beneficios_diarios": {
"es_confiable": true,
"beneficio_potencial_diario_eur": 4,
"horas_beneficio_potencial_diarias": 0.42
},
"beneficios_semanales": {
"es_confiable": true,
"beneficio_potencial_semanal_eur": 28
},
"beneficios_mensuales": {
"es_confiable": true,
"beneficio_potencial_mensual_eur": 120,
"dias_laborales_mes": 22
},
"beneficios_anuales": {
"es_confiable": true,
"beneficio_potencial_anual_eur": 1441,
"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": 86.2,
"confianza_temperatura_porcentaje": 95,
"confianza_humedad_porcentaje": 85.6,
"calidad_general_porcentaje": 95,
"confianza_global_porcentaje": 88.7,
"registros_analizados": 4186,
"periodo_analizado": "4186 registros (\u00faltimos 173 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": 81,
"bienestar_30": 90,
"tendencia_7d": "negativa",
"tendencia_30d": "negativa"
}
}
Raw
{"oficina_id": "0add8c1c-2235-4944-9e3e-02a9044dd6d3", "timestamp": "15/07/26 06:01", "sensor_status": {"estado": "FUERA_DE_HORARIO", "ultima_lectura": "14/07/26 23:00", "tiempo_sin_datos_horas": 7.0, "nivel_alerta": "NORMAL"}, "analisis_temporal": {"indices_bienestar_comparativos": {"es_confiable": true, "mejor_dia_historico": {"fecha": "08/07/26", "fecha_explicativa": {"es": "Mi\u00e9rcoles, Prom. 640", "en": "Report avg. 640 ppm on Wednesday."}, "co2_ppm": 640, "temperatura_celsius": 23.3, "humedad_porcentaje": 33, "indice_bienestar": 99}, "peor_dia_historico": {"fecha": "14/07/26", "fecha_explicativa": {"es": "Martes, Prom. 660", "en": "Register avg. 660 ppm on Tuesday."}, "co2_ppm": 660, "temperatura_celsius": 23.6, "humedad_porcentaje": 35, "indice_bienestar": 100}, "hoy_vs_mejor_dia_historico": {"co2_diferencia_ppm": 66, "co2_diferencia_porcentaje": 10.2, "temperatura_diferencia_celsius": 0.5, "humedad_diferencia_puntos": 14, "bienestar_perdido_puntos": 0.6}, "promedio_bienestar_actual": 98.2, "rango_bienestar_historico": {"mejor": 99, "peor": 100, "amplitud": -1}}, "patrones_semanales_detallados": {"es_confiable": true, "dias": [{"dia": "1", "co2_actual_ppm": 661, "co2_desviacion_ppm": -339, "temperatura_actual_celsius": 23.0, "temperatura_desviacion_celsius": -1.5, "humedad_actual_porcentaje": 31, "humedad_desviacion_puntos": -21.5, "horas_beneficio_potencial": 2.3, "beneficio_potencial_eur": 1}, {"dia": "2", "co2_actual_ppm": 687, "co2_desviacion_ppm": -313, "temperatura_actual_celsius": 23.6, "temperatura_desviacion_celsius": -0.9, "humedad_actual_porcentaje": 34, "humedad_desviacion_puntos": -18.5, "horas_beneficio_potencial": 1.9, "beneficio_potencial_eur": 1}, {"dia": "3", "co2_actual_ppm": 614, "co2_desviacion_ppm": -386, "temperatura_actual_celsius": 23.4, "temperatura_desviacion_celsius": -1.1, "humedad_actual_porcentaje": 34, "humedad_desviacion_puntos": -18.5, "horas_beneficio_potencial": 2.0, "beneficio_potencial_eur": 1}, {"dia": "4", "co2_actual_ppm": 676, "co2_desviacion_ppm": -324, "temperatura_actual_celsius": 23.8, "temperatura_desviacion_celsius": -0.7, "humedad_actual_porcentaje": 30, "humedad_desviacion_puntos": -22.5, "horas_beneficio_potencial": 2.2, "beneficio_potencial_eur": 1}, {"dia": "5", "co2_actual_ppm": 639, "co2_desviacion_ppm": -361, "temperatura_actual_celsius": 23.8, "temperatura_desviacion_celsius": -0.7, "humedad_actual_porcentaje": 32, "humedad_desviacion_puntos": -20.5, "horas_beneficio_potencial": 2.1, "beneficio_potencial_eur": 1}], "hoy_vs_historico": {"co2_diferencia_porcentaje": -36.0, "temperatura_diferencia_porcentaje": -4.0, "humedad_diferencia_porcentaje": -35.9, "horas_beneficio_potencial_hoy": 0, "horas_beneficio_potencial_promedio_semanal": 0, "beneficio_potencial_hoy_eur": 4, "beneficio_potencial_promedio_semanal_eur": 28}}}, "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": "21:00", "segunda_peor": "22:00", "tercera_peor": "20:00", "proximo_pico_predicho": {"hora": "20:00", "valor_esperado_ppm": 771, "tiempo_restante_horas": 14, "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": 23.4, "tiempo_restante_horas": 11, "clasificacion": "preventiva"}, "_validation": {"is_valid": true, "completeness_score": 1.0, "missing_fields": [], "reason": null}}, "humedad_picos_historicos": {"peor_hora": "11:00", "segunda_peor": "10:00", "tercera_peor": "12:00", "proximo_pico_predicho": {"hora": "10:00", "valor_esperado_porcentaje": 48, "tiempo_restante_horas": 4, "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": 654, "unidad": "ppm", "hr_start": 20, "hr_end": 21, "es_critico": false}, "temperature": {"valor": 23.3, "unidad": "\u00b0C", "hr_start": 21, "hr_end": 22, "es_critico": false}, "humidity": {"valor": 35, "unidad": "%", "hr_start": 12, "hr_end": 13, "es_critico": false}}}, {"dia": "2", "es_confiable": true, "valores": {"co2": {"valor": 660, "unidad": "ppm", "hr_start": 9, "hr_end": 11, "es_critico": false}, "temperature": {"valor": 23.6, "unidad": "\u00b0C", "hr_start": 12, "hr_end": 13, "es_critico": false}, "humidity": {"valor": 35, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": false}}}, {"dia": "3", "es_confiable": true, "valores": {"co2": {"valor": 640, "unidad": "ppm", "hr_start": 12, "hr_end": 13, "es_critico": false}, "temperature": {"valor": 23.6, "unidad": "\u00b0C", "hr_start": 9, "hr_end": 11, "es_critico": false}, "humidity": {"valor": 33, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": true}}}, {"dia": "4", "es_confiable": true, "valores": {"co2": {"valor": 650, "unidad": "ppm", "hr_start": 9, "hr_end": 11, "es_critico": false}, "temperature": {"valor": 23.6, "unidad": "\u00b0C", "hr_start": 16, "hr_end": 17, "es_critico": false}, "humidity": {"valor": 33, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": true}}}, {"dia": "5", "es_confiable": true, "valores": {"co2": {"valor": 652, "unidad": "ppm", "hr_start": 12, "hr_end": 13, "es_critico": false}, "temperature": {"valor": 23.6, "unidad": "\u00b0C", "hr_start": 16, "hr_end": 17, "es_critico": false}, "humidity": {"valor": 33, "unidad": "%", "hr_start": 9, "hr_end": 11, "es_critico": true}}}], "resumen_tendencias": {"co2": {"tendencia_general": "-1.5%", "impacto_negocio": {"es": "El an\u00e1lisis revela variabilidad moderada en CO (+1.4%), 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.4%) with 5 days showing slightly elevated readings. Systematic ventilation would even out readings."}, "recomendacion_planificacion": {"es": "Establecer un patr\u00f3n de ventilaci\u00f3n m\u00e1s regular (+1.4% var.), especialmente en Lunes (20-21h) (Prom. 654), Martes Ma\u00f1ana (9-11h) (Prom. 660). Esto ayudar\u00e1 a homogeneizar los niveles semanales.", "en": "Implement a more regular ventilation pattern (+1.4% fluctuation), especially Monday 20-21h (Avg. 654) and Tuesday morning 9-11h (Avg. 660). This will even out weekly readings."}}, "temperature": {"tendencia_general": "+0.6%", "impacto_negocio": {"es": "\u00daltimas jornadas muestran variabilidad t\u00e9rmicas de +0.6%, 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": "Detect thermal fluctuations of +0.6% over 5 days. Environment remains fairly stable; system calibration would improve thermal uniformity."}, "recomendacion_planificacion": {"es": "Ajustar puntualmente la climatizaci\u00f3n en los d\u00edas con variaciones (+0.6%). El equilibrio t\u00e9rmico el resto de la semana es excelente.", "en": "Fine-tune HVAC on days with +0.6% variation. Thermal balance is excellent the rest of the week."}}, "humidity": {"tendencia_general": "-5.7%", "impacto_negocio": {"es": "Variaciones en humedad de -0.3% detectadas en 5 jornadas. La media permanece en el rango saludable ASHRAE (40-60%), sin riesgos inmediatos.", "en": "Identify humidity variations of -0.3% across 5 days. Average stays within healthy ASHRAE range (40-60%), posing no immediate risk."}, "recomendacion_planificacion": {"es": "Niveles de humedad equilibrados (-0.3% de variaci\u00f3n). Mantener la rutina actual de ventilaci\u00f3n sin necesidad de ajustes adicionales.", "en": "Maintain current ventilation routine. Humidity balanced with -0.3% variation. No further adjustments needed."}}}}, "predicciones_30_dias": {"semanas_disponibles": 4, "dias_criticos": {"semana_1": [{"dia_mes": 3, "semana_mes": 1, "es_confiable": true, "valores": {"co2": {"valor": 654, "unidad": "ppm", "hr_start": 20, "hr_end": 21, "es_critico": false}, "temperature": {"valor": 23.3, "unidad": "\u00b0C", "hr_start": 21, "hr_end": 22, "es_critico": false}, "humidity": {"valor": 35, "unidad": "%", "hr_start": 12, "hr_end": 13, "es_critico": false}}}, {"dia_mes": 4, "semana_mes": 1, "es_confiable": true, "valores": {"co2": {"valor": 660, "unidad": "ppm", "hr_start": 9, "hr_end": 11, "es_critico": false}, "temperature": {"valor": 23.6, "unidad": "\u00b0C", "hr_start": 12, "hr_end": 13, "es_critico": false}, "humidity": {"valor": 35, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": false}}}, {"dia_mes": 5, "semana_mes": 1, "es_confiable": true, "valores": {"co2": {"valor": 640, "unidad": "ppm", "hr_start": 12, "hr_end": 13, "es_critico": false}, "temperature": {"valor": 23.6, "unidad": "\u00b0C", "hr_start": 9, "hr_end": 11, "es_critico": false}, "humidity": {"valor": 33, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": true}}}, {"dia_mes": 6, "semana_mes": 1, "es_confiable": true, "valores": {"co2": {"valor": 650, "unidad": "ppm", "hr_start": 9, "hr_end": 11, "es_critico": false}, "temperature": {"valor": 23.6, "unidad": "\u00b0C", "hr_start": 16, "hr_end": 17, "es_critico": false}, "humidity": {"valor": 33, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": true}}}, {"dia_mes": 7, "semana_mes": 1, "es_confiable": true, "valores": {"co2": {"valor": 652, "unidad": "ppm", "hr_start": 12, "hr_end": 13, "es_critico": false}, "temperature": {"valor": 23.6, "unidad": "\u00b0C", "hr_start": 16, "hr_end": 17, "es_critico": false}, "humidity": {"valor": 33, "unidad": "%", "hr_start": 9, "hr_end": 11, "es_critico": true}}}], "semana_2": [{"dia_mes": 10, "semana_mes": 2, "es_confiable": true, "valores": {"co2": {"valor": 733, "unidad": "ppm", "hr_start": 20, "hr_end": 21, "es_critico": false}, "temperature": {"valor": 24.8, "unidad": "\u00b0C", "hr_start": 21, "hr_end": 22, "es_critico": false}, "humidity": {"valor": 41, "unidad": "%", "hr_start": 10, "hr_end": 11, "es_critico": false}}}, {"dia_mes": 11, "semana_mes": 2, "es_confiable": true, "valores": {"co2": {"valor": 681, "unidad": "ppm", "hr_start": 10, "hr_end": 12, "es_critico": false}, "temperature": {"valor": 25.2, "unidad": "\u00b0C", "hr_start": 10, "hr_end": 11, "es_critico": false}, "humidity": {"valor": 50, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": false}}}, {"dia_mes": 12, "semana_mes": 2, "es_confiable": true, "valores": {"co2": {"valor": 685, "unidad": "ppm", "hr_start": 12, "hr_end": 13, "es_critico": false}, "temperature": {"valor": 24.0, "unidad": "\u00b0C", "hr_start": 10, "hr_end": 12, "es_critico": false}, "humidity": {"valor": 30, "unidad": "%", "hr_start": 20, "hr_end": 21, "es_critico": true}}}, {"dia_mes": 13, "semana_mes": 2, "es_confiable": true, "valores": {"co2": {"valor": 665, "unidad": "ppm", "hr_start": 8, "hr_end": 10, "es_critico": false}, "temperature": {"valor": 22.5, "unidad": "\u00b0C", "hr_start": 16, "hr_end": 17, "es_critico": false}, "humidity": {"valor": 48, "unidad": "%", "hr_start": 19, "hr_end": 20, "es_critico": false}}}, {"dia_mes": 14, "semana_mes": 2, "es_confiable": true, "valores": {"co2": {"valor": 739, "unidad": "ppm", "hr_start": 13, "hr_end": 14, "es_critico": false}, "temperature": {"valor": 24.3, "unidad": "\u00b0C", "hr_start": 15, "hr_end": 16, "es_critico": false}, "humidity": {"valor": 30, "unidad": "%", "hr_start": 9, "hr_end": 11, "es_critico": true}}}], "semana_3": [{"dia_mes": 17, "semana_mes": 3, "es_confiable": true, "valores": {"co2": {"valor": 764, "unidad": "ppm", "hr_start": 20, "hr_end": 21, "es_critico": false}, "temperature": {"valor": 24.1, "unidad": "\u00b0C", "hr_start": 21, "hr_end": 22, "es_critico": false}, "humidity": {"valor": 30, "unidad": "%", "hr_start": 13, "hr_end": 14, "es_critico": true}}}, {"dia_mes": 18, "semana_mes": 3, "es_confiable": true, "valores": {"co2": {"valor": 814, "unidad": "ppm", "hr_start": 11, "hr_end": 13, "es_critico": false}, "temperature": {"valor": 22.3, "unidad": "\u00b0C", "hr_start": 10, "hr_end": 11, "es_critico": false}}}, {"dia_mes": 19, "semana_mes": 3, "es_confiable": true, "valores": {"co2": {"valor": 697, "unidad": "ppm", "hr_start": 10, "hr_end": 11, "es_critico": false}, "temperature": {"valor": 23.1, "unidad": "\u00b0C", "hr_start": 9, "hr_end": 11, "es_critico": false}, "humidity": {"valor": 37, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": false}}}, {"dia_mes": 20, "semana_mes": 3, "es_confiable": true, "valores": {"co2": {"valor": 669, "unidad": "ppm", "hr_start": 9, "hr_end": 11, "es_critico": false}, "temperature": {"valor": 23.1, "unidad": "\u00b0C", "hr_start": 16, "hr_end": 17, "es_critico": false}, "humidity": {"valor": 44, "unidad": "%", "hr_start": 16, "hr_end": 17, "es_critico": false}}}, {"dia_mes": 21, "semana_mes": 3, "es_confiable": true, "valores": {"co2": {"valor": 762, "unidad": "ppm", "hr_start": 13, "hr_end": 14, "es_critico": false}, "temperature": {"valor": 22.7, "unidad": "\u00b0C", "hr_start": 16, "hr_end": 17, "es_critico": false}, "humidity": {"valor": 43, "unidad": "%", "hr_start": 9, "hr_end": 11, "es_critico": false}}}], "semana_4": [{"dia_mes": 24, "semana_mes": 4, "es_confiable": true, "valores": {"co2": {"valor": 623, "unidad": "ppm", "hr_start": 20, "hr_end": 21, "es_critico": false}, "temperature": {"valor": 24.8, "unidad": "\u00b0C", "hr_start": 21, "hr_end": 22, "es_critico": false}, "humidity": {"valor": 44, "unidad": "%", "hr_start": 12, "hr_end": 13, "es_critico": false}}}, {"dia_mes": 25, "semana_mes": 4, "es_confiable": true, "valores": {"co2": {"valor": 653, "unidad": "ppm", "hr_start": 10, "hr_end": 12, "es_critico": false}, "temperature": {"valor": 24.9, "unidad": "\u00b0C", "hr_start": 12, "hr_end": 13, "es_critico": false}, "humidity": {"valor": 34, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": true}}}, {"dia_mes": 26, "semana_mes": 4, "es_confiable": true, "valores": {"co2": {"valor": 676, "unidad": "ppm", "hr_start": 13, "hr_end": 14, "es_critico": false}, "temperature": {"valor": 23.6, "unidad": "\u00b0C", "hr_start": 9, "hr_end": 11, "es_critico": false}, "humidity": {"valor": 34, "unidad": "%", "hr_start": 19, "hr_end": 20, "es_critico": true}}}, {"dia_mes": 27, "semana_mes": 4, "es_confiable": true, "valores": {"co2": {"valor": 664, "unidad": "ppm", "hr_start": 10, "hr_end": 12, "es_critico": false}, "temperature": {"valor": 23.9, "unidad": "\u00b0C", "hr_start": 16, "hr_end": 17, "es_critico": false}, "humidity": {"valor": 32, "unidad": "%", "hr_start": 18, "hr_end": 19, "es_critico": true}}}, {"dia_mes": 28, "semana_mes": 4, "es_confiable": true, "valores": {"co2": {"valor": 822, "unidad": "ppm", "hr_start": 10, "hr_end": 11, "es_critico": false}, "temperature": {"valor": 22.9, "unidad": "\u00b0C", "hr_start": 18, "hr_end": 19, "es_critico": false}, "humidity": {"valor": 40, "unidad": "%", "hr_start": 10, "hr_end": 12, "es_critico": false}}}]}, "resumen_tendencias": {"co2": {"tendencia_general": "+7.4%", "patron_largo_plazo": {"es": "incremento gradual sostenido", "en": "Show sustained gradual increase."}, "impacto_negocio": {"es": "El an\u00e1lisis mensual refleja una evoluci\u00f3n al alza de +7.4% en los valores de CO\u2082. Si esta progresi\u00f3n se mantiene, comenzar\u00e1n a aparecer s\u00edntomas de concentraci\u00f3n disminuida y fatiga mental.", "en": "Reveal monthly CO\u2082 rise of +7.4%. Continued growth will trigger concentration loss and mental fatigue symptoms."}, "recomendacion_inversion": {"es": "Con una tendencia al alza de +7.4%, conviene reforzar la capacidad de renovaci\u00f3n del aire. Considerar la instalaci\u00f3n de extractores adicionales o una revisi\u00f3n t\u00e9cnica del sistema actual de ventilaci\u00f3n.", "en": "Boost air renewal capacity due to +7.4% upward trend. Recommend adding extractors or technical review of ventilation system."}}, "temperature": {"tendencia_general": "-1.0%", "patron_largo_plazo": {"es": "estabilidad con fluctuaciones menores", "en": "Confirm stability with minor fluctuations."}, "impacto_negocio": {"es": "Variaci\u00f3n t\u00e9rmica mensual m\u00ednima de -1.0%. La estabilidad t\u00e9rmica permite mantener un consumo energ\u00e9tico predecible y facilita la planificaci\u00f3n de recursos.", "en": "Register minimal monthly thermal variation of -1.0%. Stable thermal conditions support predictable energy consumption and resource planning."}, "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": "Affirm stable, predictable thermal behavior. No major HVAC adjustments required this period."}}, "humidity": {"tendencia_general": "+0.8%", "patron_largo_plazo": {"es": "estabilidad con fluctuaciones menores", "en": "Show balanced humidity conditions with +0.8% monthly variation. Stability within ASHRAE range supports occupant comfort and space preservation."}, "impacto_negocio": {"es": "Las condiciones de humedad han permanecido equilibradas durante el mes con variaci\u00f3n de +0.8%. Este comportamiento estable dentro del rango ASHRAE favorece el bienestar y la conservaci\u00f3n del espacio.", "en": "Sustain well-managed humidity levels with current systems. Continue usual ventilation and schedule periodic reviews."}, "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": 2, "accion": {"es": "Prevenci\u00f3n pico Temperature", "en": "Peak Temperature Prevention"}, "descripcion": {"es": "Observamos ligera variaci\u00f3n t\u00e9rmica sin impacto significativo. Proyecci\u00f3n: 23.4\u00b0C en 11h (+0.5\u00b0C). El rango \u00f3ptimo es 21\u201324\u00b0C. Recomendamos revisi\u00f3n preventiva de climatizaci\u00f3n.", "en": "We observed a slight temperature variation with no significant impact. Projection: 23.4\u00b0C at 11:00 (+0.5\u00b0C). The optimal range is 21\u201324\u00b0C. We recommend preventive air conditioning maintenance."}, "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": 23.4}, {"prioridad": 3, "accion": {"es": "Prevenci\u00f3n pico Humidity", "en": "Peak Humidity Prevention"}, "descripcion": {"es": "Observamos ligera variaci\u00f3n de humedad sin impacto notable. Proyecci\u00f3n: 48% en 4h (+2%). El rango \u00f3ptimo es 40\u201360%. Sugerimos monitoreo preventivo.", "en": "We observed a slight variation in humidity with no significant impact. Projection: 48% in 4 hours (+2%). The optimal range is 40\u201360%. We recommend preventive monitoring."}, "momento_ejecucion": {"es": "Actuar en horario matinal, hacia las 09:00h. Observar evoluci\u00f3n durante los pr\u00f3ximos 3-5 d\u00edas.", "en": "Act in the morning, around 9:00 AM. Monitor progress over the next 3-5 days."}, "parametro_objetivo": "humidity", "valor_critico": 48}, {"prioridad": 2, "accion": {"es": "Optimizaci\u00f3n multi-par\u00e1metro", "en": "Multi-parameter optimization"}, "descripcion": {"es": "Coordinar sincronizar intervenciones de ventilaci\u00f3n, climatizaci\u00f3n y control de humedad para picos simult\u00e1neos de CO2 (20:00h), Temperature (17:00h) y Humidity (10:00h). Efecto conjunto amplifica impacto individual - requiere estrategia unificada", "en": "Coordinate and synchronize ventilation, air conditioning, and humidity control interventions for simultaneous peaks of CO2 (8:00 PM), temperature (5:00 PM), and humidity (10:00 AM). The combined effect amplifies the individual impact \u2013 a unified strategy is required."}, "momento_ejecucion": {"es": "Patr\u00f3n multi-par\u00e1metro detectado: pico HUMIDITY a las 10:00h. Coordinar sistemas preventivamente en futuros an\u00e1lisis", "en": "Multi-parameter pattern detected: HUMIDITY peak at 10:00 AM. Coordinate systems preventively in future analyses."}, "parametro_objetivo": "humidity", "valor_critico": 0}], "alertas_temporales_criticas": [{"tipo": "alerta_preventiva", "mensaje": {"es": "Ligera variaci\u00f3n t\u00e9rmica que puede afectar el confort (Temperatura: 23.4\u00b0C, rango \u00f3ptimo: 17-27\u00b0C). Revisi\u00f3n preventiva recomendada.", "en": "Flag slight thermal fluctuations. Temp. 23.4\u00b0C, optimal range 17-27\u00b0C. Preventive check recommended."}, "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). Assess permanent tweaks if trend persists."}, "valor_critico": 23.4}, {"tipo": "alerta_critica", "mensaje": {"es": "Sequedad ambiental que afectar\u00e1 las v\u00edas respiratorias (Humedad: 0%, m\u00ednimo: 30%). Considerar humidificaci\u00f3n.", "en": "Highlight extreme dryness. Humidity 0%, minimum 30%. Implement humidification measures."}, "parametro": "humidity", "tiempo_restante": {"es": "Patr\u00f3n multi-par\u00e1metro detectado: pico HUMIDITY a las 10:00h. Coordinar sistemas preventivamente en futuros an\u00e1lisis", "en": "Detect multi-parameter pattern: humidity peak at 10:00. Coordinate systems proactively for future analyses."}, "valor_critico": 0}]}, "impacto_economico_y_productividad": {"impacto_economico_solo_laborables": {"metodologia": {"es": "An\u00e1lisis hist\u00f3rico ponderado cient\u00edfico (22 d\u00edas laborables/mes)", "en": "Increase confidence in predictions. CO\u2082 varies with occupancy; temperature and humidity remain more stable."}, "ocupacion_oficina": 1, "beneficios_diarios": {"es_confiable": true, "beneficio_potencial_diario_eur": 4, "horas_beneficio_potencial_diarias": 0.42}, "beneficios_semanales": {"es_confiable": true, "beneficio_potencial_semanal_eur": 28}, "beneficios_mensuales": {"es_confiable": true, "beneficio_potencial_mensual_eur": 120, "dias_laborales_mes": 22}, "beneficios_anuales": {"es_confiable": true, "beneficio_potencial_anual_eur": 1441, "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": 86.2, "confianza_temperatura_porcentaje": 95.0, "confianza_humedad_porcentaje": 85.6, "calidad_general_porcentaje": 95.0, "confianza_global_porcentaje": 88.7, "registros_analizados": 4186, "periodo_analizado": "4186 registros (\u00faltimos 173 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": 81, "bienestar_30": 90, "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:02:30 GMT" |
| x-debug-token | "6545ca" |
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 | "23822" |
| 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 | "alcids3BSTrzh7DhbSOBQwAAAUA" |
| REDIRECT_URL | "/api/ai/receive" |
| REMOTE_ADDR | "141.227.188.207" |
| REMOTE_PORT | "34092" |
| REQUEST_METHOD | "POST" |
| REQUEST_SCHEME | "https" |
| REQUEST_TIME | 1784095350 |
| REQUEST_TIME_FLOAT | 1784095350.367 |
| 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 | "alcids3BSTrzh7DhbSOBQwAAAUA" |
| USER | "apache" |
| proxy-nokeepalive | "1" |