Visualizaciones de Alcance de consigna · Qué muestra cada elemento y de dónde sale

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.

1. Bases de datos de origen

OrigenQué aporta
MongoDB · colección setpoint_achievementResultado 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 warningsAvisos de alcance de consigna del edificio.
Aitea Building · base de datos de configuraciónEdificios y equipos configurados, para saber cuántos equipos se esperan.
Pendiente de desarrolloCausa 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.

2. Lo que guarda la analítica

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.

3. Vista portfolio

Las consultas usan <FECHA> (ver el apartado 5) y se lanzan en la base de datos de cada edificio.

ElementoQué muestraOrigenConsulta
Selector de ámbito, perfil y díaPortfolio 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 evaluablesMongoDB · setpoint_achievementFiltro {"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 consignaCurva del día cada 15 minutos y comparación con el día anteriorMongoDB · setpoint_achievementFiltro {"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 edificiosEdificios ordenados por % fuera de consigna, con equipos y coberturaMongoDB · setpoint_achievementLa 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ónMongoDB · setpoint_achievementFiltro {"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íaMongoDB · setpoint_achievementFiltro {"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 probablesReparto por causa de los equipos fuera de consignaPendiente de desarrolloLa causa probable no se guarda hoy en el resultado de la analítica
Avisos activosAvisos abiertos con inicio y duraciónMongoDB · warnings del edificioPendiente de desarrollo: la consulta se define cuando esté la salida de eventos de alcance de consigna
Cobertura de la evaluaciónEquipos esperados, recibidos y evaluables por edificioAitea Building · MongoDBEsperados: 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

4. Vista edificio

Las consultas usan <FECHA>, <EDIFICIO> y <EQUIPO> (ver el apartado 5).

ElementoQué muestraOrigenConsulta
Selector de edificioEdificio analizadoAitea BuildingBase de datos de configuración (listado de edificios)
Tarjetas, evolución y causasIgual que en el portfolio, para un edificioMongoDB · setpoint_achievementLas 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ónMongoDB · setpoint_achievementFiltro {"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íaMongoDB · setpoint_achievementFiltro {"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 consignaEquipos fuera de consigna por plantaMongoDB · setpoint_achievementFiltro {"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 activosAvisos abiertos del edificioMongoDB · warningsPendiente de desarrollo: igual que en el portfolio
Cobertura de la evaluaciónEquipos esperados, recibidos y evaluables en cada ejecución del díaMongoDB · Aitea BuildingFiltro {"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 horaMongoDB · setpoint_achievementFiltro {"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 consignaEquipo, tipo, planta, cliente, temperatura, consigna, desviación y tiempo fueraMongoDB · setpoint_achievementFiltro {"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ónPor qué no alcanza la consigna y qué hacerPendiente de desarrolloNo se guardan hoy en el resultado de la analítica
Temperatura frente a la consigna del equipoTemperatura medida, consigna y margen de toleranciaMongoDB · setpoint_achievementFiltro {"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 equipoCuándo estuvo en marchaPendiente de desarrolloLa orden y el estado de marcha no se guardan hoy en el resultado
Aire primario: impulsión y temperatura exteriorImpulsión con su consigna y temperatura exterior de una UTAMongoDB · setpoint_achievementFiltro {"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 consignaPendiente de desarrolloLa humedad y el CO₂ de la UTA, con sus consignas, no se guardan hoy en el resultado
Cliente de cada equipoCliente al que pertenece el equipoMongoDB · setpoint_achievementCampo data.data_results.client (incluido en la proyección de la tabla); not_assigned se muestra como «no asignado»

5. Cómo se leen las consultas