Guardian Eye NVR: MQTT discovery entities plus an open-source dashboard for Home Assistant

Hi all! I’m one of the developers behind Guardian Eye — a native desktop NVR for Windows,
macOS, and Linux.

With the 3.4.0 release, we completely overhauled our Home Assistant integration and open-
sourced our companion Lovelace dashboard, so I wanted to share it here.

What arrives in Home Assistant via MQTT discovery

Everything auto-discovers cleanly: one device per camera, plus a dedicated device for the
NVR host:

• Camera Entities: Motion and tamper sensors, power switch, recording state/mode select,
snapshot images, event entity, and an AI detection sensor (label, confidence score, and
timestamped snapshot).
• Context-Aware Controls: PTZ controls and image settings only appear if the camera actually
supports them — no useless dummy buttons.
• Diagnostics & Telemetry: FPS, stream uptime, last frame latency, reconnect counters, plus
host CPU & GPU telemetry and pipeline state.
• Proper State Handling: If the NVR stops, entities cleanly switch to unavailable rather
than freezing with stale data.
• Automation-friendly Zones: Detection zones are passed as attributes on the AI sensor.
Writing a template like “person in driveway” takes a single condition instead of managing
separate entities for every zone.

The Lovelace Dashboard (MIT)

We built a custom card that automatically picks up all discovered MQTT entities — zero YAML
or entity ID copy-pasting required:

• NVR overview card at the top + individual camera cards.
• Automatically syncs with your app’s display language.
• Just add the JavaScript module to your Lovelace resources.

1-Minute Setup

  1. Set up any MQTT broker (the Mosquitto add-on works out of the box).
  2. Open Guardian Eye: Settings → Home Assistant.
  3. Click “Find Broker” (uses mDNS to detect host/port, including Docker setups).
  4. Test connection, keep the default discovery prefix (homeassistant), and save.
    Discovery is automatically republished on reconnects and broker restarts. Self-signed TLS
    certificates are supported with a warning.

• Step-by-step guide with screenshots: https://getguardianeye.com/blog/home-assistant-
guardian-eye-setup
• Dashboard GitHub: GitHub - guardianeye-labs/Guardian.Eye.Dashboard: Guardian Eye NVR dashboard for Home Assistant · GitHub

Full transparency on scope:
Guardian Eye is a standalone desktop application, not a headless Docker container. The free
tier covers 1 camera, while multi-camera tiers are one-time lifetime purchases. If your
setup is strictly headless server/Docker-only, this probably isn’t for you.

I’d love to get your feedback: which entities do you use most in your automations, and what
is currently missing? Happy to answer any questions here!