UMD Campus Power Monitoring

Street power + UPS state for DIT leadership

Last refresh: --

Executive Overview

This dashboard gives DIT leadership one map-centric view of UMD College Park building power posture. Every pin represents a building and is color-coded for fast campus-wide awareness.

Business Outcomes

  • Single source of truth for campus power visibility.
  • Faster escalation during street-power outages.
  • Shared situational awareness across operations teams.

Status Legend

  • No Power: Street and UPS unavailable, highest operational risk.
  • On UPS: Street power down, building remains on backup.
  • Normal: Street and backup power are healthy.
  • Unknown: Missing telemetry or pending update.

How The App Works

  • Building reference data is synchronized from UMD ArcGIS building data.
  • Operational status is ingested from connectors or a structured CSV upload.
  • Current state is rendered as map pins and summary counters in near real time.

Data Source Plan

  • Primary short-term signal: network switch power supply SNMP state changes.
  • Aggregator option: Nagios feed to reduce per-device integration overhead.
  • Future option: Aruba UXI API or webhook when vendor access becomes available.

Technical Details

Architecture

  • Frontend: static ArcGIS JavaScript app hosted from S3 and CloudFront.
  • Backend: Python Lambda behind API Gateway HTTP API.
  • Storage: exactly 3 DynamoDB tables + one S3 bucket from env variables.
  • Deploy: AWS CLI + CloudFormation AppHosting patterns (no AWS SAM).

Data Flow

  1. Sync entities from UMD ArcGIS into entity table.
  2. Ingest observations from CSV upload or connector payloads.
  3. Compute and persist latest status per entity.
  4. Serve current status and summary APIs to map UI.

Connector Model

  • Pluggable source abstraction for SNMP/Nagios/Aruba-or-other APIs.
  • Device-to-building mapping in DynamoDB enables quick new source onboarding.
  • CSV template mode guarantees operation when APIs are unavailable.

Environment Snapshot

API Base URL: --

CAS API URL: --

Hostname: --