@rmaher001/scrypted-llm-notifier
v0.3.71
Published
Enhance notifications with LLM-generated descriptions of detection images
Maintainers
Readme
LLM Notifier for Scrypted
Enhance security camera notifications with AI-generated descriptions using vision-capable LLMs.
Setup
- Install the Scrypted LLM Plugin from the Scrypted plugin manager
- Select an LLM provider (OpenAI, Claude, Gemini, or local) in plugin settings
- Enable on your notification devices via the Extensions tab on each device
Features
AI Notifications
Vision LLM analyzes notification snapshots and generates contextual titles and descriptions. Preserves known names from face recognition and describes vehicles with make/model/color when visible.
When multiple notifiers are triggered by the same event, only one AI analysis is performed.
Optionally configure a separate Notification LLM for detection enrichment — for example, a fast local model (Ollama, llama.cpp) for real-time notifications while keeping a cloud provider for daily briefs. Multiple providers are load-balanced with round-robin.
Notification Grouping (optional)
Buffer notifications for a configurable window and group related events into a single notification via LLM. Reduces notification spam when multiple cameras trigger on the same activity.
Enable by setting Grouping Window to a value greater than 0.
Daily Brief (optional)
A web dashboard that summarizes your day's camera activity into an AI-generated narrative timeline with video clip playback.
- Time-bucketed segments with highlights generated per 6-hour period
- Catch Me Up button for incremental updates since last visit
- Scheduled push notification with a link to the brief
Enable daily notifications by turning on Enable Daily Brief Notifications in settings.
Gallery
A searchable history of all past notifications with poster-quality snapshots and video playback. Filter by camera, type, or person — and optionally enable semantic search to find events by visual description. The gallery updates in real time as new detections arrive.
Click any event's video to open it in a player with a direct link to the NVR timeline for that camera at the detection timestamp.
Semantic Search (optional)
Add a Gemini Embedding API Key in settings to upgrade from keyword search to full semantic search — find events by visual concepts like "red backpack" or "person at front door".
Get a free API key at Google AI Studio.
LLM Person Identification (optional)
Builds a reference library of known faces from Scrypted's face recognition data, then uses the LLM to identify unrecognized people in future notifications. Reference photos are automatically cropped to the face region and ranked by quality — higher-scoring photos replace lower-scoring ones over time.
Manage reference photos in the People tab of the web UI.
Enable by turning on LLM Person Identification in settings.
Settings
| Setting | Description | Default | |---------|-------------|---------| | LLM Providers | Vision-capable LLMs (load-balanced) | (required) | | Notification LLM | Separate provider(s) for real-time notifications | (uses main) | | Snapshot Mode | Cropped, Full, or Both | Cropped | | Grouping Window | Buffer seconds before grouping (0 = off) | 0 | | LLM Person Identification | Use LLM to identify unknown faces | Off | | Enable Daily Brief Notifications | Send scheduled daily summary | Off | | Brief Schedule | Hour to send daily notification | 8 PM | | Gallery Retention | Days to keep events and posters | 3 | | Gemini Embedding API Key | Enables semantic search in Gallery | (empty) |
HA Card Setup
Display the Daily Brief as a Home Assistant Lovelace card.
You'll need your Scrypted token. Find it in Home Assistant under Settings → Devices & Services → Scrypted. Replace
TOKENin both steps below.
Step 1: Add Lovelace Resource
- In Home Assistant, go to Settings → Dashboards → Resources (top right)
- Click Add Resource
- URL:
/api/scrypted/TOKEN/endpoint/@rmaher001/scrypted-llm-notifier/assets/daily-brief-card.js - Resource type: JavaScript Module
Step 2: Create a Panel Dashboard
Use type: panel so the card gets full width. Other view types constrain it to a narrow column.
Open a dashboard's raw YAML editor and paste:
views:
- title: Daily Brief
type: panel
cards:
- type: custom:daily-brief-card
endpoint: /api/scrypted/TOKEN/endpoint/@rmaher001/scrypted-llm-notifier
scrypted_token: TOKENTroubleshooting
- No enhancement: Check your LLM plugin settings and confirm a model with vision support is selected
- Timeouts: Increase the LLM Timeout value in plugin settings, or switch to a faster provider
- Stale HA card: Clear browser cache or check card version in footer
