Cubre las vistas de portfolio y de edificio, con los perfiles Gerencia y Técnico. Para cada elemento se indica de qué base de datos procede y, cuando procede de MongoDB, la consulta exacta.
Las horas de las analíticas están en hora UTC; tenlo en cuenta al recoger los datos.
| Origen | Qué aporta |
|---|---|
MongoDB · colección setpoint_achievement | Resultado de la analítica de alcance de consigna, una base de datos por edificio. Cada ejecución guarda, para cada equipo (fancoil, VRV o UTA), su planta, cliente, temperatura medida, consigna, temperatura de impulsión y exterior en las UTA, y el indicador de alarma de temperatura. |
MongoDB · colección warnings | Avisos de alcance de consigna del edificio. |
| Aitea Building · base de datos de configuración | Edificios y equipos configurados, para saber cuántos equipos se esperan. |
| Pendiente de desarrollo | Causa probable, persistencia y recomendación; orden y estado de marcha de los equipos; humedad y CO₂ de las UTA con sus consignas; y la consulta de avisos activos. |
Lo que se calcula al mostrar (porcentajes, desviación, tiempo fuera de consigna, agrupación por planta y hora) parte de estos datos y no lee ninguna fuente adicional.
Se ejecuta cada 15 minutos, de 05:00 a 23:00 (hora UTC), de lunes a viernes. En cada ejecución guarda un documento con la lista de equipos evaluados del edificio (data.data_results) y, para cada equipo: building, floor, client, element (fancoil, vrv o uta), equipment_number, room_temperature, setpoint_temperature, setpoint_effective_temperature, supply_temperature, supply_temperature_setpoint, outside_temperature y el indicador fancoil_temperature_is_alarm, vrv_temperature_is_alarm o uta_temperature_is_alarm según el tipo. Cuando un dato no se mide se guarda como no numérico (NaN).
La lista incluye todos los equipos evaluados, no solo los que están en alarma.
Las consultas usan <FECHA> (ver el apartado 5) y se lanzan en la base de datos de cada edificio.
| Elemento | Qué muestra | Origen | Consulta |
|---|---|---|---|
| Selector de ámbito, perfil y día | Portfolio o edificio, perfil (Gerencia o Técnico) y día consultado | — | No salen de la analítica: el día elegido se convierte en <FECHA> y filtra execution_datetime en todas las consultas |
| Tarjetas «Climatización» y «Aire primario» en consigna | % de equipos en consigna sobre los evaluados, equipos fuera de consigna y no evaluables | MongoDB · setpoint_achievement | Filtro {"execution_datetime": {"$regex": "^<FECHA>"}} · Orden {"execution_datetime": -1} · Límite 1 (la última ejecución del día) · Proyección {"execution_datetime": 1, "data.data_results.building": 1, "data.data_results.floor": 1, "data.data_results.client": 1, "data.data_results.element": 1, "data.data_results.equipment_number": 1, "data.data_results.room_temperature": 1, "data.data_results.setpoint_temperature": 1, "data.data_results.setpoint_effective_temperature": 1, "data.data_results.fancoil_temperature_is_alarm": 1, "data.data_results.vrv_temperature_is_alarm": 1, "data.data_results.uta_temperature_is_alarm": 1} · una consulta por edificio. En climatización, element fancoil o vrv; en aire primario, uta. Fuera de consigna: indicador *_temperature_is_alarm en verdadero. No evaluable: sin room_temperature o sin consigna (setpoint_temperature o setpoint_effective_temperature) |
| Evolución del % de equipos fuera de consigna | Curva del día cada 15 minutos y comparación con el día anterior | MongoDB · setpoint_achievement | Filtro {"execution_datetime": {"$regex": "^<FECHA>"}} · Proyección {"execution_datetime": 1, "data.data_results.building": 1, "data.data_results.floor": 1, "data.data_results.client": 1, "data.data_results.element": 1, "data.data_results.equipment_number": 1, "data.data_results.room_temperature": 1, "data.data_results.setpoint_temperature": 1, "data.data_results.setpoint_effective_temperature": 1, "data.data_results.fancoil_temperature_is_alarm": 1, "data.data_results.vrv_temperature_is_alarm": 1, "data.data_results.uta_temperature_is_alarm": 1} · Orden {"execution_datetime": 1} · y la misma con <FECHA_DÍA_ANTERIOR>. El porcentaje de cada ejecución se calcula al mostrar |
| Ranking de edificios | Edificios ordenados por % fuera de consigna, con equipos y cobertura | MongoDB · setpoint_achievement | La misma consulta de las tarjetas, una por edificio; se ordena al mostrar |
| Desviación media de temperatura de los equipos fuera de consigna (Técnico) | Cuánto se aleja de su consigna, de media, los equipos fuera de consigna en cada ejecución | MongoDB · setpoint_achievement | Filtro {"execution_datetime": {"$regex": "^<FECHA>"}} · Proyección {"execution_datetime": 1, "data.data_results.building": 1, "data.data_results.floor": 1, "data.data_results.client": 1, "data.data_results.element": 1, "data.data_results.equipment_number": 1, "data.data_results.room_temperature": 1, "data.data_results.setpoint_temperature": 1, "data.data_results.setpoint_effective_temperature": 1, "data.data_results.fancoil_temperature_is_alarm": 1, "data.data_results.vrv_temperature_is_alarm": 1, "data.data_results.uta_temperature_is_alarm": 1} · Orden {"execution_datetime": 1} · Desviación = valor absoluto de la temperatura medida menos la consigna, solo de los equipos con el indicador de alarma en verdadero; se promedia por ejecución al mostrar |
| Temperatura exterior (Técnico) | Temperatura exterior a lo largo del día | MongoDB · setpoint_achievement | Filtro {"execution_datetime": {"$regex": "^<FECHA>"}} · Proyección {"execution_datetime": 1, "data.data_results.building": 1, "data.data_results.floor": 1, "data.data_results.element": 1, "data.data_results.equipment_number": 1, "data.data_results.supply_temperature": 1, "data.data_results.supply_temperature_setpoint": 1, "data.data_results.outside_temperature": 1, "data.data_results.uta_temperature_is_alarm": 1} · Orden {"execution_datetime": 1} · Solo está guardada en los equipos de aire primario (uta); en fancoils y VRV viene sin valor |
| Causas probables | Reparto por causa de los equipos fuera de consigna | Pendiente de desarrollo | La causa probable no se guarda hoy en el resultado de la analítica |
| Avisos activos | Avisos abiertos con inicio y duración | MongoDB · warnings del edificio | Pendiente de desarrollo: la consulta se define cuando esté la salida de eventos de alcance de consigna |
| Cobertura de la evaluación | Equipos esperados, recibidos y evaluables por edificio | Aitea Building · MongoDB | Esperados: equipos configurados del edificio en la base de datos de configuración. Recibidos y evaluables: número de elementos de data.data_results de la última ejecución, y los que tienen temperatura y consigna |
Las consultas usan <FECHA>, <EDIFICIO> y <EQUIPO> (ver el apartado 5).
| Elemento | Qué muestra | Origen | Consulta |
|---|---|---|---|
| Selector de edificio | Edificio analizado | Aitea Building | Base de datos de configuración (listado de edificios) |
| Tarjetas, evolución y causas | Igual que en el portfolio, para un edificio | MongoDB · setpoint_achievement | Las mismas consultas que en el portfolio, solo sobre la base de datos del edificio |
| Desviación media de temperatura de los equipos fuera de consigna (Técnico) | Cuánto se aleja de su consigna, de media, los equipos fuera de consigna en cada ejecución | MongoDB · setpoint_achievement | Filtro {"execution_datetime": {"$regex": "^<FECHA>"}} · Proyección {"execution_datetime": 1, "data.data_results.building": 1, "data.data_results.floor": 1, "data.data_results.client": 1, "data.data_results.element": 1, "data.data_results.equipment_number": 1, "data.data_results.room_temperature": 1, "data.data_results.setpoint_temperature": 1, "data.data_results.setpoint_effective_temperature": 1, "data.data_results.fancoil_temperature_is_alarm": 1, "data.data_results.vrv_temperature_is_alarm": 1, "data.data_results.uta_temperature_is_alarm": 1} · Orden {"execution_datetime": 1} · Desviación = valor absoluto de la temperatura medida menos la consigna, solo de los equipos con el indicador de alarma en verdadero; se promedia por ejecución al mostrar |
| Temperatura exterior (Técnico) | Temperatura exterior a lo largo del día | MongoDB · setpoint_achievement | Filtro {"execution_datetime": {"$regex": "^<FECHA>"}} · Proyección {"execution_datetime": 1, "data.data_results.building": 1, "data.data_results.floor": 1, "data.data_results.element": 1, "data.data_results.equipment_number": 1, "data.data_results.supply_temperature": 1, "data.data_results.supply_temperature_setpoint": 1, "data.data_results.outside_temperature": 1, "data.data_results.uta_temperature_is_alarm": 1} · Orden {"execution_datetime": 1} · Solo está guardada en los equipos de aire primario (uta); en fancoils y VRV viene sin valor |
| Plantas con más equipos fuera de consigna | Equipos fuera de consigna por planta | MongoDB · setpoint_achievement | Filtro {"execution_datetime": {"$regex": "^<FECHA>"}} · Orden {"execution_datetime": -1} · Límite 1 (la última ejecución del día) · Proyección {"execution_datetime": 1, "data.data_results.building": 1, "data.data_results.floor": 1, "data.data_results.client": 1, "data.data_results.element": 1, "data.data_results.equipment_number": 1, "data.data_results.room_temperature": 1, "data.data_results.setpoint_temperature": 1, "data.data_results.setpoint_effective_temperature": 1, "data.data_results.fancoil_temperature_is_alarm": 1, "data.data_results.vrv_temperature_is_alarm": 1, "data.data_results.uta_temperature_is_alarm": 1} · se agrupa por floor al mostrar |
| Avisos activos | Avisos abiertos del edificio | MongoDB · warnings | Pendiente de desarrollo: igual que en el portfolio |
| Cobertura de la evaluación | Equipos esperados, recibidos y evaluables en cada ejecución del día | MongoDB · Aitea Building | Filtro {"execution_datetime": {"$regex": "^<FECHA>"}} · Proyección {"execution_datetime": 1, "data.data_results.equipment_number": 1, "data.data_results.room_temperature": 1, "data.data_results.setpoint_temperature": 1, "data.data_results.setpoint_effective_temperature": 1} · Orden {"execution_datetime": 1} · los recibidos son los elementos de cada ejecución; los esperados salen de la configuración |
| Mapa de calor por planta y hora | % de equipos fuera de consigna por planta y hora | MongoDB · setpoint_achievement | Filtro {"execution_datetime": {"$regex": "^<FECHA>"}} · Proyección {"execution_datetime": 1, "data.data_results.building": 1, "data.data_results.floor": 1, "data.data_results.client": 1, "data.data_results.element": 1, "data.data_results.equipment_number": 1, "data.data_results.room_temperature": 1, "data.data_results.setpoint_temperature": 1, "data.data_results.setpoint_effective_temperature": 1, "data.data_results.fancoil_temperature_is_alarm": 1, "data.data_results.vrv_temperature_is_alarm": 1, "data.data_results.uta_temperature_is_alarm": 1} · Orden {"execution_datetime": 1} · se agrupa por floor y por hora al mostrar |
| Equipos que no alcanzan la consigna | Equipo, tipo, planta, cliente, temperatura, consigna, desviación y tiempo fuera | MongoDB · setpoint_achievement | Filtro {"execution_datetime": {"$regex": "^<FECHA>"}} · Proyección {"execution_datetime": 1, "data.data_results.building": 1, "data.data_results.floor": 1, "data.data_results.client": 1, "data.data_results.element": 1, "data.data_results.equipment_number": 1, "data.data_results.room_temperature": 1, "data.data_results.setpoint_temperature": 1, "data.data_results.setpoint_effective_temperature": 1, "data.data_results.fancoil_temperature_is_alarm": 1, "data.data_results.vrv_temperature_is_alarm": 1, "data.data_results.uta_temperature_is_alarm": 1} · Orden {"execution_datetime": -1} · Desviación = temperatura − consigna. Tiempo fuera = ejecuciones consecutivas con el indicador en verdadero |
| Causa probable y recomendación | Por qué no alcanza la consigna y qué hacer | Pendiente de desarrollo | No se guardan hoy en el resultado de la analítica |
| Temperatura frente a la consigna del equipo | Temperatura medida, consigna y margen de tolerancia | MongoDB · setpoint_achievement | Filtro {"execution_datetime": {"$regex": "^<FECHA>"}} · Proyección {"execution_datetime": 1, "data.data_results": {"$elemMatch": {"building": "<EDIFICIO>", "equipment_number": "<EQUIPO>"}}} · Orden {"execution_datetime": 1}. El margen de tolerancia sale de la configuración de la analítica |
| Marcha del equipo | Cuándo estuvo en marcha | Pendiente de desarrollo | La orden y el estado de marcha no se guardan hoy en el resultado |
| Aire primario: impulsión y temperatura exterior | Impulsión con su consigna y temperatura exterior de una UTA | MongoDB · setpoint_achievement | Filtro {"execution_datetime": {"$regex": "^<FECHA>"}} · Proyección {"execution_datetime": 1, "data.data_results.building": 1, "data.data_results.floor": 1, "data.data_results.element": 1, "data.data_results.equipment_number": 1, "data.data_results.supply_temperature": 1, "data.data_results.supply_temperature_setpoint": 1, "data.data_results.outside_temperature": 1, "data.data_results.uta_temperature_is_alarm": 1} · Orden {"execution_datetime": 1} · se toman los elementos con element uta |
| Aire primario: humedad y CO₂ | Humedad y CO₂ frente a su consigna | Pendiente de desarrollo | La humedad y el CO₂ de la UTA, con sus consignas, no se guardan hoy en el resultado |
| Cliente de cada equipo | Cliente al que pertenece el equipo | MongoDB · setpoint_achievement | Campo data.data_results.client (incluido en la proyección de la tabla); not_assigned se muestra como «no asignado» |
execution_datetime. Un día completo son hasta 73 documentos por edificio; para comprobar, basta con un límite pequeño.<FECHA> es el día elegido en formato AAAA-MM-DD, en hora UTC. <FECHA_DÍA_ANTERIOR> es el día anterior.<EDIFICIO> es el código del edificio (por ejemplo diagonal_530) y <EQUIPO> el número de equipo (por ejemplo unity_35_m).