A comprehensive camera card for Home Assistant - Optimized for performance with lazy loading, native JavaScript helpers, and Home Assistant-specific optimizations.
- Live viewing of multiple cameras with support for various live providers (HLS, WebRTC, JSMPEG, Image, go2rtc)
- Timeline view for browsing events and recordings across multiple cameras with lazy loading optimization
- Media gallery for clips and snapshot browsing with automatic updates
- Media viewer with video scrubbing and seeking capabilities
- Grid or carousel layout for multiple cameras with swipeable navigation
- Fullscreen mode with optimized rendering
- Direct media downloads from the card interface
- Picture Elements support - Full compatibility with Home Assistant Picture Elements
- Automations - Trigger actions based on conditions (fullscreen, keyboard input, entity states, etc.)
- Custom elements - Add custom HTML/CSS elements to the card
- Menu system - Access arbitrary entities, cameras, and custom actions
- Status bar - Display custom information and entity states
- Folders - Organize cameras and media into folders
- Overrides - Dynamic configuration changes based on conditions
- Profiles - Pre-configured sets of defaults for easy setup
- 2-way audio - Microphone support for cameras
- Casting - Cast camera feeds to media players
- PTZ controls - Pan, tilt, zoom controls for supported cameras
- Keyboard shortcuts - Customizable keyboard navigation
- Theme friendly - Adapts to Home Assistant themes
- Lovelace visual editor - Edit configuration visually
- Lazy loading for timeline components (vis-timeline, vis-data) - reduces initial bundle size by ~759KB
- Native JavaScript helpers - Replaced lodash functions to reduce bundle size
- Optimized caching - Tuned cache sizes for better memory usage in HA context
- State watching optimization - Deduplicated entity subscriptions
- WebSocket request infrastructure - Prepared for request batching and caching
- Smart card sizing - Improved getCardSize() estimation for better Lovelace layout
Option 1: Add Custom Repository
- Open HACS in Home Assistant
- Go to Frontend > Three dots menu (⋮) > Custom repositories
- Add repository with:
- Repository:
ngoviet/camera-card-ha - Category:
Frontend(Lovelace)
- Repository:
- Click Add
- Go back to Frontend and search for Camera Card HA
- Click Download
Option 2: Use HACS Button
Troubleshooting: If you get "Repository not found" error:
HACS cần thời gian để index repository mới (6 giờ - 24 giờ). HACS cập nhật dữ liệu mỗi 6 giờ sau khi khởi động Home Assistant. Đây là nguyên nhân phổ biến nhất khi nút "OPEN HACS REPOSITORY" hoặc thêm repository thủ công vẫn báo "not found".
-
Repository is Public ✅
- Verified: https://github.com/ngoviet/camera-card-ha is public
-
Wait for HACS indexing (6 hours - 24 hours):
- HACS updates data every 6 hours after Home Assistant startup
- Repository was created on 11/28/2025, HACS may need more time to index
- Most common solution: Wait 6-24 hours and try again
- If you just restarted Home Assistant, wait 6 hours for next HACS update cycle
-
Clear HACS cache (Recommended):
- In Home Assistant: HACS → Settings (⚙️ icon)
- Click Clear HACS cache
- Restart Home Assistant if needed
- Try the button again after restart
-
Manual repository add (Works immediately while waiting for indexing):
- In HACS: Frontend → Three dots (⋮) → Custom repositories
- Click + ADD
- Repository:
ngoviet/camera-card-ha(or full URL:https://github.com/ngoviet/camera-card-ha) - Category:
Frontend(Lovelace) - Click Add
- Wait a moment, then go to Frontend and search for Camera Card HA
-
Verify HACS requirements (All met ✅):
- ✅ Repository is public
- ✅ Issues enabled
- ✅ Topics added (hacs, home-assistant, lovelace, etc.)
- ✅ Release v0.1.6 with assets (157 files)
- ✅ Valid
hacs.jsonfile - ✅ Main file:
camera-card-ha.jsexists in release
-
Submit to HACS Default Repositories (Optional but recommended):
- If repository still not found after 24 hours, consider submitting to HACS default list
- Visit: https://github.com/hacs/default
- Follow the submission process to add repository to HACS default repositories
- This will make repository available immediately without waiting for indexing
-
Check HACS logs:
- In Home Assistant: Developer Tools → Logs
- Look for HACS-related errors
- Common error: "Repository not found" usually means HACS hasn't indexed it yet
Important Notes:
- Repository name must be exactly
ngoviet/camera-card-ha - If the button doesn't work, use Option 1 (Manual repository add) - it's more reliable
- New repositories typically take 10-30 minutes to appear in HACS
- The repository is public and has all required files ✅
See Advanced Installation for manual installation instructions.
type: custom:camera-card-ha
cameras:
- camera_entity: camera.officetype: custom:camera-card-ha
cameras:
- camera_entity: camera.office
- camera_entity: camera.kitchen
live:
display:
mode: gridtype: custom:camera-card-ha
cameras:
- camera_entity: camera.office
profiles:
- scrubbing📖 Full Documentation - Complete configuration guide, examples, and usage instructions
- Configuration - All configuration options
- Cameras - Camera setup and engines
- Live View - Live streaming configuration
- Timeline - Event and recording timeline
- Examples - Configuration examples
- Usage - Advanced usage scenarios
- Performance - Performance tuning options
- Frigate - Full integration with Frigate NVR
- Generic - Works with any Home Assistant camera entity
- Reolink - Optimized for Reolink cameras
- MotionEye - MotionEye integration
- HLS - HTTP Live Streaming (default for most cameras)
- WebRTC - Low-latency WebRTC streaming
- JSMPEG - MJPEG streaming
- Image - Static image updates
- go2rtc - go2rtc integration
If you find this project useful, please consider supporting development:
MIT License - See LICENSE file for details.
