Files
AlarmAnalysis/check_unknown_sensors.py
andy f08a1a9bf5 Initial commit: alarm analysis project
Python project for analyzing alarm data from building monitoring systems.
Includes alarm analyzer, plotting, tests, and source data files.
2026-02-26 09:03:54 -05:00

44 lines
1.9 KiB
Python

import pandas as pd
from alarm_analyzer import AlarmAnalyzer
# Create analyzer instance
analyzer = AlarmAnalyzer(
csv_file_path="C:\\Users\\AndrewConlon\\Documents\\AlarmAnalysis\\CardinalAlarmsDec25.csv",
xlsx_file_path="C:\\Users\\AndrewConlon\\Documents\\AlarmAnalysis\\SensorReport Cardinal 2025-12-23_processed.xlsx"
)
# Load data
alarm_data, sensor_data = analyzer.load_data()
# Check which sensors are mapped to 'Unknown' group
unknown_sensors = analyzer.alarm_data[analyzer.alarm_data['Sensor_Group'] == 'Unknown']
print(f"Number of alarm records with 'Unknown' group: {len(unknown_sensors)}")
print(f"Number of unique sensors with 'Unknown' group: {unknown_sensors['Sensor_Id'].nunique()}")
if len(unknown_sensors) > 0:
print("\nFirst 20 unique sensors with 'Unknown' group:")
unknown_sensor_ids = unknown_sensors['Sensor_Id'].unique()[:20]
print(unknown_sensor_ids)
print("\nSensor details for first few 'Unknown' sensors:")
for sensor_id in unknown_sensor_ids[:10]:
sensor_records = unknown_sensors[unknown_sensors['Sensor_Id'] == sensor_id].iloc[0]
print(f"Sensor ID: {sensor_id}, Name: {sensor_records['Sensor_Name']}, Group: {sensor_records['Sensor_Group']}")
# Check if this sensor exists in the sensor mapping
sensor_info = analyzer.sensor_mapping.get(sensor_id, {})
if sensor_info:
print(f" Sensor mapping info: {sensor_info}")
else:
print(f" Sensor NOT found in mapping")
print()
# Also check which sensors from alarm data are not in the sensor mapping
alarm_sensor_ids = set(analyzer.alarm_data['Sensor_Id'].unique())
mapped_sensor_ids = set(analyzer.sensor_mapping.keys())
unmapped_sensors = alarm_sensor_ids - mapped_sensor_ids
print(f"\nNumber of sensors in alarm data but not in sensor mapping: {len(unmapped_sensors)}")
if unmapped_sensors:
print("First 20 unmapped sensor IDs:", list(unmapped_sensors)[:20])