hms-timeline
A security camera timeline viewer for Home Assistant. Scrub a 24-hour heat map, jump straight to detection events, watch the recording, and search your footage in plain language — all served locally by a fast C++ backend. Built with Angular + C++ (Drogon).
What it does
A focused front-end for reviewing what your cameras saw, paired with a lightweight service that reads straight from your detection database and recordings.
Live + timeline view
Live camera snapshots refresh every 2 seconds, while a 24-hour timeline with an hourly heat map shows you exactly when activity happened across the day.
Events & recordings
Browse a detection event list with snapshot thumbnails, then tap to play back the matching MP4 recording — no hunting through raw files.
Semantic search
Search across AI vision descriptions in natural language to find the clip you remember, with an optional Ollama instance generating the embeddings.
How it works
The C++ service reads from the same PostgreSQL database and filesystem the detection engine writes to — REST API plus file serving, with no coupling between services.
Docker quick start
docker pull ghcr.io/hms-homelab/yolo-timeline:latest Published to GHCR as yolo-timeline and built in CI on every push.
Home Assistant add-on
Add this repository to Home Assistant:
https://github.com/hms-homelab/hms-timelineThen install YOLO Detection Timeline from the add-on store — it runs with full ingress support.
Configure the add-on
Point it at your detection stack:
db_host / db_port / db_user / db_password / db_name # PostgreSQL connection
detection_service_url # yolo-detection service, for live snapshots
ollama_url # Ollama instance, for semantic search embeddings
events_dir # MP4 recordings, e.g. /media/cctv
snapshots_dir # JPEG snapshots, e.g. /media/snapshotsLocal development
# Angular dev server (proxies API to localhost:8080)
cd frontend && npm install && npm start
# Build the C++ service
cd yolo_detection_cpp
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF
cmake --build build --target yolo_timeline
# Run with config
./build/services/timeline/yolo_timeline --config config.yamlReview your cameras the easy way
Open source under the MIT license. Pull the image, add the repo to Home Assistant, and start scrubbing your timeline.