A custom Lovelace card for Home Assistant that renders a physical representation of a SPAN electrical panel, showing circuits laid out by their actual tab positions.
- Two-column grid matching the physical panel layout (odd tabs left, even tabs right)
- 240V circuits span both columns
- Live power readings with utilization bar
- Breaker rating badges
- Relay on/off status indicators
- Historical power/current charts per circuit
- EVSE and BESS sub-device sections
- Auto-discovers all circuit entities from a single device selection
- SPAN Panel integration installed and configured
- Circuits must have
tabsattributes (included in SPAN Panel integration v1.2+)
- Open HACS in Home Assistant
- Click the three-dot menu in the top right and select Custom repositories
- Add the repository URL and select Dashboard as the category
- Click Add
- Search for "SPAN Panel Card" in HACS and click Install
- Restart Home Assistant
- Download
span-panel-card.jsfrom the latest release - Copy the file to your
config/www/directory - Add the resource in Home Assistant:
- Go to Settings > Dashboards > Resources
- Click Add Resource
- URL:
/local/span-panel-card.js - Type: JavaScript Module
- Refresh your browser
The card includes a visual editor accessible through the dashboard UI. You can also configure it manually in YAML.
type: custom:span-panel-card
device_id: <your_span_panel_device_id>type: custom:span-panel-card
device_id: <your_span_panel_device_id>
history_days: 0
history_hours: 0
history_minutes: 5
chart_metric: power
show_panel: true
show_battery: true
show_evse: true| Option | Type | Default | Description |
|---|---|---|---|
device_id |
string | (required) | The Home Assistant device ID of your SPAN Panel |
history_days |
integer | 0 |
Number of days of history to display in charts (0-30) |
history_hours |
integer | 0 |
Number of hours of history to display in charts (0-23) |
history_minutes |
integer | 5 |
Number of minutes of history to display in charts (0-59) |
chart_metric |
string | power |
Metric to display on circuit charts: power or current |
show_panel |
boolean | true |
Show the panel circuits grid |
show_battery |
boolean | true |
Show battery (BESS) sub-device section |
show_evse |
boolean | true |
Show EV charger (EVSE) sub-device section |
visible_sub_entities |
object | {} |
Map of entity IDs to booleans controlling which sub-device entities are displayed |
- Go to Settings > Devices & Services
- Click your SPAN Panel device
- The device ID is in the URL:
/config/devices/device/<device_id>
When history_days or history_hours are set, history_minutes defaults to 0 unless explicitly provided. When neither is set, history_minutes defaults to
5.
The card reads the following from the SPAN Panel integration:
| Data | Source |
|---|---|
| Panel position | tabs attribute on circuit sensors |
| Power (W) | Circuit power sensor state |
| Breaker rating (A) | Circuit breaker rating sensor state |
| Relay on/off | relay_state attribute / switch entity |
| Voltage | voltage attribute (120V or 240V) |
| Panel size | panel_size attribute on status sensor |
| EVSE / BESS | Sub-devices discovered via via_device_id |
