Components
Common options
Stateful components accept entity/entity_id, optional title, icon, theme override, grid placement and visibility conditions. A tap opens details or performs a typed action allowed by the integration. The app has no permission to call arbitrary HA services.
Families
| Family | Types and functions |
|---|---|
| Control | button, switch, light, cover, fan, climate, select, textfield |
| Media | media_player, media, groups, cover colors, source, volume and queue control |
| Information | clock, datetime, label, calendar, history_graph, mini_graph_card, horizon_card, weather_chart |
| Layout | grid, blank, tabbed_card, badges and conditions |
| Dynamic | auto_entities, flex_table with filters, sorting and column selectors |
| Images | picture, image, camera, video, immich_slideshow, immich_clock |
| Voice | push-to-talk button and visible Assist state |
Aliases such as custom:mini-graph-card, custom:auto-entities, custom:flex-table-card, custom:tabbed-card, photo_frame and photo_clock remain. Calendar supports agenda/day/week/month and create, update and delete. Graphs support time range, multiple series, bounds, lines/bars and legends.
Advanced composition
Auto Entities filters by entity ID, domain, state, name, attributes, time, not/or/and, glob, regex and numeric comparison. The integration compiles expensive static selection, sorting and layout steps server-side; the device receives the result and only states required for dynamic conditions. Flex Table offers column name, selector, alignment, width, prefix, suffix and decimals; arbitrary JavaScript is not executed. Nested grids and tabbed cards may contain all native components. Unknown editor blocks remain unchanged in JSON.