Skip to content
This repository was archived by the owner on May 23, 2026. It is now read-only.

ngoviet/camera-card-ha

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,495 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Release Build Status License HACS

Camera Card HA

Camera Card HA

A comprehensive camera card for Home Assistant - Optimized for performance with lazy loading, native JavaScript helpers, and Home Assistant-specific optimizations.

Features

Core Features

  • 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

Advanced Features

  • 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

Performance Optimizations

  • 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

Installation

Via HACS (Recommended)

Option 1: Add Custom Repository

  1. Open HACS in Home Assistant
  2. Go to Frontend > Three dots menu (⋮) > Custom repositories
  3. Add repository with:
    • Repository: ngoviet/camera-card-ha
    • Category: Frontend (Lovelace)
  4. Click Add
  5. Go back to Frontend and search for Camera Card HA
  6. Click Download

Option 2: Use HACS Button

Troubleshooting: If you get "Repository not found" error:

⚠️ Important: HACS Indexing Time

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".

Common Solutions:

  1. Repository is Public

  2. 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
  3. Clear HACS cache (Recommended):

    • In Home Assistant: HACSSettings (⚙️ icon)
    • Click Clear HACS cache
    • Restart Home Assistant if needed
    • Try the button again after restart
  4. Manual repository add (Works immediately while waiting for indexing):

    • In HACS: FrontendThree 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
  5. 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.json file
    • ✅ Main file: camera-card-ha.js exists in release
  6. 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
  7. Check HACS logs:

    • In Home Assistant: Developer ToolsLogs
    • 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 ✅

Manual Installation

See Advanced Installation for manual installation instructions.

Quick Start

Minimal Configuration

type: custom:camera-card-ha
cameras:
  - camera_entity: camera.office

Multi-Camera Grid

type: custom:camera-card-ha
cameras:
  - camera_entity: camera.office
  - camera_entity: camera.kitchen
live:
  display:
    mode: grid

Timeline with Scrubbing

type: custom:camera-card-ha
cameras:
  - camera_entity: camera.office
profiles:
  - scrubbing

Documentation

📖 Full Documentation - Complete configuration guide, examples, and usage instructions

Key Documentation Sections

Supported Camera Engines

  • Frigate - Full integration with Frigate NVR
  • Generic - Works with any Home Assistant camera entity
  • Reolink - Optimized for Reolink cameras
  • MotionEye - MotionEye integration

Live Providers

  • HLS - HTTP Live Streaming (default for most cameras)
  • WebRTC - Low-latency WebRTC streaming
  • JSMPEG - MJPEG streaming
  • Image - Static image updates
  • go2rtc - go2rtc integration

Support

If you find this project useful, please consider supporting development:

License

MIT License - See LICENSE file for details.

About

A comprehensive camera card for Home Assistant

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 96.3%
  • SCSS 2.2%
  • Other 1.5%