# Monitoring Stack — InfluxDB, Grafana, AdGuard, NUT

## Overview

Long-term monitoring uses the **InfluxDB + Grafana** stack for time-series storage and visualization, complemented by **AdGuard Home** for DNS query analytics and **NUT** for UPS status.

---

## InfluxDB

**Add-on:** a0d7b954_influxdb v5.0.2 | **State:** running

InfluxDB stores long-term time-series sensor data from Home Assistant. HA's built-in recorder uses SQLite/PostgreSQL for short-term history; InfluxDB provides the long-term archive.

**Use cases:**
- Energy consumption history (Emporia Vue circuits)
- Climate and temperature trends (ecobee, Aqara, Govee sensors)
- Motion event frequency
- UPS load and battery history

**Configuration:** InfluxDB integration is configured via HA's `configuration.yaml` or through the add-on's web UI.

---

## Grafana

**Add-on:** a0d7b954_grafana v12.1.0 | **State:** running

Grafana provides visualization dashboards on top of InfluxDB data.

**Typical dashboards:**
- Whole-home energy (Cornell Vue — `sensor.cornell_vue_energy_today`)
- Per-circuit power (kitchen appliances, HVAC, floors)
- Temperature/humidity trends per room
- AdGuard DNS query statistics
- UPS status over time

> Grafana is accessible on the HA host at port 3000 (or configured reverse proxy path). Not directly integrated into HA Lovelace.

---

## AdGuard Home

**Add-on:** a0d7b954_adguard v6.2.0 | **Integration:** adguard | **Area:** Office

Network-wide DNS-based ad and tracker blocking. All LAN DNS queries are routed through AdGuard.

**HA entities:**
- `sensor.adguard_home_dns_queries_blocked_ratio` — shows % of queries blocked
- Protection, filtering, parental control, safe search switches

**Dashboard:** AdGuard Home has its own web UI accessible on the LAN.

---

## Network UPS Tools (NUT)

**Add-on:** a0d7b954_nut v0.18.0 | **Integration:** nut | **UPS:** CPS CP1500AVRLCDa | **Area:** Media Room

Monitors the APC-compatible CPS UPS protecting the Media Room AV equipment.

**Key entities:**

| Entity | Notes |
|---|---|
| `sensor.media_room_ups_load` | % of UPS capacity in use |
| `sensor.media_room_ups_battery_charge` | Battery charge % |
| `sensor.media_room_ups_battery_runtime` | Estimated runtime on battery |
| `sensor.media_room_ups_input_voltage` | AC input voltage |
| `sensor.media_room_ups_output_voltage` | UPS output voltage |
| `sensor.media_room_ups_status` | Online / On Battery / Bypass |

**Automation:** `UPS Power Outage Notification` triggers when status → On Battery.

---

## Uptime & SpeedTest

| Integration | Entity | Notes |
|---|---|---|
| Uptime | `sensor.uptime` | HA instance continuous uptime |
| SpeedTest | `sensor.speedtest_download` / `sensor.speedtest_upload` | Periodic internet speed tests |

Both are assigned to the Office area.

---

## Notes / Gotchas

- InfluxDB must be configured in HA settings to forward sensor data — confirm the `influxdb:` component is active in configuration.yaml.
- Grafana dashboards are independent of HA Lovelace — they require a separate login (unless SSO is configured).
- The CPS UPS shows as "CP1500AVRLCDa" in NUT — this is compatible with most APC-format NUT drivers.

## Last Updated

2026-06-24