Creates and configures Home Assistant graph visualizations using history-graph, statistics-graph, mini-graph-card, and apexcharts-card with time ranges, aggregations, and multi-sensor support. Use...
Works with Home Assistant native cards, HACS custom cards, and YAML configurations.
Create informative graphs and charts for sensor data visualization in Home Assistant dashboards.
Use this skill when you need to:
Do NOT use when:
This skill covers four main graphing solutions:
History Graph (Native):
type: history-graph
entities:
- entity: sensor.temperature
name: Living Room
- entity: sensor.humidity
hours_to_show: 24
ApexCharts (HACS) - VALIDATED CONFIG:
CRITICAL: The span.end field must be one of: "minute", "hour", "day", "week", "month", "year", "isoWeek"
type: custom:apexcharts-card
header:
show: true
title: 24 Hour History
show_states: true
graph_span: 24h
span:
end: hour # REQUIRED: minute/hour/day/week/month/year/isoWeek
yaxis:
- min: 0
max: 50
decimals: 1
apex_config:
chart:
height: 200
xaxis:
type: datetime
labels:
datetimeFormatter:
hour: "HH:mm"
legend:
show: true
series:
- entity: sensor.temperature
name: Temperature
color: "#e74c3c"
stroke_width: 2
Common ApexCharts Errors:
"span": {"end": "now"} ā Causes parsing error"span": {"end": "hour"} ā Valid valueFollow these steps to create Home Assistant graphs:
START
ā
āā Need simple sensor history (last 24-48h)?
ā āā YES ā Use history-graph (native)
ā
āā Need long-term trends (weeks/months)?
ā āā YES ā Use statistics-graph (native)
ā
āā Need minimalist design with moderate customization?
ā āā YES ā Use mini-graph-card (HACS)
ā
āā Need advanced features (annotations, comparisons, multi-axis)?
āā YES ā Use apexcharts-card (HACS)
| Feature | History Graph | Statistics Graph | Mini-Graph-Card | ApexCharts |
|---|---|---|---|---|
| Type | Native | Native | HACS | HACS |
| UI Editor | ā Full | ā Full | ā YAML only | ā YAML only |
| Performance | ā” Fast | ā” Fast | ā” Fast | ā ļø Moderate |
| Customization | š¹ Basic | š¹ Basic | šø Good | š¶ Extensive |
| Multiple Entities | ā Yes | ā Yes | ā Yes | ā Yes |
| Chart Types | Line | Line/Bar | Line/Bar | Line/Bar/Area/Column |
| Time Range | Hours | Calendar periods | Hours | Flexible spans |
| Statistics | Auto | Built-in | Manual | Manual |
| Best For | Quick history | Long-term trends | Clean design | Power users |
Best for: Simple sensor history visualization (recent data)
type: history-graph
entities:
- entity: sensor.temperature_living_room
name: Living Room
- entity: sensor.temperature_bedroom
name: Bedroom
hours_to_show: 24
refresh_interval: 0 # Default: auto-refresh
hours_to_show > recorder retention: uses long-term statisticsPerformance Note: History graphs are very fast because they use HA's built-in recorder data.
Best for: Long-term trend analysis (weeks, months, years)
type: statistics-graph
entities:
- sensor.energy_daily
stat_types:
- mean
- min
- max
period:
calendar:
period: month
chart_type: line
See references/reference.md for stat types and period options.
Installation: HACS ā Frontend ā Search "mini-graph-card"
Best for: Minimalist design, lightweight, moderate customization
type: custom:mini-graph-card
entities:
- sensor.temperature_bedroom
- sensor.temperature_living_room
name: Temperature Comparison
hours_to_show: 24
points_per_hour: 2
line_width: 2
font_size: 75
type: custom:mini-graph-card
entities:
- entity: sensor.temperature
name: Temp
color: '#e74c3c'
- entity: sensor.humidity
name: Humidity
color: '#3498db'
y_axis: secondary
show:
labels: true
legend: true
name: true
state: true
See references/reference.md for complete configuration options and examples/examples.md for more patterns.
Installation: HACS ā Frontend ā Search "apexcharts-card"
Best for: Advanced visualizations, publication-quality charts, complex comparisons
Always use one of these valid values for span.end:
span:
end: minute # Start of current minute
end: hour # Start of current hour (RECOMMENDED)
end: day # Start of current day
end: week # Start of current week
end: month # Start of current month
end: year # Start of current year
end: isoWeek # Start of ISO week (Monday)
Never use: "now" or other string values - these cause errors.
type: custom:apexcharts-card
header:
show: true
title: Temperature History
show_states: true
graph_span: 24h
span:
end: hour # REQUIRED
yaxis:
- min: 0
max: 50
decimals: 1
apex_config:
chart:
height: 200
xaxis:
type: datetime
labels:
datetimeFormatter:
hour: "HH:mm"
legend:
show: true
series:
- entity: sensor.temperature_living_room
name: Living Room
color: "#e74c3c"
stroke_width: 2
- entity: sensor.temperature_bedroom
name: Bedroom
color: "#3498db"
stroke_width: 2
type: custom:apexcharts-card
header:
show: true
title: Temperature & Humidity
show_states: true
graph_span: 24h
span:
end: hour
yaxis:
- id: temp
min: 0
max: 50
decimals: 1
- id: humidity
opposite: true
min: 0
max: 100
apex_config:
chart:
height: 250
xaxis:
type: datetime
labels:
datetimeFormatter:
hour: "HH:mm"
series:
- entity: sensor.temperature
name: Temperature
yaxis_id: temp
color: '#e74c3c'
stroke_width: 2
- entity: sensor.humidity
name: Humidity
yaxis_id: humidity
color: '#3498db'
stroke_width: 2
See references/reference.md for best practices, color schemes, troubleshooting, and performance optimization.
span.end MUST use valid enum values (hour/day/week/month/year)points_per_hour controls performance (lower = faster)