Gauge Card Pro is a Home Assistant Lovelace custom card that renders highly customizable gauge visualizations. It extends the native HA Gauge card with dual gauge layers (main and inner), gradient and severity modes, climate control features (HVAC, fan, swing, preset, temperature), template support, and a full visual editor. The card is built as a Lit web component and integrates deeply with Home Assistant's frontend, using internalized copies of HA and Mushroom dependencies for actions, entities, translations, and forms. Key entry points are `src/card/card.ts` (main card class) and `src/editor/editor.ts` (visual editor). Data flows from user configuration (YAML or UI) combined with HA entity state to compute gauge angles, gradient strings, indicators, and value displays. The system relies on external libraries like Lit, tinygradient, superstruct, and zod, and is distributed as a HACS plugin.
This repository implements a custom Lovelace card for Home Assistant that displays an interactive map of a robot vacuum's environment. It allows users to select zones, rooms, points, or paths for cleaning and sends corresponding service calls to the vacuum. The card supports multiple vacuum platforms (Xiaomi Miio, Roborock, Valetudo, Neato, Dreame, Roomba, etc.) via platform-specific templates that define map modes, tiles, and icons. It includes a visual editor, localization in 28 languages, pinch-zoom functionality, and a configurable tile/icon system. The architecture is a single-page web component built with LitElement, with modular internal components for map objects, map modes, generators, and UI elements. It relies on Home Assistant frontend internals and custom-card-helpers. The codebase is well-structured with reusable patterns like dependency injection (Context), coordinate transformation (CoordinatesConverter), and template-based service call generation (ServiceCallSchema). However, it has some technical drift due to deprecated rollup plugins, polyfills for legacy browsers, and tight coupling to HA APIs that may break with updates.
This repository implements a Home Assistant custom integration that adds a visual, drag-and-drop card builder for Lovelace dashboards. Users can design custom dashboard cards by composing blocks (text, icons, gauges, charts, weather, etc.) in a canvas, configuring styles, entity bindings, and actions—all without writing YAML or code. The system includes a dedicated panel within Home Assistant, a custom Lovelace card renderer (`custom:card-builder-renderer-card`) for runtime display, and a marketplace for sharing cards via cardbuilder.pro. Architecturally, the project is split into a Python backend (`custom_components/card_builder/`) and a TypeScript/Lit frontend (`frontend/`). The backend handles integration setup, WebSocket APIs for CRUD on cards, presets, media, and account management. The frontend is a single-page application with panel views (dashboard, card list, editor), a designer canvas with Moveable-based manipulation, and a block system where each block declares its configuration, editor UI, and rendering logic. Key subsystems include a style resolver with preset inheritance and entity bindings (direct, map, threshold, condition, template), a drag-and-drop manager with adapters for canvas and containers, a chart data provider for history/statistics, and a document model with versioned migration. The codebase demonstrates high craftsmanship in its block abstraction, style system, and binding engine—patterns that could be extracted for other visual editors. However, some files are large and tightly coupled, with lingering FIXME comments and a few fragile DOM workarounds. The integration is actively maintained, with a clear roadmap and pro version planned, though the external marketplace dependency introduces some risk.
This repository provides a custom Lovelace card for Home Assistant that replaces the default sidebar with a fully customizable sidebar. The card is implemented as a single TypeScript file (src/sidebar-card.ts) using LitElement and integrates with Home Assistant via card-tools and custom-card-helpers. It supports analog/digital clocks, date display, a configurable menu with navigation, toggle, call-service, and other actions, template-based messages, and a bottom card slot. The initialization code modifies the DOM to wrap the main view and insert the sidebar, and can hide the default HA header, footer, and sidebar. The codebase is functional but shows signs of technical drift (outdated dependencies like LitElement 2.x, Moment.js, old TypeScript) and tight coupling to the Home Assistant DOM structure. It is actively used (498 stars) but has 49 open issues.