L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

frigate

frigate

Access Frigate NVR cameras with session-based authentication. Get live snapshots, retrieve motion events, and fetch stream URLs. Includes CLI helper script for doorbell, driveway, front, east, mailbox, and garage cameras.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: frigate description: Access Frigate NVR cameras with session-based authentication. Get live snapshots, retrieve motion events, and fetch stream URLs. Includes CLI helper script for doorbell, driveway, front, east, mailbox, and garage cameras.

Frigate NVR Integration

Access Frigate NVR server at FRIGATE_URL with credentials from FRIGATE_USER and FRIGATE_PASS environment variables.

Authentication

Frigate uses session-based authentication (not HTTP Basic Auth):

import requests

session = requests.Session()
response = session.post(
    f"{FRIGATE_URL}/api/login",
    json={"user": FRIGATE_USER, "password": FRIGATE_PASS},
    verify=False  # For self-signed certificates
)
# session.cookies contains frigate_token for subsequent requests

Common Operations

Get Camera List

response = session.get(f"{FRIGATE_URL}/api/config", verify=False)
config = response.json()
cameras = list(config.get('cameras', {}).keys())
# Returns: ['driveway', 'front', 'east', 'mailbox', 'garage', 'doorbell']

Get Snapshot from Camera

snapshot = session.get(
    f"{FRIGATE_URL}/api/{camera_name}/latest.jpg",
    verify=False
)
# Save: with open(f"/tmp/{camera_name}.jpg", "wb") as f: f.write(snapshot.content)

Get Motion Events

events = session.get(
    f"{FRIGATE_URL}/api/events?cameras={camera_name}&has_clip=1",
    verify=False
).json()
# Returns list of motion detection events with timestamps

Get Camera Stream URL

config = session.get(f"{FRIGATE_URL}/api/config", verify=False).json()
stream_config = config.get('go2rtc', {}).get('streams', {}).get(camera_name)
# Returns RTSP/WebRTC stream URLs

Environment Variables

Required:

  • FRIGATE_URL - Frigate server URL (e.g., https://server.local:8971/)
  • FRIGATE_USER - Username for authentication
  • FRIGATE_PASS - Password for authentication

Optional:

  • None required beyond the above

Example: Send Doorbell Snapshot to Telegram

import requests

session = requests.Session()
session.post(f"{FRIGATE_URL}/api/login",
    json={"user": FRIGATE_USER, "password": FRIGATE_PASS}, verify=False)

# Get doorbell snapshot
snapshot = session.get(f"{FRIGATE_URL}/api/doorbell/latest.jpg", verify=False)

# Send to Telegram
from clawdbot import message
message(action="send", channel="telegram", target="3215551212",
        message="Doorbell snapshot", path="/tmp/doorbell_snapshot.jpg")

Notes

  • Always use verify=False for self-signed certificates on home networks
  • Session tokens expire after 24 hours (configurable via session_length)
  • The /api/cameras endpoint doesn't exist; use /api/config for camera info
  • Frigate version 0.16+ uses this authentication model

Bundled Resources

Skills enregistrées