Smart Home & IoTDocumentedScanned

frigate

Access Frigate NVR cameras with session-based authentication.

Share:

Installation

npx clawhub@latest install frigate

View the full skill documentation and source below.

Documentation

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., ) - FRIGATE_USER - Username for authentication - FRIGATE_PASS - Password for authentication Optional: - None required beyond the above ## Example: Send Doorbell Snapshot to Telegram __CODE_BLOCK_5__ ## 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 - **Scripts**: See [scripts/frigate.py](scripts/frigate.py) for CLI utility with commands: list, snapshot, events, stream`

  • API Reference: See references/api.md for complete API documentation