camerasConnect to security cameras, capture snapshots, and process video feeds with protocol support.
Install via ClawdBot CLI:
clawdbot install ivangdavila/cameras| Task | Reference |
|------|-----------|
| Connect to security cameras (Ring, Nest, IP cams) | Check security-integration.md |
| Capture from webcams or USB cameras | Check capture.md |
| Control DSLR/mirrorless (tethering, remote shoot) | Check photography-control.md |
| Process video (detection, recognition) | Check processing.md |
| Choose or compare cameras (buying guide) | Check buying-guide.md |
What an agent with this skill can do:
| Protocol | Use Case | Access Method |
|----------|----------|---------------|
| RTSP | IP cameras, NVRs | rtsp://user:pass@ip:554/stream |
| ONVIF | Discovery + control | python-onvif-zeep, auto-discover |
| HTTP/MJPEG | Simple IP cams | /snapshot.jpg, /video.mjpg |
| Home Assistant | Unified access | REST API /api/camera_proxy/ |
| Frigate | Motion events + clips | MQTT + HTTP API |
| USB/V4L2 | Webcams, capture cards | ffmpeg, opencv, device index |
| gPhoto2 | DSLR/mirrorless control | USB PTP protocol |
# List cameras
ffmpeg -list_devices true -f avfoundation -i dummy # macOS
v4l2-ctl --list-devices # Linux
# Snapshot from RTSP
ffmpeg -i "rtsp://user:pass@ip/stream" -frames:v 1 snapshot.jpg
# Snapshot from webcam
ffmpeg -f avfoundation -i "0" -frames:v 1 webcam.jpg # macOS
ffmpeg -f v4l2 -i /dev/video0 -frames:v 1 webcam.jpg # Linux
# Record 10s clip
ffmpeg -i "rtsp://ip/stream" -t 10 -c copy clip.mp4
If cameras are already in HA, use the REST API:
GET /api/camera_proxy/camera.front_door
β Returns JPEG snapshot
Frigate handles detection. Agent just listens:
frigate/events for motion alerts/api/events/{id}/snapshot.jpgCapture snapshot β send to vision model for description:
1. ffmpeg β snapshot.jpg
2. Vision API β "A person standing at the front door"
3. Return description to user
| Problem | Solution |
|---------|----------|
| Camera offline | Check network, power, IP hasn't changed |
| RTSP timeout | Try adding ?tcp or use port 8554 |
| Permission denied | Run with sudo or add user to video group |
| No video, only audio | Wrong stream path, try /stream1, /ch01/main |
| gPhoto2 camera busy | Close other apps using camera, replug USB |
AI Usage Analysis
Analysis is being generated⦠refresh in a few seconds.
Control Sonos speakers (discover/status/play/volume/group).
Control Philips Hue lights/scenes via the OpenHue CLI.
Control Eight Sleep pods (status, temperature, alarms, schedules).
BluOS CLI (blu) for discovery, playback, grouping, and volume.
Control Home Assistant smart home devices, run automations, and receive webhook events. Use when controlling lights, switches, climate, scenes, scripts, or any HA entity. Supports bidirectional communication via REST API (outbound) and webhooks (inbound triggers from HA automations).
Use when integrating with Tesla's official Fleet API to read vehicle/energy device data or issue remote commands (e.g. start HVAC preconditioning, wake vehicle, charge controls). Covers onboarding (developer app registration, regions/base URLs), OAuth token flows (third-party + partner tokens, refresh rotation), required domain/public-key hosting, and using Tesla's official vehicle-command/tesla-http-proxy for signed vehicle commands.